BSL: Understanding and Improving Softmax Loss for Recommendation

Wu J., Chen J., Wu J., Shi W., Zhang J. and Wang X. BSL: Understanding and Improving Softmax Loss for Recommendation. ICDE, 2024.

作者'发现'在协同过滤中, Softmax loss 会比 BCE/BPR 损失效果好很多, 作者认为这是因为 Softmax 实际上等价于 Distributionally Robust Optimization, 所以能够对负样本中的一些噪声免疫, 故而如此有效. 作者进一步对其进行了改进, 使得它对正样本中的噪声也有一定的免疫.

符号说明

  • U, users;
  • I, items;
  • R{0,1}|U|×|I|, interaction matrix;
  • Su+={iI|rui=1}, Su={iI|rui=0};

Softmax loss

  • Softmax loss 定义为 (分子部分作者只保留了负样本):

    LSL(u)=EiPu+[logexp(f(u,i)/τ)NEjPu[exp(f(u,j)/τ)]].

  • 作者认为上式可以归结为:

    LSL(u)=EiPu+[f(u,i)]Positive Part+τlogEjPu[exp(f(u,j)/τ)]Negative Part,

    说实话, N 去掉式 ok 的毕竟是常数, 我不是很能理解 Negative Part 前的 τ 是哪里来的.

  • DRO (Distributionally Robust Optimization) 是一种鲁棒优化的技术, 它形如:

    θ^=argminθ{maxPPExP[L(x;θ)]},P={PD:D(P,Po)η},

    即 DRO 认为, 最好的参数是使得在原始分布 Po 周围的一些分布 PP 中的最坏情况也变得能够接受的参数. 所以 DRO 会导致保守但鲁棒的模型, 因而能够免疫一定噪声.

  • 有这样的一个理论: 优化 Softmax loss 等价于在原来的 point-wise loss 上进行 Distributionally Robust Optimization. 故而, Softmax loss 相较于一般的 Point-wise loss 的优势便在于此.

  • 此外, 作者还证明了, 优化 Softmax loss 对于 fairness 也是有帮助的 (参见原文).

  • τ 的作用: 这套理论的优势在于, 能够从鲁棒性的角度去理解 τ. 根据上面理论的证明 (请看原文), 当 τ 减小的时候, Softmax loss 的鲁棒性半径 η 减小, 于是变得越发极端, 反之变得越发保守:

  • 总而言之: 当你认为负样本的噪声很大的时候, 应该增大 τ, 反之减小 τ.

Bilateral Softmax loss (BSL)

  • 作者进一步提出 BSL:

    LBSL(u)=τ1logEiPu+[exp(f(u,i)/τ1)]Positive Part+τ2logEjPu[exp(f(u,j)/τ2)]Negative Part.

    如此一来, 我们就可以通过 τ1 的调节来应对正样本中的噪声.

注: 如果每个用户采样的正样本数为 1, 那 positive part 不久退化为了 f(u,i), 这样 τ1 不就没用了, 作者源代码里给的文章里说明好像有很大出入啊.

代码

  • 作者提供了 Negative Sampling 和 In-Batch 两种方式的伪代码:

[official]

posted @   馒头and花卷  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2022-04-02 DropAttack: A Masked Weight Adversarial Training Method to Improve Generalization of Neural Networks
2022-04-02 A Weight Value Initialization Method for Improving Learning Performance of the Backpropagation Algorithm in Neural Networks
2020-04-02 Auto-Encoding Variational Bayes
点击右上角即可分享
微信分享提示