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

"В последний раз это произошло..."

Подумайте, как мы перемещаем собственное внимание, просматривая воспоминания в поисках соответствующих переживаний. «О, эта красная стрелка наклоняется… в прошлый раз, когда это случилось, моя машина начала тлеть. Я должен остановиться. Мы имеем в виду текущую цель («ехать по своей полосе»), но часть входных данных нашей среды была неожиданной («наклон красной стрелки»), и мы сканируем похожий экземпляр («последний раз это случилось…’). Мы продолжаем просматривать наши воспоминания, пока не находим прошлый пример, который был похож в соответствующих отношениях («также наклон красной стрелки»), хотя другие аспекты этого воспоминания могут отличаться («Я был на дорога в Бейкерсфилд, в то время»). То есть мы применяем фильтр внимания, чтобы решить, какие высокоуровневые абстракции должны присутствовать в нашем «совпадении». И когда мы находим совпадение, мы создаем новую цель («остановиться»), которая просачивается обратно к нашему планированию более низкого уровня («сигнал поворота, посмотри в правое зеркало…»), чтобы благополучно доставить нас на обочину.

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

Кроме того, наше внимание обращается к памяти и просматривает наши воспоминания, пока не найдет подходящий. «В прошлый раз, когда это случилось…» — это вызов воспоминаний, которые были похожи в «этом» смысле, хотя они могут различаться во всех остальных отношениях. Наши воспоминания хранят набор абстракций о событиях, а не точные пиксели. Итак, когда мы ищем «последний раз», мы применяем фильтр внимания к набору высокоуровневых абстракций в памяти. В примере с «перегревом автомобиля» мы ищем в воспоминаниях «последний раз, когда красная стрелка наклонилась», игнорируя при этом «когда я в последний раз ехал по этой улице». Большинство высокоуровневых абстракций, хранящихся в памяти, не имеют значения — мы просматриваем только несколько высокоуровневых абстракций за раз. (Это эквивалентно поиску k ближайших соседей в небольшом подмножестве измерений в векторе признаков автоэнкодера. В этом отношении наши собственные центры памяти могут фактически работать так же, как kNN высокого уровня.)

Следуйте за прыгающим мячом

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

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

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

Рисование высокого уровня внимания

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

Абстрактное кодирование

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

Виды точности

Наша сеть внимания должна оценить, на что обратить внимание. Как правило, если что-то можно изменить без изменения результата, то это изменение не имеет значения и может быть отфильтровано. Это верно не только для периферийных пикселей, но и для «периферийных» размеров закодированного вектора признаков. Таким образом, когда сеть точно предсказывает периферийные пиксели или функции, эта точность не учитывается. Имеет значение только точность выбранных фильтром объектов. (То есть фильтр внимания применяется и к функции потерь!)

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

Объяснение аналогов

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

Структурно этот процесс формирования аналогии требует добавления слоя нейронов над слоем кодирования, и этот «слой аналогии» должен быть обучен находить соответствие между подмножествами закодированных признаков. В один момент кодирование сети видения может зарегистрировать функции «A», «B» и «C» как активные, а в следующий момент она получает вознаграждение, в то время как в предыдущий момент активными были только «A» и «B». не имел последующего вознаграждения. Точно так же за «E», «F» и «G» следовала награда, в то время как «E» и «F» сами по себе не приносили никакой награды. «Аналогический слой» будет искать и сравнивать гипотезы, которые абстрагируются от всех этих случаев — например, «A:E, B:F, C:G, и все три должны присутствовать», или более простые гипотеза: «C и G приносят вознаграждение, остальные функции были случайными». Если отображение последовательно связывает один набор переживаний с другим, уровень аналогии вознаграждается. (Сеть изучает операции симметрии над компонентами векторов признаков, которые влияют на результаты.)

Придумать объяснение

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

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

Обязательные качества опыта

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