Состязательные атаки

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Постановка задачи)
(Постановка задачи)
Строка 19: Строка 19:
<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>
с истинной меткой <tex>y</tex> ищется возмущение <tex>\delta</tex>, меняющее ответ модели при
с истинной меткой <tex>y</tex> ищется возмущение <tex>\delta</tex>, меняющее ответ модели при
-
ограничении на незаметность:
+
ограничении на незаметность — найти <tex>\delta</tex> такое, что:
{{eqno|1}}
{{eqno|1}}
-
::<tex>\text{найти } \delta \colon\quad a(x+\delta) \ne y, \qquad \|\delta\| \le \varepsilon,</tex>
+
::<tex>a(x+\delta) \ne y, \qquad \|\delta\| \le \varepsilon,</tex>
где норма <tex>\|\cdot\|</tex> формализует «незаметность» возмущения, а <tex>\varepsilon</tex>
где норма <tex>\|\cdot\|</tex> формализует «незаметность» возмущения, а <tex>\varepsilon</tex>

Версия 14:08, 18 июля 2026

Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Zarina Sibgatullina 18:02, 18 июля 2026 (MSD)


Состязательные атаки (adversarial attacks), или состязательные примеры (adversarial examples) — специально построенные входные объекты, которые почти не отличаются от обычных с точки зрения человека, но приводят модель машинного обучения к уверенно неверному ответу. Явление обнаружено для глубоких нейронных сетей в 2013–2014 годах и стало отправной точкой для целого направления — безопасности машинного обучения.

Каноничный пример: к изображению, которое классификатор верно относит к некоторому классу, добавляется незаметное человеку возмущение, после чего модель с высокой уверенностью выдаёт другой класс. Существование таких примеров показывает, что высокая точность на независимой тестовой выборке не гарантирует устойчивости к целенаправленному воздействию.

Содержание

Постановка задачи

Пусть f_\theta:X \to \mathbb{R}^K — классификатор с параметрами \theta, возвращающий вектор оценок принадлежности к K классам, и a(x) = \arg\max_k f_\theta^{(k)}(x) — предсказанная метка. Для объекта x с истинной меткой y ищется возмущение \delta, меняющее ответ модели при ограничении на незаметность — найти \delta такое, что:

(1)
a(x+\delta) \ne y, \qquad \|\delta\| \le \varepsilon,

где норма \|\cdot\| формализует «незаметность» возмущения, а \varepsilon задаёт его допустимую величину. Различают ненаправленную атаку (добиться любого неверного ответа) и направленную (targeted) — добиться заранее выбранной целевой метки y_t.

Обычно (1) переформулируют как задачу оптимизации: максимизировать потери модели по возмущению в пределах допустимого шара

(2)
\max_{\|\delta\| \le \varepsilon}\; \mathcal{L}\big(f_\theta(x+\delta),\, y\big).

Выбор нормы задаёт геометрию угрозы: \ell_\infty ограничивает максимальное изменение каждого признака, \ell_2 — евклидову величину возмущения, \ell_0 — число изменённых признаков.

Основные методы построения

FGSM

Метод быстрого знака градиента (Fast Gradient Sign Method, Goodfellow и др., 2015) — одношаговая атака в норме \ell_\infty. Возмущение направлено вдоль знака градиента потерь по входу:

(3)
\delta = \varepsilon \cdot \operatorname{sign}\big(\nabla_x \mathcal{L}(f_\theta(x), y)\big).

FGSM дёшев (один проход обратного распространения) и потому широко используется как базовый приём и как компонент состязательного обучения.

PGD

Проецируемый градиентный подъём (Projected Gradient Descent, Madry и др., 2018) — итеративное усиление FGSM. На каждом шаге делается небольшой шаг по знаку градиента, после чего результат проецируется обратно в \varepsilon-шар:

(4)
x^{(t+1)} = \Pi_{\|x'-x\| \le \varepsilon}\Big(x^{(t)} + \alpha \cdot \operatorname{sign}\big(\nabla_x \mathcal{L}(f_\theta(x^{(t)}), y)\big)\Big),

где \Pi — оператор проекции, \alpha — размер шага. PGD считается сильной атакой «первого порядка» и служит стандартным инструментом для оценки устойчивости моделей.

C&W

Атака Карлини–Вагнера (Carlini & Wagner, 2017) формулирует поиск возмущения как задачу минимизации его нормы при условии смены класса, переводя ограничение в дифференцируемое слагаемое. Метод даёт возмущения меньшей величины, чем FGSM и PGD, и исторически взломал ряд защит, считавшихся надёжными.

Перенос атак

Важное свойство состязательных примеров — переносимость (transferability): возмущение, построенное против одной модели, часто обманывает и другую, обученную независимо на схожих данных. Это позволяет атаковать закрытую модель в режиме black-box, построив атаку против доступной суррогатной модели, и объясняет, почему секретность весов сама по себе не является защитой.

Гипотезы о причинах

Единого объяснения нет. Ранняя гипотеза связывала уязвимость с чрезмерной нелинейностью сетей, однако Goodfellow и др. предложили противоположное объяснение: в пространствах высокой размерности достаточно даже линейного поведения модели, чтобы малые покоординатные возмущения, суммируясь, сильно сдвинули выход. Позднее было выдвинуто предположение, что состязательные примеры эксплуатируют неробастные признаки — статистически полезные для классификации, но не воспринимаемые человеком закономерности в данных.

Защита

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.
Личные инструменты