2016-07-12 3 views
4

Я использую модель word2vec для обучения нейронной сети и построения нейронного вложения для поиска похожих слов на векторном пространстве. Но мой вопрос касается размеров в словарных и контекстных вложениях (матрицах), которые мы инициализируем их случайными числами (векторами) в начале обучения, например, https://iksinc.wordpress.com/2015/04/13/words-as-vectors/Откуда берутся размеры в Word2Vec?

Допустим, мы хотим отобразить {book, paper , блокнот, новые слова на графике, в первую очередь мы должны построить матрицу с такими размерами 4x2 или 4x3 или 4x4 и т. д., я знаю, что первое измерение матрицы соответствует размеру нашего словаря | v |. Но второе измерение матрицы (число размеров вектора), например, это вектор для слова «книга» [0,3,0.01,0.04], каковы эти цифры? Имеют ли они какое-либо значение? Например, число, связанное с 0,3 к взаимосвязи между словом «книга» и «бумага» в словаре, 0,01 - это соотношение между книгой и записной книжкой и т. д. Так же, как TF-IDF или матрицы Co-Occurence, каждое значение (столбец) Y имеет значение - его слово или документ, связанные со словом в строке X.

+0

Вы задаете много интересных вопросов! – Aaron

ответ

1

Модель word2vec использует сетевую архитектуру для представления входных слов и наиболее вероятных связанных слов (ов) вывода.

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

Весы сети являются подсимвольным представлением отображения между входом и выходом - любой отдельный вес не обязательно представляет что-либо значимое сам по себе. Это вес соединения между всеми единицами (т. Е. Взаимодействия всех весов) в сети, что приводит к представлению сети отображения функции. Вот почему нейронные сети часто называют моделями «черного ящика» - может быть очень сложно интерпретировать, почему они принимают конкретные решения и как они учатся. Таким образом, очень сложно сказать, что именно представляет собой вектор [0,3,0.01,0.04].

веса сети традиционно инициализируется случайных величин по двум основным причинам:

  1. Это предотвращает смещение внедряемых модели перед тренировкой начинается
  2. Это позволяет сети начать с разных точек в поиске (помогая уменьшить влияние локальных минимумов)

Способность сети учиться может быть очень чувствительной к тому, как инициализируются ее веса. Есть более продвинутые способы инициализации весов сегодня, например. this paper (see section: Weights initialization scaling coefficient).

Способ инициализации весов и размер скрытого слоя часто называют гиперпараметрами и обычно выбираются в соответствии с эвристикой и предварительным знанием проблемного пространства.

+0

Спасибо за ответ.Таким образом, вы имеете в виду, что ни один из каждого веса не имеет смысла, и нет никакого способа понять, например, этот вектор [0.3,0.01,0.04] является связью между тем, что к чему, правильно? Но, столбцы матрицы W (словарная матрица или вложение слов) должны иметь имена, правильно? точно так же, как строки, которые являются словами в нашем vocab. Кто-то сказал мне, что каждое измерение (столбец) представляет собой функцию , описывающую слово в некотором роде, но я не мог понять, что это значит «функция»? –

+0

Весовая сумма входного вектора (т. Е. Входной вектор, умноженная на конкретный столбец в весовой матрице), представляет собой «функцию», которая может быть активной, зависящей от функции активации устройства. То, что эти функции представляют, трудно сказать снова (как объяснялось выше). Это функции, которые изученный алгоритм обучения позволяет ему различать один случай. Хотя для CNN вы можете визуализировать функции, обнаруженные единицами для ввода изображения [здесь] (http://yosinski.com/static/proj/deepvis_all_layers.jpg), (читайте [здесь] (http://yosinski.com/deepvis) для большего). – Mark

0

Я задался вопросом о том же и положил вектор, подобный (1 0 0 0 0 0 ...), чтобы узнать, к каким терминам он ближе всего. Ответ заключается в том, что возвращенные результаты, похоже, не группировались вокруг какого-либо конкретного значения, а были просто случайными. Это использовало 300-мерные векторы Миколова, обучаемые в Новостях Google. Посмотрите семантические векторы NNSE для векторного пространства, где отдельные измерения, похоже, несут определенные человекоподобные значения.

Смежные вопросы