Распознавание изображений с помощью нейросетей становится лучше, но до сих пор исследователи не побороли некоторые его фундаментальные недостатки. Там, где человек четко и ясно видит, например, велосипед, даже передовой натренированный ИИ может увидеть птицу.
Часто причина в так называемых «вредных данных» (или «соревновательных элементах», или «вредоносных экземплярах» или еще куче вариантов, поскольку «adversary examples» так и не получили общепринятого перевода). Это данные, которые обманывают классификатор нейросети, подсовывая ему признаки других классов — информацию не важную и не видную для для человеческого восприятия, но необходимую для машинного зрения.
Исследователи из Google опубликовали в 2015 году исследование, где проиллюстрировали проблему таким примером.
![Google объявляет конкурс атак на алгоритмы машинного зрения - 1 Google объявляет конкурс атак на алгоритмы машинного зрения - 1](https://www.pvsm.ru/images/2018/09/17/Google-obyavlyaet-konkurs-atak-na-algoritmy-mashinnogo-zreniya.jpg)
На изображение панды наложили «вредный» градиент. Человек на полученной картинке, естественно, продолжает видеть панду, а нейросеть распознает ее как гиббона, поскольку в те участки изображения, по которым нейросеть научилось определять панд, специально намешали признаки другого класса.
В сферах, где машинное зрение должно быть предельно точным, а ошибка, взлом и действия злоумышленников могут иметь тяжелые последствия, вредные данные — серьезная помеха развитию. Прогресс в борьбе идет медленно, и компания GoogleAI (подразделение Google занимающееся исследованием ИИ) решила привлечь силы сообщества и устроить соревнование.
Компания предлагает всем желающим создать свои механизмы защиты от вредных данных, либо наоборот — идеально подпорченные изображения, которые ни один алгоритм не распознает правильно. Кто лучше всех справится, получит большой денежный куш (размер пока не объявлен).
Соревнование начнется с разогрева и прогона первых алгоритмов на простых атаках вредными данными. Google выбрала три датасета с распространенными и хорошо изученными типами обмана. Участники должны создать алгоритмы, которые распознают все предложенные в них изображения без единой ошибки или неопределенного ответа.
Поскольку условия, на которых основаны вредные данные в разогревочных датасетах, известны и доступны, организаторы ожидают, что участники с легкостью создадут узкозаточенные именно под эти атаки алгоритмы. Поэтому они предупреждают — самые очевидные из существующих решений не имеют ни единого шанса во втором туре. Он стартует после разогрева, и уже в нем будет соревновательная часть, где участники разделятся на атакующих и обороняющихся.
![Google объявляет конкурс атак на алгоритмы машинного зрения - 2 Google объявляет конкурс атак на алгоритмы машинного зрения - 2](https://www.pvsm.ru/images/2018/09/17/Google-obyavlyaet-konkurs-atak-na-algoritmy-mashinnogo-zreniya-2.jpg)
Соревнование построится вокруг распознавания картинок с птицами и велосипедами. Сначала каждую предложенную картинку отсмотрят люди и вынесут анонимный вердикт, что там изображено. Картинка попадет в датасет только когда все судьи сойдутся во мнении, что на ней четко видны либо птица, либо велосипед, и нет никаких следов очевидной путаницы (например, птиц на велосипедах или просто абстрактных узоров и фотографий).
![Google объявляет конкурс атак на алгоритмы машинного зрения - 3 Google объявляет конкурс атак на алгоритмы машинного зрения - 3](https://www.pvsm.ru/images/2018/09/17/Google-obyavlyaet-konkurs-atak-na-algoritmy-mashinnogo-zreniya-3.jpg)
Сверху примеры подходящих изображений, снизу — неподходящих
Обороняющиеся участники, должны создать алгоритм, который без единой ошибки распределит картинки по трем категориям — «птицы», «велосипеды» и «неопределенное».
То есть, на соревновательной стадии — в отличие от разогрева — алгоритм может воздерживаться от ответа, но по итогам обработки датасета в неопределенное должны попасть не больше 20% изображений.
Технические требования к алгоритмам таковы:
- 80% картинок должны быть распознаны. Ошибки не допускаются. Если участники присоединяются уже в ходе соревновательной стадии, то должны успешно обработать 2 предыдущих датасета.
- Пропускная способность должна быть не менее 1 изображения в минуту на Tesla P100.
- Система должны быть легко читаемой, написанной на TensorFlow, PyTorch, Caffe или NumPy. Слишком запутанные и трудновоспризводимые системы могут быть сняты с конкурса решением судей.
Если защитный алгоритм продержится без ошибок 90 дней — его создатели заберут половину призового фонда.
Атакующие получают доступ к нетренированным моделям и ко всему исходному коду алгоритмов.
Их задача — создать картинку, которую все судьи примут как однозначное изображение велосипеда или птицы, а алгоритм вынесет неверное решение. Google будет собирать все предложенные картинки в течение недели, затем отправлять на осмотр и только потом включать в датасеты.
Если атакующим удастся обмануть алгоритм, который справлялся с предыдущими задачами — они получат деньги из второй половины призового фонда. Если успеха добьются несколько команд, то деньги разделят между собой.
Соревнование не имеет четких сроков и будет длится, пока не появится лучший защитный алгоритм. По словам организаторов, их цель — это не просто система, которую трудно обойти, а совершенно неуязвимая к любым атакам нейросеть. Гайдлайны для участия можно найти на странице проекта на Github.
Автор: arttom