【深度学习】各领域常用的损失函数汇总(2024最新版)

目录

[1、L1 损失、平均绝对误差(L1 Loss、Mean Absolute Error,MAE)](#1、L1 损失、平均绝对误差(L1 Loss、Mean Absolute Error,MAE))

[2、L2 损失、均方误差(L2 Loss、Mean Squared Error,MSE)](#2、L2 损失、均方误差(L2 Loss、Mean Squared Error,MSE))

[3、交叉熵损失(Cross-Entropy Loss)](#3、交叉熵损失(Cross-Entropy Loss))

[4、混合损失(Combined Losses)](#4、混合损失(Combined Losses))

[5、Dice Loss 或 IoU Loss](#5、Dice Loss 或 IoU Loss)

[6、对抗损失(Adversarial Loss)](#6、对抗损失(Adversarial Loss))

[7、对比损失(Contrastive Loss)/ 三重损失(Triplet Loss)](#7、对比损失(Contrastive Loss)/ 三重损失(Triplet Loss))

以下是一些常用的损失函数,可根据不同的应用场景进行选择和组合:

1、L1 损失、平均绝对误差(L1 Loss、Mean Absolute Error,MAE)

适用于回归任务,L1 损失计算预测值与真实值之间差的绝对值,对异常值不那么敏感。

其中,是样本数量, 是第 个样本的真实值, 是第 个样本的预测值。

L1 损失 更适合处理异常值,因为它不会像 L2 损失那样对较大的误差赋予过高的惩罚。

2、L2 损失、均方误差**(L2 Loss、Mean Squared Error,MSE)**

适用于回归任务,L2 损失计算预测值与真实值之差的平方,适用于输出连续值的任务。

其中,是样本数量, 是第 个样本的真实值, 是第 个样本的预测值。

L2 损失 通常会导致模型在预测时试图最小化所有样本误差的平方和,这可能导致模型对异常值过于敏感。

这张图展示了 L1 损失(绝对误差损失)和 L2 损失(均方误差损失)随预测误差变化的情况:

L1 损失在误差为零的地方形成了一个角点,其余部分是线性的。

L2 损失在误差为零时更加平滑,但随着误差的增大,损失的增速比 L1 损失快得多。

所以 L1 损失对于大误差的惩罚相对较小,而 L2 损失对于大误差的惩罚更为严厉。 ​

3、交叉熵损失(Cross-Entropy Loss)

适用于分类任务,对于二分类问题,可以使用二元交叉熵(Binary Cross-Entropy),又称作对数损失;

其中 是损失函数, 是样本的数量, 是第 个样本的真实标签(0或1), 是第 个样本的预测概率。

对于多分类问题,使用多类别交叉熵(Categorical Cross-Entropy)。

4、混合损失(Combined Losses)

在某些情况下,你可能需要结合多种损失函数。例如,在一个多任务学习场景中,你可以将 MSE 用于回归任务的输出,同时将交叉熵用于分类任务的输出。

5、Dice Loss 或 IoU Loss

在图像分割任务中常用,尤其是当类别不平衡时。这些损失函数关注预测区域与真实区域的重叠程度。

6、对抗损失(Adversarial Loss)

在使用生成对抗网络(GANs)的应用中常见,例如风格转换或图像生成任务。

7、对比损失(Contrastive Loss)/ 三重损失(Triplet Loss)

在度量学习和某些类型的嵌入学习中使用,特别是在需要学习输入之间关系的场景中。

在实际应用中,可以根据任务的具体需求和网络的输出特性 ,选择合适的损失函数,甚至可以设计自定义的损失函数以更好地适应特定的应用场景。同时,还可以对不同输出的损失进行加权,以反映不同任务的重要性。

相关推荐
雨中飘荡的记忆4 分钟前
Claude Code 入门必会:@、!、Slash Commands,一篇讲清楚
人工智能·后端
满眼星河6 分钟前
RAG应用功能边界
人工智能
阿里云大数据AI技术6 分钟前
Hologres Agent:让数仓运维、开发和分析更高效
人工智能·agent
诚小纯9 分钟前
qwen-deep-research 接入实录:两阶段调用、SSE 解析、报告结构与 35 处不可追溯的引用
人工智能·github
RaaS10010 分钟前
Agent Skills 进了 Linux Foundation:2.8 亿次安装,但装 skill 还没有安全规范
人工智能·算法·架构
Hone15 分钟前
一套让 7 个 AI Agent 共享同一份 Skills 的方案(Windows Junction 实战)
人工智能·程序员
烬羽17 分钟前
PostgreSQL:AI 时代原生的"隐型"向量数据库 — 用 pgvector 给消息表加上长期记忆
数据库·人工智能·程序员
snakeshe101017 分钟前
大语言模型常见评估指标与经典模型架构解析
人工智能
用户40158233246221 分钟前
对话一长,AI 就忘了你说过的话?Claude Code、Codex、Aider、WES Code 怎么压缩上下文
人工智能·go·ai编程
用户58333398166822 分钟前
影刀元素点击功能有什么替代方案?含 AI 自愈的几条实测路线
人工智能