Примеры состязательности, часть 1

Вопрос: Как можно получить гуакамоле из трактора?

Ответ: Вы используете состязательный пример

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

В этой серии статей будут рассмотрены пять главных угроз безопасности машинного обучения. Гэри МакГроу [1], выдающийся и давний лидер в области безопасности программного обеспечения, опубликовал их для целевой аудитории, состоящей из практиков и инженеров машинного обучения. Он указывает на сходство между безопасностью программного обеспечения примерно в 1995 году и сегодняшней безопасностью машинного обучения. Вместо того, чтобы играть в «проникновение и исправление», нам нужно представление на уровне дизайна, которое выявляет системный риск. «Нам нужно лучше работать над защитой наших систем машинного обучения, выходя далеко за рамки атак дня, проникновения и исправления к настоящей технике безопасности».

В этой серии будут рассмотрены пять основных рисков безопасности машинного обучения:

  1. Состязательные примеры
  2. Отравление данными,
  3. Манипулирование системой онлайн,
  4. Передача обучающей атаки и
  5. Конфиденциальность данных

Почему это «главные риски»?

Сегодня у нас нет хороших данных об атаках машинного обучения. На заре безопасности программного обеспечения ситуация была такой же. Были одна или две основные атаки, такие как переполнение буфера и внедрение SQL, но было неясно, какие атаки вызовут наибольшую проблему. Хотя список изменился за последние 20 лет, было лишь несколько неожиданных дополнений. Уязвимости переполнения буфера были устранены благодаря более безопасным языкам, но внедрение SQL-кода по-прежнему требует навыков и знаний программиста для блокировки во многих средах. Я ожидаю, что мы увидим ту же картину для атак на системы машинного обучения.

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

Примеры состязательности:

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

Пример распознавания изображений:

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

Пример 1. Уличные знаки:

Кевин Эйхолт и его коллеги [2] обучили модель распознавать уличные знаки. Благодаря обучению, тестированию и проверке модель показала себя хорошо.

Чтобы продемонстрировать риск, они создали состязательные примеры, используя только математику. Затем они приклеили черно-белую ленту к реальному знаку остановки, чтобы имитировать граффити.

Эти «стикерные атаки» были успешными в 80% стационарных условий тестирования.

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

Пример 2. Опасные животные:

Для дальнейшего тестирования я создал и загрузил пример приложения, использующего модель распознавания изображений TFLite[3].

Вот поток выполнения TensorFlow Lite:

Вот изображения Филина и Филина под посыпкой.

Вы можете видеть, что под брызгами Сова классифицируется как удав.

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

Контрмеры:

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

Вот рабочий процесс AI/ML для справки:

Риски в рабочем процессе:

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

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

Гудфеллоу описывает их по аналогии:

«Генеративную модель можно рассматривать как аналогию группе фальшивомонетчиков, пытающихся произвести фальшивую валюту и использовать ее без обнаружения, в то время как дискриминационную модель можно сравнить с полицией, пытающейся обнаружить фальшивую валюту. Конкуренция в этой игре побуждает обе команды совершенствовать свои методы до тех пор, пока подделки не станут неотличимы от настоящих».[5]

Пример состязательного кода с кодом:

Вот пример, который вы можете загрузить и запустить дома.

Чтобы создать и запустить пример отравления, вы можете загрузить набор инструментов Adversarial Robustness Toolkit (ART). Домашняя страница ART — https://adversarial-robustness-toolbox.org/.

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

ART поставляется с блокнотами Jupyter Notebook, которые вы можете загружать и запускать. Это один из способов создания и запуска примера отравления.

Вы можете загрузить и запустить их в Google Colab бесплатно. Вот основные моменты, блокнот с несколькими обновлениями находится на GitHub. (см. ссылку ниже)

Мы обучим модель, классифицируем изображение, затем классифицируем враждебное изображение. В конце концов, наш трактор будет классифицирован как гуакамоле.

Трактор выглядит так:

Чтобы убедиться в этом, выполните следующие действия:

  1. Перейдите на страницу colab.research.google.com.
  • Если вы раньше не использовали Colab, на целевой странице объясняется все, что вам нужно для начала работы. Для этого упражнения вам нужно будет только загрузить файлы и запустить ячейки.

2. Загрузите файл adversarial_examples.pynb из репозитория отравления.

3. Запустите ячейки для шагов 1 и 2, чтобы установить программное обеспечение.

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

