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

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

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

Как это делается?

Открытие построения состязательных примеров было особенно интересным. Исследователи Google использовали набор данных CIFAR-10 для определенной цели классификации изображений. Они пытались превратить образ класса грузовика в образ класса самолета. Они делали это путем итеративного изменения значений пикселей изображения грузовика, чтобы оно напоминало самолет. Они изменили значения пикселей входного изображения (грузовика), используя обратное распространение, используя предварительно обученный классификатор изображений, чтобы неправильно классифицировать входное изображение как самолет. К концу этого упражнения они заметили, что классификатор классифицирует это изображение как самолет с довольно высокой степенью уверенности.

Предполагалось, что сеть должна преобразовать входное изображение, чтобы оно напоминало самолет, чтобы классификатор пометил его как единое целое. Выглядит довольно просто, не так ли?

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

Что делает эти примеры враждебными?

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

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

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

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

Интуиция

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

Это может произойти по нескольким причинам:

  1. У злоумышленника всегда есть преимущество. В этой игре с атакой и защитой, основанной на модели машинного обучения, защита делает первый ход. Люди придумывают новые средства защиты от противника и оснащают свои сети этой защитой. Но злоумышленнику наплевать на черный ящик! Для атакующего защита - это просто еще одна часть черного ящика, которую можно сломать с помощью более умной техники оптимизации или дополнительных вычислений. Более того, могут быть созданы атаки специально для того, чтобы сломать определенные защитные механизмы, но защита должна быть достаточно сильной, чтобы отражать все типы атак (их так много), чтобы быть действительно надежной.
  2. Атаковать намного проще: оптимизировать входное изображение намного проще, чем обучать нейронную сеть. Естественно предположить, что найти такой конкретный пример противоборства в таком большом пространстве (количество пикселей в изображении) будет сложно. Но с использованием обратного распространения эта задача довольно тривиальна. Это связано с тем, что выход сети по отношению к ее входу является линейным при использовании функции активации ReLU. Но… но… нейронные сети очень нелинейны, вот что делает их такими эффективными… бла-бла. Да, но нелинейность нейронных сетей по отношению к ее параметрам, а не по входам (опять же, для ReLU). Для входов нейронная сеть - это просто кусочно-линейная функция. Каждый пиксель умножается на число (вес), к нему добавляется число (смещение) и сохраняется максимальное значение пикселя и 0. Это происходит снова и снова. На самом деле это совершенно кусочно-линейный. Эта линейность позволяет легко оптимизировать линейное входное пространство (изображение) для создания противостоящих примеров. Более того, небольшие изменения, вызванные в каждом пикселе, не влияют на визуальное восприятие (таким образом, являются противоборствующими), но приводят к тому, что норма L-2 изображения резко изменяется, и сеть неправильно классифицирует его.
  3. Третья и одна из основных причин этого заключается в том, что чрезвычайно сложно построить теоретическую модель процесса атаки на нейронную сеть. Для решения любой проблемы очень важно иметь хорошую формулировку проблемы и теоретическую модель того, что вызывает проблему. Такая постановка задачи, как «сделать нейронные сети устойчивыми ко всем атакам противника», звучит привлекательно, но очень расплывчато. На данный момент у нас нет установленной модели атак. Они бывают самых разных видов и форм; Случайное формирование защитных стратегий от некоторых из этих атак - не лучший подход. Текущие средства защиты предлагают способ остановить одну конкретную атаку, но в том же процессе оставляют модель уязвимой для еще 10. Очень важно сначала построить теоретическую модель, которая охватывает все атаки противника, то есть с помощью которой можно объяснить все атаки. Эта модель должна быть сконцентрирована на процедуре атаки в целом, а не на конкретных формах атаки, чтобы она также была невосприимчивой к новым атакам, которые будут разработаны в будущем.

Заключительные замечания

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

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

Спасибо!

Ресурсы

  1. Https://www.youtube.com/watch?v=CIfsB_EYsVI
  2. Https://nicholas.carlini.com/writing/2019/all-adversarial-example-papers.html
  3. Http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier-than-defending-it.html
  4. Https://nicholas.carlini.com/writing/2018/adversarial-machine-learning-reading-list.html