Использование двунаправленных потоков внимания для машинного понимания
Эта статья основана на двунаправленном потоке внимания для машинного понимания.
1 Обзор
Машинное понимание также известно как машинное понимание, сокращенно MC. Ответ на вопрос в данном контексте требует от нас моделирования сложных процессов взаимодействия. Недавно механизмы внимания успешно расширили MC, в частности, используя механизм внимания, чтобы сосредоточиться на контексте и наконец, сгенерируйте вектор фиксированного размера. В этой статьеBIDAFСеть (двунаправленный поток внимания), многоэтапный иерархический процесс, который может представлять контекст с различной степенью детализации, используя двунаправленный поток внимания для полученияпроблемный(с учетом запросов) представление контекста, а не преждевременные сводки контекста
2. Введение
В последние годы внимание MC и QA (ответы на вопросы) постепенно возрастало, особенно NLP (обработка естественного языка) и компьютерное зрение, а сквозные обученные системы хорошо показали себя в различных задачах для текста и изображений. Одним из важных факторов является использование механизма внимания, который может заставить систему сосредоточиться на целевой области в контекстном абзаце или изображении (особенно в области визуального ответа на вопрос).Здесь мы даем некоторые характеристики механизма внимания. :
- Рассчитанные веса внимания обычно используются для извлечения наиболее релевантной информации из вектора контекста, который представляет собой вектор фиксированного размера, полученный с помощью некоторого индуктивного отображения.
- В текстовом поле весь механизм внимания является временным и динамичным, а вес внимания текущего временного шага является результатом сопоставления внимания предыдущего временного шага.
- Весь механизм обычно односторонний
Эта статья в основном знакомитДвунаправленная сеть потока внимания (сеть BIDAF), иерархическая многоступенчатая структура, которая моделирует контекст на разных уровнях детализации, BIDAF в основном включаетУровень персонажаиУровень словаи используйте двунаправленный поток внимания, чтобы получитьпроблемныйПредставление контекста.
Предлагаемый новый механизм внимания имеет следующие улучшения по сравнению с предыдущим популярным механизмом внимания:
- Наш слой внимания не используется для сопоставления контекста с вектором фиксированного размера, вместо этого внимание вычисляется на каждом временном шаге, а **вектор внимания** на каждом временном шаге объединяется с предыдущими представлениями слоев. разрешено перетекать на более поздние уровни модели, что уменьшает ошибку, вызванную преждевременным сопоставлением контекста с вектором фиксированного размера.
- использоватьбез памятиМеханизм внимания , то есть когда мы итеративно вычисляем, внимание каждого временного шага является только результатом функции текущей проблемы и контекста и не зависит напрямую от внимания предыдущих временных шагов, мы предполагаем Это упрощение может облегчитьуровень вниманияприбытьслой моделиВычислительная нагрузка заставляет уровень внимания фокусировать внимание между проблемой обучения и контекстом, что в то же время позволяет слою модели учиться на основепроблемныйНекоторая сложная логика взаимодействия изучается в контекстном представлении (по сути, на выходе уровня внимания).
- Использование механизма двунаправленного внимания может генерировать более полную информацию.
3. О модели
Вся модель машинного понимания представляет собой иерархический многоэтапный процесс, включающий следующие шесть уровней:
- Слой встраивания символовЕго основная роль заключается в отображении слов в вектор фиксированного размера, здесь мы используемСверточная нейронная сеть уровня персонажа (CNN уровня персонажа), сеть была предложена Кимом в 2014 году, и мы добавим некоторые детали позже.
- Слой встраивания словВот предварительно обученная модель встраивания слов, которая сопоставляет каждое слово вектору фиксированного размера.
- Контекстный слой внедренияОсновная функция — добавить контекст к каждому словуподсказка (подсказка), первые три слоя применяются к проблеме и контексту
- Слой потока вниманияВот вектор комбинированных вопросов и контекстов, дающийпроблемныйнабор векторов признаков.
- Слой моделированияВ этой статье для сканирования контекста используется **рекуррентная нейронная сеть (RNN)**.
- Выходной слойЭтот слой дает ответы на вопросы
Здесь мы приводим соответствующую диаграмму иерархии
Перейдем к более подробному рассмотрению каждого из этих слоев.
3.1 Слой внедрения символов
Роль слоя встраивания символов состоит в том, чтобы отобразить слово в многомерное векторное пространство.иНабор слов, представляющий контекст, и набор слов вопроса, оба из которых упорядочены, используя метод CNN на уровне символов Кима, мы можем получить соответствующий вектор встраивания на уровне символов, несколько символов встроены в вектор, понимая, что один -размерные входные данные CNN имеют тот же размер, что и входные данные CNN, а выходные данные CNN объединяются по максимуму, и, наконец, получается вектор фиксированной длины.
Нам нужно ввести метод Кима
3.1.1 Подход CNN на уровне символов
Сначала мы приводим полную диаграмму структуры сети в статье Кима, которая использует эту структуру для классификации текста.
Введите всего n слов, каждое слово k-мерноеслово вектор, здесь мы записываем, вЭто операция соединения вектора, а операция свертки CNN заключается в использовании фильтра, на самом деле для перемещения используется окно размером h. Как показано на рисунке выше, красное окно — это окно размером h = 2, и все слова сканируются сверху вниз. Здесь мы приводим метод расчета:Вектор 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 (твердый ) и т. д., используя для расчета большое количество данных, получаем
Видно, что еслиЗначение намного больше 1, оно имеет тенденцию быть в контексте льда, намного меньше 1 больше в контексте пара, видно, что газ имеет тенденцию быть паром, а твердое тело имеет тенденцию появляться в контексте льда.С помощью этого метода мы можем использовать газ и твердое тело, чтобы различать лед и пар больше, чем воду и моду, а затем мы можем построить более четкий вектор слова. Учитывая более общую модель:
вявляется 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).