Adversarial Attacks
Узнай, как состязательные атаки манипулируют моделями машинного обучения. Изучи стратегии "белого" и "черного ящика", риски для безопасности ИИ и способы защиты с помощью Ultralytics YOLO26.
Состязательные атаки — это сложная категория методов манипуляции, разработанных для того, чтобы обмануть модели машинного обучения (ML) и заставить их выдавать неверные прогнозы с высокой степенью уверенности. Эти атаки работают путем внесения едва заметных, зачастую неразличимых возмущений во входные данные, такие как изображения, аудио или текст. Хотя для человека эти изменения выглядят безвредными или случайными, они используют специфические математические уязвимости в границах принятия решений высокоразмерных нейронных сетей. Поскольку системы искусственного интеллекта (ИИ) становятся неотъемлемой частью критически важной инфраструктуры, понимание того, как работают эти уязвимости, необходимо для разработки надежных протоколов безопасности ИИ и механизмов защиты.
Link to this sectionКак работают состязательные атаки#
В обычном процессе обучения глубинного обучения (DL) модель оптимизирует свои веса для минимизации ошибки на обучающем наборе данных. Однако такие модели по сути создают сложные карты в многомерном пространстве. Состязательная атака вычисляет точное «направление» в этом пространстве, необходимое для того, чтобы протолкнуть входные данные через границу, изменяя классификацию модели. Например, в компьютерном зрении (CV) изменение значений пикселей изображения панды на рассчитанную величину «шума» может привести к тому, что система уверенно классифицирует его как гиббона, даже несмотря на то, что для человеческого глаза изображение по-прежнему выглядит точно так же, как панда.
Стратегии атак обычно классифицируются по уровню доступа, который атакующий имеет к целевой системе:
- Атаки «белого ящика»: Атакующий имеет полную прозрачность архитектуры, градиентов и весов модели. Это позволяет ему математически вычислить наиболее эффективное возмущение, часто используя такие методы, как метод быстрого градиентного знака (FGSM).
- Атаки «черного ящика»: Атакующий не имеет знаний о внутренних параметрах модели и может только наблюдать за входными и выходными данными. Злоумышленники часто используют «модель-заменитель» для генерации состязательных примеров, которые эффективно переносятся на целевую систему — это свойство известно как переносимость.
Link to this sectionПрактическое применение и риски#
Хотя состязательные атаки часто обсуждаются в теоретических исследованиях, они представляют реальные риски для практических внедрений, особенно в автономных системах и безопасности.
- Автономные транспортные средства: Беспилотные автомобили в значительной степени полагаются на обнаружение объектов для интерпретации дорожных знаков. Исследования показали, что использование тщательно наклеенных стикеров или ленты на знак «Стоп» может обмануть систему зрения автомобиля, заставив ее воспринять его как знак ограничения скорости. Этот тип физической атаки может привести к опасным сбоям в приложениях ИИ в автомобилестроении.
- Средства обхода распознавания лиц: Системы безопасности, контролирующие доступ на основе биометрии, могут быть скомпрометированы с помощью состязательных «патчей». Это могут быть напечатанные узоры на очках или одежде, которые нарушают процесс извлечения признаков. Это позволяет неавторизованному лицу либо полностью избежать обнаружения, либо выдать себя за конкретного пользователя, обходя системы охранной сигнализации.
Link to this sectionГенерация состязательных примеров на Python#
To understand how fragile some models can be, it is helpful to see how easily an image can be perturbed. While standard inference with models like YOLO26 is robust for general use, researchers often simulate attacks to improve model monitoring and defense. The following conceptual example uses PyTorch to show how gradients are used to calculate an adversarial perturbation (noise) for an image.
import torch.nn.functional as F
# Assume 'model' is a loaded PyTorch model and 'image' is a normalized tensor
# 'target_class' is the correct label index for the image
def generate_adversarial_noise(model, image, target_class, epsilon=0.01):
# Enable gradient calculation for the input image
image.requires_grad = True
# Forward pass: get prediction
output = model(image)
# Calculate loss based on the correct class
loss = F.nll_loss(output, target_class)
# Backward pass: calculate gradients of loss w.r.t input
model.zero_grad()
loss.backward()
# Create perturbation using the sign of the data gradient (FGSM)
# This pushes the image in the direction of maximizing error
perturbation = epsilon * image.grad.data.sign()
return perturbationLink to this sectionСвязанные концепции#
Важно отличать состязательные атаки от других форм сбоев или манипуляций с моделями:
- Отравление данных: В отличие от состязательных атак, которые манипулируют входными данными во время вывода (тестирования), отравление данных подразумевает искажение самих обучающих данных до создания модели, путем внедрения скрытых бэкдоров или предвзятости.
- Инъекция промптов: Это специфично для больших языковых моделей (LLMs) и текстовых интерфейсов. Хотя концептуально это похоже — обман модели, — такой метод опирается на семантическую манипуляцию языком, а не на математическое возмущение пикселей или сигнальных данных.
- Переобучение: Это сбой обучения, при котором модель усваивает шум в обучающих данных, а не базовый паттерн. Переобученные модели часто более восприимчивы к состязательным атакам, поскольку их границы принятия решений чрезмерно сложны и хрупки.
Разработка защиты от этих атак является ключевым компонентом современного MLOps. Такие методы, как состязательное обучение, при котором атакованные примеры добавляются в обучающий набор, помогают моделям стать более устойчивыми. Платформы, такие как Ultralytics Platform, облегчают строгие конвейеры обучения и валидации, позволяя командам оценивать надежность модели перед развертыванием на периферийных устройствах.






