目录
一、先公布答案
二、解释
三、扩展补充
一、二分类概率类损失
1. Binary Cross-Entropy(BCE,二元交叉熵)
2. Focal Loss
二、排序类损失(pairwise / listwise)
3. BPR Loss(Bayesian Personalized Ranking)
4. Hinge Loss(合页损失)
5. ListNet
6. ListMLE
7. LambdaRank
三、表征学习类损失
8. InfoNCE(Information Noise Contrastive Estimation)
9. Triplet Loss(三元组损失)
四、回归/连续值类损失
10. MSE / L2 Loss
11. MAE / L1 Loss
12. Huber Loss
13. Tweedie Loss
14. Poisson Loss
五、分布对齐/蒸馏类损失
15. KL Divergence(KL 散度)
16. 蒸馏损失(软标签回归 / MSE on logits)
六、多任务与融合类
17. 多任务加权损失
汇总对照表
一、先公布答案
- ctr预测用交叉熵
- 向量表征用infonce
- 预测gmv用回归
二、解释
损失函数的选择取决于任务输出的数学性质:
- CTR 预测用 Binary Cross-Entropy:点击是一个二分类事件(点/不点),输出是概率值。BCE 直接优化伯努利分布的似然,是二分类任务的标准选择。
- 学表征用 InfoNCE:表征学习的目标不是预测某个标量,而是让正样本对在向量空间中靠近、负样本对远离。InfoNCE 本质是对比学习损失,它最大化正样本对之间的互信息下界,迫使模型学到判别性的表示。它关心的是“排序关系”而非绝对数值,适合召回双塔、序列表征等场景。
- 预测 GMV 可能用回归损失:GMV 是连续值(金额),回归损失(如 MSE、Tweedie 损失)直接优化预测值与真实值的数值误差。不过 GMV 分布通常零膨胀且长尾,实际中也会用 Tweedie 这类能同时处理“是否购买”和“买多少”的损失函数,但本质上仍是回归框架。
概括来说:分类任务用交叉熵,排序/表征任务用对比损失,连续值预测用回归损失——三者对应的输出空间和目标不同,不能随意替换
三、扩展补充
一、二分类概率类损失
1. Binary Cross-Entropy(BCE,二元交叉熵)
形式:
优化目标:让模型输出的概率 y^ 逼近真实标签 y∈{0,1}。它等价于最小化伯努利分布的负对数似然。
适用场景:CTR 预估、CVR 预估等标准二分类任务。输出是校准过的概率值,便于后续做 pCTR×pCVR×price 之类的乘性融合。
注意:BCE 是逐点损失,每个样本独立计算,不直接约束正负样本之间的相对顺序。在样本极度不平衡时,大量简单负例会主导梯度。
2. Focal Loss
形式:,
其中 p^t是模型对真实类别的预测概率,γ 是聚焦参数(常取 2),αt 是类别权重。
优化目标:在 BCE 基础上加一个调制因子 (1−p^t)γ。当样本容易分(p^t 接近 1)时,该因子趋近 0,损失被大幅压低;当样本难分时,因子接近 1,损失保留。效果是让模型把梯度集中在难样本上。
适用场景:CTR 或转化预估中简单负样本占绝对多数、模型被易分样本主导时。也可用于目标检测等类别不平衡场景。它是对 BCE 的加权改进,不是全新框架。
二、排序类损失(pairwise / listwise)
这类损失不关心分数的绝对校准,只关心正样本是否排在负样本前面,或整个列表的排序质量。
3. BPR Loss(Bayesian Personalized Ranking)
形式:
其中 y^+ 是正样本得分,y^− 是负样本得分。
优化目标:最大化正样本得分高于负样本的概率。它假设用户对正样本的偏好强于负样本,直接优化这个成对比较的似然。
适用场景:召回阶段的隐式反馈建模(用户有点击=正,无交互=负),也常用于粗排。不需要分数是概率,适合只关心相对顺序的场合。
4. Hinge Loss(合页损失)
形式:,
m 是 margin。
优化目标:要求正负样本得分差至少达到 margin m,超过则损失为零。它比 BPR 更“宽容”——只要差距够大就不再惩罚,而不是持续拉大差距。
适用场景:成对排序、SVM 类模型。在推荐中可用于粗排或召回,强调“分开即可”而非“越开越好”。
5. ListNet
形式:对每个候选列表,用 softmax 把模型得分转成排列分布 P,用真实标签(或真实排列)构造目标分布 Q,然后计算交叉熵
优化目标:从整个列表层面优化“预测排列分布”与“真实排列分布”的接近程度,而不是逐对比较。它考虑了一个正样本与列表中所有负样本的关系。
适用场景:精排、粗排中候选以列表为单位打分的场景。阿里粗排实践中采用 listwise softmax 损失,匹配“从一批候选中选最优”的任务本质。
6. ListMLE
形式:基于 Plackett-Luce 模型,对真实排列的似然取负对数:,
其中 π 是真实排列。
优化目标:最大化真实排列在模型下的似然,是 ListNet 的另一种 listwise 实现,直接对排列建模而非对分布做交叉熵。
适用场景:同上,列表级排序优化。
7. LambdaRank
形式:不显式定义损失函数,而是直接构造梯度:
,其中 ∣ΔNDCGij∣ 是交换两个样本位置带来的 NDCG 变化量。
优化目标:直接以 NDCG 等排序指标为优化目标,把“交换这对样本对最终排序指标的影响”作为梯度权重,让模型优先修正对指标影响大的排序错误。
适用场景:精排中直接优化 NDCG、MAP 等列表指标。LambdaRank 是 LambdaMART 等 learning-to-rank 方法的核心。
三、表征学习类损失
8. InfoNCE(Information Noise Contrastive Estimation)
形式:,
其中 q 是查询表征,k+ 是正样本表征,ki包含正样本和负样本,τ 是温度系数。
优化目标:在表征空间中,让正样本对的相似度高于查询与所有负样本的相似度。它最大化正样本对之间的互信息下界,学到的表征具有判别性。
适用场景:双塔召回、序列表征、多模态对齐等表征学习任务。它关心的是向量空间的相对结构,而非绝对数值预测。
9. Triplet Loss(三元组损失)
形式:,其中 a 是锚点,p 是正样本,n 是负样本,d 是距离度量,m 是 margin。
优化目标:让锚点与正样本的距离比锚点与负样本的距离至少小一个 margin。它是 InfoNCE 之外另一种常用的度量学习损失。
适用场景:物品 Embedding 学习、人脸识别式的相似度建模、I2I 召回中的物品表征训练。与 InfoNCE 相比,triplet 每次只用一对负样本,InfoNCE 用一批负样本,后者通常更稳定。
四、回归/连续值类损失
10. MSE / L2 Loss
形式:
优化目标:最小化预测值与真实连续值的平方误差,假设误差服从高斯分布。
适用场景:GMV、客单价、时长等连续值预测。对异常值敏感,长尾分布下可能被大值主导。
11. MAE / L1 Loss
形式:
优化目标:最小化绝对误差,假设误差服从拉普拉斯分布。对异常值比 MSE 稳健。
适用场景:连续值回归中对离群点敏感的场景,或需要稳健估计时。
12. Huber Loss
形式:误差小于 δ 时用平方(),大于 δ 时用线性(
)。
优化目标:结合 MSE 和 MAE 的优点——小误差时平滑可导(像 MSE),大误差时不被异常值主导(像 MAE)。
适用场景:GMV 等长尾连续值回归,兼顾收敛稳定性和鲁棒性。
13. Tweedie Loss
形式:基于 Tweedie 分布(指数族,power 参数 p 控制零膨胀程度),。
优化目标:同时建模“是否发生”(零膨胀)和“发生多少”(正值大小)。当 p 接近 1 时接近泊松,接近 2 时接近伽马,介于两者之间可处理大量零值加连续正值的分布。
适用场景:GMV、保费、用户消费金额等零膨胀长尾目标。比纯 MSE 更贴合“大量用户不购买、少数购买且金额差异大”的实际分布。
14. Poisson Loss
形式:(忽略常数项),假设 y∼Poisson(y^)。
优化目标:建模计数型目标,预测值 y^ 是事件发生的期望次数。
适用场景:曝光量、点击量、转化量等计数型目标。有专利方案对展现量/点击量/转化量用泊松损失,对率值用 MSE,再加权融合。
五、分布对齐/蒸馏类损失
15. KL Divergence(KL 散度)
形式:,衡量两个分布的差异。
优化目标:让预测分布 P 逼近目标分布 Q。在蒸馏中,Q 是教师模型的软标签分布,P 是学生模型的输出。
适用场景:知识蒸馏(精排→粗排、大模型→小模型)、ListNet 中的分布对齐。阿里粗排用蒸馏损失让粗排分数拟合精排分数分布。
16. 蒸馏损失(软标签回归 / MSE on logits)
形式:常用 MSE 或 KL 散度,作用在教师模型和学生模型的输出(logits 或概率)上。
优化目标:让学生模型不仅拟合真实标签,还拟合教师模型的打分排序和置信度,从而继承教师的排序知识。
适用场景:粗排学习精排打分、级联排序中的阶段对齐。本质是软标签监督,可与真实标签损失加权组合。
六、多任务与融合类
17. 多任务加权损失
形式:,各任务损失加权求和。权重可以是固定的,也可以动态调整(如不确定性加权、GradNorm)。
优化目标:在共享底层表征的同时,平衡多个目标(CTR、CVR、时长等)的优化。
适用场景:多目标排序模型(如 MMoE、PLE 的输出层),CTR 用 BCE、CVR 用 BCE、GMV 用 Tweedie,再按业务权重融合。
汇总对照表
| 类别 | 损失函数 | 核心优化目标 | 典型场景 |
|---|---|---|---|
| 二分类概率 | BCE | 概率逼近 0/1 标签 | CTR、CVR |
| 二分类概率 | Focal Loss | 聚焦难样本的 BCE | 类别极不平衡的 CTR |
| 排序 pairwise | BPR | 正样本得分高于负样本 | 召回、粗排隐式反馈 |
| 排序 pairwise | Hinge | 正负得分差达到 margin | 成对排序 |
| 排序 listwise | ListNet | 排列分布交叉熵 | 粗排、精排列表打分 |
| 排序 listwise | ListMLE | 真实排列的似然 | 列表级排序 |
| 排序 listwise | LambdaRank | 直接优化 NDCG 梯度 | 精排排序指标优化 |
| 表征学习 | InfoNCE | 正对相似度高于负对 | 双塔召回、多模态对齐 |
| 表征学习 | Triplet | 锚-正距离小于锚-负距离 | 物品 Embedding、I2I |
| 回归 | MSE | 平方误差 | GMV、时长 |
| 回归 | MAE | 绝对误差 | 稳健回归 |
| 回归 | Huber | 小误差平方、大误差线性 | 长尾连续值 |
| 回归 | Tweedie | 零膨胀+连续正值联合建模 | GMV、消费金额 |
| 计数 | Poisson | 计数型目标似然 | 曝光/点击/转化量 |
| 分布对齐 | KL 散度 | 预测分布逼近目标分布 | 蒸馏、ListNet |
| 蒸馏 | 软标签 MSE/KL | 学生拟合教师输出 | 粗排学精排、级联对齐 |
| 多任务 | 加权求和 | 平衡多目标 | MMoE/PLE 输出层 |
选择逻辑的一句话总结:输出是概率用 BCE(不平衡加 Focal),输出是顺序用 pairwise/listwise(BPR、ListNet、LambdaRank),输出是表征用对比损失(InfoNCE、Triplet),输出是连续值用回归(MSE/Huber/Tweedie),输出是计数用泊松,需要继承另一个模型的知识用蒸馏损失,多目标则加权融合。