Машинное обучение: схватка с комнатным слоном

Автор оригинала: Kevin Hartnett
  • Перевод

Один — ноль в пользу человеческого мозга. В новом исследовании ученые-информатики выяснили, что системам искусственного интеллекта не удается пройти тест на зрительное распознавание объектов, с которым легко справится любой ребенок.

«Это качественное и важное исследование напоминает нам, что „глубокое обучение" на самом не может похвастаться той глубиной, которая ему приписывается», — говорит Гэри Маркус, нейробиолог из Нью-Йоркского университета, не связанный с этой работой.

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

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

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

«Происходили самые разные странности, показывающие всю хрупкость современных систем обнаружения объектов», — говорит Амир Розенфельд, ученый из Йоркского университета в Торонто и соавтор исследования, которое он провел вместе с коллегами Джоном Тсотсосом, тоже из Йорка, и Ричардом Земелем из Университета Торонто.

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

Слон в комнате


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

Искусственный интеллект, напротив, создает визуальные впечатления кропотливо, будто читая описание на языке Брайля. Он пробегает своими алгоритмическими кончиками пальцев по пикселям, постепенно формируя из них все более сложные представления. Разновидность систем ИИ, выполняющая подобные процессы, — нейронные сети. Они пропускают изображение через серию «слоев». По мере прохождения каждого слоя обрабатываются отдельные детали изображения, такие как цвет и яркость отдельных пикселей, и на основе этого анализа формируется все более абстрактное описание объекта.

«Результаты обработки предыдущего слоя передаются следующему, и так далее, как на конвейере», — объясняет Тсотсос.


Автор: Lucy Reading-Ikkanda/Quanta Magazine

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

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

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

Тогда исследователи добавили объект, несвойственный подобным сценам: изображение слона в полупрофиль. И нейронная сеть запуталась. В некоторых случаях появление слона заставляло ее принять стул за диван, а иногда система переставала видеть те или иные объекты, с распознаванием которых до этого не возникало проблем. Это, например, книжный ряд. Причем промахи случались даже с объектами, находящимися далеко от слона.


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

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

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

«Если в комнате действительно появится слон, любой человек наверняка это заметит», — говорит Розенфельд. — «А система даже не зафиксировала его присутствия».

Тесная взаимосвязь


Когда люди видят нечто неожиданное, то присматриваются к этому получше. Как бы просто ни звучало «присмотреться получше», это имеет реальные когнитивные последствия и объясняет, почему ИИ ошибается при появлении чего-то необычного.

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

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

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

«Человеческая зрительная система сообщает: „Я пока не могу дать правильный ответ, поэтому вернусь назад и проверю, где могла произойти ошибка"», — объясняет Тсотсос, который развивает теорию под названием «Избирательная настройка», объясняющую эту особенность визуального восприятия.

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

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

image
Wirex
39,00
Мобильный банкинг нового поколения
Поделиться публикацией

