Rog*_*ger 33 nlp machine-learning neural-network word2vec
我目前正在尝试理解word2vec神经网络学习算法背后的架构,用于根据其上下文将单词表示为向量.
在阅读了Tomas Mikolov论文后,我发现了他定义为投影层的内容.虽然这个术语在提到word2vec时被广泛使用,但我无法找到它在神经网络环境中的实际定义的精确定义.
我的问题是,在神经网络环境中,什么是投影层?它是隐藏图层的名称,它与以前节点的链接共享相同的权重吗?它的单位实际上是否具有某种激活功能?
Dav*_*eli 32
我发现这里以前的答案有点过于复杂 - 投影层只是一个简单的矩阵乘法,或者在 NN 的上下文中,一个规则/密集/线性层,最后没有非线性激活(sigmoid/tanh/relu /etc.)这个想法是将(例如)100K维离散向量投影到600维连续向量中(我在这里随机选择了数字,“你的里程可能会有所不同”)。通过训练过程学习精确的矩阵参数。
之前/之后发生的事情已经取决于模型和上下文,而不是 OP 所要求的。
(实际上,您甚至不会理会矩阵乘法(因为您正在乘以一个 1-hot 向量,该向量的单词索引为 1,其他位置为 0),并且会将经过训练的矩阵视为监视表(即第 6257 个语料库中的单词 = 投影矩阵中的第 6257 行/列(取决于您如何定义它)。)
小智 19
投影层将n-gram上下文的离散单词索引映射到连续向量空间.
作为该解释的论文
共享投影层,使得对于多次包含相同字的上下文,应用相同的权重集以形成投影矢量的每个部分.该组织有效地增加了可用于训练投影层权重的数据量,因为每个上下文训练模式的每个单独地贡献对权重值的改变.
该图显示了如何通过从投影层权重矩阵复制列来有效地组装投影层的输出的简单拓扑.
现在,隐藏层:
隐藏层处理投影图层的输出,并且还使用拓扑配置文件中指定的多个神经元创建.
编辑:解释图中发生的事情
投影层中的每个神经元由等于词汇量大小的多个权重表示.通过不使用非线性激活函数,投影层与隐藏层和输出层不同.其目的仅仅是提供一种有效的方法,将给定的n-gram上下文投影到减小的连续矢量空间上,以便通过训练分类这些矢量的隐藏和输出层进行后续处理.给定输入向量元素的一或零性质,具有索引i的特定单词的输出仅是训练的投影层权重矩阵的第i列(其中矩阵的每一行表示单个神经元的权重) ).
归档时间: |
|
查看次数: |
7940 次 |
最近记录: |