【辩难】DSSM 损失函数是 Pointwise Loss 吗?

本文探讨了DSSM损失函数的本质,指出它并非简单的Pointwise Loss,而是Pairwise Loss的增强版或Listwise Loss的近似。通过对DSSM模型和损失函数的分析,揭示了它在排序能力和计算复杂度方面的特点,并与Pointwise、Pairwise和Listwise Loss进行了比较,阐述了其在实际应用中的优势和局限性。
摘要由CSDN通过智能技术生成

DSSM 损失函数是 Pointwise Loss 吗?

背景:在学习 DSSM 的过程中发现网上有一些人说 DSSM 的损失函数是 Pointwise Loss,也有一些人说 DSSM 的损失函数是 Pairtwise Loss,显然存在矛盾。本人抱着“理不辨不明”的心态,对 DSSM 损失函数进行了调研,得到以下结论:DSSM 损失函数不是 Pointwise Loss,可以认为是 Pairwise Loss 的增强版或者 Listwise Loss 的近似版。具体论述参考下文,论述内容含有个人观点,目的在于交流学习,欢迎大家指正~

1. DSSM 损失函数

DSSM 模型是 Huang 等人 [1] 2013 年提出的一种深度语义模型,广泛应用于语义检索,个性化推荐,智能问答等领域。在 DSMM 模型中,查询 Q 和文档 D 之间的相似度用 cosine 来衡量:
R ( Q , D ) = c o s i n e ( y Q , y D ) = y Q T y D ∥ y Q ∥ ∥ y D ∥ (1) R(Q,D) = cosine(y_Q, y_D) = \frac{y_Q^T y_D}{\|y_Q\| \|y_D\|} \tag{1} R(Q,D)=cosine(yQ,yD)=yQyDyQTyD(1)
其中 y Q , y D y_Q, y_D yQ,yD 分别表示查询 Q 和文档 D 通过前向神经网络学到的稠密向量表示。

给定查询 Q ,正样本 D + D^+ D+ 的点击概率定义为:
P ( D + ∣ Q ) = e x p ( γ R ( Q , D + ) ) ∑ D ′ ∈ D s e x p ( γ R ( Q , D ′ ) ) (2) P(D^+|Q) = \frac{exp(\gamma R(Q, D^+))}{\sum_{D' \in Ds}exp(\gamma R(Q, D'))} \tag{2} P(D+Q)=DDsexp(γR(Q,D))exp(γR(Q,D+))(2)
其中 D s = { D + , D 1 − , D 2 − , . . . , D N − } Ds=\{D^+, D_1^-, D_2^-,...,D_N^- \} Ds={ D+,D1,D2,...,DN} 由一个正样本和 N 个负样本组成, γ \gamma γ 是 softmax 函数的平滑因子。基于极大似然估计得到 DSSM 的损失函数为:
L ( Λ ) = − log ⁡ ∏ ( Q , D + ) P ( D + ∣ Q ) = − ∑ ( Q , D + ) log ⁡ P ( D + ∣ Q ) (3) L(\Lambda) = -\log \prod_{(Q,D^+)} P(D^+|Q) = -\sum_{(Q,D^+)} \log P(D^+|Q) \tag{3} L(Λ)=log(Q,D+)P(D+Q)=(Q,D+)logP(D+Q)(3)
在 DSSM 后续的优化版本 CNN-DSSM ( CLSM )[2]、LSTM-DSSM [3] 、MV-DSSM [4] 等中,依然在沿用该损失函数。

2. Pointwise / Pairwise / Listwise Loss

为弄清 DSSM 损失函数是 Pointwise / Pairwise / Listwise Loss 中的哪一种,首先要弄清楚这三种 Loss 的区别。参考刘铁岩在《Learning to rank for information retrieval》[5] 书中的论述,加上个人理解,总结出 Pointwise / Pairwise / Listwise Loss 的区别如下:

  • Pointwise Loss:评估单个样本真实标签的预测准确度,即计算单个 loss 时要么只用一个正样本,要么只用一个负样本。总误差既包括正样本带来的误差,也包括负样本带来的误差。
  • Pairwise Loss:评估一个样本对的标签与真实标签是否一致,即计算单个 loss 时会同时用到一个正样本和一个负样本;
  • Listwise Loss:当真实标签是所有文档关于给定查询的相关度时,Listwise Loss 往往是一些常用的 IR 评估指标;当真实标签是一个排好序的列表时,Listwise Loss 评估的是预测的排序列表和真实列表之间的差异。无论那每一种,计算单个 loss 时都会使用所有正负样本。

可见,Pointwise / Pairwise / Listwise Loss 可以简单地通过计算单个 loss 时使用的正负样本数量进行区分。

3. DSSM 损失函数与 Pointwise Loss

根据上述分析,公式(3)表面上看似是 Pointwise loss,但该损失函数只考虑正样本带来的损失,没有单独考虑负样本带来的损失,不符合 Pointwise Loss 的性质。
Shen [2]等人在提出 CLSM 模型时提到该损失函数包含了 Pairwise loss ,比 Pairwise loss 更灵活高效,原文如下:

Note that the loss function of Eq. (5) and (6) covers the pairwise loss that has been widely used for learning-to-rank [5] as a special case if we allow only one unclicked document to be sampled. This loss function is also widely used in speech recognition and other applications [17]. It is more flexible than pairwise loss in exploring different sampling techniques for generating unclicked documents for discriminative information.

Palangi [3]等人在提出 LSTM-DSSM 模型时给出了更为详细的推导,公式(3)可变形为
L ( Λ ) = − ∑ ( Q , D + ) log ⁡ P ( D + ∣ Q ) = ∑ ( Q , D + ) l ( Λ ) (4) L(\Lambda) = -\sum_{(Q,D^+)} \log P(D^+|Q) = \sum_{(Q,D^+)} l(\Lambda) \tag{4} L(Λ)=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值