Adversarial Attacks
Узнай, как состязательные атаки манипулируют моделями машинного обучения. Изучи стратегии белого и чёрного ящика, риски для безопасности ИИ и защиту с помощью Ultralytics YOLO26.
Атаки с состязательными примерами — это сложная категория методов манипуляции, предназначенных для того, чтобы обмануть модели машинного обучения (ML) и заставить их делать ошибочные прогнозы с высокой уверенностью. Такие атаки работают за счёт внесения незаметных, часто неразличимых для человека изменений во входные данные — например, изображения, аудио или текст. Хотя для человека эти изменения выглядят безобидными или случайными, они используют конкретные математические уязвимости границ принятия решений многомерных нейронных сетей. По мере того как системы искусственного интеллекта (AI) становятся неотъемлемой частью критически важной инфраструктуры, понимание принципов работы этих уязвимостей необходимо для разработки надёжных протоколов безопасности ИИ и механизмов защиты.
Как работают атаки с состязательными примерами#
В рамках типичного процесса обучения глубоких нейронных сетей (DL) модель оптимизирует свои веса, чтобы минимизировать ошибку на обучающем наборе данных. Однако такие модели по сути создают сложные отображения в многомерном пространстве. Атака с состязательными примерами вычисляет точное «направление» в этом пространстве, необходимое для перемещения входных данных через границу и изменения классификации модели. Например, в компьютерном зрении (CV) рассчитанное изменение значений пикселей изображения панды с добавлением определённого «шума» может заставить систему уверенно классифицировать его как гиббона, хотя для человеческого глаза изображение по-прежнему выглядит как панда.
Стратегии атак обычно классифицируют по уровню доступа атакующего к целевой системе:
- Атаки типа «белого ящика»: Атакующий получает полную информацию об архитектуре модели, градиентах и весах модели. Это позволяет математически вычислить наиболее эффективное возмущение, часто с использованием таких методов, как метод знака быстрого градиента (FGSM).
- Атаки типа «чёрного ящика»: Атакующий не имеет информации о внутренних параметрах модели и может наблюдать только за входными и выходными данными. Атакующие часто используют «модель-заменитель» для создания состязательных примеров, которые эффективно переносятся на целевую систему; это свойство называется переносимостью.
Применение и риски в реальном мире#
Хотя атаки с состязательными примерами часто обсуждаются в рамках теоретических исследований, они представляют ощутимый риск для практических развертываний, особенно в автономных системах и сфере безопасности.
- Автономные транспортные средства: Беспилотные автомобили в значительной степени полагаются на обнаружение объектов для интерпретации дорожных знаков. Исследования показали, что тщательно разработанные наклейки или кусочки ленты, нанесённые на знак «Стоп», могут заставить систему компьютерного зрения автомобиля распознать его как знак ограничения скорости. Такая атака в физическом мире может привести к опасным сбоям в приложениях ИИ в автомобильной отрасли.
- Обход систем распознавания лиц: Системы безопасности, управляющие доступом на основе биометрии, можно скомпрометировать с помощью состязательных «патчей». Это нанесённые на очки или одежду узоры, которые нарушают процесс извлечения признаков. Благодаря этому посторонний человек может полностью избежать обнаружения или выдать себя за конкретного пользователя, обойдя системы охранной сигнализации.
Создание состязательных примеров в Python#
Чтобы понять, насколько хрупкими могут быть некоторые модели, полезно увидеть, как легко изменить изображение. Хотя стандартный инференс с такими моделями, как YOLO26, надёжен для общего применения, исследователи часто моделируют атаки, чтобы улучшить мониторинг моделей и защиту. В следующем концептуальном примере используется 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Связанные понятия#
Важно отличать атаки с состязательными примерами от других форм отказа или манипуляции моделью:
- Отравление данных: В отличие от атак с состязательными примерами, которые изменяют входные данные во время инференса (тестирования), отравление данных предполагает искажение самих обучающих данных ещё до создания модели с внедрением скрытых бэкдоров или смещений.
- Инъекция промптов: Этот метод специфичен для больших языковых моделей (LLMs) и текстовых интерфейсов. Хотя по сути он похож на обман модели, его основой служит семантическая манипуляция языком, а не математическое изменение пиксельных данных или сигналов.
- Переобучение: Это ошибка обучения, при которой модель учится распознавать шум в обучающих данных, а не лежащую в их основе закономерность. Переобученные модели часто более подвержены атакам с состязательными примерами, поскольку их границы принятия решений чрезмерно сложны и нестабильны.
Разработка защиты от таких атак — важнейшая составляющая современного MLOps. Такие методы, как обучение на состязательных примерах, при котором атакованные примеры добавляются в обучающий набор, помогают сделать модели более устойчивыми. Платформы, такие как Ultralytics Platform, обеспечивают строго контролируемые конвейеры обучения и валидации, позволяя командам оценивать устойчивость моделей до их развертывания на периферийных устройствах.









