Перейти к содержанию

8.3 Иллюзии нейросетей

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

Что если мир — иллюзия и ничего нет? Тогда я определённо переплатил за ковёр.

Вуди Аллен. Без перьев[1]

Не исключено, что серьёзной проблемой в некоторых областях применения нейросетевых моделей может быть возможность осуществления «состязательных атак» [adversarial attacks], позволяющих вынудить модель выдать неверный ответ. То, что модели машинного зрения могут ошибаться, не являлось ни для кого секретом. Также большой неожиданностью не стал тот факт, что изображение можно модифицировать таким образом, чтобы спровоцировать у нейросетевой модели своеобразную оптическую иллюзию. Например, на изображении кошки, приведённом ниже, обученная сеть Inception V3 видит гуакамоле (блюдо мексиканской кухни)[2], [3], [4].

Рис. 179. Пример неверной классификации сетью Inception V3 изображения кошки

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

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

Рис. 180. Пример верной классификации сетью Inception V3 немного повёрнутого изображения кошки

Ранее предполагалось, что для успешной атаки на систему машинного зрения необходимо предъявить ей модифицированный стимул в неискажённом виде, что в реальном мире представлялось затруднительным — параметры освещения, наклона картинки, расстояния до неё почти невозможно повторить без изменений. Однако в 2017 г. авторы работы «Синтез робастных состязательных примеров» (Synthesizing Robust Adversarial Examples)[5] (под «робастностью» подразумевается устойчивость модели к помехам) смогли продемонстрировать возможность атаки, устойчивой к подобным искажениям. При помощи 3D-принтера они изготовили пластмассовую черепашку, на панцирь которой был нанесён специальный узор, который заставлял нейросеть Inception V3 опознавать её как винтовку.

Рис. 181. Пример неверной классификации сетью Inception V3 изображения созданной исследователями пластмассовой черепахи

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

Рис. 182. Другие примеры неверной классификации сетью Inception V3 изображения созданного исследователями пластмассового бейсбольного мяча

Если черепаху можно выдать за винтовку, то, вероятно, и винтовку можно выдать за черепаху. Значит ли это, что охранные системы на основе свёрточных нейронных сетей уязвимы? Представьте себе поведение автомобильного автопилота, если хулиганы нанесли на дорогу изображение, заставляющее автопилот считать, что на проезжую часть перед автомобилем вышел слон? Из-за важности этой проблемы в последние годы исследователи уделяют ей немалое внимание. В результате было изобретено несколько её интересных решений (некоторые из них другим исследователям со временем удалось опровергнуть). В целом задача исследователей в этой области заключается в том, чтобы создать алгоритмы, делающие стоимость атаки на систему машинного зрения неприемлемой для потенциального атакующего. К оптическим иллюзиям склонны и люди, и различные системы камуфляжа являются не чем иным, как попытками увеличить вероятность ошибки людей, старающихся различить камуфлированные объекты. Впрочем, иллюзии, испытываемые свёрточными нейронными сетями, часто совсем непохожи на ошибки человеческого зрения.

Например, изображения, приведённые ниже, демонстрируют, что перестановка глаза и рта на фотографии Ким Кардашьян приводит к повышению уверенности сети в том, что на фотографии изображён человек, в то время как переворот фотографии на 180 градусов, напротив, снижает степень уверенности модели[6].

Рис. 183. Пример классификации сетью обычных и искажённых фотографий Ким Кардашьян

По мнению Джеффри Хинтона и его коллег[7], проблема заключается в том, что в данной свёрточной сети используются слои пулинга, которые теряют информацию о пространственном расположении признаков относительно друг друга. Пример же с переворотом изображения свидетельствует о недостаточной устойчивости свёрточных сетей к аффинным преобразованиям (т. е. к таким, которые являются взаимно однозначными и любую прямую переводят в прямую) входных данных. Последнюю проблему традиционно решают при помощи аугментации обучающих выборок (в них добавляют исходные изображения, подвергнутые различным аффинным трансформациям — сдвигам, поворотам и масштабированию и т. д.), однако Хинтон предлагает собственное решение проблемы — новый класс нейросетевых архитектур под названием «капсульные сети» [capsule networks]. Капсульные сети, по мнению Хинтона, куда более соответствуют своим биологическим прототипам — колонкам коры полушарий головного мозга. Пока что капсульные сети ещё не завоевали себе достойного места в мире нейросетевых моделей (главным образом в силу их большей вычислительной стоимости), однако, повторимся, никто не исключает, что на смену популярным в наши дни нейросетевым архитектурам придут новые, возможно радикально отличающиеся от популярных в наши дни.

В последние годы в области компьютерного зрения свёрточные сети испытывают сильную конкуренцию со стороны трансформеров и даже таких причудливых, на первый взгляд, моделей, как MLP-Mixer[8], её более «зелёной» версии HyperMixer, позволяющей снизить вычислительные затраты при достижении сопоставимых результатов, и gMLP[9], построенных из специальным образом соединённых полносвязных блоков.

Ещё одна возможная альтернатива свёрточным сетям — так называемые инволюционные нейронные сети (Involutional Neural Networks). В их основе лежит модифицированная операция свёртки, в которой ядро больше не является неизменным в пределах слоя. Вместо этого коэффициенты ядра являются функцией от входного значения из предыдущего слоя, приходящегося на центр области свёртки. Фактически инволюционная сеть в процессе обучения сама определяет, насколько важна взаимная локализация более «низкоуровневых» признаков для того, чтобы сделать вывод о наличии более «высокоуровневого» признака. В некоторой степени это объединяет идеи, лежащие в основе свёрточной сети и механизма внимания. Первые эксперименты с инволюционными сетями показывают весьма обнадёживающие результаты[10].

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

  1. * Пер. А. Ливерганта.
  2. Athalye A., Engstrom L., Ilyas A., Kwok K. (2017). Fooling Neural Networks in the Physical World with 3D Adversarial Objects // https://www.labsix.org/physical-objects-that-fool-neural-nets/
  3. Athalye А., Carlini N., Wagner D. (2018). Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples // https://arxiv.org/abs/1802.00420
  4. Athalye A., Carlini N., Haddad D., Patel S. (2018). Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples // https://github.com/anishathalye/obfuscated-gradients
  5. Athalye A., Engstrom L., Ilyas A., Kwok K. (2017). Synthesizing Robust Adversarial Examples // https://arxiv.org/abs/1707.07397
  6. Bourdakos N. (2017). Capsule Networks Are Shaking up AI — Here’s How to Use Them / Hackernoon, November 9th 2017 // https://hackernoon.com/capsule-networks-are-shaking-up-ai-heres-how-to-use-them-c233a0971952
  7. Sabour S., Frosst N., Hinton G. E. (2017). Dynamic Routing Between Capsules // https://arxiv.org/abs/1710.09829
  8. Tolstikhin I., Houlsby N., Kolesnikov A., Beyer L., Zhai X., Unterthiner T., Yung J., Steiner A., Keysers D., Uszkoreit J., Lucic M., Dosovitskiy A. (2021). MLP-Mixer: An all-MLP Architecture for Vision // https://arxiv.org/abs/2105.01601
  9. Liu H., Dai Z., So D. R., Le Q. V. (2021). Pay Attention to MLPs // https://arxiv.org/abs/2105.08050
  10. Li D., Hu J., Wang C., Li X., She Q., Zhu L., Zhang T., Chen Q. (2021). Involution: Inverting the Inherence of Convolution for Visual Recognition // https://arxiv.org/abs/2103.06255
Loading comments...