Word2Vec 中的维度从何而来?

Sha*_*ani 5 nlp machine-learning neural-network word2vec word-embedding

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

\n\n

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

\n

Mar*_*ark 2

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

\n\n

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

\n\n

网络的权重是输入和输出之间映射的子符号表示\xe2\x80\x93任何单个权重\xe2\x80\x99本身不一定代表任何有意义的东西。它是网络中所有单元之间的连接权重(即所有权重的相互作用),从而产生函数映射的网络表示。这就是为什么神经网络通常被称为 \xe2\x80\x9c 黑盒 \xe2\x80\x9d 模型 \xe2\x80\x93 很难解释它们为什么做出特定决策以及它们如何学习。因此,很难准确说出向量 [0.3,0.01,0.04] 代表什么。

\n\n

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

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

网络\xe2\x80\x99的学习能力对其权重的初始化方式非常敏感。如今有更先进的初始化权重的方法,例如本文(请参阅“权重初始化缩放系数”部分)

\n\n

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

\n