Как обмануть искусственный интеллект?

Публикуем лонгрид по ещё одной презентации с прошедшего VK Hackathon. Руководитель прикладных исследований «ВКонтакте» Павел Калайдин рассказывает о работе искусственного интеллекта и о том, как его обмануть.

Как обмануть искусственный интеллект?, image #1

Распознавание

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

Как обмануть искусственный интеллект?, image #2
Как обмануть искусственный интеллект?, image #3
1 of 2

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

Как обмануть искусственный интеллект?, image #4

Ещё одним примером можно выделить атаку на дорожные знаки: на знак STOP прикрепляли стикеры, а машина распознавала его как ограничение скорости.

Как обмануть искусственный интеллект?, image #5

Область, о которой ведётся речь в презентации, называется «Безопасность искусственного интеллекта» (ИИ), и сейчас активно ведутся исследования по ней.

Как обмануть искусственный интеллект?, image #6

Искусственный интеллект?

В начале создания ИИ считался способом для решения задач, с которыми не может справиться человек, но решение которых может закодить. Например, отправить ракеты в космос. Со временем стало понятно, что, наоборот, ИИ — это решение задач, которые человек знает как сделать, но не может это закодить. Например, распознавание лица человека.

Как обмануть искусственный интеллект?, image #7
Как обмануть искусственный интеллект?, image #8
Как обмануть искусственный интеллект?, image #9
1 of 3

Для создания ИИ используется машинное обучение, которое берёт некоторые данные и находит их в них паттерн.

Как обмануть искусственный интеллект?, image #10

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

Как обмануть искусственный интеллект?, image #11

Например, задача по определению хэштега по фотографии.

Как обмануть искусственный интеллект?, image #12

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

Как происходит обучение?

Как обмануть искусственный интеллект?, image #13

Пример, как это работает:

Как обмануть искусственный интеллект?, image #14
Как обмануть искусственный интеллект?, image #15
1 of 2

Довольно распространена практика брать уже готовую нейросеть, дообучать её и использовать под свои задачи.

Как обмануть искусственный интеллект?, image #16

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

Как обмануть искусственный интеллект?, image #17

Примером атак, может быть бот Microsoft — Tay, запущенный в Twitter. Он общался с пользователем, собирал от них информацию и тем самым обучался. Вскоре бот был отключен, так как он начал нецензурно выражаться.

Как обмануть искусственный интеллект?, image #18

Примеры того, как пытаются перехитрить фильтры «ВКонтакте»:

Использование «лайкососов»
Как обмануть искусственный интеллект?, image #20
1 of 2
Использование «лайкососов»

Один из примеров, где использовался ИИ в соцсети — памятная акция «Мирное небо»:

Как обмануть искусственный интеллект?, image #21

Adversarial machine learning — это задача, когда создаётся машинное обучение, которое нападает на другое машинное обучение, или же, наоборот, защищается от него.

Как обмануть искусственный интеллект?, image #22

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

Как обмануть искусственный интеллект?, image #23

Виды атак:

Как обмануть искусственный интеллект?, image #24
Как обмануть искусственный интеллект?, image #25
Как обмануть искусственный интеллект?, image #26
1 of 3

Для атак можно использовать выходы из уже имеющейся модели и обучить свою модель.

Как обмануть искусственный интеллект?, image #27

Как обмануть искусственный интеллект?

Изображения

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

Как обмануть искусственный интеллект?, image #28

Примеры атак с помощью добавления шума:

Как обмануть искусственный интеллект?, image #29
Как обмануть искусственный интеллект?, image #30
Как обмануть искусственный интеллект?, image #31
1 of 3
Как обмануть искусственный интеллект?, image #32

Примеры атак с помощью добавления стикера:

Как обмануть искусственный интеллект?, image #33
Как обмануть искусственный интеллект?, image #34
1 of 2

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

Как обмануть искусственный интеллект?, image #35

Также атаки производятся и на алгоритмы распознавания лиц:

Как обмануть искусственный интеллект?, image #36
Как обмануть искусственный интеллект?, image #37
1 of 2

Тексты на естественном языке. Посты и комментарии

Что может автоматически определять система «ВКонтакте» в текстах:

Как обмануть искусственный интеллект?, image #38

Пример поискового спама:

Как обмануть искусственный интеллект?, image #39

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

Как обмануть искусственный интеллект?, image #40
Как обмануть искусственный интеллект?, image #41
Как обмануть искусственный интеллект?, image #42
1 of 3

Как защититься?

На каждую защиту можно придумать множество атак, поэтому эффективной защитой является как можно максимально усложнить задачу.

Как обмануть искусственный интеллект?, image #43

Как усложнить задачу:

Как обмануть искусственный интеллект?, image #44
Как обмануть искусственный интеллект?, image #45
1 of 2

Крутой концепцией является Defensive distillation, для которой используются тёмные знания.

Что ещё может усложнить работу проводимых атак:

Как обмануть искусственный интеллект?, image #46
Как обмануть искусственный интеллект?, image #47
1 of 2

Зачем нужно уметь атаковать самим?

Умение атаковать помогает найти способы защиты модели.

Как обмануть искусственный интеллект?, image #48

Пример атак «ВКонтакте» — переформулировать вопрос, ответ на который боты не смогут найти в поисковике.

Как обмануть искусственный интеллект?, image #49

Выводы

Как обмануть искусственный интеллект?, image #50

Детектер думает, что это птица:

Как обмануть искусственный интеллект?, image #51

Вот и всё!

Как обмануть искусственный интеллект?, image #52

Посмотреть полную презентацию можно здесь:

The Brown Room
независимое интернет-издание о социальных сетях и современных технологиях

Автор: Лена Гамель
Корректор: Арсений Метелев

1247 views·20 shares