Механизмы внимания в глубоком обучении

Google искусственный интеллект глубокое обучение NLP

Автор | Чжан Цзюньлинь

Главный редактор | Хэ Юнкан

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

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

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

визуальное внимание человека

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

Рисунок 1 Зрительное внимание человека

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

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

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

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

Фреймворк кодировщик-декодер

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

Фреймворк Encoder-Decoder можно рассматривать как исследовательский режим в области глубокого обучения, а сценарии применения чрезвычайно широки. Рисунок 2 является наиболее абстрактным представлением структуры Encoder-Decoder, обычно используемой в области обработки текста.

Рис. 2. Инфраструктура Encoder-Decoder в поле обработки абстрактного текста

Среду Encoder-Decoder в области обработки текста можно понять интуитивно: ее можно рассматривать как общую модель обработки, подходящую для обработки одного предложения (или главы) для создания другого предложения (или главы). Для пары предложений наша цель состоит в том, чтобы предоставить входное предложение Source и ожидать генерирования целевого предложения Target через структуру Encoder-Decoder. Источник и цель могут быть на одном языке или на двух разных языках. Источник и Цель состоят из собственной последовательности слов:

Кодировщик, как следует из названия, кодирует входное предложение Source и преобразует входное предложение в промежуточное семантическое представление C посредством нелинейного преобразования:

Для декодера Decoder его задача состоит в том, чтобы представить C и историческую информацию, которая была сгенерирована ранее в соответствии с промежуточной семантикой предложения Source. чтобы сгенерировать слово, которое будет сгенерировано во время i :

каждый гiВсе генерируются таким образом, поэтому кажется, что вся система генерирует целевое предложение Target в соответствии с входным предложением Source. Если Источник — китайское предложение, а Цель — английское предложение, то это кодировщик-декодер для решения задач машинного перевода; если Источник — статья, а Цель — предложение общего описания, то это кодировщик-декодер. Декодер для текстовых сводок Framework; если Источник — это вопрос, а Цель — ответ, то это фреймворк Encoder-Decoder для систем ответов на вопросы или диалоговых роботов. Видно, что в области обработки текста область применения Encoder-Decoder довольно обширна.

Фреймворк Encoder-Decoder широко используется не только в текстовом поле, но и в распознавании речи, обработке изображений и других областях. Например, для распознавания речи полностью применима структура, показанная на рисунке 2. Отличие состоит в том, что на входе части Encoder — голосовой поток, а на выходе — соответствующая текстовая информация, для задачи «описание изображения» Вход части кодировщика - это часть изображения. Выходом декодера является дескриптор, который может описывать семантическое содержание изображения. Вообще говоря, кодирующая часть обработки текста и распознавания речи обычно использует модель RNN, а кодирующая часть обработки изображений обычно использует модель CNN.

Модель внимания

В этом разделе сначала используется машинный перевод в качестве примера для объяснения основных принципов наиболее распространенной модели Soft Attention, а затем абстрагируется основная идея механизма внимания, отказываясь от фреймворка Encoder-Decoder, а затем кратко вводится широко используемая в последнее время Основная идея Самовнимания.

Модель мягкого внимания

Структура кодировщика-декодера, показанная на рисунке 2, не отражает «модель внимания», поэтому ее можно рассматривать как модель невнимательного отвлечения внимания. Почему вы говорите, что он не сфокусирован? Пожалуйста, наблюдайте за процессом генерации каждого слова в целевом предложении Target следующим образом:

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

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

Если для объяснения структуры кодировщика-декодера этой модели отвлечения используется машинный перевод, его лучше понять. Например, если входными данными является английское предложение: Том Чейз Джерри, структура кодировщика-декодера постепенно генерирует китайские слова: «Том ", "Чейз", "Джерри"".

При переводе китайского слова «Джерри» каждое английское слово в модели отвлечения вносит тот же вклад в целевое слово перевода «Джерри», что, очевидно, здесь неразумно. «Рэй» важнее, но модель отвлечения не отражает этого. , поэтому не привлекает внимание.

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

В приведенном выше примере, если модель внимания введена, она должна отражать различные степени влияния английских слов на перевод текущих китайских слов при переводе «Джерри», например, давая значение распределения вероятностей, подобное следующему:

(Том, ​​0,3) (Чейз, 0,2) (Джерри, 0,5)

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

Точно так же каждое слово в целевом предложении должно узнать информацию о вероятности распределения внимания соответствующего ему слова в исходном предложении. Это означает, что после генерации каждого слова Когда исходное то же самое промежуточное семантическое представление C будет заменено текущим сгенерированным словом, которое постоянно изменяется. . Ключ к пониманию модели внимания находится здесь, то есть фиксированное промежуточное семантическое представление C заменяется изменением модели внимания, которая настраивается в соответствии с текущим выходным словом. . Структура Encoder-Decoder с добавленной моделью внимания понимается так, как показано на рисунке 3.

Рис. 3. Структура Encoder-Decoder, представляющая модель внимания

