Набор экспериментальных изображений с художественными стикерами на разных расстояниях и под разными углами: (а) 5 футов, 0 градусов; (b) 5' 15°; (с) 10' 0°; (d) 10' 30°; (e) 40' 0°. Обман работает на любом расстоянии и под любым углом: вместо знака «Стоп» система машинного обучения видит знак «Ограничение скорости 45 миль»
В то время как одни учёные совершенствуют системы машинного обучения, другие учёные совершенствуют методы обмана этих систем.
Как известно, небольшие целенаправленные изменения в картинке способны «сломать» систему машинного обучения, так что она распознает совершенно другое изображение. Такие «троянские» картинки называются «состязательными примерами» (adversarial examples) и представляют собой одно из известных ограничений глубинного обучения.
Для составления состязательного примера нужно максимизировать активацию, например, определённого фильтра свёрточной нейросети. Иван Евтимов из Вашингтонского университета вместе с коллегами из Калифорнийского университета в Беркли, Мичиганского университета и Университет штата Нью-Йорк в Стоуни-Брук разработали новый алгоритм атаки — надёжные физические пертурбации (Robust Physical Perturbations или RP2). Он очень эффективно сбивает зрение беспилотных автомобилей, роботов, мультикоптеров и любых других роботизированных систем, которые пытаются ориентироваться в окружающем пространстве.
В отличие от предыдущих исследований, здесь авторы сконцентрировались на изменении непосредственно самих объектов, а не фона. Задачей исследователей было найти минимально возможную дельту, которая бы сбивала классификатор системы машинного обучения, который обучался на наборе данных с изображениями дорожных знаков LISA. Авторы самостоятельно сделали ряд фотографий дорожных знаков на улице в разных условиях (расстояние, углы, освещение) и дополнили набор данных LISA для обучения.
После вычисления такой дельты была выявлена маска — такое место (или несколько мест) в изображении, которое наиболее надёжно вызывает пертурбации у системы машинного обучения (машинного зрения). Был проведён ряд экспериментов для проверки результатов. В основном, эксперименты проводились на стоп-сигнале (знак "STOP"), который исследователи несколькими безобидными манипуляциями превращали для машинного зрения в знак "SPEED LIMIT 45". Разработанную технику можно использовать на любых других знаках. Авторы затем испытали её на знаке поворота.
Научный коллектив разработал два варианта атаки на системы машинного зрения, которые распознают дорожные знаки. Первая атака — маленькие незаметные изменения по всей площади знака. С помощью оптимизатора Adam им удалось минимизировать маску для создания отдельных таргетированных состязательных примеров, нацеленных на конкретные дорожные знаки. В этом случае можно обманывать системы машинного обучения минимальными изменениями картинки, а люди вообще ничего не заметят. Эффективность этого типа атаки проверяли на напечатанных постерах с небольшими изменениями (сначала исследователи убедились, что система машинного зрения успешно распознаёт постеры без изменений).
Второй тип атаки — камуфляжная. Здесь система имитирует или акты вандализма, или художественные граффити, чтобы система не мешала жизни окружающих людей. Таким образом, человек-водитель за рулём сразу увидит знак поворота налево или стоп-сигнал, а робот увидит совершенно другой знак. Эффективность этого типа атаки проверяли на настоящих дорожных знаках, которые заклеивали стикерами. Камуфляж-граффити состоял из стикеров в форме слов LOVE и HATE, а камуфляж типа абстрактного искусства — из четырёх стикеров прямоугольной формы чёрного и белого цветов.
Результаты эксперимента показаны в таблице. Во всех случаях показана эффективность обмана классификатора машинного обучения, который распознаёт видоизмененный знак "STOP" в качестве знака "SPEED LIMIT 45". Расстояние указано в футах, угол поворота — в градусах. Во второй колонке показан второй класс, который видится системе машинного обучения в видоизменённом знаке. Например, с расстояния 5 футов (152,4 см) камуфляж типа абстрактного искусства под углом 0° выдаёт такие результаты распознавания знака "STOP": с уверенностью 64% он распознаётся как знак "SPEED LIMIT 45", а с уверенностью 11% — как знак «Конец полосы» (Lane Ends).
Легенда: SL45 = Speed Limit 45, STP = Stop, YLD = Yield, ADL = Added Lane, SA = Signal Ahead, LE = Lane Ends
Возможно, такая система (с соответствующими изменениями) понадобится человечеству в будущем, а сейчас её можно использовать для тестирования несовершенных систем машинного обучения и компьютерного зрения.
Научная работа опубликована 27 июля 2017 года на сайте препринтов arXiv.org (arXiv:1707.08945).
Комментарии (47)
RubyFOX
07.08.2017 15:42+2Как там у Пелевина?
Он учил повстанцов специальным молитвам, написав которые на песке можно было сбить беспилотники неверных…
evtomax
07.08.2017 16:34Вместо того, чтобы как-то оценивать знак целиком, нейронные сети лениво анализируют только кусочки знаков. И нейронные сети тут понять можно. Если обучение производилось без подобных помех, то зачем излишне напрягаться?
RubyFOX
07.08.2017 17:35+1А потом их выпустят в город, а тут оп-па, а знаки с граффити и наклейками оказывается…
tubecleaner
07.08.2017 18:32+4Кстати, все «важные» ( STOP, уступи дорогу, главная дорога ) знаки специально сделаны другой формы для лучшего узнавания. Их форма позволяет их считывать даже с тыльной стороны.
dmitryredkin
07.08.2017 23:25Поправка: не «важные», а «влияющие на поведение других участников движения».
alix_ginger
08.08.2017 10:19Поправка: не «влияющие на поведение других участников движения», а «знаки приоритета»
dmitryredkin
08.08.2017 11:42Поправка: Не все знаки приоритета, а только те, которые влияют на поведение других участников движения. :)
Anton131313
09.08.2017 08:18Все знаки приоритета влияют на движение других. Так что слился ты.
dmitryredkin
09.08.2017 10:572.3.x, 2.6, 2.7 — обычной формы, т.к. не могут влиять на поведение других участников движения.
Догадаетесь почему?Т.к. устанавливаются далеко от того места, на котором другой участник движения может их увидеть.
Hayate
07.08.2017 17:34+2А если знак скрутить совсем, то это будет атака на человеческий мозг. Какая разница, что сделал злоумышленник — поменял знак стоп на знак «главная дорога» или наклеил на него стикеры? И за то и за другое надо наказывать.
mx2
07.08.2017 18:46+2Погоду тоже наказывать, если знак занесет снегом, или птиц отстреливать, дабы не обгадили?
Arqwer
08.08.2017 00:32+1Тут специально изобретённые стикеры, которые не просто так в абы-какое место приклеены, а рассчитаны градиентным спуском. Нейросети очень хорошо справляются с задачей распознования знаков, просто дело в том, что градиентный спуск работает ещё лучше. Тут как раз атака, для нейросетей это как sql-иньекция — случайные помехи такой эффект создадут с очень низкой вероятностью, но вот намеренно такой «шум» рассчитать можно.
McBernar
07.08.2017 20:41Да просто в навигационные системы должны быть встроены все дорожные правила на конкретном участке дороги. Тогда знаки для робомобилей будут не нужны в принципе.
darkfrei
07.08.2017 21:16Каждый автомобиль смотрит знаки, свою позицию и отправляет в облако. Если всегда был знак один, а вдруг появился второй — сигнал в дорожную службу для уточнения. Ну и рекапча, вводить знак по фотографии.
old_bear
07.08.2017 22:12Тогда знаки для робомобилей будут не нужны в принципе.
А потом у вас сломается машина, вы остановитесь и выставите треугольник. Но его же нет в списке для этого участка дороги — поэтому быстрый и очень роботизированный большегруз переедет вас вполне законно.AllexIn
07.08.2017 22:55Какой еще треугольник?
Я остановлюсь — у всех робомобилей будет показано, что здесь один из робомобилей остановился. С неисправностью или по другой причине.TerraRist
08.08.2017 00:07+1Ваш автомобиль сломался, он не может послать информацию о том, что остановился. А неожиданное исчезновение сигнала можно интерпретировать по разному.
AllexIn
08.08.2017 07:46Как по разному? Инопланетяне похитили?
Да и в целом, роботу не нужно определять тип неизвестного оьбъекта. Появилось что-то на дороге — замедляемся и медленно и аккуратно объезжаем. Или вообще ждем команды от человека.sasha1024
08.08.2017 11:11По-разному — в разных местах. Может, он остановился через километр после того, как пропал сигнал, а может — и через 10 км. А может — автомобиль вручную (или с горочки) откатили назад, и он стоит даже раньше той точки, где пропал сигнал.
AllexIn
08.08.2017 11:17Ну и что? Задача знака аварийной останоки — показать что ехать нужно аккуратней. В том месте, где пропал сигнал — нужно ехать аккуратней. Знак не нужен роботу.
TerraRist
08.08.2017 20:44Например, выехал из зоны действия сети или сломался именно модуль связи.
Что значит «ехать аккуратнее» для самоуправляемого авто?
Простите, забыл про определение на дороге.
Igor_34_rus
08.08.2017 10:39+2А упавшие дерево или столб тоже должны выставлять треугольник?
Выбегающий ребёнок…
Препятствие на дороге — остановиться / объехать.AllexIn
08.08.2017 11:18Выбегающего ребенка на трассе быть не должно. Автомобиль не может отреагировать на внезапно появившегося ребенка.
Это я говорю как челоек, который будучи мелким идиотом специально бегал перед машинами.Igor_34_rus
08.08.2017 11:44Такую машину никто не выпустит на дорогу.
Это элементарное требование безопасности как для водителя так и для других участников движения.
extnike
08.08.2017 13:44С выбегающими на дорогу людьми проблема больше моральная, а не техническая. Автомобиль с пятью пассажирами при выбегании на дорогу глупого человека должен при пересечении тормозным путем траектории бегущего:
- Уехать в кювет и с высокой вероятностью убить пятерых;
- Выехать на встречку в пассажирский автобус;
- Сбить пешехода.
Ну и автомобили, которые не всегда могут отреагировать на выбегающего ребенка, ездят сейчас по дорогам повсеместно и без каких-либо ограничений. Количество ДТП с пешеходами тому в подтверждение.Igor_34_rus
08.08.2017 14:03Вы свалили всё в кучу. До моральной проблемы дело не дошло.
old_bear говорит, что
поэтому быстрый и очень роботизированный
Я говорю, что машина в любом случае заметит препятствие и дальше будет принимать решение. В котором, возможно, будет заранее готовый выбор морального вопроса.
DenisKoronchik
08.08.2017 13:26Полностью с вами согласен. Если все машины self driving, то тут уже другие алгоритмы работают, и знаки не нужны. Знаки нужны лишь в том случае, если за рулем на дороге есть хотя бы один водитель человек. Но в таком случае и self driving car могут работать по двум принципам:
1. «общаться» с машиной, на которой едет человек (чтобы где-то ее подтормозить или предупредить)
2. пытаться распознавать знаки
TerraRist
08.08.2017 20:13+1Карту могут обновить, пока у авто нет доступа к Сети. Например, поставили Stop на дороге до дачи, где нет никакой сети. Для таких случаев нужны знаки на месте даже для self-driving-only дорог.
DenisKoronchik
09.08.2017 18:50А нужен ли вообще интернет, если машины смогут например между собой общаться? Там то они по алгоритму смогут «договориться», как мне кажется.
mironoffe
10.08.2017 11:09На сколько мне известно, об установке знака выходит приказ сильно заранее его фактической установки и с указанной датой «активации» — снятия
мусорного пакетачерного полиэтилена. Но всегда есть вариант типа такого: машина простояла в тайге 30 лет, едет по болоту, утверждает что дорога тут. Возможный выход — запретить автопилотирование при продолжительном периоде отсутствия обновлений.
vlivyur
10.08.2017 13:07-1А зачем человекочитаемые знаки устанавливать? Поставили активную метку на дорогу, где всё что нужно (максимальная скорость, пути об'езда, место действия и пр.) описано.
SpiridonovAA
08.08.2017 00:01+1Мне не совсем понятно, почему не сосредотачиваются усилия на разработке биологически-правдоподобных кортикоморфных нейросетях. Они таких ошибок не совершали бы
Caseor
08.08.2017 11:28А как быть с этим:
Выяснилось, что птенец реагирует и не только на клюв, но и на картонный прямоугольник с круглым оранжевым пятном. И пытается получить у него еду как у обычной чайки. Звучит логично, особенно в условиях нехватки вычислительных ресурсов птенца, правда? «Появляется сверху», «длинный» — это важно. Но самая высокая ценность сигнала «оранжевый на белом» — и она по мере эволюции завышается.
Переобученные нейросети в дикой природе и у человека
Под самый конец внезапно нашёлся ультранормальный сигнал. Если птенцу показать прямоугольник с тремя оранжевыми полосами, он распознает его куда быстрее, точнее, и среагирует в разы активнее. То есть сильнее распознаётся другой образ, которого нет в природе.SpiridonovAA
08.08.2017 12:30я же написал «кортикоморфных нейросетях»
разве у чайки есть кортикальные колонки?
JTG
08.08.2017 12:48У Питера Уоттса в «Морских звездах» было нечто похожее:
— Надеюсь, пилот подъемника не слишком заскучал, — физиолог снова дружелюбен и болтлив.
— А там нет пилота. Только умный гель.
— Серьезно? Лучше бы ты мне этого не говорил, — хмурится Джарвис. — Страшноватые штуки эти гели. Ты знаешь, что один из них задушил кучу народа в Лондоне пару лет назад?
Кита уже хочет сказать, что знает, но у пассажира опять приступ болтливости:
— Нет, серьезно. Он там управлял системой подземки — никаких нареканий, идеальный работник, а потом однажды эта штука просто забыла запустить вентиляторы, когда было надо. Поезд заезжает на пятнадцать метров под землю, пассажиры выходят, воздуха нет, бум!
Джоэл уже слышал эту историю. Коронная фраза как-то связана со сломанными часами, если он все помнит точно.
— Эти штуки вроде как учатся на собственном опыте, правильно? — продолжает Джарвис. — Ну и все думали, что зельц научился запускать вентиляторы по какому-то очевидному признаку. Жару тела, движению, уровню углекислого газа, ну ты понимаешь. В результате выяснилось, что эта хрень просто смотрела за часами на стене. Прибытие поезда совпадало с предсказуемым набором паттернов на цифровом дисплее, поэтому она включала вертушки, когда видела один из них.
— Ага. Точно, — Джоэл качает головой. — А какие-то вандалы часы разбили. Или что-то вроде того.
nad_oby
08.08.2017 13:58Во первых это не нужно пока никому.
Во вторых есть нейроморфные чипы.
В третьих они глючили бы тоже, не нужно идеализировать биологические сенсоры. Для примера оптические иллюзии
alexws54tk
09.08.2017 13:28Прочитал подпись к КДПВ и завис на полчаса, сломав мозг.
Это как надо было обучать ЛИСУ, чтобы в знаке «СТОП» видеть «Ограничение скорости 45», тем более „американские“?
ЗнакиTachyon
10.08.2017 06:24С такими возможностями по сокрытию знаков с помощью небольших модификаций и развитием беспилотных авто скоро террористы будут просто цеплять наклейку на знак где нибудь на оживлённой трассе, и всё… Ни на пилотов учиться не надо, ни самолёты в здания потом «сажать», наклеил, ушел, и с пяток человек выпилил. Куда проще чем с ножиком по улице бегать всех встречных резать.
HappyUser
10.08.2017 19:58Как бы даже сейчас в навигаторах знаки есть. На основных (читай оживленных) улицах знаки в памяти автопилота/навигатора. Необходимость считывать может быть только в захолустье и то сомнительно, что службы отвечающие за знаки и имеющие общую базу данных по ним, могут не знать о каком то знаке (т.е. не выложат данные о знаке в общественный доступ).
AlexDodonov
10.08.2017 20:40Выходит сравнивать человеческий мозг с нейросетью — значит излишне упрощённо представлять мозг. Возможно там есть что-то похожее на нейросети, но там точно есть понимание сути явлений, помогающее разбираться с помехами.
ZlodeiBaal
Это атака на одну конкретно обученную модель. Для каждой модели всегда можно подобрать такие условия когда она не будет работать. Но, не имея на руках модели данной атаки провести нельзя.
Более того, конкретно приведённый пример атаки — очень сомнительный. Черные и белые прямоугольники многие используют в качестве аугментации базы данных.
BelerafonL
Как уже обсуждали в статье https://geektimes.ru/post/291737/ и https://arxiv.org/pdf/1602.02697v2.pdf, скорее всего атака подействует на многие модели, обученные на данном одном датасете — включая разные архитектуры сверточных сетей и даже линейные классификаторы. Так что для проведения атаки достаточно гипотезы, на основе каких данных могла обучаться модель.
ZlodeiBaal
Не совсем согласен. 90% качества обучения достигается хорошей моделью приращения датасета. Это повышает и стабильность и точность. Такие атаки как «наклейка пластыря» достаточно хорошо обходятся правильным обучением.
Если же датасет обучается по стандартным правилам — согласен, тут можно атаковать при знании датасета и этих правил.