23.深度学习之自然语言处理-近似训练

23.1 近似训练

  • 由于softmax运算考虑了背景词可能是词典V中的任一词,以上损失包含了词典大小数目的项的累加。
  • 不论是跳字模型还是连续词袋模型,由于条件概率使用了softmax运算,每一步的梯度计算都包含词典大小数目的项的累加。
  • 两种近似训练方法
    • 负采样(negative sampling)或层序softmax(hierarchical softmax)。

23.2 负采样

  • 负采样修改了原来的目标函数。
    • 给定中心词 wc 的一个背景窗口,把背景词 wo 出现在该背景窗口看作一个事件,并将该事件的概率计算为:


    • 其中的 σ 函数与sigmoid激活函数的定义相同:


    • 先考虑最大化文本序列中所有该事件的联合概率来训练词向量。

    • 具体来说,给定一个长度为 T 的文本序列,设时间步 t 的词为


      • 且背景窗口大小为 m ,考虑最大化联合概率


  • 负采样通过采样并添加负类样本使目标函数更有意义。
    • 负设背景词 wo 出现在中心词 wc 的一个背景窗口为事件 P ,根据分布 P(w) 采样 K 个未出现在该背景窗口中的词,即噪声词。

    • 设噪声词


      • 不出现在中心词 wc 的该背景窗口为事件 Nk 。
    • 假设同时含有正类样本和负类样本的事件


      • 相互独立,负采样将以上需要最大化的仅考虑正类样本的联合概率改写为:


    • 负其中条件概率被近似表示为:


  • 设文本序列中时间步 t 的词


  • 在词典中的索引为it,噪声词wk在词典中的索引为hk。
  • 有关以上条件概率的对数损失为:


23.3 层序softmax

  • 层序softmax是另一种近似训练法。

    • 它使用了二叉树这一数据结构,树的每个叶结点代表词典 V 中的每个词。


  • 假设 L(w) 为从二叉树的根结点到词 w 的叶结点的路径(包括根结点和叶结点)上的结点数

    • 设 n(w,j) 为该路径上第 j 个结点,并设该结点的背景词向量为


    • 以图为例,


    • 层序softmax将跳字模型中的条件概率近似表示为:


  • 由于在二叉树中由根结点到叶结点 W3 的路径上需要向左、向右再向左地遍历(图中加粗的路径),得到:


  • 由于 σ(x)+σ(−x)=1 ,给定中心词 Wc 生成词典 V 中任一词的条件概率之和为1这一条件也将满足:


  • 此外,


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容