Состязательные атаки: почему нейросеть легко обмануть?

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

Пара ошибок в коде превращаются панду в гиббона.

ЧТо такое состязательная атака

Adversarial attack (состязательная атака) — это способ обмануть нейросеть, чтобы она выдала некорректный результат. Их в основном используют в научных исследованиях, чтобы проверять устойчивость моделей к нестандартным данным. Но в реальной жизни в пример можно привести изменение нескольких пикселей в изображении панды так, что нейросеть будет уверена, что на изображении — гиббон. Хотя ученые всего-навсего добавляют изображению «шума».

Состязательная атака: как обмануть нейросеть?

Новая работа Массачусетского технологического института указывает на возможный путь преодоления этой проблемы. Решив ее, мы могли бы создать гораздо более надежные модели глубокого обучения, которыми было бы намного сложнее манипулировать злонамеренными способами. Но давайте сперва рассмотрим основы состязательных образцов.

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

Но модели глубокого обучения также очень хрупкие. Поскольку система распознавания изображений опирается только на пиксельные паттерны, а не на более концептуальное понимание того, что она видит, ее легко обмануть, заставить ее увидеть что-то совершенно другое — просто определенным образом нарушив паттерны. Классический пример: добавьте немного шума на изображение панды, и система классифицирует ее как гиббона с почти 100-процентной уверенностью. Этот шум и будет состязательной атакой.

Достаточно небольших помех и данные меняются

В течение нескольких лет ученые наблюдали это явление, особенно в системах компьютерного зрения, не зная толком, как избавиться от таких уязвимостей. Фактически, работа, представленная на прошлой неделе на крупной конференции, посвященной исследованиям искусственного интеллекта — ICLR — ставит под вопрос неизбежность состязательных атак. Может показаться, что вне зависимости от того, сколько изображений панд вы скормите классификатору изображений, всегда будет своего рода возмущение, с помощью которого вы сломаете систему.

ЧТо нужно для понимания ИИ

Но новая работа  MIT демонстрирует, что мы неправильно размышляли о состязательных атаках. Вместо того, чтобы придумывать способы собирать больше качественных данных, которыми кормится система, нам нужно фундаментально пересмотреть наш подход к ее обучению.

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

Ученые продемонстрировали это экспериментом: они создали набор данных с изображениями собак, которые все были изменены таким образом, что стандартный классификатор изображений ошибочно идентифицировал их как кошек. Затем они пометили эти изображения «котами» и использовали их для обучения новой нейронной сети с нуля. После обучения они показали нейросети реальные изображения кошек, и она правильно идентифицировала их всех как кошек.

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

Это говорит нам, что если мы хотим устранить риск состязательной атаки, нам необходимо изменить способ обучения наших моделей. В настоящее время мы позволяем нейронной сети выбирать те корреляции, которые она хочет использовать для идентификации объектов на изображении. Как результат, мы не можем контролировать корреляции, которые она находит, вне зависимости от того, реальные они или вводящие в заблуждение. Если же, вместо этого, мы бы обучили свои модели помнить только реальные шаблоны — которые завязаны на смысловых пикселях — в теории было бы возможно производить системы глубокого обучения, которые нельзя было бы сбить с толку.

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

Опасность состязательных примеров

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

Хакеры могут сломать все, даже если это модель ИИ

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

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

Иногда такие образцы (паттерны) могут быть еще более тонкими и неявными. Например, любая камера имеет свой уникальный цифровой отпечаток. Этот отпечаток может возникать из-за особенностей оптики, аппаратного и программного обеспечения, используемых для захвата визуальных данных и просто уровня естественного износа. Хотя человеческий глаз может не замечать такой отпечаток, он всё равно будет замечен системой ИИ при статистическом анализе пикселей изображения. В результате, если все снимки условных котов были сделаны одной и той же камерой, модель машинного обучения может научиться обнаруживать именно снимки, сделанные этой камерой, независимо от того, что на них изображено.

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

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

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

В беспилотных автомобилях тоже есть ИИ и его поломка неправильными данными чревата большими жертвами.

Например, если злоумышленник получит доступ к датасету, на котором тренируется модель, он может добавить несколько испорченных примеров, которые могут быть незаметны в нем с тысячами или миллионами изображений. В результате обучения модель проассоциирует триггер с определенной категорией (признаком). Чтобы активировать этот «триггер», злоумышленнику нужно предоставить изображение, на котором триггер находится в нужном месте. Таким образом, злоумышленник может создать бэкдор, который использует в тот момент, когда ему это понадобится.

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

Но это случаи прямого злого умысла, а есть еще может быть простая порча данным с целью диверсии. Отравление данных сами по себе приводят к снижению точности атакованной модели при выполнении её основной задачи. В этом и есть опасность подобных действий.

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

Но тогда нейросеть нельзя будет «обмануть». Хорошо это или плохо? Расскажите в нашем чате в Телеграме.