# Николас Карлини об ИИ-безопасности: «Если от модели зависит жизнь — не развертывайте ее»

Источник: https://www.youtube.com/watch?v=2PenK06tvE4
Канал: Machine Learning Street Talk
Опубликовано: 31.01.2021

---

Проблема состязательных атак (adversarial examples) остается одним из наиболее интригующих и опасных вызовов в сфере искусственного интеллекта, ставя под сомнение надежность современных нейросетей. В масштабном интервью для канала Machine Learning Street Talk ведущие мировые эксперты в области безопасности ИИ обсудили, почему компьютерное зрение видит мир совершенно иначе, чем человек. Исследователи детально разобрали фундаментальные уязвимости алгоритмов, раскритиковали методологию академических публикаций и дали неутешительный прогноз для практического применения технологий в незащищенных средах.

## 🧩 Природа феномена: почему ломаются нейросети
[[JUMP:01:06]]

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

Знаковым сдвигом в понимании проблемы стала работа исследователей из Массачусетского технологического института (MIT), опубликованная в 2019 году под названием «Features Your Model Sees That You Don't» (также известная как «Adversarial Examples Are Not Bugs, They Are Features»). Авторы работы экспериментально доказали, что состязательные атаки — это не случайные баги или ошибки оптимизации, а прямое следствие наличия в данных так называемых «неробастных признаков» (non-robust features). 

Любой датасет содержит два типа паттернов:

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

Исследователи из MIT смогли физически разделить эти признаки в данных и обучить классификаторы на каждом типе отдельно. Оказалось, что модель, обученная исключительно на неробастных («невидимых») признаках, демонстрирует высокую точность на стандартном тестовом датасете, но мгновенно ломается при минимальном состязательном шуме. Более того, если обучить нейросеть на состязательных примерах с новыми, ошибочными с точки зрения человека метками, она все равно успешно обобщает правила и правильно классифицирует исходный тест, доказывая, что эти скрытые признаки действительно работают в рамках математической логики распределения данных.

Как объясняет ведущий, здесь возникает фундаментальный компромисс между состязательной робастностью и предсказательной точностью наших классификаторов. В качестве аналогии приводится пример с распознаванием кошки: животное обладает макро-признаками (форма тела, головы) и микро-признаками (текстура шерсти). Изменить форму кошки на картинке сложно — для этого нужно переписать огромное количество пикселей (высокая магнитуда изменений). Текстуру же шерсти изменить крайне легко (низкая магнитуда). Однако шерсть является невероятно информативным признаком для нейросети; если полностью исключить текстурные признаки из обучения и оставить только форму, точность классификатора на реальных данных резко упадет.

## 🥊 Иллюзия защиты: 1000 способов исправить и ни одного рабочего
[[JUMP:04:14]]

Количество потенциальных состязательных примеров для любой сложной модели стремится к бесконечности. На сегодняшний день в академической литературе предложено от 500 до 1000 различных механизмов защиты. Ученые пытались внедрять детекторы аномалий на этапе прямого прохода, использовать безумные методы предварительной обработки данных и самые экзотические функции постпроцессинга результатов. 

Однако Николас Карлини подчеркивает: «Если выстроить идеальное объяснение причин состязательных примеров, обычно на его основе можно создать защиту, которая их устранит». При этом большинство таких решений в итоге оказываются неэффективными или полностью сломанными. В так называемом «белом ящике» (white-box setting), когда злоумышленнику доступны веса модели, любая защита ломается с помощью стандартного градиентного спуска по простой функции потерь. Все атаки, под какими бы названиями они ни публиковались, концептуально делают одно и то же — оптимизируют вносимый шум под конкретную норму (например, L2 или L-infinity). 

В сценарии «черного ящика» (black-box), когда веса скрыты, атаки работают иначе (например, через оценку границ принятия решений, как в работах Виланда Бренделя), но все равно остаются крайне опасными из-за свойства переносимости (transferability). Состязательный пример, сгенерированный для одной модели, с высокой вероятностью обманет другую модель со схожей архитектурой, обученную на тех же данных, поскольку обе они неизбежно находят одни и те же неробастные признаки в распределении.

На сегодняшний день реальную, подтвержденную устойчивость демонстрируют лишь два грубых инструмента:

