Как работает отрицательная выборка в word2vec?


19

Я изо всех сил пытался понять концепцию отрицательной выборки в контексте word2vec. Я не могу переварить идею [отрицательной] выборки. Например, в работах Миколова отрицательное ожидание выборки формулируется как

журналσ(вес,с)+КЕсN~пD[журналσ(-вес,сN)],

Я понимаю левый термин , но я не могу понять идею отбора отрицательных пар слово-контекст.журналσ(вес,с)


4
Смешно, как разбросана документация для word2vec. Вы можете найти отрицательные производные выборки здесь: arxiv.org/pdf/1402.3722v1.pdf
Алекс Р.

Я прошел объяснение, которое вы упомянули, и понял, что за ним стоит. Но я не в состоянии переварить интуицию за выборкой.
Упендра Кумар

Ответы:


27

Проблема

Есть некоторые проблемы с изучением векторов слов с использованием «стандартной» нейронной сети. Таким образом, векторы слов изучаются, в то время как сеть учится предсказывать следующее слово по заданному окну слов. (вход сети).

Предсказание следующего слова похоже на предсказание класса. То есть такая сеть является просто «стандартным» многочленным (мультиклассовым) классификатором. И в этой сети должно быть столько выходных нейронов, сколько существует классов. Когда классы являются реальными словами, число нейронов, ну, в общем , огромно .

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

(А) решение

Для решения этой проблемы, то есть дорогостоящего вычисления softmax, Word2Vec использует метод, называемый контрастно-шумовой оценкой. Этот метод был введен в [A] (переформулирован [B]), а затем использован в [C], [D], [E] для изучения встраивания слов в немаркированный текст на естественном языке.

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

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

Это важно: вместо того, чтобы предсказывать следующее слово («стандартная» методика обучения), оптимизированный классификатор просто предсказывает, является ли пара слов хорошей или плохой .

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

Ссылки

[A] (2005) - Сравнительная оценка: обучение лог-линейных моделей на немаркированных данных

[B] (2010) - Контрастная оценка шума: новый принцип оценки для ненормализованных статистических моделей

[C] (2008) - Единая архитектура для обработки естественного языка: глубокие нейронные сети с многозадачным обучением

[D] (2012) - быстрый и простой алгоритм обучения моделей нейронных вероятностных языков .

[E] (2013) - Эффективное обучение встраиванию слов с шумоконтрастной оценкой .


Ответ основан на моих старых заметках - надеюсь, они были правильными :)


2
Вы упомянули "in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often". Мне интересно, это правильно? Потому что некоторые другие источники говорят, что более частые слова отбираются как отрицательные. Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.
Тайлер 主 来 国 主


Кстати, что является причиной выбора из высоких или низких частых слов в качестве отрицательных образцов? Разве случайная выборка из неконтекстных слов не достаточно хороша?
Тайлер 主 来 国 主

@ Tyler 傲 来 国 主 Насколько я понимаю, менее частые слова более информативны, так как они, как правило, зависят от контекста. Более частые слова, как правило, связаны со многими другими словами (возьмем крайний пример «the»). Это делает редкие слова «труднее» правильно понять (вы учите быстрее), а также снижает вероятность выбора слова, которое на самом деле не является отрицательным образцом (так как для больших корпусов проверка это дорого и часто не учитывается).
Древико

@drevicko Менее частые слова более информативны, но менее частые слова, являющиеся негативными образцами, менее информативны. Согласно теории информации, чем выше вероятность, тем меньше самооценка. Событие частых слов, являющихся отрицательными образцами для данного целевого слова, должно иметь меньшую вероятность, что означает более высокие количества информации.
Тайлер 主 来 国 主
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.