回归任务的目标是预测连续数值,损失函数衡量预测值 y^ 与真实值 y 之间的差异。
- 定义:计算预测值与真实值差值的平方的平均值。
MSE=n1i=1∑n(yi−y^i)2
- 特点:
- 对离群点非常敏感(误差被平方放大)。
- 凸函数,优化简单,梯度稳定。
- 当噪声服从高斯分布时,MSE 对应最大似然估计。
- 适用场景:大多数普通回归问题,数据分布平滑、无显著异常值时。
- 定义:计算预测值与真实值差值的绝对值的平均值。
MAE=n1i=1∑n∣yi−y^i∣
- 特点:
- 对离群点鲁棒(误差线性增长)。
- 在误差接近 0 时梯度恒定,收敛较慢。
- 预测值趋向于条件中位数。
- 适用场景:数据中存在较多异常值,或期望模型预测中位数时。
- 定义:结合 MSE 与 MAE 的优点,通过阈值 δ 切换。
Lδ(y,y^)={21(y−y^)2,δ(∣y−y^∣−21δ),∣y−y^∣≤δotherwise
- 特点:
- 小误差时平滑可导(MSE),大误差时线性(MAE)。
- 需手动调整超参数 δ(通常设为 1 或根据数据尺度调整)。
- 适用场景:兼顾离群点鲁棒性与收敛稳定性,回归任务中的“万金油”选择。
分类任务的目标是将输入分配到离散的类别中。输出可以是概率(交叉熵系列)或分数(合页损失)。
- 定义:用于二分类,衡量真实分布 y∈{0,1} 与预测概率 y^∈(0,1) 的差异。
BCE=−n1i=1∑n[yilog(y^i)+(1−yi)log(1−y^i)]
- 特点:
- 极大似然估计的对数形式。
- 当模型预测与真实标签相反时,损失趋向无穷大,迫使模型快速修正。
- 适用场景:二分类任务(垃圾邮件识别、点击率预测等),输出层通常接 Sigmoid 激活函数。
- 定义:将二分类扩展至多分类,配合 Softmax 激活函数。
CCE=−i=1∑nc=1∑Cyi,clog(y^i,c)
其中 yi,c 为 one-hot 编码的真实标签,y^i,c 为预测概率。
- 特点:
- 分类任务中最常用的损失函数。
- 鼓励模型提高正确类别的概率,压制错误类别的概率。
- 适用场景:互斥多分类问题(图像分类、文本分类等)。
- 定义:用于支持向量机(SVM)等最大间隔分类器。设分类器输出的分数为 s,则对于样本 i,真实类别 yi,其他类别 j 的分数 sj,损失为:
Hinge=j=yi∑max(0,sj−syi+Δ)
通常取 Δ=1。
- 特点:
- 追求“间隔最大化”,使正确类别分数至少比错误类别高出边际 Δ。
- 对异常点相对鲁棒,因为超出边际后不再进一步惩罚。
- 适用场景:支持向量机、结构化预测任务。
- 定义:在交叉熵基础上增加调制系数 (1−pt)γ,其中 pt 为模型对真实类别的预测概率。
FL(pt)=−αt(1−pt)γlog(pt)
通常取 γ=2,αt 为类别权重。
- 特点:
- 解决类别不平衡问题:对于分类良好的样本(pt 高),贡献大幅降低;困难样本或少数类样本权重自动提高。
- 使模型聚焦于难分样本。
- 适用场景:目标检测(RetinaNet)、极度不平衡的数据集(医疗诊断、欺诈检测等)。
生成模型的目标是学习数据分布并生成新样本。损失函数通常衡量生成分布与真实分布的差异。
- 定义:衡量两个概率分布 P(真实)和 Q(预测)之间的相对熵。
DKL(P∥Q)=x∑P(x)logQ(x)P(x)
- 特点:
- 非对称性,不满足距离定义(DKL(P∥Q)=DKL(Q∥P))。
- 在生成模型中用于约束隐空间分布。
- 适用场景:变分自编码器(VAE)、知识蒸馏。
生成对抗网络包含两个相互博弈的损失:
- 判别器 D:最大化区分真实样本和生成样本的能力。
LD=−Ex∼pdata[logD(x)]−Ez∼pz[log(1−D(G(z)))]
- 生成器 G:最小化判别器识别出生成样本的概率。
LG=−Ez∼pz[logD(G(z))]
- 特点:博弈性质,训练不稳定,易出现模式崩塌和梯度消失。
- 定义:使用推土机距离(Earth Mover‘s Distance)替代 JS 散度。判别器变为 Critic,输出未归一化的分数。
LWGAN=Ex∼pdata[fw(x)]−Ez∼pz[fw(G(z))]
约束 Critic 为 1-Lipschitz 函数(通过梯度惩罚或权重裁剪)。
- 特点:训练更稳定,损失值与样本质量呈负相关,缓解模式崩塌。
- 适用场景:图像生成、风格迁移、超分辨率等现代 GAN 应用。
这类任务关注物品之间的相对顺序,而非绝对分数。常用于推荐系统、信息检索、度量学习。
- 定义:基于用户交互数据,假设正样本(点击/购买)得分应高于负样本(未点击)。
LBPR=−(u,i,j)∈D∑logσ(xu,i−xu,j)
其中 xu,i 为用户 u 对物品 i 的预测得分,σ 为 Sigmoid 函数。
- 特点:优化的是相对顺序而非绝对分数,适合隐式反馈(仅有正样本,负样本通过采样获得)。
- 适用场景:协同过滤、搜索排序、推荐系统。
- 定义:用于度量学习,将输入映射到嵌入空间。要求锚点 (Anchor) 与正样本 (Positive) 的距离比与负样本 (Negative) 的距离小至少一个边际 α。
Ltriplet=max(d(a,p)−d(a,n)+α,0)
其中 d(⋅,⋅) 通常为欧氏距离或余弦距离。
- 特点:能够学习出具有区分度的特征表示,需精心挑选三元组(困难负样本挖掘)。
- 适用场景:人脸识别(FaceNet)、图像检索、Siamese 网络。
- 定义:用于排序任务,输入为两个样本及其相对顺序标签。
Lmargin=max(0,−y⋅(x1−x2)+margin)
其中 y∈{+1,−1} 表示 x1 应大于 x2 或反之。
- 特点:支持成对比较,可处理不同形式的输入。
- 适用场景:排序学习、相似性学习。
对比学习通过在嵌入空间中拉近正样本对、推远负样本对来学习表示,是自监督预训练的核心技术。
- 定义:Noise Contrastive Estimation 的变体。在多个正负样本对中,最大化正样本对之间的互信息。
LInfoNCE=−logexp(q⋅k+/τ)+∑k−∈Nexp(q⋅k−/τ)exp(q⋅k+/τ)
其中 q 为查询(锚点),k+ 为正样本,N 为负样本集合,τ 为温度系数。
- 特点:
- 温度系数 τ 控制对困难负样本的关注程度(τ 越小,惩罚越集中)。
- 对比学习框架(SimCLR、MoCo、CLIP)的基石。
- 适用场景:视觉自监督预训练、多模态对齐、图神经网络预训练。
- 定义:衡量两个向量在方向上的相似度,忽略模长影响。
Lcosine=1−cos(θ)=1−∥A∥∥B∥A⋅B
也可结合边际使用:max(0,cos(A,Bneg)−cos(A,Bpos)+α)。
- 特点:对向量模长不敏感,适合归一化后的特征匹配。
- 适用场景:人脸识别(结合边际)、文本相似度计算、检索系统。
目标检测任务通常包含分类与定位两个子任务,因此损失函数为二者加权和。定位部分已从传统的 L1/L2 演变为 IoU 系列损失。
- 定义:直接优化预测框与真实框的交并比。
LIoU=1−∣A∪B∣∣A∩B∣
- 特点:当两个框不相交时,梯度为 0,无法优化。
- 定义:引入最小外接框 C,解决不相交时梯度消失问题。
LGIoU=1−IoU+∣C∣∣C∖(A∪B)∣
- 特点:即使不相交,也能提供有意义的梯度。
- DIoU:在 GIoU 基础上加入中心点距离惩罚。
LDIoU=1−IoU+c2ρ2(b,bgt)
其中 ρ 为欧氏距离,c 为最小外接框对角线长度。
- CIoU:进一步加入长宽比一致性惩罚。
LCIoU=1−IoU+c2ρ2(b,bgt)+αv
其中 v 衡量长宽比差异,α 为平衡系数。
- 特点:现代检测器(YOLO 系列、Faster R-CNN)的标准配置,收敛更快、定位更准。
目标检测的分类分支通常使用交叉熵或 Focal Loss,以应对前景-背景严重不平衡的问题。Focal Loss 在单阶段检测器中尤为常用。
典型目标检测器的总损失为:
Ltotal=λclsLcls+λboxLbox+λobjLobj其中 Lcls 为分类损失(交叉熵或 Focal),Lbox 为边界框回归损失(CIoU 等),Lobj 为目标置信度损失(通常为二元交叉熵)。
图像分割任务需要对每个像素进行分类,面临类别不平衡、小目标难分割等问题。
- 定义:直接优化预测分割与真实分割的 Dice 系数。
LDice=1−∣X∣+∣Y∣2∣X∩Y∣
其中 X 为预测区域,Y 为真实区域。
- 特点:
- 天然应对类别不平衡,尤其适用于前景占比极小的场景。
- 对预测概率的置信度敏感,可与交叉熵组合使用。
- 适用场景:医学图像分割(病灶、器官分割)、遥感图像分割。
实践中常将交叉熵与 Dice Loss 加权求和:
Lcomb=αLCE+(1−α)LDice既保证像素级分类精度,又兼顾前景区域的重叠度。
- 定义:Dice Loss 的推广,通过调整假阳性和假阴性的权重来处理不平衡。
LTversky=1−∣X∩Y∣+β∣X∖Y∣+(1−β)∣Y∖X∣∣X∩Y∣
- 特点:当 β=0.5 时退化为 Dice,当 β>0.5 时更关注假阴性(漏检),适合不同偏好。
- 适用场景:医学分割,可根据临床需求调节漏检与误检的惩罚。
序列生成(文本、语音等)任务中,输入与输出长度可能不对齐,且评价指标不可微。
- 定义:用于解决输入序列与输出序列长度不对齐且未对齐的问题。CTC 引入“空白符”和动态规划,自动寻找最优对齐路径。
LCTC=−logπ∈B−1(y)∑t=1∏Tp(πt∣x)
其中 B 为映射函数(移除重复和空白符),π 为对齐路径。
- 特点:不需要预先标注输入帧对应的输出字符,训练端到端。
- 适用场景:语音识别(语音波形转文字)、手写文字识别。
在文本生成任务(如机器翻译)中,训练阶段通常采用 Teacher Forcing,即用真实历史 token 作为输入,预测下一个 token,损失为逐 token 的交叉熵:
LCE=−t=1∑Tlogp(yt∣y<t,x)- 特点:训练稳定,但存在“暴露偏差”(训练时使用真实 token,推理时使用模型自身预测)。
- 适用场景:Seq2Seq 模型、Transformer 训练。
由于 BLEU、ROUGE 等指标不可微,无法直接通过交叉熵优化。研究者使用强化学习(如 Self-Critical Sequence Training)直接最大化评估指标:
LRL=−Ey∼pθ[r(y)]⋅logpθ(y)- 特点:缓解暴露偏差,使模型在推理时表现更优。
- 适用场景:文本摘要、对话生成、机器翻译的后续优化。
- 定义:在生成过程中引入对比损失,鼓励模型生成多样化的文本,避免重复。
LSimCTG=−log∑y−∈Nexp(sim(hyt,hy−)/τ)exp(sim(hyt,hyt+)/τ)
- 特点:有效提升生成文本的多样性和质量。
- 适用场景:大语言模型的微调,解决重复生成问题。
强化学习的目标是学习策略以最大化累积奖励。损失函数通常基于策略梯度或价值函数。
- 定义:REINFORCE 算法中的梯度估计。
∇θJ(θ)=Eτ∼πθ[t=0∑T∇θlogπθ(at∣st)R(τ)]
损失形式为:
LPG=−E[logπθ(at∣st)⋅A^t]
其中 A^t 为优势函数估计。
- 特点:直接优化策略,但方差较大。
- 定义:限制策略更新幅度,提高稳定性。
LPPO=E[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
其中 rt(θ)=πθold(at∣st)πθ(at∣st)。
- 特点:是目前最常用的策略优化算法,平衡探索与稳定。
- 适用场景:大语言模型的 RLHF(基于人类反馈的强化学习)、机器人控制。
- 定义:用于值函数学习,最小化贝尔曼误差。
LDQN=E[(r+γa′maxQ(s′,a′;θ−)−Q(s,a;θ))2]
- 特点:使用目标网络和回放池稳定训练。
- 适用场景:离散动作空间的深度 Q 学习。
图神经网络处理非欧结构数据,损失函数需适应节点、边、图级别任务。
通常使用交叉熵(半监督学习):
Lnode=−i∈VL∑c=1∑Cyi,clogy^i,c其中 VL 为有标签节点集合。
- 定义:通过数据增强生成两个视图,最大化同一节点在不同视图中的表示一致性。
LGCL=−log∑j=iexp(sim(zi,zj)/τ)exp(sim(zi,zi′)/τ)
- 特点:自监督学习图表示,无需标签。
- 适用场景:图预训练(GraphCL、SimGRACE)。
用于链接预测任务,通常为二元交叉熵:
Ledge=−(u,v)∈E+∑logσ(scoreu,v)−(u,v)∈E−∑log(1−σ(scoreu,v))其中正边来自真实图,负边通过采样获得。
3D 任务(点云重建、配准)需要处理无序点集,常用距离度量。
- 定义:衡量两个点集 P 和 Q 之间的差异。
CD(P,Q)=∣P∣1p∈P∑q∈Qmin∥p−q∥22+∣Q∣1q∈Q∑p∈Pmin∥q−p∥22
- 特点:计算效率高,可微,但可能忽略点云的结构信息。
- 适用场景:点云重建、生成、形状补全。
- 定义:求解将点云 P 变换为点云 Q 的最小搬运代价。
EMD(P,Q)=ϕ:P→Qminp∈P∑∥p−ϕ(p)∥2
- 特点:对点云分布更敏感,但计算复杂度高。
- 适用场景:点云匹配、生成模型。
时间序列预测除了常规回归损失外,还有一些特定损失。
- 定义:用于概率预测,优化特定分位数 τ。
Lτ(y,y^)=i∑max(τ(yi−y^i),(τ−1)(yi−y^i))
- 特点:可预测分位数区间,得到预测区间。
- 适用场景:金融风险预测、不确定性建模。
- 定义:适用于尺度差异大的序列。
sMAPE=n100%i=1∑n(∣yi∣+∣y^i∣)/2∣yi−y^i∣
- 特点:对异常值稳健,且与尺度无关。
- 适用场景:零售销量预测、能源负荷预测。
分位数损失的另一种形式,等价于 Quantile Loss。
这些技巧并非独立的损失函数,而是对现有损失函数的改进,广泛用于提升模型泛化能力、训练稳定性。
- 做法:将硬标签(如 one-hot)替换为软标签:
yi′=(1−ϵ)yi+Kϵ
其中 K 为类别数,ϵ 为平滑系数(通常取 0.1)。
- 效果:防止模型对预测结果过于自信,减少过拟合,提升泛化能力和对抗鲁棒性。现代大模型训练的标准配置。
- 定义:在分类损失基础上加入惩罚项,使同一类别的特征向量在嵌入空间中靠近类中心。
L=Lcls+2λi=1∑m∥xi−cyi∥22
其中 cyi 为类别中心,随训练更新。
- 效果:缩小类内距离,扩大类间距离,提升判别能力。
- 适用场景:人脸识别、细粒度图像分类。
实际工程中,损失函数往往是多种损失的加权组合。以下给出常见任务的标准配置及组合示例。
| 任务类型 | 推荐损失 | 理由 |
|---|
| 连续值预测(无异常值) | MSE | 凸性,易优化 |
| 连续值预测(有异常值) | MAE 或 Huber | 鲁棒性 |
| 二分类 | 二元交叉熵 | 概率解释,标准选择 |
| 多分类(互斥) | 多分类交叉熵 + 标签平滑 | 配合 Softmax |
| 多标签分类 | 二元交叉熵(独立 sigmoid) | 各标签独立 |
| 类别极度不平衡 | Focal Loss | 聚焦困难样本 |
| 排序/检索 | Triplet,BPR,Margin Ranking | 优化相对顺序 |
| 自监督预训练 | InfoNCE | 对比学习框架 |
| 目标检测 | CIoU + 交叉熵 + Focal(可选) | 综合回归与分类 |
| 图像分割 | Dice + 交叉熵 | 平衡前景与背景 |
| 语音识别 | CTC | 处理未对齐序列 |
| 文本生成(训练) | 交叉熵 + 标签平滑 | 稳定训练 |
| 文本生成(后优化) | 强化学习(BLEU/ROUGE) | 缓解暴露偏差 |
| 图节点分类 | 交叉熵 | 半监督学习 |
| 图自监督 | 图对比损失 | 无需标签 |
| 点云重建 | Chamfer Distance 或 EMD | 衡量点集差异 |
| 强化学习 | PPO Clip Loss | 稳定策略优化 |
目标检测(YOLOv8):
L=λcls⋅BCE+λbox⋅CIoU+λobj⋅BCE对比学习(SimCLR):
L=InfoNCE (NT-Xent)多模态对齐(CLIP):
L=21(InfoNCEimage→text+InfoNCEtext→image)大语言模型 SFT:
L=交叉熵+标签平滑大语言模型 RLHF:
L=PPO Clip Loss或DPO Loss医学图像分割:
L=α⋅交叉熵+(1−α)⋅Dice Loss人脸识别:
L=交叉熵(带边际)+λ⋅中心损失
本笔记系统梳理了机器学习与深度学习中几乎全部主流损失函数,涵盖回归、分类、生成、排序、对比学习、目标检测、分割、序列建模、强化学习、图网络、3D视觉、时间序列等各个领域,并补充了标签平滑、中心损失等优化技巧以及实际组合示例。
选择损失函数的核心原则:
- 理解任务本质(回归/分类/排序/生成等)及输出形式。
- 考虑数据特性(噪声分布、不平衡性、尺度等)。
- 优先使用领域内验证过的标准损失,遇到瓶颈时再尝试变体或组合。
- 损失函数只是目标函数的一部分,与模型结构、优化器、超参数共同决定最终效果。