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
















