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

Базовые знания

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

Прежде чем мы начнем объяснять, что такое состязательная атака и как работает внутренний механизм, угрожающий моделям глубокого обучения. Сначала нам нужно представить некоторые ключевые концепции обучения механической обработке, чтобы лучше понять тему. Прежде всего, нам нужно понять на высоком уровне, как работает обучение машинной обработке, в частности глубокое обучение. Машинное обучение - это научная практика, при которой компьютер учится на наборе обучающих данных без явного программирования и выполняет задачи с невидимыми данными тестирования. Это может быть далее разделено на обучение с учителем и обучение без учителя. Что касается темы, которую мы обсуждаем в этой статье, мы сосредоточимся только на обучении с учителем.
Обычный подход к обучению с учителем - это помеченные данные обучения (X, Y), включая функции X и Y, определяют модель f (X), которая учится на данных обучения и находит хорошее приближение от X к Y. Например, обнаружение спама в электронной почте (X: электронная почта, Y: {Спам, а не спам}), Распознавание цифр (X: входные пиксели, Y: {0 ~ 9}).

После обучения модель должна уметь делать прогнозы на основе невидимых тестовых данных. Функция обучающих данных X может быть вектором значений или даже сложными форматами, такими как изображение, звук или даже видео и т. Д. В зависимости от решаемой проблемы, для задачи регрессии функция Y будет непрерывными переменными с действительными значениями. А для задачи классификации Y будет категориальными / номинальными переменными.
Чтобы понять, как обработка учится на обучающих данных, нам нужно вкратце объяснить, что такое функция потерь. В общем, модели контролируемого обучения учатся на минимизации функции потерь. Функция потерь, также известная как функция стоимости, - это функция, которая измеряет, насколько далеко от прогноза Y ’вашей модели по сравнению с реальной меткой Y. Другими словами, это способ оценки производительности моделей.

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

Глубокое обучение - это подраздел алгоритмов машинного обучения, основанный на структуре человеческого мозга, который называется искусственными нейронными сетями. Глубокое обучение использует большие сети слоев и единиц для моделирования отношений между функциями (ввод: X). Начиная со входа, каждый блок подключается к следующему уровню через ссылку (z = WTX + b), которая состоит из смещения b и веса W. Каждый уровень имеет функцию активации g, где g (z) производит вывод, переходит в следующий слой. Последний слой, известный как выходной слой, произвел окончательное предсказание. Например, сеть CNN с глубоким обучением для классификации изображений обычно принимает значение RGB каждого пикселя в качестве входных векторов и функцию активации softmax в качестве выходного слоя, который создает вектор F (x) = (F1 (x), ..., Fm ( x)), где Fy - вероятность класса y, сумма вероятностей каждого класса в сумме равна 1.

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

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

Состязательные атаки могут быть целевыми или нецелевыми.

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

Тип угроз состязательной атаки

Существует четыре основных типа угроз, вызываемых атаками противника:

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

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

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

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

Как мы упоминали ранее, модель глубокого обучения изучает набор параметров, минимизируя функцию потерь L (x, y) и выводя вектор:

F (x) = (F1 (x), ..., Fm (x)), где Fy - вероятность класса y.

Модель относит x к классу y с наибольшей вероятностью.

C (x) = аргумент maxFy (x)

Предположим, мы изучили классификатор F и изображение x, где C (x) = y - настоящий класс. Чтобы создать целевой пример состязательности x ’, мы находим другой класс t, где t y, C (x’) = t, разница между x ’и x минимизирована.

Следуйте той же концепции, чтобы создать нецелевой пример, нам просто нужно найти x ’, где C (x’) y и разница r между x ’и x минимизирована. Поскольку мы знаем параметры модели, мы могли бы вычислить пример x ’, решив функцию потерь, минимизируя L (x’, t) и r.

Существует множество различных методов для создания целевых / нецелевых примеров, таких как L-BFGS, FGSM и т. Д. Эти алгоритмы в основном следуют концепции, которую мы объяснили выше, но с разными подходами. Мы не будем вдаваться в подробности, поскольку проверка математических формул выходит за рамки данной статьи.

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

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

Атаки в реальном мире

До сих пор мы обсуждали, как состязательные примеры моделей угроз при подаче данных изображения непосредственно в классификатор. Однако в реальном мире многие классификаторы используют камеры для сбора данных (например, распознавание лиц, автономное вождение). Как подавать примеры враждебности через камеру и будет ли это эффективно? Самый простой способ - взять чистое изображение x, использовать его для создания примеров противоборства и распечатать его на бумаге. И было доказано, что если мы подадим распечатанное изображение через камеру, оно все равно будет неправильно классифицировано. Другой подход - атаки с использованием стикеров. Например, злоумышленник может наклеить враждебные наклейки на знак «Стоп» и обмануть классификаторы, чтобы вывести неверный класс. Более того, они могут создать наклейку, имитирующую граффити, которые обычно можно увидеть на улице, чтобы люди не заметили.

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

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

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

Спасибо за чтение, и я с нетерпением жду ваших вопросов и мыслей. Если вы хотите узнать больше о Data Science и Cloud Computing, вы можете найти меня на Linkedin.