4

我正在使用 word2vec 模型来训练神经网络并构建神经嵌入以在向量空间上查找相似的单词。但我的问题是关于单词和上下文嵌入(矩阵)中的维度,我们在训练开始时通过随机数(向量)对其进行初始化,例如https://iksinc.wordpress.com/2015/04/13 /单词作为向量/

假设我们想在图表上显示 {book,paper,notebook,novel} 单词,首先我们应该构建一个尺寸为 4x2 或 4x3 或 4x4 等的矩阵,我知道矩阵的第一个维度是我们的词汇|v|。但是矩阵的第二维(向量的维数),例如这是单词“book”的向量[0.3,0.01,0.04],这些数字是什么?它们有什么意义吗?例如与0.3相关的数字对于词汇表中单词“book”和“paper”之间的关系,0.01是book和notebook等之间的关系。就像TF-IDF,或者Co-Occurence矩阵一样,每个维度(列)Y都有一个含义-它是与 X 行中的单词相关的单词或文档。

4

2 回答 2

1

word2vec 模型使用网络架构来表示输入词和最可能关联的输出词。

假设有一个隐藏层(如问题中链接的示例),引入的两个矩阵表示允许网络计算其映射输入向量的函数的内部表示的权重和偏差(例如链接中的“猫”例如)到输出向量(例如“爬升”)。

网络的权重是输入和输出之间映射的子符号表示——任何单个权重不一定代表任何有意义的东西。正是网络中所有单元之间的连接权重(即所有权重的交互)产生了网络对函数映射的表示。这就是为什么神经网络通常被称为“黑盒”模型的原因——很难解释它们为什么做出特定的决定以及它们是如何学习的。因此,很难说向量 [0.3,0.01,0.04] 究竟代表什么。

网络权重传统上初始化为随机值,主要有两个原因:

  1. 它可以防止在训练开始之前将偏差引入模型
  2. 它允许网络在初始化后从搜索空间中的不同点开始(有助于减少局部最小值的影响)

网络的学习能力可能对其权重的初始化方式非常敏感。今天有更高级的初始化权重的方法,例如这篇论文(参见:权重初始化缩放系数部分)

初始化权重的方式和隐藏层的维度通常被称为超参数,通常根据问题空间的启发式和先验知识来选择。

于 2016-07-13T13:42:45.780 回答
0

我想知道同样的事情并放入一个像 (1 0 0 0 0 0...) 这样的向量来查看它最接近的术语。答案是返回的结果似乎并没有围绕任何特定的含义聚集,而只是一种随机的。这是使用 Mikolov 在 Google News 上训练的 300 维向量。在向量空间中查找 NNSE 语义向量,其中各个维度似乎带有特定的人类可理解的含义。

于 2016-11-29T19:12:29.753 回答