基于重要性采样的期望估计——sampled softmax推导

本文详细介绍了推荐系统中Sampled Softmax技术的工作原理及其数学推导过程。通过对目标分布的重要采样,有效降低了大规模语料库下计算的复杂度。

一、背景

在推荐召回系统中,通常会采用tow-tower模型并利用log softmax作为损失进行优化,设[B][B][B]为mini-batch,[C][C][C]为全局语料库,s(x,y)s(x, y)s(x,y)为query x和item y的相似度分数,则有如下的损失函数:
L=−1B∑i∈[B]log(es(xi,yi)∑j∈[C]es(xi,yj))=−1B∑i∈[B]{ s(xi,yi)−log∑j∈[C]es(xi,yj)} \begin{align} \mathcal{L} &= - \frac {1}{B} \sum_{i \in [B]}log(\frac {e^{s(x_i,y_i)}}{\sum_{j\in [C]} e^{s(x_i,y_j)}}) \\ &= - \frac{1}{B} \sum_{i \in [B]}\{s(x_i,y_i) - log\sum_{j\in [C]} e^{s(x_i,y_j)}\} \end{align} L=B1i[B]log(j[C]es(xi,yj)es(xi,yi))=B1i[B]{ s(xi,yi)logj[C]es(xi,yj)}

对损失求导
∇θL=−1B∑i∈[B]{ ∇θs(xi,yi)−∑j∈[C]es(xi,yj)∑k∈[C]es(xi,yk)∇θs(xi,yj)}=−1B∑i∈[B]{ ∇θs(xi,yi)−∑j∈[C]P(yj∣xi)∇θs(xi,yj)}=−1B∑i∈[B]{ ∇θs(xi,yi)⏟part one−EP[∇θs(xi,yj)]⏟part two} \begin{align} \mathcal{\nabla_\theta L} &=- \frac{1}{B} \sum_{i \in [B]} \{ \nabla_{\theta} s(x_i, y_i) - \sum_{j \in [C]} \frac{e^{s(x_i, y_j)}}{\sum_{k\in [C]} e^{s(x_i, y_k)}} \nabla_ \theta s(x_i, y_j)\} \\ &= - \frac{1}{B} \sum_{i \in [B]} \{ \nabla_{\theta} s(x_i, y_i) - \sum_{j \in [C]} P(y_j|x_i) \nabla_ \theta s(x_i, y_j)\} \\ &= - \frac{1}{B} \sum_{i \in [B]} \{ \underbrace{\nabla_{\theta} s(x_i, y_i)}_{part\ one} - \underbrace{E_{P}[\nabla_\theta s(x_i, y_j)]}_{part \ two}\} \end{align} θL=B1i[B]{ θs(xi,yi)j[C]k[C]es(xi,yk)es(xi,yj)θs(xi,yj)}=B1i[B]{ θs(xi,yi)j[C]

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值