1.  Состязательное обучение (adversarial training): процесс, в ходе которого состязательные примеры генерируются прямо во время обучения и принудительно добавляются в датасет. Модели буквально приказывают игнорировать неробастные признаки под угрозой штрафа по функции потерь.
2.  Рандомизированное сглаживание (randomized smoothing): добавление к входным данным огромного количества случайного шума (например, гауссова шума для устойчивости к L2-нормам) на этапе обучения и инференса с последующим статистическим подсчетом результатов.

Флориан Трамер отмечает, что эти методы работают, но выглядят крайне неудовлетворительно с научной точки зрения. Они требуют заранее жестко специфицировать тип и рамки угрозы, к которой нужно подготовить модель. Если защитить сеть от шума в норме L2, она останется абсолютно уязвимой для других типов пертурбаций. Кроме того, состязательное обучение — это «тыканье пальцем в небо», поскольку оно нейтрализует лишь малую часть из бесчисленного множества неробастных признаков и снижает общую точность модели на чистых данных примерно на 5-10%.

## 🦹 Реальные угрозы vs академические фантазии: где состязательные атаки опасны на самом деле
[[JUMP:27:39]]

В медиа и многих научных статьях состязательные атаки часто преподносятся как катастрофическая угроза безопасности. Классический пример — модификация дорожного знака «Stop» с помощью незаметных наклеек, из-за чего беспилотный автомобиль считывает его как знак поворота. Однако Флориан Трамер называет этот сценарий надуманным и считает, что в изоляции состязательные примеры не наносят вреда. 

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

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

Примеры реального противостояния в ИИ-системах:

* Перцептивное блокирование рекламы (perceptual ad blocking): социальные сети (например, Facebook) или рекламные платформы намеренно модифицируют код или визуал баннеров, чтобы обходить умные блокировщики рекламы, сохраняя при этом привлекательный вид для пользователей.
* Обход модерации контента: злоумышленники пытаются загрузить на платформы вроде YouTube запрещенный контент, слегка искажая видеоряд или аудиодорожку, чтобы обмануть автоматические фильтры. В качестве забавного примера один из авторов канала рассказал, как его ролик заблокировали на китайской платформе Bilibili из-за мимолетного мема с Винни-Пухом, и состязательные атаки могли бы стать идеальным решением для обхода жесткой автоматической цензуры.
* Классификация вредоносного ПО (malware classification): Николас Карлини подчеркивает, что этот домен полностью независим от человеческого восприятия. Файл либо сотрет ваш жесткий диск, либо нет — здесь есть объективная истина. Тем не менее, антивирусные ИИ-классификаторы критически уязвимы: достаточно изменить всего один бит в неиспользуемом участке мертвого кода (dead code), и вредоносная программа начинает распознаваться моделью как абсолютно безопасная утилита.

## 🛣️ Синдром «коротких путей» и кризис глубокого обучения
[[JUMP:34:51]]

Проблема состязательных примеров глубоко переплетена с более широким кризисом обобщения в машинном обучении — феноменом «обучения коротким путям» (shortcut learning). Виланд Брендель, автор фундаментальной работы на эту тему, объясняет, что при обучении нейросети на определенную задачу исследователи упускают из виду гигантский объем возможных математических решений. Современные алгоритмы и оптимизаторы выбирают из этого пула самые простые статистические корреляции, которые отлично работают на обучающей и тестовой выборках, но полностью проваливаются при малейшем сдвиге распределения (distribution shift).

Влияние инфраструктуры на результат обучения колоссально: финальное решение модели зависит от архитектуры, функции потерь и даже выбора оптимизатора (например, Adam). Более того, исследование Google показало, что простое изменение случайного зерна (random seed) при прочих равных условиях приводит к получению моделей, которые демонстрируют совершенно разные свойства обобщения на новых данных.

Исследовательская группа Виланда Бренделя провела эксперимент по сравнению кросс-консистентности ошибок людей и машин. Результаты показали следующие закономерности:

* Все типы нейросетей (CNN, трансформеры, обученные с учителем или без) ошибаются на одних и тех же изображениях крайне схожим образом.
* Человеческие ошибки также обладают высокой внутренней консистентностью.
* Между паттернами ошибок человека и паттернами ошибок нейросетей зафиксирован огромный, непреодоленный разрыв.

В качестве примера приводится исследование ученых из Беркли, которые переразметили датасет ImageNet. Выяснилось, что на базовых объектах (отличие банана от чашки) обученный человек практически не совершает ошибок, тогда как модели могут легко споткнуться в очевидных ситуациях. Напротив, в узких доменах — например, при различении 136 пород собак — обычный человек без специальной подготовки выдает точность около 70%, в то время как нейросети справляются с задачей феноменально лучше. 