То есть процесс генерации слов целевого предложения принимает следующий вид:

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

Среди них функция f2 представляет собой определенную функцию преобразования кодировщика на входных английских словах.Например, если кодировщик является моделью RNN, результатом этой функции f2 часто является ввод в определенное время.Значение состояния узла заднего скрытого слоя; g представляет собой функцию преобразования кодировщика, синтезирующего промежуточное семантическое представление всего предложения в соответствии с промежуточным представлением слова. В общем, функция g представляет собой взвешенную сумму составляющих элементов , то есть следующая формула:

в,представляет собой длину входного предложения Source, Представляет коэффициент распределения внимания j-го слова во входном предложении Source, когда Target выводит i-е слово, и является семантическим кодированием j-го слова во входном предложении Source. ПредположениеНижний индекс i — это «Том», упомянутый в приведенном выше примере, тогдаЭто 3, h1=f("Том"), h2=f("Чейз"), h3=f("Джерри") - семантическое кодирование каждого слова входного предложения, и соответствующие веса модели внимания соответственно 0,6, 0,2, 0,2, поэтому функция g по существу представляет собой функцию взвешенной суммы. Если его представить визуально, то при переводе китайского слова «Томь» промежуточное семантическое представление, соответствующее математической формуле Процесс формирования аналогичен рисунку 4.

Рисунок 4 Процесс формирования внимания

Вот еще один вопрос: при генерации слова в целевом предложении, такого как «Том», как узнать значение распределения вероятности распределения внимания входного слова предложения, требуемого моделью внимания? То есть распределение вероятностей каждого слова во входном предложении. Источник, соответствующий «Тому»: (Том, ​​0,6) (Чейз, 0,2) (Джерри, 0,2) Как его получить?

Для иллюстрации предположим, что структура кодировщика-декодера модели без внимания на рисунке 2 усовершенствована.Кодер принимает модель RNN, а декодер также принимает модель RNN.Это относительно распространенная конфигурация модели. Каркас на рис. 2 преобразован в рис. 5.

Рис. 5. Структура кодировщика-декодера RNN как конкретной модели

Затем можно использовать рис. 6, чтобы более удобно проиллюстрировать общий процесс вычисления значения распределения вероятности распределения внимания.

Рисунок 6 Расчет вероятности распределения внимания

Для декодера, использующего RNN, в момент времени i, если вы хотите сгенерировать yiсловом, мы можем знать, что Target генерирует В предыдущий момент времени i-1 выходное значение узла скрытого слоя в момент времени i-1, и наша цель состоит в том, чтобы вычислитьПри вводе пары слов «Том», «Чейз», «Джерри» в предложение Для распределения вероятности распределения внимания вы можете использовать Target для вывода состояния узла скрытого слоя в момент i-1 предложения. Перейти к состоянию узла скрытого слоя RNN h, соответствующему каждому слову во входном предложении ИсточникjДля сравнения, то есть через функцию F( ,), чтобы получить целевое слово И возможность выравнивания, соответствующая каждому входному слову, эта функция F может использовать разные методы в разных статьях, а затем вывод функции F нормализуется Softmax для получения вероятности распределения внимания, которая соответствует диапазону значений распределения вероятности. распределение ценностей.

Большинство моделей внимания используют приведенную выше структуру расчета для расчета информации о распределении вероятности распределения внимания, разница только в определении F может быть другим. На рис. 7 наглядно показано распределение вероятностей распределения внимания, соответствующее каждому слову в двух предложениях Source и Target после добавления механизма Attention в англо-немецкую систему перевода.

Рис. 7. Распределение вероятности внимания для англо-немецкого перевода

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

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

Рис. 8. Структурная схема системы машинного перевода на основе нейронной сети Google.

На рисунке 8 показана система машинного перевода на основе нейронной сети, которую Google развернула онлайн в 2016 г. По сравнению с традиционной моделью эффект перевода был значительно улучшен, а частота ошибок перевода снижена на 60%. плюс структура Encoder-Decoder механизма Attention, основное отличие которого состоит в том, что его Encoder и Decoder используют 8-уровневую наложенную модель LSTM.

Основная идея механизма внимания

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

Рисунок 9 Основная идея механизма Attention

Мы можем посмотреть на механизм Attention таким образом (см. рис. 9): представьте, что составные элементы в источнике состоят из серии пар данных . , вычислив Запрос Сходство или корреляцию с каждым Ключом, получают весовой коэффициент каждого Ключа, соответствующего Значением, а затем получают взвешенную сумму Значение, то есть получают окончательное значение Внимания. Итак, по сути, механизм Attention взвешивает и суммирует значения Value элементов в Source, а Query и Key используются для вычисления весового коэффициента соответствующего Value. То есть его существенную идею можно переписать в виде следующей формулы:

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

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

