在神经网络中什么是投影层?
machine-learning
neural-network
nlp
word2vec
12
0

我目前正在尝试了解word2vec神经网络学习算法背后的架构,该架构用于根据上下文将单词表示为矢量。

看完Tomas Mikolov的论文后,我遇到了他定义的投影层 。即使这个词在使用word2vec时被广泛使用,我也无法找到它在神经网络环境中的确切定义。

Word2Vec神经网络架构

我的问题是,在神经网络环境中,什么是投影层?它是给与先前节点的链接共享相同权重的隐藏层的名称吗?它的单元实际上具有某种激活功能吗?

tutorial可以在本教程中找到另一个更广泛地涉及该问题的资源,该资源也涉及第67页周围的投影层

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

我发现前面的答案有点复杂-投影层只是简单的矩阵乘法,或者在NN的上下文中是规则/密集/线性层,最后没有非线性激活(Sigmoid / tanh / relu / etc。)的想法是将(例如)100K维离散向量投影到600维连续向量中(我在这里随机选择数字,“您的里程可能会有所不同”)。确切的矩阵参数是通过训练过程学习的。

之前/之后发生的事情已经取决于模型和上下文,而不是OP要求的。

(在实践中,您甚至不用担心矩阵乘法(因为您正在乘以1-hot向量,其中单词索引为1,其他任何地方为0),并将训练后的矩阵作为监视表(即6257)语料库中的单词=投影矩阵中的第6257行)。

收藏
评论

给定单词的先前和将来条目, continuous bag of words用于预测单个单词:因此,这是上下文结果。

输入是从先前和将来的条目中计算出的权重:并且都赋予了相同的新权重:因此,此模型的复杂度/特征数量比许多其他NN架构小得多。

RE: what is the projection layer :来自您引用的论文

去除非线性隐藏层,并为所有单词共享投影层(不仅仅是投影矩阵);因此,所有单词都投影到同一位置(对它们的向量进行平均)。

因此,投影层是一组shared weights ,因此未指示激活函数。

请注意,输入和投影层之间的权重矩阵以与NNLM中相同的方式为所有单词位置共享

因此, hidden layer实际上是由这组共享权重表示的-正如您正确暗示的那样,所有输入节点之间都相同。

收藏
评论

投影层将n元语法上下文的离散单词索引映射到连续向量空间。

如本论文所述

共享投影层,以便对于多次包含相同单词的上下文,应用相同的权重集以形成投影矢量的每个部分。该组织有效地增加了可用于训练投影层权重的数据量,因为每个上下文训练模式的每个单词都分别对权重值做出了贡献。

在此处输入图片说明

该图显示了简单的拓扑结构,如何通过复制投影层权重矩阵中的列来有效地组装投影层的输出。

现在,隐藏层:

隐藏层处理投影层的输出,并且还使用在拓扑配置文件中指定的许多神经元来创建隐藏层。

编辑 :对图中发生的情况的解释

投影层中的每个神经元都由等于词汇量的权重表示。投影层通过不使用非线性激活函数而不同于隐藏层和输出层。其目的仅仅是提供一种有效的方法,将给定的n-gram上下文投影到减少的连续向量空间上,以便通过训练对这些向量进行分类的隐藏层和输出层进行后续处理。给定输入向量元素的一或零性质,具有索引i的特定单词的输出仅是投影层权重训练矩阵的第i列(其中矩阵的每一行代表单个神经元的权重) )。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号