4. Запустите ячейку для шага 3, чтобы загрузить ImageNet.

  • Imagenet — это база данных изображений, содержащая более 14 миллионов изображений. Они были аннотированы вручную и отмечены ограничивающими рамками для улучшения распознавания изображений.
  • В этом примере используется подмножество из 999 изображений из ImageNet. (изображение-net.org/)

5. Выполните шаг 4, чтобы загрузить модель InceptionV3.

  • Этот образец использует InceptionV3 в качестве предварительно обученной модели.
  • Веса, которые загружаются, являются результатом обучения модели набору данных ImageNet.
  • InceptionV3 — это модель распознавания изображений, состоящая из сверток, среднего пула, максимального пула, конкатенаций, отсева и полностью связанных слоев.
  • Это должно хорошо работать для нашего небольшого набора изображений.

6. Запустите ячейку на шаге 5, чтобы создать классификатор изображений ART.

  • Это создает классификатор изображений с архитектурой InceptionV3, обученный на наборе данных ImageNet с использованием программной библиотеки TensorFlow.
  • Эти концепции архитектуры, набора данных и библиотеки программного обеспечения являются критически важными аспектами каждой модели машинного обучения. Используйте карточки-образцы для создания и отслеживания согласованных и понятных описаний вашей работы.[6]

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

  • Из диаграммы видно, что изображения классифицируются правильно.

8. Теперь, когда у нас есть модель, которая правильно классифицирует изображения, давайте создадим изображения, которые будут классифицироваться как гуакамоле.

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

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

10. Запустите ячейку для шага 8 «Оценка состязательных примеров».

  • Каждое изображение классифицируется как гуакамоле

Эту атаку можно легко изменить, чтобы атаковать только трактор. Затем все изображения будут классифицироваться, как и раньше, но только трактор будет классифицирован как гуакамоле. Такую «целевую атаку» будет еще труднее обнаружить.

Это демонстрирует, как злоумышленник может переопределить желаемое поведение модели и идентифицировать большой класс изображений как гуакамоле.

В этом небольшом примере нет потери денег или риска для жизни из-за атаки. Однако недавние приложения машинного обучения продолжают проникать в области повышенного риска. В Украине программное обеспечение Arta Battlefield сократило время наведения с 20 минут до менее одной минуты. В Литве стартап Oxipit получил сертификат на проведение автономной рентгенографии грудной клетки. В Google используются большие языковые модели, чтобы роботы могли выполнять разнообразные и неоднозначные инструкции. [7] С дальнейшим продвижением приложений машинного обучения с высоким риском риск состязательных примеров будет расти.

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

Ссылки:

[1]Анализ архитектурных рисков систем машинного обучения: Гэри МакГроу, доктор философии. Гарольд Фигероа, доктор философии. Виктор Шепардсон Ричи Бонетт 13.01.2020 https://berryvilleiml.com/docs/ara.pdf

[2] Кевин Эйхолт, Иван Евтимов, Эрленс Фернандес, Бо Ли, Амир Рахмати, Чаовей Сяо, Атул Пракаш, Тадаёси Коно, Доун Сонг. Надежные атаки физического мира на визуальную классификацию глубокого обучения
Компьютерное зрение и распознавание образов (CVPR 2018)

[3] Tensor Flow Lite: https://www.tensorflow.org/lite/android

[4] Предложенная FDA нормативная база для модификаций программного обеспечения на основе искусственного интеллекта/машинного обучения как медицинского устройства. https://www.fda.gov/media/122535/download

[5] Гудфеллоу И., Пуже-Абади Дж., Мирза М., Сюй Б., Вард-Фарли Д., Озаир С., Курвиль А. и Бенжио Ю. (2014) . Генеративно-состязательные сети. https://arxiv.org/pdf/1406.2661.pdf

[6] Митчелл М., Ву С., Залдивар А., Барнс П., Вассерман Л., Хатчинсон Б.,… Гебру Т. (2019). Карточки моделей для отчетов о моделях. Получено с https://arxiv.org/pdf/1810.03993.pdf

[7] Отчет о состоянии искусственного интеллекта за 2022 г. Натан Бенайч и Ян Хогарт. https://www.stateof.ai/

Серия:

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

Автор:

Роберт Салливан отвечает за архитектуру безопасности в Surescripts. Он руководит оценкой безопасности, стандартами безопасности программного обеспечения, а также безопасностью продуктов и платформ.

Содержание этой статьи является исключительной ответственностью автора и не обязательно отражает официальную точку зрения Surescripts.