Контекст: это сообщение в блоге основано на молниеносной речи, которую я произнес на встрече всех партнеров Partnership on AI в ноябре 2018 года и на конференции AGI в Пуэрто-Рико в январе 2019 года.

Предостережение: я выражаю мысли в личном качестве, а не как представитель своего работодателя.

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

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

Я начну с объяснения того, что я имею в виду, на примерах противоборства. Я расскажу об одном оправдании, которое часто повторяю (не только журналистами, но и в разделе «Введение» многих статей по этой теме), а именно: «Люди могут наклеивать наклейки на знаки остановки, чтобы разбить машины» - и быстро пройду через анализ модели угроз, чтобы показать, почему я считаю, что это не убедительной мотивации, если понимать ее буквально. Затем я укажу на несколько оправданий, которые я считаю более убедительными, образуя типичные противоборствующие примеры с небольшими возмущениями как нерешенную исследовательскую проблему, имеющую очень реальную (но менее прямую) связь с реальным миром. проблемы.

Что такое состязательные примеры?

Состязательные примеры - это входные данные, которые предназначены для того, чтобы модель машинного обучения допустила ошибку [Goodfellow et al 2017].

Распространенным (но не необходимым) дополнительным предположением является то, что эти входные данные строятся путем небольших модификаций входных данных чистого тестового набора: их иногда называют «эпсилон-шаровыми противоборствующими примерами» или «противоборствующими примерами с малым возмущением».

Например, если у вас есть модель, которая классифицирует изображения, и она классифицирует это изображение панды правильно с довольно высокой степенью уверенности, то на самом деле довольно легко найти очень похожее изображение, где каждый пиксель изменен совсем немного (так что он все еще выглядит как панда), но новое изображение неправильно классифицируется как гиббон ​​с очень высокой достоверностью.

Стоит отметить, что состязательные примеры с небольшими возмущениями - это не странная причуда глубокого обучения или проблема, которая есть только у определенных моделей, а у большинства моделей нет. С некоторыми оговорками (которые я здесь не буду вдаваться) практически все известные модели машинного обучения восприимчивы к состязательным примерам на многомерных входных данных, и хороших решений нет.

Состязательные знаки остановки: тревога, но не буквальная модель угрозы

Учитывая, что мы знаем, что модели машинного обучения подвержены этим поразительным видам отказов, можно резонно задаться вопросом, что это означает для развертывания машинного обучения в реальных контекстах с реальными последствиями.

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

Мой опыт как инженера связан с исследованиями, а не с проектированием и развертыванием систем, поэтому я не являюсь экспертом в анализе того, как реальные системы откажутся. Но у меня есть друзья и коллеги, которые занимаются компьютерной безопасностью, и они научили меня всегда задавать один вопрос: «Какова ваша модель угроз

Сообщение в блоге Кевина Риггла Доступное моделирование угроз - мое любимое (очень доступное!) Объяснение того, что включает в себя моделирование угроз:

Моделирование угроз - это всего лишь процесс ответа на несколько простых вопросов о любой системе, которую вы пытаетесь построить или расширить.

* Что такое система и кого она волнует?
* Что от нее нужно делать?
* Что плохого может случиться с ней из-за невезения или плохих людей? < br /> * Что должно быть правдой в системе, чтобы она по-прежнему выполняла то, что ей нужно, безопасно, даже если с ней случатся эти плохие вещи?

Для краткости я назову эти вопросы Принципами, Целями, Противоречиями и Инвариантами.

Попробуем применить этот фреймворк.

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

Мы хотим, чтобы это было правдой, даже если кто-то наклеил на знак остановки странный стикер с ошибками, чтобы его неправильно распознать.

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

Включая возможность того, что знак «стоп» просто… упал.

Если ваша машина разбилась бы, если бы знак остановки просто упал, то у вас есть гораздо более серьезные и более простые проблемы с безопасностью, чем примеры противостояния с небольшим возмущением!

Таким образом, я говорю, что да, возможно, чтобы кто-то наклеил липкую наклейку на знак остановки. А знак остановки не будет обнаружен никаким количеством стандартных систем технического зрения. И автомобиль, который полагался исключительно на одну только эту систему обзора, действительно потенциально мог просто прорваться через перекресток и разбиться. Это абсолютно то, что могло бы произойти в реальном мире, если бы автомобиль был спроектирован таким образом, что неверно классифицированный знак остановки приводил к аварии; это не подделка, не выдумка и не невозможное.

Но я на самом деле не привел пример реального противника, у которого на самом деле могут быть возможности, ресурсы, знания и мотивация для создания и установки этой наклейки. И не только для того, чтобы это было возможно, но и для того, чтобы наилучшим образом достичь целей противника. Я могу только представить, что - в зависимости от того, почему именно они хотят вызывать автомобильные аварии - они могли бы придумать более дешевый и более простой способ добиться этого.

По сути, если я говорю вам, что «вандалы, которые используют градиентный спуск для создания глючных наклеек, которые они распечатывают и наклеивают на дорожные знаки», это буквальный результат в реальном мире, я конкретно пытаюсь предотвратить, моя модель угроз неполна. Это все еще стоит изучить (по причинам, которые я объясню в следующем главном разделе), но только если воспринимать это менее буквально.

Так что же вообще беспокоят состязательные знаки остановки?

Я не говорю: «Все, перестаньте волноваться! Модели ML абсолютно надежны и хороши ». Это противоположно моей точке зрения. Я пытаюсь сказать: «Проблема хуже, чем состязательные стикеры».

