# Янник Килхер представил метод обнаружения состязательных атак под шумом

Источник: https://www.youtube.com/watch?v=sbKaUc0tPaY
Канал: Yannic Kilcher
Опубликовано: 20.02.2019

---

Популярный ИТ-блогер и исследователь Янник Килхер (Yannic Kilcher) представил подробный разбор своей научной работы, посвященной обнаружению состязательных атак на современные нейросети. Автор предлагает оригинальный статистический тест, основанный на анализе поведения классификаторов при введении контролируемого шума. Предложенный подход позволяет не только эффективно выявлять скрытые попытки обмана искусственного интеллекта, но и восстанавливать исходный истинный класс искаженных изображений.

## 🧠 Что такое состязательные атаки и как они обманывают ИИ
[[JUMP:0:00]]

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

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

* Использование специфической структуры шума, которая подбирается под особенности конкретной модели.
* Применение микроскопического множителя $\gamma$ (гамма), благодаря которому вносимые искажения остаются абсолютно невидимыми для человеческого глаза.
* Резкое изменение вектора выходных вероятностей нейросети после добавления шума, из-за чего ложный класс мгновенно становится доминирующим.

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

## 📊 Математика обмана: логиты, признаки и выравнивание весов
[[JUMP:2:21]]

Чтобы понять механизм обнаружения атак, Янник Килхер предлагает детально разобрать внутреннюю архитектуру классификатора. Нейросеть (например, глубокая сверточная модель) обрабатывает входное изображение $X$ и преобразует его в промежуточный вектор признаков (feature representation) в скрытом пространстве, который обозначается как $F$. Затем этот вектор умножается на матрицу весов последнего слоя $W$, имеющую размерность $D \times K$, где $D$ — размерность пространства признаков, а $K$ — количество доступных классов.

Результатом этого матричного умножения становятся логиты (logits) — сырые некоррелированные оценки для каждого класса, которые затем превращаются в итоговые вероятности через функцию softmax. Математически логит для конкретного класса $i$ вычисляется как скалярное произведение:

$$\text{Logit}_i = \langle W_i, F \rangle$$

Здесь $W_i$ обозначает строку или столбец матрицы весов, соответствующий данному классу. В своем объяснении Янник Килхер намеренно опускает параметры смещения (biases), поскольку они усложняют формулы, но не меняют общую суть физических процессов.

В процессе состязательной атаки злоумышленник меняет вектор признаков $F$ путем минимального контролируемого изменения исходного изображения $X$. Его цель — сделать скалярное произведение для ложного класса как можно более высоким. С геометрической точки зрения это означает необходимость максимально сонаправить (выровнять) вектор признаков $F$ с вектором весов целевого класса $W_i$, минимизируя угол между ними в многомерном пространстве.

Атаки разделяют на два основных типа:

1. Целевые (targeted) — когда вектор признаков принудительно выравнивается с конкретным выбранным ложным классом.
2. Нецелевые (untargeted) — когда задача состоит лишь в том, чтобы заставить модель ошибиться, выбрав любой класс, отличный от истинного.

## 🔍 Пространство скрытых признаков и «конусы» уязвимости
[[JUMP:9:16]]

Основная гипотеза исследования Янника Килхера строится на том, что ресурсы атакующего жестко ограничены. Величина изменения изображения $\Delta X$ обязана оставаться чрезвычайно малой, чтобы атака оставалась скрытой. Из-за этого у злоумышленника остается слишком мало «пространства для маневра», что неизбежно оставляет характерный след в скрытом пространстве признаков.

Для фиксации этого следа авторы измерили степень выравнивания текущего предсказанного класса со всеми остальными классами. Эксперименты проводились на классификаторе, обученном на популярном датасете CIFAR-10. При анализе состязательного примера на графиках отчетливо выделяется аномально высокое выравнивание с ложным классом, тогда как для исходного чистого изображения это значение находилось в районе нуля. Атака фактически «вдавливает» скалярное произведение истинного класса вниз и искусственно завышает показатели состязательного класса.

