Введение

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

Интригующие свойства нейронных сетей

Этот документ был представлен в 2013 г. и отредактирован в 2014 г., и на момент написания этого поста его цитировали более 8000 раз. Это очень интересная статья, целью которой является предоставление доказательств того, что нейронные сети действуют таким образом, что это противоречит представлениям об обобщении, бросая вызов прежним предположениям людей о неинтерпретируемых нейронных сетях. Таким образом, состязательные атаки действительно существуют в нейронных сетях, что ставит под сомнение предположение о том, что классификаторы надежны, а семантическая информация содержится в пространстве функций активации, а не в пространстве отдельных единиц, как предполагалось ранее.

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

Давайте используем изображение выше в качестве примера. Левое изображение правильно классифицируется нейронной сетью (AlexNet) как грузовик. Добавляя определенные изменения к изображению (используя формулу L-BFGS, которая будет обсуждаться позже в посте), представленному средним изображением, левое изображение становится правым изображением, которое для наших глаз выглядит так же, но помечено классификатором как «страус». ». Представьте, что если у нас есть беспилотный автомобиль, который можно обмануть, тогда ошибочная классификация знака «стоп» как знака ограничения скорости становится серьезным вопросом, и пока это так, мы не хотим, чтобы они были на наших улицах.

L-БФГС

Такой образ называется состязательным примером. В случае с изображением выше оно генерируется с использованием алгоритма Бройдена-Флетчера-Голдфарба-Шанно с ограниченной памятью или алгоритма L-BFGS, который аппроксимирует задачу оптимизации с ограничениями на блоки ниже:

Этот алгоритм белого ящика и все еще медленный, но его достаточно, чтобы показать, как можно обмануть нейронные сети. Даже автору удается найти среднее значение минимального искажения r, которое может иметь коэффициент обмана 100% в MNIST для нескольких сетевых архитектур.

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

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

Еще больше беспокоит то, что состязательные примеры могут быть перенесены в другие модели даже без дублирования обучения. Из таблицы 2 в статье (которую можно рассматривать как матрицу путаницы) мы видим, что состязательные примеры могут переноситься на другие модели (диагональ представляет ту же модель, следовательно, 100%). При движении слева направо модели усложняются, то же самое и до нижнего ряда. Здесь мы также видим, что сложность модели влияет на скорость передачи состязательных примеров, где менее сложные модели имеют более низкую скорость передачи в более сложные модели и наоборот. В таблице 2 эксперимент проводится с использованием того же подмножества MNIST. Затем авторы приступают к экспериментам с различными подмножествами MNIST, результаты которых приведены в таблицах 3–4 статьи. Результаты в таблице 3 показывают, что состязательные примеры также могут переноситься в другие модели без перекрытия обучающих наборов данных, но с более низкой скоростью передачи. Когда соотношение состязательных выборок увеличивается, скорость обмана увеличивается, как показано в таблице 4.

Инспекция на уровне блока

Эти атаки возможны из-за того, что семантическая информация, используемая для прогнозирования, распространяется между модулями, а не отдельными модулями (предыдущее предположение). Авторы доказывают это, собирая изображение, которое нравится каждому юниту, используя естественный базис и случайный базис (сочетание юнитов). Мы видим, что как левое изображение (отдельные единицы), так и правое изображение (случайное направление, комбинация единиц) давали одинаково интерпретируемые семантические свойства. Семантическая информация, вероятно, распределяется между единицами, поскольку отдельные единицы не являются полными в представлении данных. Поскольку нейронная сеть не является локально стабильной (автор доказал это с помощью константы Липшица), сеть может ошибаться в классификации при небольших возмущениях.

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

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

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

Как малое возмущение влияет на линейную модель? Рассмотрим линейную модель y = wx, пусть η — возмущение, m — средняя величина w, ε — случайное очень малое значение, а n — размер измерения x.

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

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

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

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

Интригующие свойства переносимости состязательных примеров в глубокой нейронной сети:

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

Но почему? Гипотезу выдвинули Сегеди, Гудфеллоу и др. [2]. Из-за свойства линейности и обобщения глубокой нейронной сети модель имеет тенденцию изучать одни и те же «веса» при обучении даже на разных обучающих наборах. Эта согласованность способствует стабильности состязательных примеров.

Метод быстрого знака градиента

Используя вышеприведенные знания, авторы представили новый метод создания состязательных примеров, который называется методом быстрого градиентного знака или FGSM. Идея проста: мы вычисляем градиент функции потерь по x, то есть мы ищем направление, в котором функция потерь чувствительна к изменениям на входе пикселей. Затем умножаем на ε.

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

Как вы можете видеть выше, функция потерь для состязательного обучения состоит из двух частей: функции потерь для нормальных изображений и искаженных изображений. Это состязательное обучение позволило снизить частоту ошибок сгенерированных состязательных примеров в наборе данных MNIST с 89,4% до 17,9%.

