Введение

Действительно ли машинное обучение готово к реальному развертыванию?

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

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

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

История враждебных атак

Враждебные примеры — явление не новое. Новизна состязательных примеров заключалась в том, что они были обнаружены в контексте глубокого обучения. В 2013 году Кристиан Сугеди из Google AI пытался выяснить, как думают нейронные сети, но вместо этого он открыл новое явление, интересное свойство, означающее, что любой классификатор машинного обучения можно обмануть, чтобы он давал неверные прогнозы, и с небольшим умением вы можете заставить их давать практически любой результат, который вы хотите.

Что такое Состязательные атаки?

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

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

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

Физические атаки противника

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

Типы враждебных атак

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

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

Почему существуют состязательные примеры?

Первая гипотеза была введена в статье Сегеди, где он объяснил, что существование состязательных атак связано с наличием маловероятных карманов в многообразии (т.е. слишком большая нелинейность) и плохая регуляризация сетей.

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

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

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

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

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

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

Защита от враждебных атак

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

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

Существующие средства защиты:

  1. Противоположное обучение. Основная цель состязательного обучения — повысить надежность модели за счет добавления в обучающую выборку состязательных примеров. Однако состязательное обучение защищает модель только от тех же атак, которые использовались для создания примеров, изначально включенных в тренировочный пул. Но что, если у нас будет новая атака? злоумышленник определенно обманет модель, как если бы защиты не было. Мы могли бы продолжать переобучать модель, включая вновь и вновь подделанные состязательные примеры, но в какой-то момент мы вставили в обучающий набор так много поддельных данных, что граница, которую изучает модель, становится бесполезной.
  2. Градиентная маскировка. Защитник обучает модель с небольшими градиентами. Они предназначены для того, чтобы сделать модель устойчивой к небольшим изменениям во входном пространстве (то есть враждебным возмущениям). Причина, по которой маскирование градиента не работает в качестве защиты, заключается в свойстве переносимости враждебных примеров, даже если нам удастся скрыть градиенты модели — злоумышленник все равно может построить суррогат, атаковать его, а затем перенесите примеры.

Существующие методы обнаружения:

  1. Сжатие функций. Основная идея этой защиты заключается в том, что она снижает сложность представления данных, так что враждебные возмущения исчезают из-за низкой чувствительности. В основном за этим подходом стоят две эвристики: Уменьшение глубины цвета на уровне пикселей и Использование сглаживающего фильтра для изображений . Несмотря на то, что эти методы хорошо предотвращают одни атаки, сжатие функций плохо работает против других (FGSM, BIM).
  2. MagNet: он использует двусторонний подход: у него есть детектор, который помечает враждебные примеры, и реформатор, который преобразует враждебные примеры в безопасные. Однако MagNet уязвим для адаптивных состязательных атак.
  3. Локальная внутренняя размерность (LID): LID измеряет характеристики внутренней размерности модели. LID уязвим для примеров злоумышленников с высокой степенью достоверности.

💡 Открытие нового подхода к защите от состязательной атаки

В этом разделе мы познакомимся с новой парадигмой противодействия состязательным атакам с использованием Honeypots для перехвата состязательных атак в нейронных сетях.

История показывает, что может быть трудно, почти невозможно помешать противникам вычислить эффективные примеры противников. Недавно группа исследователей из SANDLAB, Shan et al. (CCS'20) предложила основанную на приманках защиту от враждебных примеров, называемую защитой с использованием лазейки.

💡 Ключевая интуиция идеи защиты:

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

Концепция была вдохновлена ​​​​и реализована с использованием методов отравления бэкдором.

💥 Бумажный вклад:

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

Защита Honeypot вводит возмущение бэкдора ∆, уникальное для конкретной метки y_t, в процессе обучения нейронной сети, так что для всех входных данных x классификатор последовательно и предсказуемо ошибочно классифицирует f(x + ∆).

f: X → Y представляет классификатор нейронной сети, который сопоставляет входное пространство X с набором классификационных меток Y

В результате этого бэкдора стандартные методы создания враждебных примеров будут создавать примеры x’, которые имеют аналогичные «характеристики» входных данных с бэкдором. Эти характеристики формализуются путем сравнения сходства (косинусного сходства) между входными данными и лазейкой в ​​пространстве признаков и, следовательно, создают аналогичные шаблоны активации. Если сходство выше порогового значения, модель пометит ввод как враждебный.

🧠 Архитектура модели:

  • (а) Во-первых, мы выбираем для защиты либо один ярлык, либо несколько ярлыков.
  • (b) Во-вторых, для каждой защищенной метки y мы вводим в модель отдельную лазейку для защиты от неправильной классификации y злоумышленниками.
  • (c) Для каждой встроенной лазейки мы вычисляем ее сигнатуру лазейки и обнаруживаем атаки злоумышленников, которые демонстрируют схожие шаблоны активации.

Вывод

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

Через несколько лет большая часть того, что мы называем ИИ, не будет считаться ИИ без непрерывного обучения и надежности!

💡 Всем приятного чтения!