Word2Vec的跳过语法模型如何生成输出向量?


11

我在理解Word2Vec算法的跳过语法模型时遇到问题。

在连续词袋中,很容易看到上下文词如何在神经网络中“拟合”,因为您基本上是在将每个一次性编码表示形式与输入矩阵W相乘后对它们进行平均。

但是,在skip-gram的情况下,您只能通过将一热点编码与输入矩阵相乘来获得输入词向量,然后假设通过将上下文词乘以C(=窗口大小)来表示上下文词输入矢量表示,输出矩阵为W'。

我的意思是说,词汇量为,编码为,输入矩阵,作为输出矩阵。给定单词具有一词热编码和上下文单词和(具有热代表和),如果将乘以输入矩阵,则得到,现在如何从中生成得分矢量?Ñ w ^ [R V × Ñ W¯¯ '[R Ñ × V瓦特X 瓦特Ĵ 瓦特ħ X Ĵ X ħ X W¯¯ ħ= X Ť W¯¯ = w ^ [R Ñ ÇVNWRV×NWRN×VwixiwjwhxjxhxiWh:=xiTW=W(i,)RNC

Answers:


7

我在理解它时遇到了同样的问题。似乎所有C项的输出分数矢量都相同。但是,每个单热点表示的向量的误差差异将不同。因此,误差矢量用于反向传播以更新权重。

如果我错了,请纠正我。

来源:https : //iksinc.wordpress.com/tag/skip-gram-model/


所以 ?WRN×(VC)
比奇'16

0

在这两个模型中,输出分数均取决于您使用的分数功能。可以有两个得分函数softmax或负采样。因此,您可以使用softmax评分功能。您将得到一个分数函数大小为N * D。D是词向量的维数。N是示例数。每个词都像神经网络体系结构中的一类。


0

在skip-gram模型中,一个热编码的单词被馈送到两层浅层神经网络。由于输入是单次热编码的,因此隐藏层仅包含输入隐藏权重矩阵的一行(假设第行是因为输入向量的行是1)。 ķ ħkthkth

每个单词的分数由以下公式计算。

u=WTh

其中h是隐藏层中的向量,是隐藏输出权重矩阵。计算后,将计算多项式分布,其中是窗口大小。通过以下等式计算分布。 ü Ç ÇWu CC

p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj

如您所见,所有分布都是不同的。(有关更多信息:https : //arxiv.org/pdf/1411.2738.pdf)。实际上,如果他们使用下图所示的方法,则将更加清楚。C

总之,只有一个源向量。但是,使用softmax函数计算不同分布。çuC

References:

  • Xin Rong,Word2Vec参数学习的解释

那么W矩阵本质上就是词向量(算法的输出),W'是我们抛弃的完全不同的矩阵吗?
Nadav B

W'也是同样好的单词向量。
user3108764

1
错了 请参阅Xin Rong的等式(26),Word2Vec参数学习说明。实际上。所有C项的输出分数矢量将相同。p(wc,j=wO,c|wI)=expuc,jj=1Vexpuj=expujj=1Vexpuj
siulkilulki'1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.