图嵌入前篇之词嵌入模型 Wrod2Vec

词向量模型 Word2Vec

Skip-gram 模型是图嵌入模型 Random Walk 中要使用到的模型,因此先学习 Word2Vec

神经网络语言模型 NNLM

目标:根据给定的词序列,预测下一个会出现的词,如给定 “他”,“是”,“一个”,预测下一个会出现的词的概率

模型输入

设定语料库中词的个数是 v,对每个词进行 one-hot 编码,得到每个词对应的编码是 1×v维的;设需要得到的词向量为k 维,构建一个 v×k 维的矩阵 C

图嵌入前篇之词嵌入模型 Wrod2Vec_第1张图片

假设给定 x 个词,预测下一个出现的词,那么就先根据这 x 个词的独热编码乘以 C,得到对应的 x 个词向量

模型训练

  • 前向传播:对这 x 个词向量根据模型的w加权求和,并施加激活函数 tanh,再 Softmax 求得概率

  • 反向传播:更新矩阵 C、w

引入 Word2Vec

NNLM 模型的目的是为了预测下一个要出现的词,所得到的词向量只是副产品;而 Word2Vec 是以得到词向量为目的所训练的网络模型,根据上下文进行训练

图嵌入前篇之词嵌入模型 Wrod2Vec_第2张图片

  • CBOW:给定上下文预测这个词
  • Skip-gram:给定词预测上下文

设每个词对应的词向量矩阵 C,输入的多个词的 one-hot 向量拼接为 x,输入到隐藏层的权重矩阵为w,偏置bias为 b,则前向传播表示为为:softmax(w1(xC) + b)

因为这里目的是为了训练得到词向量,所以没有加激活函数(不需要非线性的变换、加快训练速度)

你可能感兴趣的:(图深度学习,深度学习)