Состязательные атаки
Материал из MachineLearning.
(→Постановка задачи) |
(→Постановка задачи) |
||
| Строка 15: | Строка 15: | ||
== Постановка задачи == | == Постановка задачи == | ||
| - | Пусть <tex>f_\theta :X \to \mathbb{R}^K</tex> — классификатор с параметрами | + | Пусть <tex>f_\theta:X \to \mathbb{R}^K</tex> — классификатор с параметрами |
<tex>\theta</tex>, возвращающий вектор оценок принадлежности к <tex>K</tex> классам, и | <tex>\theta</tex>, возвращающий вектор оценок принадлежности к <tex>K</tex> классам, и | ||
<tex>a(x) = \arg\max_k f_\theta^{(k)}(x)</tex> — предсказанная метка. Для объекта <tex>x</tex> | <tex>a(x) = \arg\max_k f_\theta^{(k)}(x)</tex> — предсказанная метка. Для объекта <tex>x</tex> | ||
Версия 14:07, 18 июля 2026
| | Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Zarina Sibgatullina 18:02, 18 июля 2026 (MSD) |
Состязательные атаки (adversarial attacks), или состязательные примеры (adversarial examples) — специально построенные входные объекты, которые почти не отличаются от обычных с точки зрения человека, но приводят модель машинного обучения к уверенно неверному ответу. Явление обнаружено для глубоких нейронных сетей в 2013–2014 годах и стало отправной точкой для целого направления — безопасности машинного обучения.
Каноничный пример: к изображению, которое классификатор верно относит к некоторому классу, добавляется незаметное человеку возмущение, после чего модель с высокой уверенностью выдаёт другой класс. Существование таких примеров показывает, что высокая точность на независимой тестовой выборке не гарантирует устойчивости к целенаправленному воздействию.
Содержание |
Постановка задачи
Пусть — классификатор с параметрами
, возвращающий вектор оценок принадлежности к
классам, и
— предсказанная метка. Для объекта
с истинной меткой
ищется возмущение
, меняющее ответ модели при
ограничении на незаметность:
где норма формализует «незаметность» возмущения, а
задаёт его допустимую величину. Различают ненаправленную атаку (добиться любого неверного
ответа) и направленную (targeted) — добиться заранее выбранной целевой метки
.
Обычно (1) переформулируют как задачу оптимизации: максимизировать потери модели по возмущению в пределах допустимого шара
Выбор нормы задаёт геометрию угрозы: ограничивает максимальное изменение
каждого признака,
— евклидову величину возмущения,
— число
изменённых признаков.
Основные методы построения
FGSM
Метод быстрого знака градиента (Fast Gradient Sign Method, Goodfellow и др., 2015) —
одношаговая атака в норме . Возмущение направлено вдоль знака градиента
потерь по входу:
FGSM дёшев (один проход обратного распространения) и потому широко используется как базовый приём и как компонент состязательного обучения.
PGD
Проецируемый градиентный подъём (Projected Gradient Descent, Madry и др., 2018) —
итеративное усиление FGSM. На каждом шаге делается небольшой шаг по знаку градиента, после чего
результат проецируется обратно в -шар:
где — оператор проекции,
— размер шага. PGD считается сильной
атакой «первого порядка» и служит стандартным инструментом для оценки устойчивости моделей.
C&W
Атака Карлини–Вагнера (Carlini & Wagner, 2017) формулирует поиск возмущения как задачу минимизации его нормы при условии смены класса, переводя ограничение в дифференцируемое слагаемое. Метод даёт возмущения меньшей величины, чем FGSM и PGD, и исторически взломал ряд защит, считавшихся надёжными.
Перенос атак
Важное свойство состязательных примеров — переносимость (transferability): возмущение, построенное против одной модели, часто обманывает и другую, обученную независимо на схожих данных. Это позволяет атаковать закрытую модель в режиме black-box, построив атаку против доступной суррогатной модели, и объясняет, почему секретность весов сама по себе не является защитой.
Гипотезы о причинах
Единого объяснения нет. Ранняя гипотеза связывала уязвимость с чрезмерной нелинейностью сетей, однако Goodfellow и др. предложили противоположное объяснение: в пространствах высокой размерности достаточно даже линейного поведения модели, чтобы малые покоординатные возмущения, суммируясь, сильно сдвинули выход. Позднее было выдвинуто предположение, что состязательные примеры эксплуатируют неробастные признаки — статистически полезные для классификации, но не воспринимаемые человеком закономерности в данных.
Защита
- состязательное обучение (adversarial training) — обучение на примерах, порождённых
PGD согласно (2); наиболее устойчивый на практике подход, повышающий стоимость обучения и обычно снижающий точность на чистых данных;
- сертифицированная устойчивость и рандомизированное сглаживание — методы с доказуемой
гарантией неизменности ответа в окрестности объекта;
- обнаружение состязательных примеров — детекторы аномальных входов; ненадёжны против
адаптивного противника, знающего о защите.
Ключевой методический принцип: защиту следует проверять против адаптивной атаки, построенной с учётом механизма обороны. Многие ранние защиты, эффективные против фиксированных атак, оказались несостоятельны при такой проверке — нередко из-за маскировки градиента (gradient masking), когда защита лишь затрудняет вычисление градиента, но не устраняет уязвимость.
См. также
- Безопасность машинного обучения
- Отравление обучающих данных
- Состязательное обучение
- Джейлбрейк языковых моделей
Литература
- Szegedy C. et al. Intriguing Properties of Neural Networks // ICLR. — 2014. — arXiv:1312.6199.
- Goodfellow I., Shlens J., Szegedy C. Explaining and Harnessing Adversarial Examples // ICLR. — 2015. — arXiv:1412.6572.
- Madry A. et al. Towards Deep Learning Models Resistant to Adversarial Attacks // ICLR. — 2018. — arXiv:1706.06083.
- Carlini N., Wagner D. Towards Evaluating the Robustness of Neural Networks // IEEE S&P. — 2017. — arXiv:1608.04644.
- Athalye A., Carlini N., Wagner D. Obfuscated Gradients Give a False Sense of Security // ICML. — 2018. — arXiv:1802.00420.
- Ilyas A. et al. Adversarial Examples Are Not Bugs, They Are Features // NeurIPS. — 2019. — arXiv:1905.02175.

