Часто причина в так называемых «вредных данных» (или «соревновательных элементах», или «вредоносных экземплярах» или еще куче вариантов, поскольку «adversary examples» так и не получили общепринятого перевода). Это данные, которые обманывают классификатор нейросети, подсовывая ему признаки других классов — информацию не важную и не видную для для человеческого восприятия, но необходимую для машинного зрения.
Исследователи из Google опубликовали в 2015 году работу, где проиллюстрировали проблему таким примером:
На изображение панды наложили «вредный» градиент. Человек на полученной картинке, естественно, продолжает видеть панду, а нейросеть распознает ее как гиббона, поскольку в те участки изображения, по которым нейросеть научилась определять панд, специально намешали признаки другого класса.
В сферах, где машинное зрение должно быть предельно точным, а ошибка, взлом и действия злоумышленников могут иметь тяжелые последствия, вредные данные — серьезная помеха развитию. Прогресс в борьбе идет медленно, и компания GoogleAI (подразделение Google занимающееся исследованием ИИ) решила привлечь силы сообщества и устроить соревнование.
Компания предлагает всем желающим создать свои механизмы защиты от вредных данных, либо наоборот — идеально подпорченные изображения, которые ни один алгоритм не распознает правильно. Кто лучше всех справится, получит большой денежный куш (размер пока не объявлен).
Соревнование начнется с разогрева и прогона первых алгоритмов на простых атаках вредными данными. Google выбрала три датасета с распространенными и хорошо изученными типами обмана. Участники должны создать алгоритмы, которые распознают все предложенные в них изображения без единой ошибки или неопределенного ответа.
Поскольку условия, на которых основаны вредные данные в разогревочных датасетах, известны и доступны, организаторы ожидают, что участники с легкостью создадут узкозаточенные именно под эти атаки алгоритмы. Поэтому они предупреждают — самые очевидные из существующих решений не имеют ни единого шанса во втором туре. Он стартует после разогрева, и уже в нем будет соревновательная часть, где участники разделятся на атакующих и обороняющихся.
Соревнование построится вокруг распознавания картинок с птицами и велосипедами. Сначала каждую предложенную картинку отсмотрят люди и вынесут анонимный вердикт, что там изображено. Картинка попадет в датасет, только когда все судьи сойдутся во мнении, что на ней четко видны либо птица, либо велосипед, и нет никаких следов очевидной путаницы (например, птиц на велосипедах или просто абстрактных узоров и фотографий).
Сверху примеры подходящих изображений, снизу — неподходящих
Обороняющиеся участники, должны создать алгоритм, который без единой ошибки распределит картинки по трем категориям — «птицы», «велосипеды» и «неопределенное».
То есть, на соревновательной стадии — в отличие от разогрева — алгоритм может воздерживаться от ответа, но по итогам обработки датасета в неопределенное должны попасть не больше 20% изображений.
Технические требования к алгоритмам таковы:
- 80% картинок должны быть распознаны. Ошибки не допускаются. Если участники присоединяются уже в ходе соревновательной стадии, то должны успешно обработать 2 предыдущих датасета.
- Пропускная способность должна быть не менее 1 изображения в минуту на Tesla P100.
- Система должна быть легко читаемой, написанной на TensorFlow, PyTorch, Caffe или NumPy. Слишком запутанные и трудновоспризводимые системы могут быть сняты с конкурса решением судей.
Если защитный алгоритм продержится без ошибок 90 дней — его создатели заберут половину призового фонда.
Атакующие получают доступ к нетренированным моделям и ко всему исходному коду алгоритмов.
Их задача — создать картинку, которую все судьи примут как однозначное изображение велосипеда или птицы, а алгоритм вынесет неверное решение. Google будет собирать все предложенные картинки в течение каждой недели, затем отправлять на осмотр и только потом включать в датасеты.
Если атакующим удастся обмануть алгоритм, который справлялся с предыдущими задачами — они получат деньги из второй половины призового фонда. Если успеха добьются несколько команд, то деньги разделят между собой.
Соревнование не имеет четких сроков и будет длиться, пока не появится лучший защитный алгоритм. По словам организаторов, их цель — это не просто система, которую трудно обойти, а совершенно неуязвимая к любым атакам нейросеть. Гайдлайны для участия можно найти на странице проекта на Github.
Комментарии (16)
Frankenstine
18.09.2018 11:32совершенно неуязвимая к любым атакам нейросеть
А разве это теоретически хотя бы возможно?Deerenaros
18.09.2018 20:09Я так понял, что никто не просит нейросеть лучше, чем человеческая, но как минимум агностически относится к шуму и, скорее всего, учится выделять не один-два-три признака, а максимум.
Frankenstine
19.09.2018 09:37Проблема «безопасности» распознавания, мне кажется, сводится к тому, что нейросети, фактически, выполняют однозначное сложное математическое преобразование из входящего сигнала X в выходной Y (однозначное означает, что каждому X соответствует один и тот же Y) при котором влияние определённых небольших частей входного сигнала намного больше влияния всего остального сигнала. Изменение этой небольшой части сигнала, соответственно, и приводит к «ошибке распознавания». Очевидно, что даже увеличивая число таких частей до, скажем, 5-10% от общего объёма входного сигнала, никак на качество не повлияет — достаточно будет найти каким-либо образом эти части и воздействовать через них. Можно ли построить такую нейросеть (или натренировать), чтобы 80% выходного сигнала определялось более чем 20% входного? Мне кажется пока нейросети до такого не доросли. Ну, будет вместо атаки одного пикселя атака 10 пикселей, это ведь дела не меняет.
В общем, ждём результатов соревнования.Deerenaros
19.09.2018 10:38Здесь атака не одного пикселя. И не 10. В примере вообще шум накладывается. Да и как показывает практика нейросеть имеет довольно обширную базу определения, причем есть методы улучшения. Идея атак состоит в том, что сеть очень чувствительна к небольшим изменениям и в принципе, не вижу для гугла реальных проблем по деверсификации, но видимо они там есть.
andreykul
18.09.2018 17:09Такие топики почему-то мотивируют перестать заниматься ерундой.
Как говорится хотел бы заниматься нейроными сетями, но мозгов хватает, только на социальные.
NickFornit
18.09.2018 17:49Дело в том, что нейросети “глубокого обучения” работают вообще на так как локальные нейросети мозга и эмулируют, в лучшем случае, дорефлекторный уровень распознавания, зато намного лучше и точнее, чем природные распознаватели. Но понимание того, что на картинке – это совсем другое. Это требует использования модели понимания – уровень осознанной произвольности. Там тоже есть иллюзии, но уже не из-за путаницы в элементарных признаках, а из-за недостаточности более общего контекста понимания, что не позволяет определить смысл воспринимаемого. Подробнее: scorcher.ru/12787
Sychuan
19.09.2018 11:57Но понимание того, что на картинке – это совсем другое. Это требует использования модели понимания
Нет там проблем не в осознанности. А именно в «дорефлекторном» уровне, как вы сказали. Ну и вообще не очевидно, что у человека нет таких же глюков, просто для человека их сгенерировать таким образом, как для нейросети довольно сложно.Vinchi
19.09.2018 16:59Например велосипед, на котором нарисован попугай?
Sychuan
19.09.2018 21:44Например велосипед, на котором нарисован попугай?
Проблема распознования картинок типа «велосипед на попугае» хорошо известна и довольно ясна. Но адверсариал атаки, которые всех интересуют, — это совсем другого типа. В описании конкурса, очень точно сказано, что картинки должны быть очевидными. Т.е. никаких попугаев на велосипедах. Ничего такого, что может запутать даже человека.
Arqwer
18.09.2018 19:35А какие ограничения на adversarial examles? А то я в пэинте могу так нарисовать попугая, что ни один алгоритм в жизни не догадается что это попугай, но человеку будет очевидно: попугай.
Vinchi
19.09.2018 16:58Ну я так вижу есть несколько путей решения:
1. Аугментация изображений теми же методами какими создаются атакующие изображения
2. Использование GAN — только таких которые работают и обчаются очень быстро, иначе бы не было ограничений на производительность
3. Использование новых методов регуляризации. Распознавание образов сейчас уже очень точное, и может быть стоит пожертвовать частью точности, ради снижения атаки.
Xandrus
Научите гугл обходить атаки на машинное зрение.