Это подчеркивает, что глубокое обучение уперлось в лимит оптимизации по метрике точности (accuracy probe). Индустрия нуждается в принципиально новых методах регуляризации поискового пространства и внедрении правильных индуктивных смещений (inductive biases), аналогичных механизмам работы человеческого мозга, способного обучаться на малом количестве данных.

## 📉 Академический самообман: почему ученые публикуют неработающие решения
[[JUMP:1:06:49]]

Николас Карлини, известный в сообществе как главный «разрушитель защит», открыто заявляет о системном кризисе рецензирования в сфере AI-безопасности. Ссылаясь на знаменитое высказывание Ричарда Фейнмана о самообмане в науке, Карлини отмечает, что главная задача любого исследователя — усомниться в собственной правоте. В классической компьютерной безопасности после месяцев работы над созданием системы автор обязан полностью сменить образ мышления и приложить все усилия, чтобы доказать, что его идея не работает.

В машинном обучении этот этап часто игнорируется ради красивых цифр в статьях. Карлини перефразирует известное выражение: «Трудно заставить исследователя понять что-то, если его публикация зависит от того, что он этого не понимает». 

По наблюдениям ученых, в академической среде сложился опасный паттерн:

* Авторы предлагают незначительное изменение архитектуры или функции потерь и заявляют, что робастность на датасете CIFAR выросла, к примеру, с 40% до 60%.
* При независимой корректной проверке с использованием адаптивных атак выясняется, что реальная робастность падает до 0%.
* Флориан Трамер проверил 30 опубликованных и рецензированных статей по защите от состязательных атак, которые впоследствии были официально взломаны. Только в ОДНОЙ из 30 работ авторы добавили сноску на второй странице с признанием неэффективности своего метода. Остальные 29 статей по-прежнему лежат на arXiv (некоторые обновлены до 3-й или 4-й версии), вводя в заблуждение молодых ученых, которые продолжают строить свои исследования на заведомо сломанных фундаментах.

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

Более того, Карлини, Трамер и Брендель столкнулись с абсурдностью рецензирования на конференции ICML. Ранее Карлини получил награду «Best Paper» за взлом ряда защит. Однако их последующая совместная работа, где они в пух и прах разнесли сразу 13 опубликованных систем защиты, была отклонена рецензентами с формулировкой: «Эта статья не содержит новых идей, вы просто применили существующие методы для взлома существующих работ».

## 🛠️ Практический фатализм: что делать разработчикам в реальном мире
[[JUMP:1:27:48]]

Для инженеров и архитекторов ИИ-систем, развертывающих модели в реальном производстве (например, через облачные сервисы AWS, GCP или Azure), у исследователей есть максимально честный и суровый совет: если от устойчивости вашего классификатора к состязательному шуму зависят человеческие жизни — не развертывайте эту модель.

По мнению Николаса Карлини, в индустрии необходимо принять концепцию практического фатализма. В криптографии стандартом считаются гарантии безопасности на уровне математической вероятности взлома $2^{-128}$. В системной безопасности (например, при обходе канареек стека) риски составляют около $2^{-32}$. Лучшие состязательные защиты, существующие сегодня в машинном обучении, дают гарантию на уровне $2^{-1}$ — это означает, что мотивированный хакер добьется успеха как минимум в половине случаев.

Николас Карлини выражается еще жестче: «Если бы кто-то мог обмануть ваш классификатор и из-за этого кто-то погиб бы, то просто не развертывайте свой классификатор».

В текущих реалиях разработчикам рекомендуется следовать следующим правилам:

* Максимизировать точность на чистых данных (benign accuracy): не стоит жертвовать 10% базовой точности ради иллюзорной состязательной робастности, если подготовленный атакующий все равно сможет обойти систему за несколько попыток.
* Использовать скрытность инфраструктуры (security through obscurity): в отличие от классической безопасности, где этот подход порицается, в коммерческом ML он работает. Никто точно не знает, по каким именно признакам Google классифицирует вредоносное ПО для Android; сокрытие пайплайна и использование множества непубличных, обскурных признаков значительно усложняет жизнь злоумышленникам в реальном мире.
* Фокусироваться на Out-of-Distribution (OOD) бенчмарках: практический смысл имеет проверка моделей на устойчивость к естественным сдвигам среды (туман, грязь на объективе, изменение освещения), а не борьба с гипотетическими математическими пертурбациями пикселей.

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