Чтобы детально изучить эту геометрию, исследователи применили метод сеточного семплирования (grid sampling):

* Они совершали микроскопические шаги от чистого изображения к состязательному, замеряя на каждом этапе уверенность нейросети.
* Дополнительно оценивались ортогональные (перпендикулярные) направления в пиксельном пространстве.
* Данные усреднялись по множеству различных образцов из датасета для получения объективной и комплексной картины.

Результаты анализа выявили любопытную аномалию. При удалении от оригинального изображения в случайных направлениях уверенность сети падает плавно. Однако в направлении состязательного примера наблюдается крутой, обвальный спад вероятности истинного класса, формирующий узкие низкоразмерные «конусы» в пространстве признаков.

## 🎲 Поведение под шумом: почему случайные искажения выдают атаку
[[JUMP:20:17]]

Изначально разработчики предполагали, что если состязательный пример окружен зонами истинного класса, то добавление случайного шума должно легко возвращать модель к правильному ответу. Однако практические тесты Янника Килхера показали, что это не так. При добавлении случайных помех вероятность состязательного класса начинает падать, но истинный класс просто не успевает перехватить лидерство. До того как исходный класс успевает восстановиться, верх берут другие случайные классы, поскольку исходный сигнал оказывается слишком сильно ослаблен проведенной атакой.

Тем не менее, исследователи обнаружили важнейшую статистическую закономерность: под воздействием шума метрики выравнивания истинного класса растут значительно быстрее, чем у любых других сторонних классов. Это открытие легло в основу нового защитного механизма. 

Алгоритм работы предложенного статистического теста выглядит следующим образом:

1. К анализируемому образцу добавляется строго дозированный объем случайного шума.
2. Система отслеживает динамику изменения логитов и векторов выравнивания для всех классов.
3. Величина и интенсивность шума кодируются для анализа (на графиках автора это отображалось яркостью точек).
4. Если образец чистый, его параметры под шумом ведут себя хаотично или предсказуемо снижаются; если же это состязательный пример, то скрытый истинный класс начинает стремительно расти.

Сравнивая гистограммы распределения под шумом для чистых и атакованных данных, авторы зафиксировали принципиальную разницу в их математических «подписях» (signatures). На основе этих различий создается полноценный детектор атак, использующий многовариантный механизм голосования по разным типам шумов.

## 📈 Результаты тестов и восстановление истинного класса
[[JUMP:26:02]]

Эффективность предложенного статистического теста проверялась в ходе масштабных экспериментов на популярных бенчмарках CIFAR-10 и ImageNet. Разработанный метод продемонстрировал отличные результаты: авторам удалось достичь высоких показателей обнаружения атак при крайне низком уровне ложноположительных срабатываний.

Янник Килхер отмечает примечательную корреляцию:

* Наилучшие результаты детектор показывает на более сложных, качественно обученных моделях.
* Особенно эффективно система проявила себя на масштабном датасете ImageNet.
* Чем выше точность исходной нейросети на чистых данных, тем точнее статистический тест выявляет состязательные аномалии.

Однако главным сюрпризом исследования стало то, что предложенный метод способен не только сигнализировать об атаке, но и реконструировать исходные данные. Поскольку под действием шума быстрее всех растет именно оригинальный класс, из которого был сделан состязательный пример, алгоритм может вычислить его математически. Проведя обратный дедуктивный анализ, система безошибочно указывает на истинный класс, фактически возвращая точность атакованной модели к показателям чистой сети. На датасете CIFAR-10 эта технология показала отличные результаты, хотя для ImageNet у команды не хватило доступных вычислительных мощностей.

В завершение Янник Килхер подчеркивает, что их работа не претендует на роль абсолютной и финальной защиты от всех мыслимых угроз безопасности. Главная цель публикации — стимулировать ИИ-сообщество к детальному изучению реакций нейросетей на наведенные шумы. По мнению автора, это поможет проектировать принципиально новые архитектуры моделей, которые будут изначально устойчивы к любым манипуляциям в скрытом пространстве признаков.