Мы хотим обсудить здесь важную публикацию о нейронной языковой модели, а именно работу Y. Bengio, R. Ducharme, P. Vincent и C. Jauvin под названием Neural Probabilistic Language Model. опубликовано в 2003 г. на JMLR [Ben2003]. Эта работа представляет собой важный начальный взгляд на нейронные архитектуры для вероятностных языковых моделей и моделей прямого воздействия, таких как Word2Vec (Миколов и др., 2013 [Mik2013]), или моделей, основанных на внимании, таких как из Bahdanau et al. . al. 2016 [Bah2016].

Введение

Допустим, у нас есть словарь слов V. В статистическом моделировании языка мы хотим узнать для последовательности слова w = (w_1,…, w_n) в V совместную вероятность P (w) . Поскольку для реальных данных в реальном времени, таких как текст, словарь V имеет очень высокую размерность, и поэтому мы имеем дело с проклятием размерности. Основным преимуществом представленной работы является уменьшение размерности словарного запаса путем изучения векторного представления слов C (v) для v в V , который имеет гораздо меньшую размерность m, то есть m ‹* | V |. Затем функция вероятности P будет изучена относительно таких векторных представлений слов.

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

где w_t - это t -е слово и

Борьба с проклятием размерности с помощью распределенных представлений

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

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

Нейронная модель

Как и выше, мы фиксируем V как словарь и позволяем w_1, .., w_T быть последовательностью слов w_t в V. Общая задача - изучить функцию f такую, что

Ограничением модели является то, что для любой последовательности слов w_1 ^ (t-1) мы хотим, чтобы

и что f ›0. Обратите внимание: поскольку P является функцией вероятности на V, f будет | V | размерный вектор с действительными значениями.

Мы устанавливаем функцию f (w_t,…, w_ (t-n + 1)) как композицию двух отображений g и C , так что

  1. Функция C - это просто линейное отображение из V в пространство функций R ^ m, поэтому она может быть выражена как | V | x м размерная матрица.
  2. Функция g отображает заданные векторы признаков на распределение вероятностей. Затем g может состоять из прямой (FFN) или рекуррентной нейронной сети (RNN) с

с параметром b, W, U, d, и H и

Чтобы получить функцию вероятности, мы применяем функцию softmax к y так, чтобы

где левая часть равна g для векторов слов x.

На следующем рисунке изображена композиция двух сопоставлений g и C.

Обучение выполняется путем поиска набора параметров θ с максимальным логарифмическим правдоподобием

где R (θ) - член регуляризации.

Масштабируемость, бесплатные параметры и вычислительные задачи

Модель масштабируется линейно по V и линейно по размеру кадра n.

Предположим, что h - это количество скрытых единиц, m - размер вектора признаков, и мы считаем, что матрица W установлена ​​на 0. В этом случае количество свободных параметров будет равно

Также важно иметь в виду, что основным вычислительным узким местом модели является знаменатель в softmax, который представляет собой сумму по всем словам.

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

Мы также пока опускаем результаты.

Спасибо, если дочитали до этого места.