Комментарии 22

    0
    Потому что в данной нейронке не было образцов слона и весов, соответствующих деталям слона. Скормите ей тысячи слонов в комнате, и она начнет их различать в дальнейшем. Проблема в том, что в комнате редко увидишь слона…
      +3
      Я вот ни разу не видел слона в комнате. Но я блин слона вижу же. Вот про это и статья.
        0

        Но ты видел слона. Видела ли эта сеть слона?

          +1
          Да, она же его иногда распознает.
          +5
          Вообще не вижу никакого слона на вырвиглазно мелкой некликаемой картинке — обе картинки и слева и справа выглядят одинаково!
            +2
            Я тоже долго искал. Нашел на увеличенном фрагменте в самой статье. Оказывается он над головой у мужика. Короче, я справился почти также как и нейросеть
              +1
              Причём, этот мутный слон реально чем-то похож на стул. И если учесть контекст, то у решения нейронной сети есть весомые основания.
                0
                Проблемы с обнаружением слона в комнате «обычной нейронной сетью» отмечал ещё И.А. Крылов.
                0
                Нашел слона только по подсказке. Он у меня фильтруется как тень.
                  0
                  какой слон?
                    0
                    Который под хэд-краба на голове у мужика пытается замаскироваться.
              0
              del
            +2
            «Это качественное и важное исследование напоминает нам, что „глубокое обучение" на самом не может похвастаться той глубиной, которая ему приписывается»

            Вообще-то глубокое обучение — это от «глубоких» (т.е. многослойных) НС. Ни о какой другой глубине речи и не идет.
            Ну и картинка с шестью слоями очень интересна. Давно мы разобрались что там происходит в каком слое? А что если еще слой добавить? Ну и определение в духе «перевод пикселей на язык чисел» как-то неуместно вообще.
              +1
              Бредовая статья. Проблема AA сейчас актуальна — все в курсе. Как раз гугл стартовал сейчас соревнование по разработке защиты от таких атак.
                0
                Проблема AA сейчас актуальна — все в курсе

                Но только это не AA атака. И почему статья бредовая? Для вас это было очевидным поведением? Оно вот ни разу не очевидно.
                  +2
                  Статья бредовая, потому что «исследователи» нашли тест (сомнительный, прямо скажем — я вот не сразу нашел там слона, при том что я _знал_ что нужно искать слона), на которым нейросеть ошиблась: «Ага, попался!». Напоминает «вот когда в шахматы начнет выигрывать… ну вот когда в Го тогда точно»!
                  Какая польза от этого исследования? Что сети ошибаются? Да, и сейчас уже меньше, чем люди во многих, но не во всех задачах. Или в том, что в поиске слона в определенной комнате сеть хуже человека (а это вопрос, так как еще раз, я слона вот не нашел). А может, еще вспомним, что сеть обучается на маленьких изображениях? Посмотрим, как человек найдет на этой шедевральной картинке слона и остальные объекты, когда вся картинка будет размером 300х300.
                  Про пропавшую чашку отдельный смех, судя по картинке — выставлен порог в 50% уверенности, на картинке просто нет кандидатов с меньше уверенностью (а на выходе сети есть), то есть если чашка детектировалась с 50% вероятностью, а после слона с 49% — то на картинке ее не будет, а разницы почти никакой.
                  Вот именно поэтому статья и бредовая.

                  P.S. А моя (точнее, первая попавшаяся) нейросеть слона нашла
                  image

                    +1
                    Я тоже слона не нашел сначала. Так что нас уже четверо (выше еще 2е отписывалось).
                    Вернее я «нашел», но совсем не того — даже зная, что где-то он должен быть я решил что речь о игрушке валяющейся на диване у правого края фото (в основном задние ноги видны).
                    Отмел, что слон какой-то весьма странный(а слон ли это вообще?) и долго думал — что значит «появился слон» если это нечто присутствует на обоих картинках. Ну а «правильного» слона мозг «отфильтровал» как тени/артефакты от занавески на заднем фоне. И только поиграв в «найди 10 отличии» (т.е. сравнивая сразу ОБЕ картинки) нашел-таки его.

                    А на чем именно сидит мужик я и до сих пор понять не могу даже посмотрев внимательно несколько раз: толи кресло с вытянутым лежаком с наклонной спинкой(как у пляжных например), толи небольшой диван.
                    Т.е. точно так же как нейросеть — у нее там сомнения между «chair» (что обозначает не только стул, но и кресло) и «couch» (диванчик, кушетка).

                    С «исчезнувшей» книжкой та же история как и пропавшей бутылкой — оба объекта были изначально опознаны с вероятностью всего 50% и похоже это действительно выбранная граница для вывода и снижение оценки даже на долю % приводит к тому, что подобные объекты перестают подсвечиваться (но остаются в полном выводе).
                      0
                      Справедливости ради, я ознакомился с исходной статьей на arxiv (ссылка в начале) и там все не так плохо (больше инфы и не такие громкие выводы), тут имеет место «ученый изнасиловал журналиста» немного.
                0
                Да дайте уже нейросетке на слонов посмотреть!
                  0
                  В мозге, действительно, прямому зрительному пути сопутствует обратный, об этом можно почитать например в «Об интеллекте» Хокинса. Есть теории, что это а) подсветка вниманием б) дорисовывание отсутствующих (загороженных) деталей в) информация о контексте (собственно Хокинс).
                  Кстати, при рассматривании картинки со слоном, именно слон стянет на себя внимание, и прочие детали будут осмыслены хуже, чем без слона.
                    +1

                    Перевод на картинке совершенно неправильный и оттого непонятный.
                    В оригинале текст подписей более близок к тому, как действительно работают такие (обычно свёрточные) сети.
                    А именно:
                    1) Значения пикселов.
                    2) Выявленные рёбра/грани/кромки.
                    3) Выявленные комбинации кромок.
                    4) Выявленные признаки/детали/features ("feature" в данном случае труднопереводимо для меня, обычно не переводят).
                    5) Выявленные комбинации признаков/деталей.
                    6) Выход: "Собака".


                    Нет никакого 2) "определения границ объектов". Это — отдельная задача, решаемая несколько другими нейронными сетями. Во втором слое выявляются небольшие фрагменты объектов (линии под разными углами, чуть более сложные примитивы).
                    Также нет никакого 3) 5) "Анализа различных сочетаний", а есть "выявленные комбинации/сочетания" (хотя тут со мной можно поспорить, если используются pooling слои, это можно назвать анализом; но в оригинальной картинке текст другой).

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

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

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