我正在使用word2vec模型来训练神经网络并构建神经嵌入以在向量空间中找到相似的单词.但我的问题是关于单词和上下文嵌入(矩阵)中的维度,我们在训练开始时通过随机数(向量)初始化它们,如此
https://iksinc.wordpress.com/2015/04/13/words-as-vectors/
假设我们想在图表上显示{book,paper,notebook,novel}字样,首先我们应该建立一个尺寸为4×2或4×3或4×4等的矩阵,我知道矩阵的第一个维度是它的大小我们的词汇| v |.但是矩阵的第二维(向量的维数),例如这是单词“book”[0.3,0.01,0.04]的向量,这些数字是什么?它们有什么意义吗?例如0.3数字相关对于词汇中“book”和“paper”之间的关系,0.01是书与笔记本等之间的关系.
就像TF-IDF或Co-Occurence矩阵一样,每个维度(列)Y都有意义 – 它是与行X中的单词相关的单词或文档.
最佳答案 word2vec模型使用网络架构来表示输入字和最可能相关的输出字.
假设有一个隐藏层(如问题中链接的示例),引入的两个矩阵表示权重和偏差,允许网络计算映射输入向量的函数的内部表示(例如链接中的“cat”)示例)到输出向量(例如“爬”).
网络的权重是输入和输出之间映射的子符号表示 – 任何单个权重不一定代表任何有意义的任何东西.它是网络中所有单元之间的连接权重(即所有权重的交互),它产生了网络对功能映射的表示.这就是神经网络通常被称为“黑匣子”模型的原因 – 很难解释为什么他们做出特定的决定以及他们如何学习.因此,很难说矢量[0.3,0.01,0.04]的确切代表什么.
网络权重传统上初始化为随机值,主要有两个原因:
>它可以防止在训练开始之前将偏差引入模型
>它允许网络在初始化后从搜索空间中的不同点开始(有助于减少局部最小值的影响)
网络的学习能力对其权重初始化方式非常敏感.今天有更多高级的初始化权重的方法,例如this paper (see section: Weights initialization scaling coefficient).
初始化权重的方式和隐藏层的维度通常被称为超参数,并且通常根据启发式和问题空间的先验知识来选择.