Внимание — это механизм (механизм), используемый для улучшения эффекта модели кодировщик + декодер на основе RNN (LSTM или GRU), широко известный как механизм внимания. Механизм внимания в настоящее время очень популярен и широко используется во многих областях, таких как машинный перевод, распознавание речи и субтитры к изображениям (Image Caption). модель более гибкая (мягкая). В то же время само внимание может использоваться как отношение выравнивания для объяснения перевода между входными/выходными предложениями. Отношение выравнивания, объясняющее, чему научилась модель, предоставляет нам окно, чтобы открыть черный ящик глубокого обучения, как показано на рисунке 1.
Рисунок 1. Визуализация внимания в НЛП
В качестве другого примера, при добавлении аннотации к изображению можно объяснить степень влияния различных областей изображения на выходную текстовую последовательность.
Рисунок 2. Визуализация внимания в аннотации к изображению
Из вышеприведенного применения механизма внимания в аннотации изображения можно обнаружить, что механизм внимания очень похож на механизм наблюдения людей за внешними вещами.Когда люди наблюдают за внешними вещами, они обычно не рассматривают вещи в целом и склонны чтобы смотреть на них по мере необходимости Выборочно получать некоторые важные части наблюдаемого объекта Например, когда мы видим человека, мы часто сначала обращаем внимание на лицо человека, а затем объединяем информацию разных областей, чтобы сформировать общее впечатление наблюдаемый объект.следовательно,Механизм внимания может помочь модели присвоить разные веса каждой части входных данных X, извлечь более критическую и важную информацию, чтобы модель могла выносить более точные суждения, и в то же время не увеличивать накладные расходы при расчете. и хранения модели, поэтому Attention Mechanism так широко используется.
Опираясь на эти базовые знания, я буду вводить другие детали механизма внимания одну за другой.В содержании, которое я напишу, я в основном представлю следующие знания:
1. Принцип механизма внимания
1.1 Основные проблемы, которые должен решить механизм внимания
1.2 Принцип механизма внимания
2. Классификация механизмов внимания
Базовая структура внимания
2.1 Мягкое внимание и жесткое внимание
2.2 Глобальное внимание и местное внимание
2.3 Self Attention
Комбинированная структура внимания
2.4 Hierarchical Attention
2.5 Attention in Attention
2.3 Multi-Step Attention
3. Сценарии применения Внимание
3.1 Машинный перевод
3.2 Капитан изображения
3.3 Извлечение результатов
3.4 Распознавание речи
3.5 Автоматическое создание сводки (обобщение текста)
1. Принцип механизма внимания
1.1 Основные проблемы, которые должен решить механизм внимания
«Sequence to Sequence Learning with Neural Networks» представляет модель Seq2Seq, основанную на RNN, на основе кодировщика и декодера для построения модели сквозного машинного перевода на основе нейронной сети, где кодировщик кодирует вход X в фиксированный скрытый вектор Z длины, декодер декодирует целевой вывод Y на основе скрытого вектора Z. Это очень классическая модель последовательных последовательностей, но естьДве очевидные проблемы:
1. Сжать всю информацию ввода X в скрытый вектор фиксированной длины Z, игнорируя длину входного ввода X, когда длина входного предложения очень длинная, особенно когда она длиннее исходной длины предложения в обучении. набор, производительность модели резкое снижение.
2. Закодировать ввод X в фиксированную длину и присвоить одинаковый вес каждому слову в предложении.Это неразумно.Например, в машинном переводе между входным предложением и выходным предложением часто входное одно или несколько слов соответствуют одному или нескольким словам вывода. Следовательно, присвоение одинакового веса каждому слову входных данных, которое не различает, часто снижает производительность модели.
Та же проблема существует и в области распознавания изображений.Сверточная нейронная сеть CNN выполняет одинаковую обработку на каждой области входного изображения, которая не имеет дискриминации, особенно когда размер обрабатываемого изображения очень велик, проблема более очевиден. Поэтому в 2015 году Дмитрий Богданов и др. предложили Механизм внимания в «Нейронном машинном переводе путем совместного обучения выравниванию и переводу», который используется для присвоения разных весов разным частям ввода X для достижения цели мягкого различия.
1.2 Принцип механизма внимания
Чтобы представить структуру и принцип механизма внимания, нам сначала нужно представить структуру модели Seq2Seq. Модель Seq2Seq на основе RNN в основном представлена двумя статьями, но используются разные модели RNN. Илья Суцкевер и др. использовали LSTM для построения модели Seq2Seq в статье «Sequence to Sequence Learning with Neural Networks» в 2014 году. Впоследствии, в 2015 году, Кёнхён Чо и др. в статье «Изучение представлений фраз с использованием Кодер-декодер RNN для статистического машинного перевода» предлагает модель Seq2Seq на основе GRU. Основная проблема модели Seq2Seq, предложенной в двух статьях, заключается в том, как в машинном переводе сопоставить вход переменной длины X с выходом переменной длины Y. Основная структура показана на рисунке 3.
Рис. 3. Традиционная структура Seq2Seq
Среди них Encoder кодирует преобразованную входную последовательность x1, x2, x3....xt в скрытый вектор фиксированной длины (фоновый вектор или контекстный вектор контекста) c, c имеет две функции: 1. Как начальный вектор Инициализировать модель декодера как начальный вектор для модели декодера, чтобы предсказать y1. 2. В качестве фонового вектора он направляет вывод y для каждого шага в последовательности y. Декодер в основном декодирует вывод yt в этот момент времени t на основе фонового вектора c и вывода yt-1 предыдущего шага до тех пор, пока не встретится знак окончания (
Как упоминалось выше, в традиционной модели Seq2Seq отсутствует различение входной последовательности X. Поэтому в 2015 году Кёнхён Чо и др. представили механизм внимания в статье «Изучение представлений фраз с использованием кодировщика-декодера RNN для статистического машинного перевода», чтобы решить проблему. Для этой задачи предложенная ими структура модели показана на рисунке 4.
Рис. 4 Схема модуля Attention Mechanism
В этой модели определяется условная вероятность:
Среди них si — это скрытое состояние RNN в декодере в момент времени i, как показано на рисунке 4, и формула его расчета:
Метод расчета фонового вектора ci здесь отличается от метода расчета прямого накопления в традиционной модели Seq2Seq, ci здесь является взвешенным значением, и его выражение показано в уравнении 5:
Среди них i представляет i-е слово на стороне кодировщика, hj представляет j-е слово на стороне кодировщика и скрытый вектор слова, aij представляет вес между j-м словом на стороне кодировщика и i-е слово на стороне дешифратора, представляющее исходную сторону.Степень влияния слова на i-е слово цели, формула расчета aij представлена в формуле 6:
В уравнении 6 aij — это выходные данные модели softmax, а сумма значений вероятности равна 1. eij представляет модель выравнивания, которая используется для измерения позиции j слов на стороне кодировщика и степени выравнивания (степени влияния) позиции i слов на стороне декодера Воздействие слова в позиции j. Существует много способов расчета модели выравнивания eij.Разные методы расчета представляют разные модели внимания.Простейшей и наиболее часто используемой моделью выравнивания является матрица скалярного произведения, то есть выходное скрытое состояние ht целевого конца и выходное скрытое состояние исходного конца Выполните матричное умножение. Общие расчеты выравнивания следующие:
Среди них Score(ht,hs) = aij представляет собой степень соответствия между исходным и целевым словом. Можно видеть, что распространенные методы расчета соотношения выравнивания включают скалярное произведение (Dot product), весовое сетевое отображение (общее) и последовательное отображение.
2. Классификация механизмов внимания
2.1 Мягкое внимание и жесткое внимание
Кельвин Сю и др. опубликовали статью «Покажи, посети и расскажи: генерация нейронной подписи к изображению с помощью визуального внимания» в 2015 году и представили внимание в подписи к изображению.При создании i-го слова об описании содержимого изображения используйте внимание ассоциировать Область изображения, связанная с i словами. Кельвин Сюй и др. использовали в статье два механизма внимания: мягкое внимание и жесткое внимание. Традиционное внимание, которое мы описали ранее. Механизм мягкого внимания. Мягкое внимание параметризовано, поэтому им можно управлять, и его можно встроить в модель для прямого обучения. Градиент можно распространить обратно на другие части модели через модуль Attention Mechanism.
Напротив, Hard Attention — это случайный процесс. Hard Attention не будет выбирать выход всего энкодера в качестве своего входа.Hard Attention будет выбирать часть скрытого состояния входа в соответствии с вероятностью Si для расчета, а не скрытое состояние всего энкодера. Чтобы реализовать обратное распространение градиента, необходимо использовать метод выборки Монте-Карло для оценки градиента модуля.
Оба механизма внимания имеют свои преимущества, но в настоящее время все больше исследований и приложений склоняются к использованию мягкого внимания, поскольку его можно напрямую вывести для обратного распространения градиента.
2.2 Глобальное внимание и местное внимание
Глобальное внимание:То же, что и традиционная модель Attention. Все скрытые состояния используются для вычисления веса вектора контекста, то есть вектора выравнивания переменной длины at, длина которого равна длине входного предложения на стороне кодировщика. Структура показана на рисунке 5.
Рисунок 5 Схематическая диаграмма модели глобального внимания
В момент времени t сначала на основе скрытого состояния ht декодера и скрытого состояния hs источника вычисляется вектор скрытого веса выравнивания переменной длины at. Формула расчета следующая:
Среди них оценка - это функция, используемая для оценки отношения между ht и hs, то есть функция выравнивания, Обычно существует три метода расчета, о которых мы упоминали выше. Формула выглядит следующим образом:
После того, как получен вектор выравнивания at, вектор контекста ct может быть получен с помощью средневзвешенного значения.
Местное внимание:Очевидным недостатком Global Attention является то, что каждый раз все скрытые состояния на стороне кодировщика должны участвовать в вычислении, и накладные расходы на вычисление будут относительно большими, особенно когда предложение кодировщика слишком длинное, например, абзац или ст., КПД низкий Низкий. Поэтому для повышения эффективности появилось Местное внимание.
Локальное внимание — это метод внимания между мягким вниманием и жестким вниманием, предложенный Кельвином Сюй, то есть комбинация двух методов. Его структура показана на рисунке 6.
Рисунок 6 Схематическая диаграмма модели локального внимания
Local Attention сначала предскажет позицию pt, выровненную со стороны источника (положение выравнивания) для текущего слова на стороне декодера, а затем выберет окно на основе pt для вычисления фонового вектора ct. Формула расчета Position pt выглядит следующим образом:
Среди них S — длина предложения на стороне кодировщика, а vp и wp — параметры модели. В настоящее время формула расчета вектора выравнивания at выглядит следующим образом:
Короче говоря, глобальное внимание и локальное внимание имеют свои преимущества и недостатки.В практических приложениях глобальное внимание более распространено, потому что локальное внимание должно предсказывать вектор положения p, что приводит к двум проблемам: 1. Когда предложение кодировщика не очень длинное. , по сравнению с Global Attention объем вычислений существенно не уменьшается. 2. Предсказание вектора положения pt не очень точное, что непосредственно вычисляет точность локального внимания.
2.3 Self Attention
Самостоятельное внимание сильно отличается от традиционного механизма внимания: традиционное внимание вычисляет внимание на основе скрытого состояния исходной и целевой сторон, и результатом является зависимость между каждым словом на исходной стороне и каждым словом на целевой стороне. отношение. Но внимание к себе отличается. Оно выполняется на стороне источника и стороне цели соответственно. Только внимание к себе, относящееся к исходному входу или самому целевому входу, фиксирует зависимости между словами на стороне источника или на стороне цели. Внимание добавляется к вниманию, полученному на целевом конце, чтобы зафиксировать зависимости между словами и словами на исходном и целевом концах. Таким образом, внимание к себе лучше, чем традиционный механизм внимания.Одна из основных причин заключается в том, что традиционный механизм внимания игнорирует зависимости между словами в исходном или целевом предложениях.В отличие от этого, внимание к себе может не только получать зависимости между словами и слова на исходном и целевом концах также могут быть эффективно получены, как показано на рисунке 7.
Рис. 7. Пример визуализации собственного внимания. Рисунок взят из книги «Механизм внимания в глубоком обучении», Чжан Цзюньлинь.
Конкретный метод расчета собственного внимания показан на рисунке 8:
Рисунок 8 Схематическая диаграмма структуры модели All Attention
Входные входы кодировщика и входные выходы декодера, а также встраивание позиции используются в качестве соответствующих начальных входов, поэтому вопрос в том, как реализовано само внимание? Из структурной схемы All Attention можно обнаружить, что кодировщик и декодер объединены в стек с аналогичными блоками Multi-Head Attention, и каждый Multi-Head Attention Unit состоит из нескольких масштабируемых блоков Dot-Product Attention с похожими структурами. структура показана на рисунке 9.
Рис. 9 Схематическая диаграмма структуры Multi-Head Attention
Самостоятельное внимание также реализовано в блоке Scaled Dot-Product Attention. Как показано на левом рисунке выше, входные данные линейно преобразуются для получения соответственно Q, K и V. Обратите внимание, что Q, K и V поступают из Вход, но Просто веса линейно преобразованных матриц разные. Затем умножьте Q и K как скалярное произведение, чтобы получить зависимость между входными входными словами и словами, а затем выполните операции масштабирования, маски и softmax, чтобы получить окончательную матрицу собственного внимания. Преобразование масштаба предназначено для предотвращения того, чтобы входное значение было слишком большим, чтобы вызвать нестабильное обучение, а маска — для обеспечения временной последовательности.
Наконец, добавьте результаты собственного вычисления внимания на стороне кодировщика к декодеру как k и V и объедините выходные данные самого декодера как q, чтобы получить зависимость между вниманием на стороне кодировщика и вниманием на стороне декодера. .
Внимание Используются некоторые другие комбинации
2.4 Hierarchical Attention
Цзычао Ян и др. предложили иерархическое внимание для классификации документов в статье «Сети иерархического внимания для классификации документов». Иерархическое внимание строит два уровня механизма внимания.Первый уровень — это внимание к каждому слову в предложении, то есть внимание к слову; второй уровень — это внимание к каждому предложению в документе, то есть внимание к предложению. Структура сети показана на рисунке 10.
Рисунок 10 Схематическая диаграмма иерархической структуры внимания
Вся сетевая структура состоит из четырех частей: кодировщик последовательности слов, состоящий из двунаправленной RNN (GRU), а затем уровень внимания к словам на уровне слов; основанный на слое внимания слова, предложение, состоящее из кодировщика двунаправленных RNN, последний выходной слой — это слой внимания на уровне предложений.
2.5 Attention over Attention
Имин Цуй предложил механизм Attention Over Attention в статье «Нейронные сети с преобладанием внимания для понимания прочитанного» в 2017 году. Структура показана на рисунке 11.
Рисунок 11 Схематическая диаграмма структуры «Внимание над вниманием»
Два входа, Document и Query, используют двунаправленную RNN для извлечения признаков, соответственно, чтобы получить их соответствующие скрытые состояния h (doc) и h (query), а затем выполнить скалярное произведение на основе скрытых состояний запроса и doc для получить матрицу корреляции внимания запроса и документа. Затем выполните операцию softmax в направлении столбца (столбца), чтобы получить значение внимания a(t) запроса к документу; выполните операцию softmax в направлении строки (строки), чтобы получить значение внимания b (t) документа к запросу, а затем Накопить и усреднить в направлении столбца, чтобы получить усредненное значение внимания b(t). Наконец, на основе предыдущей операции внимания получаются a(t) и b(t), а затем выполняется операция внимания, т. е. внимание Особого внимания заслуживает матрица ассоциации между итоговым запросом и документом.
2.6 Multi-step Attention
В 2017 году Йонас Геринг и другие из Лаборатории искусственного интеллекта FaceBook предложили модель Seq2Seq, полностью основанную на CNN, в статье «Сверточная последовательность для последовательного обучения». В дополнение к этой самой важной функции в статье также используется многоуровневый механизм внимания, чтобы получить взаимосвязь между входными предложениями в кодере и декодере, структура показана на рисунке 12.
Рис. 12 Схематическая диаграмма структуры многоэтапного внимания
Модель Seq2Seq, полностью основанная на CNN, должна получать зависимости между словами во входном предложении путем наложения нескольких слоев, особенно когда предложение очень длинное, что является довольно идеальным результатом. Для каждого шага запоминания объема (ввод слова) скалярное произведение скрытого состояния кодера и скрытого состояния декодера вычисляется для получения окончательной матрицы внимания, а операция декодирования декодера управляется на основе окончательного Матрица внимания.
3. Сценарии применения Внимание
В этом разделе в основном приведены некоторые примеры обработки задач прогнозирования последовательности на основе внимания.Следующее содержимое организовано и переведено из:мастерство машинного обучения.com/внимание - приходите...
1. Машинный перевод
Учитывая французское предложение в качестве входной последовательности, переведите и выведите английское предложение в качестве выходной последовательности. Внимание используется для сопоставления того, насколько тесно каждое слово в выходной последовательности связано с конкретным словом во входной последовательности.
"Мы расширяем традиционную структуру кодер-декодер, давая декодеру возможность автоматически (мягко) искать набор входных последовательностей, связанных с целевым словом, когда оно генерируется. Это освобождает модель от необходимости вектор фиксированной длины, а также заставляет модель фокусироваться только на исходной информации, связанной с генерацией следующего целевого слова».
- Дмитрий Богданов и др., Нейронный машинный перевод путем совместного обучения выравниванию и переводу, 2015.
Соответствие между французскими и английскими словами объясняется Вниманием. Из статьи Дмитрия Богданова
2. Подпись к изображению
Механизм внимания на основе последовательностей можно применять к проблемам компьютерного зрения, чтобы помочь понять, как лучше всего использовать сверточные нейронные сети для удлинения описания содержимого изображения, также известного как заголовок.
Учитывая входное изображение, выведите описание изображения на английском языке. Использование Attention означает фокусировку на разных частях изображения для каждого слова в выходной последовательности.
«Мы предлагаем метод, основанный на механизме внимания, и добиваемся самых современных результатов на трех стандартных наборах данных… Мы также показываем, как можно использовать изученное внимание, чтобы лучше понять процесс создания модели, объяснить и продемонстрировать что выравнивание, усвоенное вниманием, очень согласуется с человеческим визуальным восприятием».
Кельвин Сю и др., Посещай и рассказывай: создание подписи к изображению на нейронных сетях с помощью визуального внимания, 2016 г.
Основываясь на «Внимании», когда слово в описании на английском языке генерируется, оно сильно зависит от области на картинке.
3. Рассуждение о последствиях
Учитывая описание сценария обещания и гипотезы (гипотезы) на английском языке, интерпретируйте отношение гипотезы (посылки) к гипотезе (гипотезе): противоречивое, релевантное или включающее.
Например:
Посылка: «Фотосъемка на свадьбе»
Гипотеза: «Кто-то женат»
Внимание используется для того, чтобы связать каждое слово в гипотезе со словом в предпосылке и наоборот.
«Мы предлагаем нейронную модель на основе LSTM, которая считывает два предложения за раз, чтобы определить отношение следствия между двумя предложениями, вместо того, чтобы независимо сопоставлять каждое предложение с семантическим пространством. Мы вводим слово за словом (слово за словом). слово) Механизм внимания для расширения этой модели, чтобы усилить способность модели к реляционным рассуждениям для пар слов или фраз. Модель превосходит традиционные модели, основанные только на LSTM, на 2,6 процентных пункта и достигает высшего достижения ».
- Тим Рокташель, Рассуждения о вовлеченности с нейронным вниманием, 2016 г.
На основе Внимание объяснить соответствие между словами и словами в посылках и предположениях
4. Распознавание речи
Учитывая сегмент английской речи в качестве входной последовательности, выведите соответствующую последовательность фонем.
Внимание используется для связывания каждой фонемы в выходной последовательности с определенным звуковым кадром во входной последовательности.
«Новая сквозная обучаемая архитектура распознавания речи, основанная на гибридном механизме внимания, который сочетает информацию о содержании и положении, чтобы помочь выбрать следующую позицию во входной последовательности для декодирования. Желательным свойством предлагаемой модели является то, что она может распознавать быстрее чем обученные Сосредоточьтесь на более длинных предложениях предложений».
— Ян Хоровски, «Модели распознавания речи на основе внимания», 2015 г.
Интерпретировать соответствие между выходной фонемой и входным звуковым сегментом на основе внимания.
5. Генерация текстовой сводки
Учитывая английскую статью в качестве входной последовательности, выведите краткое предложение, обобщающее внимание к английской статье.
Внимание используется для того, чтобы связать каждое слово в выходной сводке с определенным словом во входном документе.
«Нейронная сеть, основанная на внимании, извлекает сводки терминов. Мы объединяем эту вероятностную модель с генеративным алгоритмом, который дает точные сводки».
- Александр М. Раш, Модель нейронного внимания для абстрактного обобщения предложений, 2015 г.
Объясните соответствие между словами между входным предложением и выходным резюме на основе внимания.
Механизм внимания сейчас широко используется, и эти случаи перечислены здесь для справки.
Рекомендуемый прошлый контент:
Чистая галантерея-17 Подробно представлен принцип и алгоритм распределенного глубокого обучения
Old Tie, приглашаю вас бесплатно изучить искусственный интеллект! ! !
Резюме модели 23 - Введение в различные типы свертки в сверточных нейронных сетях
Обзор применения, спроса и будущего развития глубокого обучения (ИИ) в области медицины
«Pure Dry Goods 16» регулирует скорость обучения для оптимизации обучения нейронной сети.
Обмен данными бутика ICML17 Seq2Seqtutorial
Краткое изложение модели 20-TACOTRON, модель сквозного синтеза текста в речь
Стратегия оптимизации 5. Сглаживание меток. Регуляризация. Анализ принципа LSR.