Google объявляет конкурс атак на алгоритмы машинного зрения

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

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

    Исследователи из Google опубликовали в 2015 году работу, где проиллюстрировали проблему таким примером:


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

    В сферах, где машинное зрение должно быть предельно точным, а ошибка, взлом и действия злоумышленников могут иметь тяжелые последствия, вредные данные — серьезная помеха развитию. Прогресс в борьбе идет медленно, и компания GoogleAI (подразделение Google занимающееся исследованием ИИ) решила привлечь силы сообщества и устроить соревнование.

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

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

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


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


    Сверху примеры подходящих изображений, снизу — неподходящих

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

    То есть, на соревновательной стадии — в отличие от разогрева — алгоритм может воздерживаться от ответа, но по итогам обработки датасета в неопределенное должны попасть не больше 20% изображений.

    Технические требования к алгоритмам таковы:

    • 80% картинок должны быть распознаны. Ошибки не допускаются. Если участники присоединяются уже в ходе соревновательной стадии, то должны успешно обработать 2 предыдущих датасета.
    • Пропускная способность должна быть не менее 1 изображения в минуту на Tesla P100.
    • Система должна быть легко читаемой, написанной на TensorFlow, PyTorch, Caffe или NumPy. Слишком запутанные и трудновоспризводимые системы могут быть сняты с конкурса решением судей.

    Если защитный алгоритм продержится без ошибок 90 дней — его создатели заберут половину призового фонда.

    Атакующие получают доступ к нетренированным моделям и ко всему исходному коду алгоритмов.

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

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

    Соревнование не имеет четких сроков и будет длиться, пока не появится лучший защитный алгоритм. По словам организаторов, их цель — это не просто система, которую трудно обойти, а совершенно неуязвимая к любым атакам нейросеть. Гайдлайны для участия можно найти на странице проекта на Github.
    Поделиться публикацией
    Комментарии 17
      +1
      Научите гугл обходить атаки на машинное зрение.
        +1

        Ого, что случилось? У гугла закончились деньги?

          +1
          Похоже гугл зашел в тупик.
            +1

            Черный квадрат — классическая атака.

              0
              совершенно неуязвимая к любым атакам нейросеть

              А разве это теоретически хотя бы возможно?
                0
                Я так понял, что никто не просит нейросеть лучше, чем человеческая, но как минимум агностически относится к шуму и, скорее всего, учится выделять не один-два-три признака, а максимум.
                  0
                  Проблема «безопасности» распознавания, мне кажется, сводится к тому, что нейросети, фактически, выполняют однозначное сложное математическое преобразование из входящего сигнала X в выходной Y (однозначное означает, что каждому X соответствует один и тот же Y) при котором влияние определённых небольших частей входного сигнала намного больше влияния всего остального сигнала. Изменение этой небольшой части сигнала, соответственно, и приводит к «ошибке распознавания». Очевидно, что даже увеличивая число таких частей до, скажем, 5-10% от общего объёма входного сигнала, никак на качество не повлияет — достаточно будет найти каким-либо образом эти части и воздействовать через них. Можно ли построить такую нейросеть (или натренировать), чтобы 80% выходного сигнала определялось более чем 20% входного? Мне кажется пока нейросети до такого не доросли. Ну, будет вместо атаки одного пикселя атака 10 пикселей, это ведь дела не меняет.
                  В общем, ждём результатов соревнования.
                    0

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

                +1
                Хорошая попытка, SkyNet, но нет.
                  0
                  Такие топики почему-то мотивируют перестать заниматься ерундой.
                  Как говорится хотел бы заниматься нейроными сетями, но мозгов хватает, только на социальные.
                    0
                    Дело в том, что нейросети “глубокого обучения” работают вообще на так как локальные нейросети мозга и эмулируют, в лучшем случае, дорефлекторный уровень распознавания, зато намного лучше и точнее, чем природные распознаватели. Но понимание того, что на картинке – это совсем другое. Это требует использования модели понимания – уровень осознанной произвольности. Там тоже есть иллюзии, но уже не из-за путаницы в элементарных признаках, а из-за недостаточности более общего контекста понимания, что не позволяет определить смысл воспринимаемого. Подробнее: scorcher.ru/12787
                      0
                      Но понимание того, что на картинке – это совсем другое. Это требует использования модели понимания

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

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

                      А какие ограничения на adversarial examles? А то я в пэинте могу так нарисовать попугая, что ни один алгоритм в жизни не догадается что это попугай, но человеку будет очевидно: попугай.

                        0
                        Вы действительно нарисуете изображение, про которое человек скажет «однозначно попугай», а не «стилистическое изображение, напоминающее попугая»?
                        0
                        Ну я так вижу есть несколько путей решения:
                        1. Аугментация изображений теми же методами какими создаются атакующие изображения
                        2. Использование GAN — только таких которые работают и обчаются очень быстро, иначе бы не было ограничений на производительность
                        3. Использование новых методов регуляризации. Распознавание образов сейчас уже очень точное, и может быть стоит пожертвовать частью точности, ради снижения атаки.

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

                        Самое читаемое