Выходные векторы Word2Vec

Насколько я понимаю, Word2Vec создает словарь слов (или словарь) на основе корпуса обучения и выводит вектор K-dim для каждого слова в словаре. Мой вопрос в том, что именно является источником этих векторов K-Dim? Я предполагаю, что каждый вектор представляет собой строку или столбец в одной из весовых матриц между входным и скрытым слоями или скрытым и выходным слоями. Однако мне не удалось найти никаких источников, подтверждающих это, и я недостаточно грамотен в языках программирования, изучал исходный код и сам разбирался. Будем признательны за любые уточняющие замечания по этой теме!


person Scentless Apprentice    schedule 16.02.2017    source источник


Ответы (2)


что именно является источником этих векторов K-Dim? Я предполагаю, что каждый вектор представляет собой строку или столбец в одной из весовых матриц между входным и скрытым слоями или скрытым и выходным слоями.

В модели word2vec (CBOW, Skip-gram) он выводит матрицу признаков слов. Эта матрица является первой матрицей весов между входным слоем и слоем проекции (в модели word2vec нет скрытого слоя, в нем нет функции активации). Потому что, когда мы обучаем слово в контексте (в модели CBOW), мы обновляем эту матрицу весов. (Вторая - между проекцией и выходным слоем - матрица также обновляется. Однако мы ее не используем)

в первой матрице строки означают словарный запас слов, а столбцы означают характеристики слова (K-Dimension).

если вам нужна дополнительная информация, изучите ее

http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/

person yc Kim    schedule 06.03.2017

word2vec использует машинное обучение для получения представлений слов. Он предсказывает слово, используя его контекст (CBOW) или наоборот (skip-gram).

В машинном обучении у вас есть функция потерь, которая представляет ошибку, которую вы моделируете. Эта ошибка зависит от параметров модели. Обучение модели означает минимизацию ошибки по отношению к параметрам модели.

В word2vec эти матрицы внедрения являются параметрами модели, которые обновляются во время обучения. Надеюсь, это поможет вам понять, откуда они взялись. Действительно, они сначала инициализируются случайным образом и меняются в процессе обучения.

Вы можете взглянуть на это изображение в этой статье: < a href = "https://i.stack.imgur.com/6eVXZ.jpg" rel = "nofollow noreferrer"> simple word2vec

Матрица W, которая сопоставляет входные представления одного горячего слова с этими k-мерными векторами, и матрица W ', которая сопоставляет k-мерное представление с выходными данными, являются параметры модели, которые мы оптимизируем в процессе обучения.

person anairebis    schedule 06.03.2017