Использование двунаправленных потоков внимания для машинного понимания
Эта статья основана на двунаправленном потоке внимания для машинного понимания.
1 Обзор
Машинное понимание также известно как машинное понимание, сокращенно MC. Ответ на вопрос в данном контексте требует от нас моделирования сложных процессов взаимодействия. Недавно механизмы внимания успешно расширили MC, в частности, используя механизм внимания, чтобы сосредоточиться на контексте и наконец, сгенерируйте вектор фиксированного размера. В этой статьеBIDAFСеть (двунаправленный поток внимания), многоэтапный иерархический процесс, который может представлять контекст с различной степенью детализации, используя двунаправленный поток внимания для полученияпроблемный(с учетом запросов) представление контекста, а не преждевременные сводки контекста
2. Введение
В последние годы внимание MC и QA (ответы на вопросы) постепенно возрастало, особенно NLP (обработка естественного языка) и компьютерное зрение, а сквозные обученные системы хорошо показали себя в различных задачах для текста и изображений. Одним из важных факторов является использование механизма внимания, который может заставить систему сосредоточиться на целевой области в контекстном абзаце или изображении (особенно в области визуального ответа на вопрос).Здесь мы даем некоторые характеристики механизма внимания. :
- Рассчитанные веса внимания обычно используются для извлечения наиболее релевантной информации из вектора контекста, который представляет собой вектор фиксированного размера, полученный с помощью некоторого индуктивного отображения.
- В текстовом поле весь механизм внимания является временным и динамичным, а вес внимания текущего временного шага является результатом сопоставления внимания предыдущего временного шага.
- Весь механизм обычно односторонний
Эта статья в основном знакомитДвунаправленная сеть потока внимания (сеть BIDAF), иерархическая многоступенчатая структура, которая моделирует контекст на разных уровнях детализации, BIDAF в основном включаетУровень персонажаиУровень словаи используйте двунаправленный поток внимания, чтобы получитьпроблемныйПредставление контекста.
Предлагаемый новый механизм внимания имеет следующие улучшения по сравнению с предыдущим популярным механизмом внимания:
- Наш слой внимания не используется для сопоставления контекста с вектором фиксированного размера, вместо этого внимание вычисляется на каждом временном шаге, а **вектор внимания** на каждом временном шаге объединяется с предыдущими представлениями слоев. разрешено перетекать на более поздние уровни модели, что уменьшает ошибку, вызванную преждевременным сопоставлением контекста с вектором фиксированного размера.
- использоватьбез памятиМеханизм внимания , то есть когда мы итеративно вычисляем, внимание каждого временного шага является только результатом функции текущей проблемы и контекста и не зависит напрямую от внимания предыдущих временных шагов, мы предполагаем Это упрощение может облегчитьуровень вниманияприбытьслой моделиВычислительная нагрузка заставляет уровень внимания фокусировать внимание между проблемой обучения и контекстом, что в то же время позволяет слою модели учиться на основепроблемныйНекоторая сложная логика взаимодействия изучается в контекстном представлении (по сути, на выходе уровня внимания).
- Использование механизма двунаправленного внимания может генерировать более полную информацию.
3. О модели
Вся модель машинного понимания представляет собой иерархический многоэтапный процесс, включающий следующие шесть уровней:
- Слой встраивания символовЕго основная роль заключается в отображении слов в вектор фиксированного размера, здесь мы используемСверточная нейронная сеть уровня персонажа (CNN уровня персонажа), сеть была предложена Кимом в 2014 году, и мы добавим некоторые детали позже.
- Слой встраивания словВот предварительно обученная модель встраивания слов, которая сопоставляет каждое слово вектору фиксированного размера.
- Контекстный слой внедренияОсновная функция — добавить контекст к каждому словуподсказка (подсказка), первые три слоя применяются к проблеме и контексту
- Слой потока вниманияВот вектор комбинированных вопросов и контекстов, дающийпроблемныйнабор векторов признаков.
- Слой моделированияВ этой статье для сканирования контекста используется **рекуррентная нейронная сеть (RNN)**.
- Выходной слойЭтот слой дает ответы на вопросы
Здесь мы приводим соответствующую диаграмму иерархии
Перейдем к более подробному рассмотрению каждого из этих слоев.
3.1 Слой внедрения символов
Роль слоя встраивания символов состоит в том, чтобы отобразить слово в многомерное векторное пространство.и
Набор слов, представляющий контекст, и набор слов вопроса, оба из которых упорядочены, используя метод CNN на уровне символов Кима, мы можем получить соответствующий вектор встраивания на уровне символов, несколько символов встроены в вектор, понимая, что один -размерные входные данные CNN имеют тот же размер, что и входные данные CNN, а выходные данные CNN объединяются по максимуму, и, наконец, получается вектор фиксированной длины.
Нам нужно ввести метод Кима
3.1.1 Подход CNN на уровне символов
Сначала мы приводим полную диаграмму структуры сети в статье Кима, которая использует эту структуру для классификации текста.
Вектор c соответствует полосе во второй части рисунка выше,, функция
— нелинейная функция, аналогичная функции гиперболического тангенса tanh.
Затем мы можем построить серию векторов признаков на основе нескольких размеров окна, как показано на рисунке выше, а затем перейти кMax-over-time pooling, генерирует одномерный вектор, размер которого равен количеству различных окон.
О объединении Max-over-timeЭтот метод был предложен Коллобером в 2011 году. Принцип очень прост: нужно взять максимальное значение собственного вектора
Цель состоит в том, чтобы получить наибольшее собственное значение в собственном векторе
На самом деле, часть цели всей практики объединения состоит в том, чтобы изменить вход переменной длины на фиксированную длину.Я оговариваю, что есть несколько окон, и в итоге будет получен вектор нескольких измерений. Наконец, векторная структура после максимального объединения полностью подключается к одному слою, добавляется отсев, затем выводится softmax, и, наконец, получается вероятность разных категорий текста.
В этой статье мы можем использовать метод kim для преобразования ввода текста переменной длины в вектор фиксированной длины!
3.2 Слой встраивания слов
Слой встраивания слов такой же, как слой встраивания символов, который сопоставляет слова с многомерным векторным пространством признаков Здесь мы используем предварительно обученные векторы слов (используя GloVe) для получения векторов встраивания слов фиксированной длины (и встраивания символов) , Роль слоя в основном такая же, преобразование текста переменной длины в вектор фиксированной длины), наиболее критической точкой здесь является точка, предложенная Пеннингтоном в 2014 году.GloVe, представление векторов слов.
3.2.1 О ПЕРЧАТКАХ
Полное имя перчаткиGlobal Vector For Word Representation, этот метод сочетает в себе преимущества метода глобальной матричной факторизации и метода локального контекстного окна.Поясним метод подробно. Сначала нам нужно определить некоторые символы:
-
пословная матрица сочетаемости
где для каждого элемента
, слово
в слове
явления в контексте
-
элементы одного слова
мы определяем
, что указывает на то, что все слова в слове
явления в контексте
-
вероятность
Мы определяем вероятность
, представляющий слово
появляется в слове
вероятность контекста
Возьмем пример, мы сейчас сегментируем предложение и получаем два слова ice (лед) и steam (пар), а затем вычисляем вероятность, например, в контексте этих двух слов некое слово k = solid (твердый ) и т. д., используя для расчета большое количество данных, получаем
С помощью этого метода мы можем использовать газ и твердое тело, чтобы различать лед и пар больше, чем воду и моду, а затем мы можем построить более четкий вектор слова. Учитывая более общую модель:
вявляется d-мерным вектором слов, и
является d-мернымотдельный контекст слова вектор, правая часть уравнения извлекается из корпуса, F может зависеть от какого-то неопределенного параметра, но таких значений вероятности, как F, слишком много, здесь даем выбор:
- Мы надеемся, что F может выразить отношение вероятностей P в пространстве векторов слов. Поскольку вектор слов представляет собой линейную структуру, рассмотрим разность векторов и напишем
- F может использовать в качестве параметров сложные функции, такие как нейронные сети, что усложнит всю линейную структуру.Сделаем следующие модификации
- дальнейшая модификация
в4. Пусть F — экспоненциальная функция, получаем
- плюс предвзятость из-за
На самом деле независимо от k, при поглощении смещения мы получаем
- Учитывая функцию стоимости, решенную с использованием взвешенной регрессионной модели наименьших квадратов.
нужно быть здесьделать частичные ограничения
а.
b.
является неубывающей функцией
в. Для больших x должны быть представлены меньшие значения функции
Дайте определение функции:
3.2.2 Вход векторной конкатенации
Мы можем получить два процесса: встраивание на уровне символов и встраивание на уровне слов. Используя двухслойную высокоскоростную сеть, предложенную Сириваставой в 2015 году, получается d-мерный вектор, что эквивалентно получению двух матриц,, каждое слово T-мерной и J-мерной последовательностей слов, полученных ранее, преобразуется в d-мерный вектор.
3.3 Уровень внедрения контекста
Используя сеть **долговременной кратковременной памяти (LSTM)**, предложенную Зеппом Хохрайтером и Юргеном Шмидхубером в 1997 году, мы размещаем LSTM двунаправленно и соединяем выходы, есть две матрицы., Причина, по которой это 2d, заключается в том, что LSTM является двунаправленным, и соответствующая позиция имеет два выхода.
3.4 Обратите внимание на стратосферу
Роль слоя потока внимания состоит в том, чтобы соединить и объединить вопрос и контекст.В отличие от других предыдущих механизмов внимания, он не использует напрямую контекст и вопрос для непосредственного формирования вектора признаков, а вместо этого вектор внимания каждого временной шаг, а также векторы встраивания из предыдущих слоев, могут перетекать в слой модели, уменьшая ошибки, вызванные преждевременным объединением в векторы признаков.
Вывод этого слоя также связан с контекстомпроблемныйВекторное представление и контекстный вектор встраивания предыдущего слоя.
В этом слое вводится общая матрица сходства S, размер S равен T, умноженному на J, где, представляет сходство между t-м словом контекста и j-м словом вопроса,
является обучаемой функцией, которая вычисляет сходство между столбцом t из H и столбцом j из U.
определение
, где w - 6d-мерный обучаемый весовой вектор,
является произведением соответствующих элементов
Мы вычисляем вектор внимания и сопутствующий вектор в двух направлениях:
3.4.1 От контекста к вопросу
Контекстно-вопросное внимание, для каждого контекстного слова особенно актуально, мы определяем J-мерный векторпредставить вес внимания t-го слова контекста к вопросу, отметив, что
, В том числе
, из которого можно определить сопряженный вектор
Разобраться несложно, т.е. взять вектор подобия соответствующего контекста(то есть t-я строка S), чтобы выполнить операцию softmax,
представляет собой матрицу размером 2d на T
3.4.2 От вопроса к контексту
Внимание от вопроса к контексту, то есть когда слово в контексте имеет наибольшее сходство со словом в вопросе, это может быть ключом к ответу на вопрос.
определение, можно получить сопутствующий контекстный вектор размера 2d
Также используйте наиболее важное слово в контексте, чтобы сгенерировать сопутствующий вектор контекста, и выполните T операций, чтобы получить соответствующий
3.4.3 Генерация векторов встраивания контекста
Мы объединили встраивание контекста и вектор внимания в G, и каждый столбец G является результатом каждого слова в контексте.проблемныйВыражение, дает метод расчета G:
в- t-й вектор-столбец, где
Может быть обучаемой функцией, может быть нейронной сетью, вот определение:
Вот результат для 8d измерения
3.5 Слой модели
Слой модели очень прост, это простой двусторонний LSTM, который используется для извлечения признаков.Обратите внимание, что соответствие ввода-вывода LSTM может быть от n до m, то есть вход для каждой единицы равен 8d, а выход может быть выбран.первый d, здесь выход определяется как размер d Поскольку он двунаправленный, мы можем получить матрицу, умноженную на 2d, которая напрямую вводится в выходной слой для оценки ответа.
3.6 Выходной слой
3.6.1 Об обучении
Для вопросов QA нам нужно найти возможные ответы в куске текста, то есть предположить, где ответ начинается и заканчивается. Для распределения вероятностей исходной позиции:
представляет собой 10-мерный обучаемый вектор веса
Мы передаем M другому LSTM, чтобы получить другую матрицу, обозначающую
, также матрица 2d на T
Для распределения вероятностей конечных положений:
Наконец, определите функцию ошибки:
ви
являются правильными начальными и конечными индексами
3.6.1 О тестировании
Для тестирования вам нужно только использовать динамическое программирование для вычисления пары (k, l) с наибольшей вероятностью за линейное время, и соответствующая вероятность равна
4. Ссылки
[1] Seo M, Kembhavi A, Farhadi A, et al. Bidirectional attention flow for machine comprehension[J]. arXiv preprint arXiv:1611.01603, 2016.
[2] Pennington, Jeffrey, Richard Socher, and Christopher Manning. "Glove: Global vectors for word representation." Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014.
[3] Kim, Yoon. "Convolutional neural networks for sentence classification." arXiv preprint arXiv:1408.5882 (2014).