Вопрос или проблема
Из этой статьи:
- В модели vanilla skip gram функция softmax является вычислительно очень затратной, так как требует сканирования всей матрицы выходных эмбеддингов (W_output) для вычисления вероятностного распределения всех V слов, где V может достигать миллионов и более.
- Кроме того, нормализующий фактор в знаменателе также требует V итераций.
Поэтому в статье предлагается использовать негативную выборку вместо softmax. Существует много статей, обсуждающих skip gram с негативной выборкой. Но я не нашел никаких, обсуждающих модель CBOW (Continuous Bag of Words Model) с негативной выборкой. Почему так? Это невозможно/не рекомендуется? Или это то же самое, что и skip gram? Можете ли вы дать некоторое понимание о использований негативной выборки с CBOW?
PS: любая ссылка на статью/работу также будет очень полезна.
С точки зрения поиска соответствующих статей эта выглядит подходящей: Объяснение негативной выборки в word2vec. Статья, похоже, охватывает темы, которые вы упоминаете, в частности: skip-grams, вычислительные вопросы, негативную выборку и целевую функцию для оптимизации.
Что касается возможности ее понимания, то там есть пробелы в объяснениях: читать это немного сложно.
Ответ или решение
Модель Word2Vec, использующая метод CBOW (Continuous Bag of Words), представляет собой один из популярных подходов для обучения векторных представлений слов. Хотя в большинстве случаев в литературе и статьях обсуждается применение негативной выборки (negative sampling) с моделью Skip-Gram, использование негативной выборки в CBOW также возможно и имеет свои особенности.
Понимание модели CBOW
CBOW работает по принципу предсказания целевого слова (центрального слова) на основе его контекстных слов. В данной модели используются векторы контекстных слов для генерации вектора, который затем используется для предсказания центрального слова. Основная идея заключается в том, что чем больше слов в контексте, тем больше вероятность того, что целевое слово будет правильно предсказано.
Негативная выборка в контексте CBOW
Негативная выборка предназначена для снижения вычислительной сложности, связанной с расчетом.softmax, как это упоминалось в статье. Этот подход уменьшается до выбора некоторых "негативных" слов (которые не являются целевыми) и оптимизации только для положительных и негативных примеров.
Почему менее распространена?
Одной из причин, почему негативная выборка в CBOW обсуждается реже, чем в Skip-Gram, является то, что CBOW индивидуально не требует такой обширной генерируемой вероятностной распределенности, поскольку он предсказывает одно слово из контекста, а не наоборот. Это делает его более простым в реализации и вычислениях. Однако использование негативной выборки в CBOW может все же быть полезным, особенно на большом объеме данных, так как это улучшает эффективность обучения.
Применение негативной выборки в CBOW
-
Обучение модели: Как и в Skip-Gram, когда CBOW предсказывает целевое слово, можно одновременно включить негативные примеры в обучение. Например, для каждого позитивного примера (целевое слово), выбирается несколько негативных слов (слова, которые не встречались в контексте).
-
Обновление весов: Процесс обновления весов включает в себя оба типа примеров — положительные (правильное целевое слово) и негативные (выбранные случайным образом слова), где ошибка модели будет рассчитываться на основе правильного и неправильного предсказаний.
-
Целевая функция: Целевая функция оптимизации также будет включать в себя максимизацию вероятности правильного предсказания (целевого слова) и минимизацию вероятностей предсказаний негативных слов.
Заключение
Несмотря на то, что в литературе часто упоминается негативная выборка в контексте модели Skip-Gram, её применение также возможно и обосновано в CBOW. Это может значительно улучшить эффективность модели, особенно в контексте больших массивов данных. Исследования в данной области продолжаются, и использование негативной выборки в CBOW может стать темой будущих работ.
Если вы ищете статьи и исследования по этой теме, я рекомендую следующие источники:
- Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013). "Distributed Representations of Words and Phrases and Their Compositionality." NIPS.
- Karpukhin, V., et al. (2020). "Dense Passage Retrieval for Open-Domain Question Answering." arXiv preprint arXiv:2004.04906.
Надеюсь, это даст вам ясное представление о применении негативной выборки в модели CBOW.