Механизм внимания и его многочисленные варианты, исследованные в разделе "Визуальный ответ на вопрос"

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

Однако многие вопросы требуют сосредоточения внимания на определенных частях изображения или определенных словах в вопросе или их комбинации. Например, рассмотрите изображение и вопрос ниже. Чтобы ответить на этот вопрос, модель должна сосредоточиться на теннисной ракетке и теннисном мяче. Ванильная модель VQA изо всех сил пытается сосредоточиться на таких небольших, но релевантных областях изображений, в первую очередь потому, что содержимое двух модальностей (изображение и текст) сжимается в единые векторные представления.

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

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

Одиночное внимание

Есть много разных способов получить вложения для вопроса и изображения для целей VQA. Я обсуждаю некоторые из этих вариаций в предыдущем посте. Для целей этого обсуждения предположим, что следующие механизмы внедрения (как показано на рисунке ниже).

Вопрос: вопрос передается через двунаправленную LSTM, после чего финальные скрытые состояния с двух направлений объединяются для формирования d-мерного вложения вопроса. Назовем это v_Q ∈ ℝ ^ (d x 1).

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

В отличие от ванильных архитектур VQA, которые представляли все изображение как единое вложение, теперь у нас есть набор встраиваний, которые представляют различные части изображения. Представление изображения в виде набора внедренных областей позволит модели сфокусироваться на одной или нескольких из этих областей. Этот тензор изменяется, а затем проецируется посредством линейного преобразования в d мерное пространство, чтобы соответствовать размерности вложения вопроса. Назовем полученную матрицу v_I ∈ ℝ ^ (d x T), где T = c x c и назовите i-й вектор-столбец, относящийся к i-й области, как v_i.

Ключевым элементом механизма внимания является взаимодействие между внедрением вопроса и каждым внедрением изображения, что позволяет сети сосредоточиться на различных областях изображения, обусловленных вопросом. Каждое взаимодействие приводит к оценке, называемой весом внимания, которая обозначает релевантность этой области изображения для вопроса, а результирующий вектор оценок, p_att, упоминается как вектор веса внимания. К этому вектору применяется операция softmax, которая требует, чтобы сумма весов внимания равнялась 1.

Взаимодействие между областями вопроса и изображения можно моделировать несколькими способами. Один из простых методов - вычислить вес внимания как косинусное сходство между вопросом и вложенным изображением.

p_att = softmax (1 (v_Iv_Q))

где ⊙ обозначает поэлементное умножение между каждым столбцом матрицы v_I и вектором-столбцом v_Q. 1 представляет собой вектор-строку из всех единиц и используется для суммирования элементов вектора, на который он умножается.

Это взаимодействие не требует параметров. Простое расширение, которое работает лучше, - сделать это взаимодействие параметрическим, например:

h_att = W_I × v_I ⊕ (W_Q × v_Q + b_Q)

p_att = softmax (W_h × h_att + b_h)

где W_I ∈ ℝ ^ (k x d) и W_Q ∈ ℝ ^ (k x d) проецирует вложения в пространство размерности k, ⊕ обозначает поэлементное сложение между каждым столбцом матрицы и полным вектором, а W_h преобразует k -мерные значения внимания в единую оценку для каждого взаимодействия. (Примечание: × относится к обычному умножению матриц).

Вектор веса внимания p_att, который получается в результате любого из вышеуказанных методов взаимодействия, означает релевантность различных частей изображения вопросу. Чем выше вес, тем релевантнее область изображения. Следовательно, мы используем эти веса внимания, чтобы линейно объединить набор вложений изображений в один вектор вложения. Получающееся в результате встраивание 𝕧_I можно рассматривать как отфильтрованную версию содержимого изображения, которая лучше всего помогает ответить на вопрос.

𝕧_I = ∑_i (p_att [i] v_i)

В остальном модель VQA напоминает ванильную архитектуру. Встраивание отфильтрованного изображения добавляется к встраиванию вопроса для создания агрегированного вектора ϕ

ϕ = 𝕧 + v_Q

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

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

Механизмы внимания были широко приняты во многих различных архитектурах VQA и дали хороший прирост точности. Еще один интересный результат внимания - способность визуализировать веса внимания. Это делается путем простой визуализации вектора весов в виде тепловой карты, где большие веса отражают более релевантные, а маленькие - менее релевантные части изображения.

На изображении ниже показаны примеры работы механизма внимания в модели VQA. (Примечание: приведенные ниже примеры взяты из модели, которая немного более сложна, чем модель внимания с одним прыжком, но они все же показывают виды карт внимания, которые возникают в результате таких архитектур.) Интересно видеть, что модель выбирает обратите внимание на бейсбольную перчатку, чтобы определить вид спорта, раковину, чтобы определить комнату, и снег (практически везде), чтобы определить сезон.

Множественное внимание к прыжкам

В то время как один переход внимания позволяет моделям сосредоточиться на небольших участках изображения, некоторые вопросы могут выиграть от серии обращений, каждый из которых фокусируется на отдельной части изображения. Например, рассмотрите вопрос: Какого цвета автобус рядом с синей машиной?. Для этого необходимо сначала определить местонахождение синей машины, а затем найти рядом с ней автобус и определить его цвет. Это требует, чтобы модель сфокусировалась на двух частях изображения (автомобиль и автобус). Исследования показали, что последовательное многократное задействование механизма внимания может улучшить работу моделей.

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

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

Узнайте больше об одно- и многоэтапных архитектурах VQA внимания здесь:

Сети с накоплением внимания для ответа на вопрос с изображением

