word2vec skip gram 直观理解、训练过程和负采样

word2vec skip gram 直观理解

  • 目标
    根据给定的单词预测与该单词同处一个窗口内其他每个单词出现的概率
  • 目标损失函数:
    针对每个窗口内非target word 的context word,构建
    C ( θ ) = − ∑ w i ∑ c = 1 C l o g p ( w O , c ∣ w I ) C(\theta) = - \sum_{w_i}\sum_{c=1}^Clogp(w_O,c | w_I) C(θ)=wic=1Clogp(wO,cwI)损失函数并利用最大似然估计进行求解。在这里插入图片描述
  • 网络结构
    第一层为输入的单词one-hot向量,维度为1xV,V代表词表中所有词的个数。
    中间为隐层,神经元个数代表了压缩后每个词向量的维数N,常见个数有100,200,300。
    隐层和输入层间的矩阵V维度为VxN,待学习完成后,每一行的向量对应着词表中每个词作为target词时的词向量。
    隐层和输出层间的矩阵N维度为NxV,待学习完成后,每一列的向量对应着词表中每个词每个词作为context 词时的词向量。
    在这里插入图片描述
  • 隐层权重矩阵V
    我们用h代表输入词的one-hot向量x和V矩阵点积之后的结果,对应V矩阵中的第k行,x中等于1的那行为k,k的取值范围是整个词表的大小V。

在这里插入图片描述

  • 隐层权重矩阵N
    wj为窗口内任意一个context词,其向量 v w j ′ v'_{w_j} vwj为N矩阵中的一列。 s j c s_{jc} sjc代表输入词和一个窗口内的context词点积后的结果,对该结果进行softmax操作即可得知输入一个target word,窗口内每个context word 的输出概率 p ( w j = w O , c ∣ w I ) p(wj = w_{O,c} | w_I) p(wj=wO,cwI)
    在这里插入图片描述

训练过程

  • 损失函数
    在这里插入图片描述

从第一步到第二步是将联合概率写为C个 p ( w j = w O , c ∣ w I ) p(w_j = w_{O},c \mid w_I) p(wj=wO,cwI)乘积的形式

  • SGD update for W ′ W^{\prime} W

在这里插入图片描述
t j c t_{jc} tjc起到指示作用,当 w j c w_{jc} wjc不在window内时为0,此时产生误差 e j c e_{jc} ejc

  • SGD update for W W W
    值得注意的是在计算 ∂ C ( θ ) ∂ h i \frac{\partial C(\theta)}{\partial h_{i}} hiC(θ)时需要对所有的 s j s_{j} sj计算偏导数,这与更新 W ′ W^{\prime} W ∂ C ( θ ) ∂ s j c \frac{\partial C(\theta)}{\partial s_{jc}} sjcC(θ)时不同,因为后者只需要考虑context word的向量而非所有词典中词的向量
    在这里插入图片描述

通过用向量表示求和过程,可以得到输出词向量和输入词向量对应的 v w j ′ v'_{w_j} vwj v w I v_{w_I} vwI的更新公式
在这里插入图片描述

需要注意的是在更新 v w I v_{w_I} vwI时需要遍历词典中的每个词,会造成计算的不便,于是优化方法hierarchical softmax 和negative sampling被提出

负采样

相比于原始模型每次更新所有的输入词向量 v w I v_{w_I} vwI,负采样在每次更新时只选取一些输出词而不是整个词典,即 w j ∈ { w O } ∪ W n e g w_{j} \in\left\{w_{O}\right\} \cup \mathcal{W}_{\mathrm{neg}} wj{wO}Wneg
在这里插入图片描述

参考资料:台大《应用深度学习》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值