DeepSafe: основанный на данных подход к проверке устойчивости к состязаниям в нейронных сетях

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

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

Кластеризация на основе данных

Расширение алгоритма k-средних, используемого для кластеризации обучающих входных данных. Мы используем как сходство точек данных (мера сходства зависит от предметной области, может быть нормой L1 или L2 в зависимости от набора данных), и их метки для выполнения кластеризации. Затем этот алгоритм выводит набор плотных кластеров во входном пространстве, которые находятся близко друг к другу и, как известно, имеют одну и ту же метку. Такие кластеры считаются безопасными регионами, в которых все входные данные должны быть последовательно помечены. Основная гипотеза состоит в том, что для данного кластера C с центром тяжести cen и радиусом r любой вход x в пределах расстояние rот cen должно иметь ту же истинную метку l, что и у кластера.

Кластерный анализ

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

Кластерная проверка

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

Маркировка должна по-прежнему соответствовать хотя бы одному типу атаки. Мы будем рассматривать только безопасные регионы, прошедшие этот процесс проверки. Если регион/кластер защищен от атак, генерируемых инструментом Reluplex, он будет считаться полностью безопасным. С другой стороны, если он защищен хотя бы от одного типа сгенерированных атак, кластер/регион будет считаться целевым безопасным. Тогда другие кластеры будут считаться ненадежными.

Эксперимент

Предварительные эксперименты с использованием набора данных ACAS Xu и MNIST подчеркивают потенциал DeepSafe в обеспечении формальных гарантий целевой надежности нейронных сетей. DeepSafe успешно идентифицировал 80 кластеров для MNIST, из которых 7 полностью безопасных и 63 целевых безопасных региона, и 210 кластеров для ACAS Xu, из которых 125 полностью безопасных регионов и 52 целевых безопасных региона. Использование DeepSafe является масштабируемым, поскольку при ограничении небольшой подобластью входного пространства эти функции могут иметь чисто линейное поведение. Кроме того, он применим к широкому спектру сетей с различной топологией и архитектурой, поскольку зависит только от распределения данных.

Построение неограниченных состязательных примеров с помощью генеративных моделей

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

Неограниченные состязательные примеры

Основная идея состоит в том, чтобы использовать AC-GAN в качестве генеративной модели для создания убедительных изображений, способных обмануть классификатор изображений.

Дан генератор g, дискриминатор c и целевая модель f. Найдите скрытый вектор z, минимизирующий L.

L0 был разработан, чтобы побудить модель генерировать изображение, принадлежащее исходному классу y, который ошибочно классифицируется f как цель y. L1 предназначен для обеспечения разнообразия изображений, генерируемых из любого случайного z. Наконец, L2 поощряет дискриминатор не быть обманутым генератором, поэтому любое изображение, сгенерированное из g, будет убедительным. Для многоклассового классификатора мы могли бы генерировать целевые или нецелевые состязательные примеры, единственная разница будет в L0, т.е. y-цель может быть любым классом, кроме y-источника. Также необязательно добавлять небольшой шум или возмущение после генерации изображений, но это не сильно влияет на эффективность.

Как это выглядит по сравнению с состязательным примером, основанным на возмущении?

На рисунке выше показано визуальное сравнение ограниченных состязательных примеров (вверху) и неограниченных состязательных примеров (внизу). Оба образца имеют одинаковый уровень успешных атак 86% по сравнению с набором данных MNIST. Статистически говоря, аннотаторы изображений могли правильно сказать, что состязательные примеры с ограниченным доступом действительно были искусственно сгенерированными изображениями на 92,9%, в то время как для неограниченных только 76,8%. Это означает, что неограниченные состязательные примеры визуально более убедительны и похожи на фактическое распределение набора данных.

Примеры неограниченных состязательных действий против механизма защиты устойчивости модели

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

В приведенной выше таблице показан уровень успеха неограниченной состязательной атаки на два сертифицированных классификатора на основе защиты с использованием 10 различных наборов данных. Предполагается, что первый и второй классификаторы способны обеспечить вероятность успеха любой ограниченной атаки с ε = 0,1 всегда ниже 35% и 5,8%. Однако неограниченная атака смогла достичь 86,6% и 88,8% соответственно.

В приведенной выше таблице показан уровень успеха неограниченной атаки со стороны злоумышленников на трех моделях, каждая из которых обучена на разных наборах данных. Эти три модели, обученные со стороны противника, смогли снизить вероятность успеха атаки, ограниченной PGD, до 10,4%, 59,9% и 20,5%. И снова неограниченная атака может привести к успеху выше 84% для всех этих наборов данных.

Ключевые выводы

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

Использованная литература:

Интригующие свойства нейронных сетей

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

DeepSafe: управляемый данными подход к проверке устойчивости к состязаниям в нейронных сетях

Построение неограниченных состязательных примеров с помощью генеративных моделей