Как обмануть беспилотные автомобили
Сейчас активно обсуждают беспилотные автомобили — насколько они лучше или хуже обычных, как они изменят будущее и, конечно, насколько они безопасны. Некоторые подходят к этому со стороны проблемы вагонетки: мол, кто знает, как поведёт себя машина в критической ситуации, когда жертв не избежать? Но есть ещё один интересный аспект, который касается безопасности беспилотников: что, если машину можно сознательно обмануть? Чем это будет грозить на дороге? Сейчас объясню подробнее.
Сообщество автомобильных инженеров (SAE) выделяет
6 уровней автоматизации автомобилей:
0-й уровень: отсутствие автоматизации
1-й уровень: необходимо участие водителя
2-й уровень: частичная автоматизация вождения
3-уровень: автомобиль справляется с задачей самостоятельно, но может запросить участия водителя
4-уровень: высокая степень автоматизации
5 уровень: полная автоматизация
Таким образом, сказанное дальше будет касаться не всех беспилотных автомобилей, а только тех, что попадают в пятую категорию. Так вот, полностью автономные машины ориентируются в пространстве за счёт камер и нейронных сетей. Если объяснять на профанном уровне, выглядит это примерно так: камера снимает картинки, а сети их классифицируют: это вот дорожный знак, это — грузовик, это — внезапно! — олень и так далее. Четыре года назад спецы из Гугла, Фейсбука и Нью-Йоркского университета
показали, что нейросети можно намеренно обмануть. Можно таким образом обработать картинки, что мы не заметим никаких перемен, а ИИ будет неверно их классифицировать. Такие изображения-обманки называются "adversarial examples" (это можно перевести как «состязательные примеры», но устоявшегося русского термина, вероятно, нет). Лучше всего объяснить на примере:
Нам кажется, что здесь и слева, и справа изображена панда, но сеть GoogLeNet принимает правую картинку за гиббона и совершенно в этом уверена.
Adversarial examples оказались весьма неприятной проблемой. Во-первых, выяснилось, что они не теряют своих обманных свойств и в физическом мире. Если такую картинку распечатать на обычном принтере, потом сфотографировать смартфоном и скормить нейронной сети, она по-прежнему будет работать. Это на практике
продемонстрировалиребята из Google Brain и OpenAI — они заставляли ИИ принимать библиотеку за тюрьму, а стиральную машинку за половик. Вот видео для наглядности:
Другой интересный эксперимент провели учёные из Университета Карнеги — Меллон. Они аналогичным образом обманули систему распознавания лиц и выдали себя за известных людей. Для этого исследователи придумали цветовые паттерны, которые заставили бы нейронные сети принять их за конкретных знаменитостей, напечатали эти паттерны на глянцевой бумаге и наклеили на обычные очки. В двух случаях из трёх их ждал 100-процентный успех. Таким образом они показали, что обмануть нейросети можно 1. в реальном мире 2. не вызывая особых подозрений — ведь люди часто носят очки и цветные экземпляры среди них — не редкость. Вот видео с конференции, где исследователи сами рассказывают о своей работе — оно понятнее, чем
научная работа на ту же тему.
Во-вторых, для того, чтобы создать хитрые картинки, не обязательно точно знать, как устроена сеть или иметь доступ к набору изображений, на котором её обучают. В марте этого года товарищи из OpenAI
рассказали, что провели атаку методом «чёрного ящика». Единственное, что им нужно было знать — как целевая нейросеть классифицирует некоторые объекты.
В-третьих, можно создать adversarial examples, которые смогут одурачить не одну, а сразу несколько сетей, даже если те устроены по-разному. То есть такие «оптические иллюзии» до некоторой степени универсальны, хотя обмануть чем-то одним все сети на свете нельзя (или мы пока об этом не знаем). В общем, страшная вещь — можно дурить в реальном мире сразу несколько алгоритмов, и при этом необязательно всё-всё про них знать.
При чём здесь автономные автомобили? Ну, как видим, это работает не только с ними, но и их тоже касается. Как говорит специалист по технологиям машинного обучения Григорий Сапунов
вот в этой статье: «Тема с автомобилями представляет особый интерес в силу того, что автомобиль — это объект повышенной опасности и если в нём появится чёрный ящик, который можно таким образом обмануть, то это риски. И риски намеренного обмана злоумышленником, и риски того, что автомобиль сам по себе может неправильно среагировать на какую-то ситуацию, и мы заранее не знаем какую (и к тому же мы до конца не понимаем, на что именно он вообще реагирует). То есть потенциально под угрозой человеческие жизни и здоровье, это нехорошо. Получается, что производитель не может дать никаких гарантий».
Специалисты пока не пришли к единому мнению о том, насколько adversarial examples опасны для беспилотных машин. Например, учёные из Иллинойсского университета в Урбане-Шампейне
считают, что бояться нечего, потому что камеры движущегося автомобиля видят предметы с разных углов и в разных масштабах. Они провели такой эксперимент: сделали картинки-обманки, внешне похожие на обычные сигналы «стоп», наклеили их на дорожные знаки и несколько раз проехали мимо на автомобиле. Тачка была не простая, а с видеокамерой — изображение сразу поступало нейронным сетям. В большинстве случаев сети верно опознавали знак, ошиблись они всего-то в паре кадров. Учёные объяснили это тем, что машина большую часть времени находилась слишком далеко от дорожного знака, и камера попросту не могла разглядеть изменения картинки, которые обманули бы компьютер. Они пришли к выводу, что в реальном мире, где предмет можно разглядеть с разных углов и на разных дистанциях, о хитрых картинках можно вообще не беспокоиться.
Но с ними согласны не все. Например, ребята из уже упоминавшейся OpenAI (кстати, один из основателей компании — Илон Маск) привели контраргументы всего через 5 дней после публикации того исследования. Они не стали заморачиваться и писать научную работу, а просто опубликовали
пост в блоге. Суть такова: спецы OpenAI создали изображение, которое нейронные сети классифицируют неправильно, с какого бы угла они на них не смотрели. Это распечатанная на принтере фотка милого котёнка среди зелени — как её не увеличивай, как не поворачивай, а ИИ всё равно принимает её за настольный компьютер или монитор. Таким образом, получается, что смена ракурса не защищает машины от обмана и опасность остаётся. Этот пост опубликовали совсем недавно, 17 июля, так что нам только предстоит узнать, что на это ответят другие специалисты.
Видео команды OpenAI, где они демонстрируют картинку-обманку с разных ракурсов
В заключение, пожалуй, стоит ещё раз напомнить о том, что проблема касается не только беспилотных автомобилей. Как
говорит Григорий Сапунов: «Во многих местах, где нейросети используются для анализа изображений (определение товаров, системы безопасности, и т. д.) часто используются какие-то готовые нейросети, возможно дообученные на данных пользователя. Возможно, выяснится, что многие сервисы подвержены одной и той же проблеме и неверно классифицируют одни и те же картинки просто потому, что построены на одной и той же нейросети. Это может оказаться довольно массовой проблемой, где-то критичной, где-то нет».