Подтвердить что ты не робот

Word2vec: отрицательная выборка (в непрофессиональный термин)?

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

http://arxiv.org/pdf/1402.3722v1.pdf

Может ли кто-нибудь помочь, пожалуйста?

4b9b3361

Ответ 1

Идея word2vec заключается в том, чтобы максимизировать сходство (точечный продукт) между векторами слов, которые близки друг к другу (в контексте друг друга) в тексте, и минимизировать сходство слов, которые этого не делают. В уравнении (3) статьи, на которую вы ссылаетесь, игнорируйте возведение в степень на мгновение. У вас

      v_c * v_w
 -------------------
   sum(v_c1 * v_w)

Числитель - это в основном сходство между словами c (контекст) и w (целевое) слово. Знаменатель вычисляет сходство всех других контекстов c1 и целевого слова w. Максимизация этого соотношения гарантирует, что слова, которые сближаются в тексте, имеют более похожие векторы, чем слова, которые этого не делают. Однако вычисление этого может быть очень медленным, потому что существует множество контекстов c1. Отрицательная выборка - один из способов решения этой проблемы - просто выберите несколько контекстов c1 наугад. Конечным результатом является то, что если cat появляется в контексте food, тогда вектор food больше похож на вектор cat (как меры по их точечному произведению), чем векторы несколько других случайно выбранных слов (например, democracy, greed, Freddy) вместо всех других слов в языке. Это значительно ускоряет word2vec, чтобы тренироваться.

Ответ 2

Вычисление Softmax (функция активации для определения того, какие слова похожи на текущее целевое слово) является дорогостоящей, поскольку требует суммирования по всем словам в V (знаменателе), что обычно очень большой.

Что можно сделать?

Были предложены различные стратегии для приближенного softmax. Эти подходы могут быть сгруппированы в на основе max и на основе выборки. Подходы на основе Softmax - это методы, которые сохраняют уровень softmax неповрежденными, но изменяют его архитектуру для повышения ее эффективности (например, иерархический softmax). Подходы на основе выборки, с другой стороны, полностью устраняют уровень softmax и вместо этого оптимизируют некоторую другую функцию потерь, которая аппроксимирует softmax (они делают это путем аппроксимации нормализации знаменателя softmax с помощью некоторого другого потеря, которая дешева для вычисления, как отрицательная выборка).

Функция потерь в Word2vec выглядит примерно так:

введите описание изображения здесь

Какой логарифм может разложить на:

введите описание изображения здесь

С помощью некоторой математической и градиентной формулы (подробнее см. 2) она преобразуется в:

введите описание изображения здесь

Как вы видите, он преобразуется в двоичную задачу классификации, так как нам нужны метки для выполнения нашей задачи бинарной классификации, мы обозначаем все правильные слова w, учитывая их контекст c как истинный (y = 1, положительный образец) (все слова в окне целевое слово), а k случайным образом выбирается из corpura как false (y = 0, отрицательный образец).

Ссылка: