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这一条件也将满足:


  • 此外,


    • 当词典 V 很大时,层序softmax在训练中每一步的梯度计算开销相较未使用近似训练时大幅降低。
      大数据视频推荐:
      腾讯课堂
      CSDN
      大数据语音推荐:
      企业级大数据技术应用
      大数据机器学习案例之推荐系统
      自然语言处理
      大数据基础
      人工智能:深度学习入门到精通

你可能感兴趣的:(23.深度学习之自然语言处理-近似训练)