Цзычао Ян, Сяодун Хэ, Цзяньфэн Гао, Ли Дэн, Алекс Смола

CVPR 2016

Архитектура с двумя переходами продемонстрировала улучшения по сравнению с архитектурами с одним переходом, но переход к большему количеству переходов, превышающему два, обычно не дает значительного выигрыша. Вероятно, это связано с тем, что в существующих наборах данных VQA не так много вопросов, которые требовали бы, чтобы модель обходила изображение слишком много раз, и тем фактом, что существующие механизмы для добавления переходов недостаточно эффективны для получения хороших результатов. В этом направлении необходимы дополнительные исследовательские усилия.

Внимание как условный механизм выбора признака

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

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

Стандартные архитектуры VQA используют один тензор, извлеченный из CNN, в качестве встраиваемого изображения, но ответ на вопрос потенциально может лежать в другом тензоре в сети. Например, если для ответа на вопрос требуется проанализировать текстуру объекта, эта информация может потенциально находиться в пределах тензора на более ранних этапах сети. Чтобы учесть это, можно использовать механизм внимания для выбора среди тензоров встраивания изображений на разных уровнях CNN. Основная идея состоит в том, чтобы вычислить веса внимания по всем тензорам, суммировать веса внутри тензора, а затем softmax по слоям, чтобы получить веса внимания (по одному для каждого слоя CNN).

Узнайте больше об аналогичных идеях и их применении в VQA и подписи к изображениям здесь:

Улучшенное слияние визуальных и языковых представлений за счет плотного симметричного совместного внимания для визуального ответа на вопрос

Дуй-Киен Нгуен, Такаюки Окатани

CVPR 2018

SCA-CNN: Пространственное и поканальное внимание в сверточных сетях для создания субтитров

Лун Чен, Ханван Чжан, Цзюнь Сяо, Лицян Не, Цзянь Шао, Вэй Лю, Тат-Сенг Чуа

CVPR 2017

Внимание к изображению и вопросу

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

Концептуально внимание к словам в вопросе похоже на внимание к областям изображения. Подобно тому, как изображение преобразуется в набор вложений, по одному на регион, вопрос преобразуется в набор вложений, по одному на слово; и учитывая вектор обусловливания, механизм внимания действует как фильтр над заданным набором вложений слов. Необходимо учитывать несколько нюансов, таких как природа обусловливающего вектора, порядок внимания между двумя модальностями и т. Д., Которые приводят к некоторым вариациям.

Некоторые из этих вариантов обсуждаются ниже и изображены на следующем изображении.

Независимое внимание. Один из методов - уделять вопросительным словам внимание так же, как внимание к областям изображения, и делать это независимо на каждом переходе внимания. Вопрос относится к областям изображения, а изображение относится к вопросительным словам, и это повторяется через переходы. Результирующие совокупные векторы из двух модальностей объединяются и обрабатываются для получения ответа.

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

Совместное внимание: этот метод включает создание матрицы сродства C ∈ ℝ ^ (T x N) (T = количество областей изображения, N = количество слов), который измеряет релевантность между каждым словом в вопросе и каждой областью изображения с использованием выученного вычисления сходства. (Примечание. В приведенном ниже уравнении ^ T означает транспонирование матрицы.)

C = tanh (v_Q ^ T × W × v_I)

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

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

Узнайте больше о том, как обращаться с областью изображения и вопросительными словами, здесь:

Иерархическое со-внимание вопрос-образ для визуального ответа на вопрос

Цзясен Лу, Цзяньвэй Ян, Дхрув Батра, Деви Парикх

Neurips 2016

Сети двойного внимания для мультимодальных рассуждений и сопоставления

Хёнсоб Нам, Чон-У Ха, Чонхи Ким

CVPR 2017

Контекстуализация встраиваемых изображений

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

Очевидный способ добавить контекст к встраиваемым изображениям - передать их через двунаправленный LSTM (с одним или несколькими слоями) аналогично встраиванию слов. Вложения изображений, полученные из CNN, представляют информацию о регионах, которые равномерно разнесены на двумерной сетке. Хотя прохождение их через одномерную рекуррентную модель, кажется, нарушает это предположение, во многих работах (за пределами VQA) было обнаружено, что это работает очень хорошо и не ухудшает производительность по сравнению с более сложной двумерной сетью блоков обработки.

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

Эти методы изображены на изображении ниже.

Узнайте больше об эффектах контекстуализации встраиваемых изображений с помощью повторяющихся моделей здесь:

Многоуровневые сети внимания для визуального ответа на вопрос

Дунфэй Ю, Цзяньлун Фу, Тао Мэй, Юн Руи

CVPR 2017

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

Динамическое слияние с интра- и интермодальным потоком внимания для визуального ответа на вопрос

Пэн Гао, Чжэнкай Цзян, Хаосюань Ю, Пан Лу, Стивен Хой, Сяоган Ван, Хуншэн Ли

CVPR 2019

Кроме того, систематическая архитектура, которая включает в себя несколько уровней самовнимания с перекрестным вниманием, - это архитектура Transformer, которая в последнее время стала довольно популярной в сообществах видения и НЛП. Узнайте больше о Трансформерах здесь:

Внимание - все, что вам нужно

Ашиш Васвани, Ноам Шазир, Ники Пармар, Якоб Ушкорейт, Ллион Джонс, Эйдан Н. Гомес, Лукаш Кайзер, Илья Полосухин

NeurIPS 2017

Вывод

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

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

Следуйте за AI2 в Twitter @allen_ai | Следуйте за Ани Кембхави @anikembhavi