Чтобы объяснить, что я имею в виду, давайте на мгновение вернемся к нашей модели угроз и рассмотрим инварианты («Что должно быть правдой в системе, чтобы она по-прежнему выполняла то, что ей нужно, безопасно? , даже если с ним случится все плохое? »)

Если наша цель состоит в том, чтобы автомобиль всегда останавливался - не только при наличии враждебной наклейки, но даже в более вероятных условиях, когда физический знак остановки не присутствует или не виден вообще - из этого прямо следует, что мы НЕ МОЖЕМ полагаться только на обнаружение дорожных знаков, чтобы выбрать, когда остановиться на перекрестках. Период. Наша модель угроз говорит нам, что использование одной только модели обнаружения недостаточно надежно для критически важного для безопасности использования.

Итак, теперь у нас есть действительно интересная дизайнерская задача! Как мы можем распознать перекрестки с остановками, не используя исключительно функцию обнаружения дорожных знаков? Может стоит соотнести с GPS и картографическими данными? Будьте особенно осторожны на перекрестках, которые не отмечены ни «стоп», ни «выход»?

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

Зачем заботиться?

Итак, учитывая, что «наклейки противоборства» должны быть в списке неприятностей наряду с множеством других повседневных проблем, которые вместе требуют гораздо более радикальных стратегий смягчения последствий ... тогда почему мы вообще можем заботиться о примерах противоборства с небольшими возмущениями?

Я нашел две убедительные причины:

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

Я должен подчеркнуть, что внесение небольших изменений - не единственный способ найти неверно классифицированные примеры. Злоумышленник может найти ошибки, используя какой-либо другой метод , например, пробуя случайные переводы и повороты, пока не обнаружит ошибку, или используя умные углы или освещение.

Однако мы уже знаем, что очевидные ошибки существуют и могут быть легко обнаружены из-за этих небольших примеров возмущений.

Более того, «противник» не обязательно должен быть человеком, ведущим поиск намеренно: поиск ошибок может произойти непреднамеренно каждый раз, когда применяется процесс отбора с неблагоприятными стимулами. (Например, тестирование тысяч входов, чтобы определить, какие из них получают больше всего кликов или приносят больше всего денег).

Во-вторых, для исследователей это область, в которой возможен прогресс в исследованиях. Я спросил коллег-исследователей состязательных примеров, почему они думают, что настройка «малого возмущения» является полезной областью исследования, несмотря на то, что она не является убедительной моделью угроз в реальном мире, и они привели несколько причин:

  1. Незначительное изменение каждого пикселя легко определить как алгебраическую операцию, которая делает возможным формальный анализ.
  2. Это проблема настоящих классификаторов, поэтому исследователи могут изучать ее на реальных наборах данных (а не на синтетических данных).
  3. У нас уже есть доказательства того, что исследователи смогли обнаружить и узнать о надежности такие вещи, которые было бы трудно изучить, если бы у нас не было хорошей игрушечной задачи. Например, теперь мы знаем, что изображение, обманывающее одну модель, скорее всего, обманет другую независимую модель.

Хотя это далеко не убедительный аргумент в пользу того, что параметр «небольшое возмущение» является лучшим или единственным параметром для изучения устойчивости, для меня он определенно имеет значение в качестве набора причин. работать в своей области - гораздо больше, чем буквальные оправдания.

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

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

Нерешенные исследовательские проблемы не являются реальными моделями угроз (но обе важны)

Я думаю, что здесь есть общая картина, которую я хотел бы, чтобы вы ушли, которая выходит за рамки области состязательных примеров:

  • Нерешенные исследовательские проблемы часто влекут за собой создание игрушечных доменов, в которых легче выделить ключевые трудности и добиться прогресса в исследованиях. Хотя вряд ли они будут буквально напоминать вероятные реальные результаты, их можно использовать как источник вдохновения для возможных проблем с развернутой системой. И концептуальный прогресс, достигнутый в решении проблемы игрушек, может привести поле к новым парадигмам.
  • В развернутых системах , наиболее серьезные проблемы почти наверняка более фундаментальные, чем «исследовательские проблемы», поэтому вам нужна конкретная модель угроз, чтобы направит вас к эффективным стратегиям смягчения последствий. Вероятно, ваши опасения будут шире и хуже, чем предполагает проблема исследования. Скорее всего, вам придется внести радикальные изменения в дизайн, а не добавлять мелкие исправления.

Одним из важных компонентов моей общей позиции в отношении надежности является то, что я думаю, что утверждение «Но эти проблемы не новы для глубокого обучения!» или «У нас есть даже более серьезные проблемы, чем эта!» не повод полагать, что все будет хорошо. Это должно послужить острым напоминанием о том, что нужно тщательно планировать, проверять свои предположения и принимать во внимание весь контекст.

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

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

И если вы ведете разговор о примерах противоборства, я настоятельно рекомендую вам прояснить это различие с человеком, с которым вы разговариваете!

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

Эти идеи для меня не новы и не оригинальны. Многие люди отмечали это раньше. Когда я изначально выступал с этим докладом, меня больше всего вдохновили следующие ресурсы:

Спасибо Джереми Ховарду за то, что он всегда задавал отличные вопросы и особенно подталкивал меня к созданию общедоступной версии; Сэму Финлейсону за то, что он сказал подобные вещи в Часто задаваемых вопросах по его Политике в отношении медицинских состязательных атак (стоит прочитать!); Джеффри Лэдиш и Жан Коссайфи за полезные предложения; и Кевина Риггла за хорошие разговоры о моделировании угроз.