Softmax

层序softmax是另一种近似训练法。它使用了二叉树这一数据结构,树的每个叶结点代表词典V中的每个词。

图中,二叉树的每个叶节点代表着词典的每个词。


‍‍假设L(w)为从二叉树的根结点到词w的叶结点的路径(包括根结点和叶结点)上的结点数。假设n(w,j)为路径上第j个节点,并设该节点的背景词向量un(w,j)。以上图所示L(w3)=4。层序softmax将跳字模型中的条件概率近似表示为:

其中σ函数与sigmoid激活函数的定义相同,leftChile(n)是节点n的左子节点:如果判断x为真,[x]=1;反之[x]=-1。如果计算上图中给定词wc生成词w3的条件概率。我们需要将wc的词向量vc和根节点到w3路径上的非叶节点向量一一求内积。由于二叉树中由根节点到叶节点w3的路径上需要向左、向右再向左遍历,那么可以得到:

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

此外,由于L(w)-1的数量级为

,当词典V很大时,层序softmax在训练中每一步的梯度计算开销相较于未使用近似训练时大幅降低。


    层序softmax使用了二叉树,并根据根结点到叶结点的路径来构造损失函数。其训练中每一步的梯度计算开销与词典大小的对数相关。

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

友情链接更多精彩内容