Adversarial Attacks
Узнай, как состязательные атаки манипулируют моделями машинного обучения. Изучи стратегии "белого" и "черного ящика", риски для безопасности ИИ и способы защиты с помощью Ultralytics YOLO26.
Адверсариальные атаки (состязательные атаки) — это сложная категория методов манипуляции, разработанных для того, чтобы заставить модели machine learning (ML) делать неверные предсказания с высокой степенью уверенности. Эти атаки работают путем внесения тонких, часто незаметных возмущений во входные данные — такие как изображения, аудио или текст. Хотя эти изменения выглядят безвредными или случайными для наблюдателя-человека, они эксплуатируют специфические математические уязвимости в decision boundaries многомерных нейронных сетей. По мере того как системы Artificial Intelligence (AI) становятся неотъемлемой частью критически важной для безопасности инфраструктуры, понимание того, как функционируют эти уязвимости, имеет важное значение для разработки надежных протоколов AI safety и механизмов защиты.
Как работают состязательные атаки#
В типичном процессе обучения deep learning (DL) модель оптимизирует свои веса, чтобы минимизировать ошибку на обучающем наборе данных. Однако эти модели по сути создают сложные карты в многомерном пространстве. Состязательная атака вычисляет точное «направление» в этом пространстве, необходимое для того, чтобы сдвинуть входные данные за границу, изменив классификацию модели. Например, в области computer vision (CV) изменение значений пикселей изображения панды на вычисленную величину «шума» может привести к тому, что система уверенно ошибочно классифицирует его как гиббона, даже несмотря на то, что для человеческого глаза изображение по-прежнему выглядит точно так же, как панда.
Стратегии атак обычно классифицируются по уровню доступа, который атакующий имеет к целевой системе:
- White-Box Attacks: Злоумышленник имеет полную прозрачность в отношении архитектуры модели, градиентов и model weights. Это позволяет им математически вычислить наиболее эффективное возмущение, часто используя такие методы, как метод быстрого градиентного знака (FGSM).
- Black-Box Attacks: Злоумышленник не имеет представления о внутренних параметрах модели и может только наблюдать за входами и выходами. Злоумышленники часто используют «модель-заменитель» для генерации состязательных примеров, которые эффективно переносятся на целевую систему, — свойство, известное как переносимость.
Практическое применение и риски#
Хотя состязательные атаки часто обсуждаются в теоретических исследованиях, они представляют реальные риски для практических внедрений, особенно в автономных системах и безопасности.
- Autonomous Vehicles: Беспилотные автомобили сильно зависят от object detection для интерпретации дорожных знаков. Исследования показали, что наклеивание тщательно созданных наклеек или ленты на знак «Стоп» может обмануть систему видения автомобиля, заставив ее воспринимать его как знак ограничения скорости. Этот тип физической атаки может привести к опасным сбоям в приложениях AI in automotive.
- Facial Recognition Evaders: Системы безопасности, которые контролируют доступ на основе биометрии, могут быть скомпрометированы состязательными «патчами». Это могут быть напечатанные узоры, носимые на очках или одежде, которые нарушают процесс feature extraction. Это позволяет неавторизованному лицу либо полностью избежать обнаружения, либо выдать себя за конкретного пользователя, обходя security alarm systems.
Генерация состязательных примеров на Python#
Чтобы понять, насколько хрупкими могут быть некоторые модели, полезно увидеть, как легко можно возмутить изображение. Хотя стандартный вывод с такими моделями, как YOLO26, является надежным для общего использования, исследователи часто симулируют атаки для улучшения model monitoring и защиты. Следующий концептуальный пример использует PyTorch, чтобы показать, как градиенты используются для расчета состязательного возмущения (шума) для изображения.
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 perturbationСвязанные концепции#
Важно отличать состязательные атаки от других форм сбоев или манипуляций с моделями:
- Data Poisoning: В отличие от состязательных атак, которые манипулируют входными данными во время вывода (тестирования), отравление данных предполагает повреждение самих training data до того, как модель будет построена, внедряя скрытые бэкдоры или предвзятости.
- Prompt Injection: Это специфично для Large Language Models (LLMs) и текстовых интерфейсов. Хотя концептуально это похоже — обман модели, — это опирается на семантическую манипуляцию языком, а не на математическое возмущение пиксельных или сигнальных данных.
- Overfitting: Это сбой обучения, при котором модель изучает шум в обучающих данных, а не базовый паттерн. Переобученные модели часто более восприимчивы к состязательным атакам, поскольку их границы принятия решений излишне сложны и хрупки.
Разработка защиты от этих атак является ключевым компонентом современного MLOps. Такие методы, как состязательное обучение (когда атакованные примеры добавляются в обучающий набор), помогают моделям становиться более устойчивыми. Такие платформы, как Ultralytics Platform, облегчают строгие конвейеры обучения и валидации, позволяя командам оценивать надежность модели перед развертыванием на периферийных устройствах.