Другое понимание можно получить из рисунка 9. Механизм Attention также можно рассматривать как своего рода мягкую адресацию (Soft Addressing): Источник можно рассматривать как содержимое, хранящееся в памяти.Элемент состоит из адреса Key и значения Value В настоящее время существует запрос Key =Query, целью которого является получение соответствующего значения Value в памяти, то есть значения Attention. Адресация выполняется путем сравнения сходства между Запросом и адресом элемента Ключ в памяти.Причина, по которой она называется мягкой адресацией, означает, что в отличие от общей адресации она находит только часть содержимого из сохраненного содержимого, но это возможно чтобы найти фрагмент контента из каждого адреса ключа. Контент будет удален, и важность извлечения контента будет определена в соответствии с сходством между запросом и ключом, а затем значение взвешено и суммировано, так что окончательный Значение значения, то есть значение Внимание, можно вынуть. Поэтому многие исследователи рассматривают механизм Attention как частный случай мягкой адресации, что также весьма разумно.

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

Рис. 10 Трехэтапный расчет процесса «Внимание»

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

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

Результаты расчета второго этапаэтоСоответствующий весовой коэффициент, а затем взвешенное суммирование для получения значения Внимание:

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

Модель собственного внимания

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

В рамках общих задач Encoder-Decoder входной источник и выходное целевое содержимое различаются.Например, для англо-китайского машинного перевода исходным является английское предложение, а целевым является соответствующее переведенное китайское предложение.Механизм внимания происходит между элементом Query of Target и всеми элементами в Source. Как следует из названия, самовнимание относится не к механизму внимания между целью и источником, а к механизму внимания, который возникает между элементами внутри источника или между элементами внутри цели.Его также можно понимать как внимание в особом случае цели= Источник, компьютерная система. Конкретный процесс расчета тот же, но изменился объект расчета, поэтому детали процесса расчета здесь повторяться не будут.

Если обычный Target не равен расчету внимания в случае Source, его физический смысл такой же, как указано выше.Например, для машинного перевода это, по сути, механизм выравнивания слов между словами целевого языка и словами исходного языка. Итак, если это механизм Самовнимания, то возникает естественный вопрос: какие правила были усвоены или какие черты извлечены с помощью Самовнимания? Или в чем выгода или польза от введения внимания к себе? Мы по-прежнему используем самовнимание в машинном переводе для иллюстрации.Рисунок 11 и рисунок 12 являются визуальным представлением связей, генерируемых самовниманием между словами в одном и том же английском предложении.

Рис. 11 Пример визуального самоконтроля

Рис. 12. Пример визуального самоконтроля

Как видно из двух рисунков (рис. 11, рис. 12), самовнимание может улавливать некоторые синтаксические признаки (такие как структура фразы с определенным расстоянием, показанная на рис. 11) или семантические признаки (такие, как рис. 12) между словами в в том же предложении Референт отображал его (Закон).

Очевидно, что после введения Self Attention будет легче фиксировать в предложениях дальние взаимозависимые признаки, потому что если это RNN или LSTM, то его нужно вычислять последовательно, а для дальних взаимозависимых признаков нужно проходить через несколько временных шагов.Накопление информации может связать их, и чем дальше расстояние, тем меньше вероятность того, что она будет эффективно зафиксирована.

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

Применение механизма внимания

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

Рис. 13. Рисунок — структура Encoder-Decoder, описывающая задачу

Image-Caption — это типичное приложение для глубокого обучения, которое объединяет изображение и текст.Вводите изображение, система искусственного интеллекта выводит описательное предложение и семантически эквивалентно описывает содержание изображения. Очевидно, что этот сценарий приложения также может использовать структуру Encoder-Decoder для решения поставленной задачи.В настоящее время входной частью Encoder является изображение, и CNN обычно используется для извлечения признаков из изображения, а часть Decoder использует RNN или LSTM для вывода предложений на естественном языке (см. рисунок 13).

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

Рисунок 14 Зона фокусировки внимания, когда образ генерирует каждое слово в предложении

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

Рис. 15. Эффект фокусировки механизма «Внимание» в задаче описания изображения

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

Целью задачи распознавания речи является преобразование сигнала речевого потока в текст, поэтому это также типичный сценарий применения Encoder-Decoder. Вход Source части Encoder — это сигнал голосового потока, а часть Decoder выводит строковый поток, соответствующий голосу.

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

В приведенном выше содержании выбраны лишь несколько типичных примеров применения механизма внимания в различных областях ИИ.Архитектура Encoder-Decoder plus Attention широко используется в области глубокого обучения из-за ее отличного практического эффекта.Решение реальных задач может иметь большое значение. помощь.

Об авторе: Чжан Цзюньлинь, доктор философии, Институт программного обеспечения Китайской академии наук, работал старшим техническим экспертом и техническим директором компаний Alibaba, Baidu, UFIDA и др. В настоящее время он является старшим экспертом по алгоритмам в Sina Weibo AI Lab, сосредоточив внимание на применении глубокого обучения в обработке естественного языка. 

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

CSDN AI стремится поделиться, добро пожаловать, чтобы отсканировать код и следовать