当前位置: 首页 > 知识库问答 >
问题:

什么是神经网络上下文中的投影层?

子车高超
2023-03-14

我目前正在尝试理解word2vec神经网络学习算法背后的体系结构,该算法基于上下文将单词表示为向量。

读了托马斯·米科洛夫的论文后,我偶然发现了他定义的投影层。尽管这个术语在提到word2vec时被广泛使用,但我无法找到它在神经网络环境中的确切定义。

我的问题是,在神经网络环境中,什么是投影层?它是给一个隐藏层命名的,该层与以前节点的链接共享相同的权重吗?它的单位真的有某种激活功能吗?

另一个更广泛地提到问题的资源可以在本教程中找到,它也指的是第67页周围的投影层。

共有3个答案

施阳曜
2023-03-14

连续单词包用于预测单个单词的先前和未来词条:因此,它是一个上下文结果。

输入是以前和将来输入的计算权重:所有输入都被赋予相同的新权重:因此,该模型的复杂性/特征计数比许多其他神经网络体系结构小得多。

回复:什么是投影层:来自您引用的论文

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

因此,投影层是一组共享权重,没有指示激活函数

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

因此,隐藏层实际上是由一组共享权重表示的,正如您正确地暗示的那样,所有输入节点都是相同的。

诸超
2023-03-14

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

如本文所述

投影层是共享的,使得对于多次包含相同单词的上下文,相同的权重集被应用于形成投影向量的每个部分。这种组织有效地增加了可用于训练投影层权重的数据量,因为每个上下文训练模式的每个单词都单独地贡献了权重值的变化。

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

现在,隐藏层:

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

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

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

慕容念
2023-03-14

我发现前面的答案有点过于复杂——投影层只是一个简单的矩阵乘法,或者在NN的上下文中,一个规则/密集/线性层,最终没有非线性激活(sigmoid/tanh/relu/etc.)这个想法是将(例如)100K维离散向量投影到600维连续向量中(我在这里随机选择了数字,“因人而异”)。确切的矩阵参数是通过训练过程学习的。

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

(在实践中,您甚至不必费心矩阵乘法(因为您将一个1-hot向量相乘,该向量的单词索引为1,其他地方为0),并且会将经过训练的矩阵视为了望表(即语料库中的6257个单词=投影矩阵中的6257行/列(取决于您如何定义)。)

 类似资料:
  • 主要内容:MP神经元模型,感知机模型,反向传播算法,总结在本教程的开篇《 人工智能是什么》一节中详细的阐述了深度学习发展历程,以及人工智能、机器学习、深度学习三者间的关系。就目前而言,这三者中红到发紫的当属“深度学习”。 深度学习(Deep Learning)这一概念是由 Geoffrey Hinton(深度学习之父)于 2006 年提出,但它的起源时间要早得多,可追溯至 20 世纪四五十年代,也就是人类刚刚发明出电子计算机时就已经提出来了,但当时并非

  • 本文向大家介绍什么是机器学习中的神经网络?,包括了什么是机器学习中的神经网络?的使用技巧和注意事项,需要的朋友参考一下 神经网络可以理解为试图模仿人脑工作的隐藏层,输入层和输出层的网络。 隐藏的层可以可视化为输入数据本身的抽象表示。这些层借助其自身的内部逻辑帮助神经网络理解数据的各种特征。 这些神经网络是不可解释的模型。不可解释的模型是即使我们观察到隐藏层也无法解释或理解的模型。这是因为神经网络具

  • 例如,我的训练集是20 x 20个图像或400个特征图像来识别书写数字,我假设我在NNs中有模型3层:输入层包含400个神经元;一个隐藏层包含25个神经元,输出层包含10个神经元。我读了《神经网络与深度学习》的第一章。 最后一部分“一个简单的手写数字分类网络”(您可以使用ctrl-f进行搜索),它说“隐藏层中的神经元检测是否存在以下图像”。所以,它想说隐藏层中的神经元是通过图像呈现的吗?我认为它们

  • 我正在使用Encog框架对Elman和/或Jordan ANN进行实验。我正在尝试编写自己的代码,但正在研究Encog是如何实现的。我看到了时间的反向传播是如何更新权重的,但是上下文神经元是如何更新的呢?当计算神经网络的输出时,这些值似乎会随机波动。这些值如何使简单的递归神经网络能够随着时间的推移识别输入数据中的模式?

  • 本文向大家介绍卷积神经网络的卷积是什么意思? 相关面试题,主要包含被问及卷积神经网络的卷积是什么意思? 时的应答技巧和注意事项,需要的朋友参考一下   答:对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源  

  • CL,SL,CL,SL,CM,Softmax 架构2(我们真的又需要NN在末尾了吗?)http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5605630&tag=1 CL,SL,CL,SL,NN,Softmax 建筑3我的想法 CL,SL,CL,SL,Softmax