Следующая страница / исследование демонстрирует, что глубокие нейронные сети легко одурачить, предоставляя высоконадежные прогнозы для неузнаваемых изображений, например
Как это возможно? Можете ли вы объяснить в идеале на простом английском языке?
Следующая страница / исследование демонстрирует, что глубокие нейронные сети легко одурачить, предоставляя высоконадежные прогнозы для неузнаваемых изображений, например
Как это возможно? Можете ли вы объяснить в идеале на простом английском языке?
Ответы:
Во-первых, эти изображения (даже первые несколько) не являются полным мусором, несмотря на то, что они являются мусором для людей; они на самом деле точно настроены с помощью различных передовых методов, в том числе другой нейронной сети.
Глубокая нейронная сеть - это предварительно обученная сеть, созданная по образцу AlexNet от Caffe . Для развития изображений, как непосредственно закодированных, так и косвенно закодированных изображений, мы используем эволюционную структуру Sferes . Всю кодовую базу для проведения эволюционных экспериментов можно скачать здесь . Код для изображений, полученных при градиентном восхождении, доступен здесь .
Изображения, которые на самом деле являются случайным мусором, были правильно определены как ничего не значащие
В ответ на неузнаваемое изображение сети могли бы выдавать низкую достоверность для каждого из 1000 классов вместо чрезвычайно высокой достоверности для одного из классов. Фактически, они делают это только для случайно сгенерированных изображений (например, для поколения 0 эволюционного прогона)
Первоначальная цель исследователей состояла в том, чтобы использовать нейронные сети для автоматического создания изображений, которые выглядят как реальные вещи (получая обратную связь от распознавателя и пытаясь изменить изображение, чтобы получить более уверенный результат), но в итоге они создали вышеописанное искусство. , Обратите внимание, что даже на статичных изображениях есть небольшие пятна - обычно около центра - которые, справедливо сказать, вызывают распознавание.
Мы не пытались создавать состязательные, неузнаваемые изображения. Вместо этого мы пытались создать узнаваемые образы, но эти неузнаваемые образы появились.
Очевидно, что эти изображения имели именно те отличительные особенности, которые соответствовали тому, что ИИ искал на изображениях. Изображение «весло» имеет форму, похожую на весло, «бублик» круглый и правильного цвета, изображение «проектор» - это как объектив камеры, «компьютерная клавиатура» - это группа прямоугольников (например, отдельные ключи), и «забор из рабицы» по праву выглядит для меня как забор из рабицы.
Рисунок 8. Эволюция изображений в соответствии с классами DNN приводит к огромному разнообразию изображений. Показаны изображения, выбранные для демонстрации разнообразия из 5 эволюционных прогонов. Разнообразие предполагает, что изображения неслучайны, но вместо этого эволюции производят [sic] дискриминационные признаки каждого целевого класса.
Дальнейшее чтение: оригинал статьи (большой PDF)
99% !
что эти изображения, подобные шаблонам некоторых объектов, представляют истинные объекты? Если DNN не психически болен и не думает, что ему нужно пройти тест Роршаха в какой-нибудь больнице :-)
99%
уверенностью? Для меня - главное различие между DNN и человеческим признанием заключается в том, что люди не вынуждены что-то узнавать, в то время как NN, кажется, есть!
Предоставленные вами изображения могут быть неузнаваемы для нас. На самом деле это образы, которые мы узнаем, но развили, используя эволюционную систему Sferes .
В то время как эти изображения почти невозможно для людей маркировать чем-либо, кроме абстрактного искусства, Глубокая Нейронная Сеть маркирует их как знакомые объекты с уверенностью 99.99%.
Этот результат подчеркивает различия между тем, как DNN и люди распознают объекты. Изображения либо прямо (или косвенно) кодируются
По этому видео
Изменение изображения, изначально правильно классифицированного таким образом, что оно незаметно для человека, может привести к тому, что DNN классифицирует его как нечто другое.
На изображении ниже число внизу показывает, что изображения должны выглядеть как цифры. Но сеть считает, что изображения вверху (например, белый шум) - это реальные цифры с вероятностью 99,99%.
Основная причина, по которой их легко обмануть, заключается в том, что Deep Neural Network не видит мир так же, как человеческое зрение. Мы используем целое изображение, чтобы идентифицировать вещи, в то время как DNN зависит от особенностей. Пока DNN обнаруживает определенные функции, оно будет классифицировать изображение как знакомый объект, на котором оно было обучено. Исследователи предложили один из способов предотвращения такого обмана, добавив изображения обманывающих данных в набор данных в новом классе и обучив DNN для расширенного набора данных. В эксперименте показатель достоверности значительно снижается для ImageNet AlexNet. На этот раз нелегко обмануть переученного ДНН. Но когда исследователи применили такой метод к MNIST LeNet, эволюция все еще производит много неузнаваемых изображений с показателями достоверности 99,99%.
Все ответы здесь великолепны, но по какой-то причине до сих пор ничего не сказано о том, почему этот эффект не должен вас удивлять . Я заполню бланк.
Позвольте мне начать с одного требования, которое абсолютно необходимо для этого: атакующий должен знать архитектуру нейронной сети (количество слоев, размер каждого слоя и т. Д.). Более того, во всех случаях, которые я исследовал сам, злоумышленнику известен моментальный снимок модели, которая используется в производстве, то есть все веса. Другими словами, «исходный код» сети не является секретом.
Вы не можете обмануть нейронную сеть, если будете относиться к ней как к черному ящику. И вы не можете использовать один и тот же дурацкий образ для разных сетей. Фактически, вы должны «тренировать» целевую сеть самостоятельно, и здесь под тренировкой я подразумеваю бегать вперед и проходить назад, но специально для другой цели.
Теперь вот интуиция. Изображения имеют очень большой размер: даже пространство небольших цветных изображений 32x32 имеет 3 * 32 * 32 = 3072
размеры. Но набор обучающих данных является относительно небольшим и содержит реальные изображения, все из которых имеют некоторую структуру и хорошие статистические свойства (например, гладкость цвета). Таким образом, набор обучающих данных расположен на крошечном многообразии этого огромного пространства изображений.
Сверточные сети работают очень хорошо на этом многообразии, но в основном ничего не знают об остальном пространстве. Классификация точек вне многообразия - это просто линейная экстраполяция, основанная на точках внутри многообразия. Неудивительно, что некоторые конкретные пункты экстраполируются неправильно. Атакующему нужен только способ навигации к ближайшей из этих точек.
Позвольте мне привести конкретный пример, как обмануть нейронную сеть. Чтобы сделать его компактным, я собираюсь использовать очень простую сеть логистической регрессии с одной нелинейностью (сигмоидальной). Требуется 10-мерный вход x
, вычисляется одно число p=sigmoid(W.dot(x))
, которое является вероятностью класса 1 (по сравнению с классом 0).
Предположим, вы знаете, W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)
и начните с ввода x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1)
. Прямой проход дает sigmoid(W.dot(x))=0.0474
или вероятность 95%, что x
является примером класса 0.
Мы хотели бы найти другой пример, y
который очень близок, x
но классифицируется сетью как 1. Обратите внимание, что он x
является 10-мерным, поэтому у нас есть свобода подталкивать 10 значений, что очень много.
Поскольку W[0]=-1
отрицательно, лучше иметь маленькое, y[0]
чтобы сделать общий вклад y[0]*W[0]
маленьким. Следовательно, давайте сделаем y[0]=x[0]-0.5=1.5
. Кроме того, W[2]=1
положительный, так что лучше увеличить , y[2]
чтобы сделать y[2]*W[2]
больше: y[2]=x[2]+0.5=3.5
. И так далее.
Результат есть y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5)
и sigmoid(W.dot(y))=0.88
. С этим одним изменением мы улучшили вероятность класса 1 с 5% до 88%!
Если вы внимательно посмотрите на предыдущий пример, вы заметите, что я точно знал, как настроить x
, чтобы переместить его в целевой класс, потому что я знал сетевой градиент. То, что я сделал, на самом деле было обратным распространением , но в отношении данных, а не весов.
В общем, злоумышленник начинает с целевого распределения (0, 0, ..., 1, 0, ..., 0)
(ноль везде, кроме класса, которого он хочет достичь), обратно распространяет данные и делает небольшое движение в этом направлении. Состояние сети не обновляется.
Теперь должно быть ясно, что это общая черта сетей прямой связи, которые имеют дело с небольшим коллектором данных, независимо от его глубины или характера данных (изображения, аудио, видео или текст).
Самый простой способ предотвратить обман системы - использовать ансамбль нейронных сетей, то есть систему, которая объединяет голоса нескольких сетей по каждому запросу. Гораздо сложнее распространять информацию по нескольким сетям одновременно. Злоумышленник может попытаться сделать это последовательно, по одной сети за раз, но обновление для одной сети может легко испортить результаты, полученные для другой сети. Чем больше сетей используется, тем сложнее становится атака.
Другой возможностью является сглаживание ввода перед передачей его в сеть.
Не следует думать, что обратное распространение изображения имеет только негативные последствия. Очень похожая техника, называемая деконволюцией , используется для визуализации и лучшего понимания того, чему научились нейроны.
Этот метод позволяет синтезировать изображение, вызывающее срабатывание конкретного нейрона, в основном визуально видеть «то, что ищет нейрон», что в целом делает сверточные нейронные сети более интерпретируемыми.
Важный вопрос, который пока не имеет удовлетворительного ответа в исследованиях нейронных сетей, заключается в том, как DNN предлагают свои прогнозы. DNN эффективно работают (хотя и не совсем), сопоставляя патчи на изображениях с «словарем» патчей, по одному в каждом нейроне (см. Статью на YouTube ). Таким образом, он может не иметь высокого уровня просмотра изображения, поскольку он просматривает только участки, и изображения обычно уменьшаются до гораздо более низкого разрешения, чтобы получить результаты в современных системах генерации. Методы, которые смотрят на то, как компоненты изображения взаимодействуют, могут быть в состоянии избежать этих проблем.
Вот некоторые вопросы, которые следует задать для этой работы: Насколько уверенными были сети, когда они делали эти прогнозы? Какой объем занимают такие состязательные изображения в пространстве всех изображений?
Некоторая работа, о которой я знаю в этой области, поступает от Дхрува Батры и лаборатории Деви Парикха из Virginia Tech, которые занимаются этим для систем ответа на вопросы: анализ поведения визуальных моделей ответов на вопросы и интерпретация моделей визуальных ответов на вопросы .
Необходима дополнительная работа, и точно так же, как зрительная система человека одурачивается такими «оптическими иллюзиями», эти проблемы могут быть неизбежны, если мы используем DNN, хотя AFAIK ничего еще не известно ни теоретически, ни эмпирически.
Как это возможно, что глубокие нейронные сети так легко одурачить?
Глубокие нейронные сети легко одурачить, предоставляя высоконадежные прогнозы для неузнаваемых изображений. Как это возможно? Можете ли вы объяснить в идеале на простом английском языке?
Интуитивно понятно, что дополнительные скрытые слои должны позволять сети изучать более сложные функции классификации и, следовательно, лучше классифицировать работу. Хотя это можно назвать глубоким обучением, на самом деле это поверхностное понимание
Проверьте свои собственные знания: какое животное из приведенной ниже таблицы является кошкой Felis silvestris , не торопитесь и не обманывайте. Вот подсказка: какая домашняя домашняя кошка?
Для лучшего понимания: « Состязательная атака на уязвимые визуализации » и « Почему глубокие нейронные сети трудно тренировать? ».
Эта проблема аналогична псевдонимам , эффекту, который заставляет различные сигналы становиться неразличимыми (или псевдонимы друг друга) при выборке, и эффекту колеса сценического тренера, когда колесо со спицами, кажется, вращается не так, как его истинное вращение.
Нейронная сеть не знает, на что она смотрит и в каком направлении движется.
Глубокие нейронные сети не являются экспертами в чем-то, они обучены математически решать, что какая-то цель достигнута, если они не обучены отклонять неправильные ответы, у них нет представления о том, что не так; они знают только то, что правильно, а что нет - неправильно и «не правильно» не обязательно одно и то же, как и «правильно» и верно.
Нейронная сеть не знает, что правильно, а что нет.
Точно так же, как большинство людей не знали бы домашнего кота, если бы они видели одного, двух или более, или ни одного. Сколько домашних кошек в приведенной выше сетке, ни одного. Любые обвинения во включении рисунков милых котов безосновательны, это все опасные дикие животные.
Вот еще один пример. Делает ли Барт и Лиза умнее ответ на вопрос, знает ли человек, которого они спрашивают, неизвестные переменные, которые могут войти в игру?
Мы еще не там, но нейронные сети могут быстро дать ответ, который, вероятно, будет правильным, особенно если он был должным образом обучен, чтобы избежать всех ошибок.
Нейронные сети могут быть легко обмануты или взломаны путем добавления определенного структурированного шума в пространство изображения ( Szegedy 2013 , Nguyen 2014 ) из-за игнорирования недискриминационной информации в их входных данных.
Например:
Научиться обнаруживать ягуаров, сопоставляя уникальные пятна на их мехе, игнорируя тот факт, что у них четыре ноги. 2015
Таким образом, в большинстве случаев прогноз высокой достоверности существует в некоторых моделях благодаря « сочетанию их локально линейной природы и входного пространства большого размера ». 2015
Опубликованные в качестве документа для конференции на ICLR 2015 (работа Dai) предполагают, что перенос дискриминационно обученных параметров в генеративные модели, может быть большой областью для дальнейших улучшений.
Не могу прокомментировать (из-за этого требовалось 50 повторений), но я хотел сделать ответ Вишну JK и ОП. Я думаю, что вы, ребята, пропускаете тот факт, что нейронная сеть действительно действительно говорит с программной точки зрения, что «это больше всего похоже».
Например, хотя мы можем перечислить приведенные выше примеры изображений как «абстрактное искусство», они определенно больше всего похожи на те, которые перечислены. Помните, что у алгоритмов обучения есть область для того, что они распознают как объект, и если вы посмотрите на все приведенные выше примеры ... и подумаете о сфере действия алгоритма ... они имеют смысл (даже те, которые мы с первого взгляда узнаем как белый шум). В примере чисел Вишну, если вы расплываетесь в своих глазах и не сфокусируете изображения, вы в любом случае можете обнаружить шаблоны, которые действительно близко отражают рассматриваемые числа.
Проблема, которая показана здесь, состоит в том, что алгоритм, по-видимому, не имеет «неизвестного случая». В основном, когда распознавание паттерна говорит, что его нет в выходной области. (итоговая группа выходных узлов, которая говорит, что я ничего не знаю). Например, люди делают это также, потому что это единственное, что объединяет людей и алгоритмы обучения. Вот ссылка, чтобы показать, о чем я говорю (что определено ниже), используя только известных животных, которые существуют:
Теперь, как человек, ограниченный тем, что я знаю и могу сказать, я должен был бы заключить, что ниже слон. Но это не так. Алгоритмы обучения (по большей части) не имеют выражения «как», результат всегда проверяется до уровня достоверности. Таким образом, обмануть кого-то таким образом не удивительно ... что, конечно, удивительно, это то, что, основываясь на его наборе знаний, на самом деле доходит до того, что, если вы посмотрите на вышеупомянутые случаи, перечисленные ОП и Вишну, на человека. ... немного посмотрев ... вижу, как алгоритм обучения, вероятно, сделал ассоциацию.
Поэтому я бы не стал называть это неправильной меткой со стороны алгоритма или даже называть это случаем, когда его обманули ... скорее, случаем, когда его область действия была разработана неправильно.
Хороших ответов уже много, я просто добавлю к тем, что были раньше моих:
Изображения такого типа, на которые вы ссылаетесь, называются состязательными возмущениями (см. 1 , и они не ограничиваются изображениями; было показано, что они применимы и к тексту, см. Jia & Liang, EMNLP 2017. В тексте введение не относящееся к делу предложение, которое не противоречит пункту, заставило сеть прийти к совершенно иному ответу (см. Jia & Liang, EMNLP 2017 ).
Причина, по которой они работают, заключается в том, что нейронная сеть просматривает изображения не так, как мы, в сочетании с высокой размерностью проблемного пространства. Там, где мы видим всю картину, они видят комбинацию функций, которые объединяются, чтобы сформировать объект ( Moosavi-Dezfooli et al., CVPR 2017 ). Согласно возмущениям, создаваемым для одной сети, вероятность того, что они будут работать в других сетях, высока:
На рисунке выше видно, что универсальные возмущения, рассчитанные для сети VGG-19, например, имеют коэффициент обмана выше 53% для всех других протестированных архитектур.
Итак, как вы справляетесь с угрозой состязаний? Ну, во-первых, вы можете попытаться создать как можно больше возмущений и использовать их для точной настройки вашей модели. Хотя это несколько решает проблему, это не решает проблему полностью. В ( Moosavi-Dezfooli et al., CVPR 2017 ) автор сообщил, что повторение процесса путем вычисления новых возмущений и последующей точной настройки, по-видимому , не приведет к дальнейшим улучшениям, независимо от количества итераций, при этом коэффициент дурачения колеблется вокруг 80%.
Возмущения являются признаком поверхностного сопоставления паттернов, которое выполняют нейронные сети, в сочетании с их минимальным отсутствием глубокого понимания рассматриваемой проблемы. Больше работы еще предстоит сделать.
Большинство других ответов интересны, а некоторые показывают некоторую строгость, поэтому я не буду дублировать этот подход, но я приведу качественный ответ, который больше относится к состоянию исследований, чем к точной оценке нехватки средств защиты в текущие проекты искусственных сетей.
Если кто-то спросит: «Как так легко обмануть людей?» Я улыбнулся в согласии и сказал: «Полагаю, мы не такие глубокие».
Это моя оценка состояния искусственных сетей тоже. Тем не менее, может появиться больше инноваций и открытий, и вопрос безопасности при обучении, развертывании и использовании компонентов искусственного интеллекта обязательно будет решен, когда успешные атаки потребуют от корпораций доверия и доброй воли.
Продажа плохо защищенных технологий не новость. Никто, находящийся здесь, в лаборатории, не разместит в облаке какую-либо научную теорию, данные или процедуру, если только мы не получили лицензию на это с открытым исходным кодом или творческим достоянием.