Как заставить машину думать, что вы — Мила Йовович? Часть 2

Как заставить машину думать, что вы — Мила Йовович? Часть 2
© pixabay.com

Атака Белого ящика, основанная на итеративной оптимизации суррогатных целевых функций

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

Атака L-BFGS

Szegedy et al. (2014), данная атака определяется на основе соперничающих примеров, как входные данные, которые напоминают свои реальные аналоги. Ограничения памяти – L–BFGS это нелинейный алгоритм численной оптимизации, основанный на градиенте. Но, начиная с Szegedy et al. (2014) была обнаружена проблема оптимизации, которую можно решить посредством L-BFGS. Атака L-BFGS создана для того, чтобы обнаружить возмущение r, которое можно минимизировать.

L-BFGS атака может решить проблему оптимизации, где r является возмущением Szegedy et al. (2014).

L-GBFS атака находит и решает проблему оптимизации
L-GBFS атака находит и решает проблему оптимизации

В формуле, которую мы привели выше классификатор f неверно определил x+r, посчитав их за класс 1. Функция потерь, которая используется здесь – кросс-энтропийная потеря. Однако ее можно заменить другими суррогатными функциями, которые будут описаны в следующей атаке. Поиск строки применяется для того, чтобы обнаружить минимальное значение c, где c больше нуля до того, пока не будет обнаружен соперник.

Атака Карлини и Вагнера (C&W)

По сути – это расширение атаки L-BFGS, которое изменило целевую функцию вместо того, чтобы использовать стандартную кросс-энтропийную потерю.

Функция потерь используется в C&W атаке. F здесь это функция потери классификатора, но не сам классификатор. 3(x') – обозначение logit во время прохождения. Главная задача атаки – сделать так, чтобы нужные данные классифицировались неверно.
Функция потерь используется в C&W атаке. F здесь это функция потери классификатора, но не сам классификатор. 3(x') – обозначение logit во время прохождения. Главная задача атаки – сделать так, чтобы нужные данные классифицировались неверно.

Эта целевая функция может оптимизировать расстояния между целевым классом t и наиболее схожим классом. Если t будет иметь превосходящее значение logit, то их разница будет отрицательной и поэтому оптимизация остановится сразу после того как разница между logit и t станет меньше, чем k. Иначе говоря – k является гарантом желаемой уверенности для соперничающего примера. Но если t не обладает самым высоким logit, то благодаря минимизации f, она сможет сократить разрыв между максимальным классом logit. В другом случае будет уменьшено доверие к самому высокому классу, а целевой класс станет более предпочтительным. В таком случае цель оптимизации – минимизация:

Немного измененная цель оптимизации, в которой W является переменной, требующей оптимизации.
Немного измененная цель оптимизации, в которой W является переменной, требующей оптимизации.

Carlini & Wagner (2016) смог предложить три разные атаки для трех совершенно разных показателей сходства восприятия (L0, L2 и L ∞). В качестве более простого примера стоит рассматривать L2. Но можете проверить и то, как работают другие атаки и эта, перейдя по ссылке.

Сеть соперничающих преобразований (ATN)

Основная идея ATN (Baluja & Fischer, 2017) – применять другую нейронную сеть, которая сможет создавать соперничающие примеры, похожие на подлинные данные. Кроме того, она должна уметь создавать соперничающие возмущения, которые при добавлении в исходники будут создавать еще больше соперничающих примеров.

Цель атаки – минимизация потери сходства между созданными изображениями и оригиналом (к примеру, потеря L2). Также минимизируется потеря классификации между предположениями классификатора и фейковыми цепями.

Так выглядит AAE. Эта схема нужна для того, чтобы вы могли представить, как это происходит. Baluja & Fischer (2017) применяли метод потери L2 для обоих определений потерь в своей статьи.
Так выглядит AAE. Эта схема нужна для того, чтобы вы могли представить, как это происходит. Baluja & Fischer (2017) применяли метод потери L2 для обоих определений потерь в своей статьи.
А это P-ATN.
А это P-ATN.

Генерирующая нейронная сеть может только создавать соперничающие примеры, ну или возмущения, которые будут неверно классифицироваться в качестве определенного класса целевым классификатором. Поэтому нужно учить разные ATN для того, чтобы они создавали соперничающие примеры, ошибочно определяемые как разные классы. Baluja & Fischer (2017) предлагает функцию повторного сканирования, которая может изменять метку обучения для того, чтобы созданные примеры могли минимально изменять выходные данные целевого классификатора.

Пространственно преобразованная сеть (stAdv)

Эта атака имеет много общего с L-BFGS и C&W. Будем честны, stAdv и C&W имеют много схожего, но пространственно преобразованная сеть ставит перед собой задачу достичь перцептивного сходства при помощи оптимизации и геометрического сходства. Иначе говоря – заместо непосредственного изменения пикселей, происходит лишь их небольшое смещение. Подобный «трюк» можно выполнить, если получить поля потока, описывающие движение, которое выполняется для каждого пикселя.

stAdv может минимизировать данную функцию потерь, как значение перцептивного подобия, без минимизации L2. В этой формуле (u, v) относится к пространственному расположению всех пикселей так, как они относятся к соседним пикселям, окружающим p в пределах заданного радиуса. Роль соседнего пикселя здесь играет q. А f является полем потока, которое отмеряет объем пространственного преобразования.
stAdv может минимизировать данную функцию потерь, как значение перцептивного подобия, без минимизации L2. В этой формуле (u, v) относится к пространственному расположению всех пикселей так, как они относятся к соседним пикселям, окружающим p в пределах заданного радиуса. Роль соседнего пикселя здесь играет q. А f является полем потока, которое отмеряет объем пространственного преобразования.

Соперничающий пример, полученный подобным способом можно вычислить, воспользовавшись этой формулой:

Как можно рассчитать соперничающий пример, учитывая при этом постоянные обновления для каждого пикселя (Xiao & Zhu et al., 2018).
Как можно рассчитать соперничающий пример, учитывая при этом постоянные обновления для каждого пикселя (Xiao & Zhu et al., 2018).

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

Соперничающие изображение ошибочно определяются, как «двойка», ходя видно, что на картинке изображен нуль. (Xiao et al., 2018)
Соперничающие изображение ошибочно определяются, как «двойка», ходя видно, что на картинке изображен нуль. (Xiao et al., 2018)

Совсем скоро мы выложим еще больше новых материалов об Искусственном Интеллекте. Будьте готовы!