Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

14.2 Приближённое обучение

Вспомним наше обсуждение в разделе 14.1. Основная идея модели skip-gram — с помощью операции softmax вычислить условную вероятность порождения контекстного слова при заданном центральном слове (формула (14.1.1)); соответствующие логарифмические потери даны в (14.1.2).

Из-за свойств операции softmax контекстное слово может быть любым элементом словаря , поэтому в (14.1.2) стоит сумма с числом слагаемых, равным размеру всего словаря. Следовательно, вычисление градиента модели skip-gram в (14.1.3) и градиента модели непрерывного мешка слов в (14.1.5) тоже содержит суммирование. К сожалению, вычислять градиент такой суммы по словарю (обычно из сотен тысяч или миллионов слов) очень дорого!

Чтобы снизить эту вычислительную сложность, в этом разделе мы рассмотрим два метода приближённого обучения: отрицательную выборку (negative sampling) и иерархический softmax (hierarchical softmax). Из-за сходства моделей skip-gram и непрерывного мешка слов мы опишем эти два метода на примере модели skip-gram.

14.2.1 Отрицательная выборка

Отрицательная выборка изменяет исходную целевую функцию. Пусть задано контекстное окно центрального слова . Будем считать, что любое контекстное слово из этого окна — событие, вероятность которого моделируется так:

где использует определение сигмоидной функции активации:

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

Однако (14.2.2) учитывает только события с положительными примерами. Совместная вероятность в (14.2.2) достигает максимума 1 лишь тогда, когда все векторы слов равны бесконечности. Разумеется, такой результат бессмыслен. Чтобы целевая функция стала осмысленнее, отрицательная выборка добавляет отрицательные примеры, выбранные из заранее заданного распределения.

Обозначим через событие «контекстное слово взято из контекстного окна центрального слова ». Для этого события, включающего , из заранее заданного распределения выбираем шумовых слов, не взятых из этого контекстного окна. Обозначим через событие «шумовое слово () не взято из контекстного окна ». Предположим, что события для положительного и отрицательных примеров взаимно независимы. Отрицательная выборка переписывает совместную вероятность из (14.2.2) (содержащую только положительные примеры) как

а условную вероятность приближает через события :

Обозначим через и индексы слова на временном шаге текстовой последовательности и шумового слова соответственно. Логарифмические потери для условной вероятности в (14.2.3) равны

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

14.2.2 Иерархический softmax

В качестве другого метода приближённого обучения иерархический softmax использует бинарное дерево (структуру данных, показанную на рис. 14.2.1), в котором каждый лист представляет слово словаря .

Рис. 14.2.1. Иерархический softmax для приближённого обучения: каждый лист дерева представляет слово словаря

Обозначим через число узлов (включая оба конца) на пути от корня до листа, представляющего слово , в бинарном дереве. Пусть — -й узел на этом пути, а его вектор контекстного слова равен . Например, на рис. 14.2.1 . Иерархический softmax приближает условную вероятность из (14.1.1) выражением

где функция определена в (14.2.1), — левый потомок узла , а , если истинно, и в противном случае.

Для иллюстрации вычислим условную вероятность порождения слова при заданном слове на рис. 14.2.1. Для этого нужны скалярные произведения вектора слова и векторов нелистовых узлов на пути от корня до (путь выделен жирным на рис. 14.2.1), который последовательно проходит влево, вправо и влево:

Поскольку , условные вероятности порождения всех слов словаря при любом заданном слове в сумме дают 1:

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

Резюме

  • Отрицательная выборка строит функцию потерь, рассматривая взаимно независимые события, в которые входят и положительные, и отрицательные примеры. Объём вычислений при обучении линейно зависит от числа шумовых слов на каждом шаге.
  • Иерархический softmax строит функцию потерь по пути от корня до листа в бинарном дереве. Вычислительная стоимость обучения зависит от логарифма размера словаря.

Упражнения

  1. Как выбирать шумовые слова при отрицательной выборке?
  2. Проверьте, что (14.2.4) выполняется.
  3. Как обучить модель непрерывного мешка слов с помощью отрицательной выборки и иерархического softmax соответственно?

Обсуждение