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

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

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

Что такое состязательная атака?
Состязательная атака - это способ создания примеров, которые при передаче в модель машинного обучения не справляются с задачей, для которой она была обучена. Сегеди и др. Впервые пришли к идее состязательной атаки, где они обнаружили, что небольшое возмущение входного изображения приводит к совершенно иному результату. Рассмотрим следующий пример:

Здесь к входному изображению добавляется небольшое возмущение ε, обычно порядка 0,001. Возмущение настолько мало, что человеческий глаз не видит видимых изменений, но оказывает огромное влияние на то, как модель обрабатывает его. На изображении выше добавление небольшого возмущения заставляет модель предсказывать, что изображение будет «гиббоном», и это с довольно высокой степенью уверенности.
В литературе говорится, что возмущение может быть слишком маленьким, но его совокупный эффект достаточно хорош, чтобы модель изменила свое решение.

Есть много способов создать состязательные примеры. Одним из таких примеров, который мы собираемся использовать сегодня, является метод быстрого градиентного знака (FGSM), предложенный Гудфеллоу и др. В их работе Объяснение и использование противоборствующих примеров.

Как видно на изображении выше, FGSM добавляет возмущение ε в направлении градиента входного изображения по отношению к этикетке. Добавляя возмущение к входному изображению, мы следим за тем, чтобы изменение в каждом пикселе оставалось меньше ε (которое может составлять всего 0,001). После запуска алгоритма в течение значительного числа итераций мы получаем пример состязания, который представляет собой не что иное, как входное изображение, слегка искаженное.

Для более любопытных читателей этот блог OpenAI представляет интересное чтение: https://blog.openai.com/adversarial-example-research/

Состязательная атака на модель семантической сегментации:
Семантическая сегментация - это задача плотной маркировки изображений, при которой пикселям, принадлежащим одному классу, назначается одна метка.

Как видно на изображении выше, каждому пикселю присваивается метка класса. Всем пикселям, принадлежащим к одному классу, назначается одна и та же метка, например. человек (красный), тротуар (розовый) и т. д. Это изображение взято из популярного набора данных Cityscapes. В области семантической сегментации проделана большая работа. Некоторые из популярных работ включают Pyramid Scene Parsing Network (PSPNet), Deeplab V3 и т. Д.

Хотите узнать больше о семантической сегментации, прочтите эту статью: http://blog.qure.ai/notes/semantic-segmentation-deep-learning-review

Давайте создадим состязательный пример

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

Вышеупомянутый adversarial() поможет вам создать состязательные примеры против модели семантической сегментации. Здесь model() - это функция, запускающая PSPNet. (Обратите внимание, что мы можем заменить любую другую модель, например, мы можем использовать модель Deeplab V3, если захотим. Но убедитесь, что функция модели принимает изображение в качестве входных данных и создает 19-канальный выход, имеющий ту же высоту и ширину, что и у input.)
В приведенном выше фрагменте кода мы берем только градиенты по входному изображению, так как мы не хотим изменять веса модели. Наша цель - возмущать только входное изображение, не изменяя модель. Полный код для генерации состязательного примера можно найти здесь.

В конце, после выполнения кода примерно 80 итераций мне удалось получить следующий результат.

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

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

Надеюсь, вам понравится эта статья !!