当前位置: 首页 > news >正文

深度学习中的损失函数都有哪些,大模型时代主要用的损失函数有哪些,中间有什么区别?

一、深度学习中常见的损失函数(按任务类型分类)

1. 回归任务

  • MSE(Mean Squared Error):L2损失,对异常值敏感
  • MAE(Mean Absolute Error):L1损失,鲁棒性好
  • Huber Loss:MSE与MAE的折中,平滑过渡
  • Log-Cosh Loss:平滑的MAE近似,二阶可导

2. 分类任务

  • 交叉熵损失 Cross Entropy Loss
    • 二分类:Binary Cross Entropy (BCE)
    • 多分类:Categorical Cross Entropy (CCE)
    • 带Softmax:Softmax + CCE(最常用)
  • Hinge Loss:SVM风格,用于最大间隔分类
  • Focal Loss:解决类别不平衡(RetinaNet提出)
  • Label Smoothing Cross Entropy:防止过拟合,提升泛化

3. 序列/生成任务

  • CTC Loss(Connectionist Temporal Classification):用于语音识别等输入输出不对齐场景
  • 负对数似然(NLL Loss):常与LogSoftmax配合

二、大模型时代主要使用的损失函数

核心答案:大模型(尤其是LLM)几乎统一使用「带Label Smoothing的交叉熵损失」

1. 标准形式:

loss = CrossEntropyLoss(logits, labels, label_smoothing=0.1)

2. 为什么是它?

  • 理论基础扎实:最大化似然 = 最小化交叉熵,符合语言建模本质(预测下一个token的概率分布)
  • 梯度性质好:配合Softmax,梯度计算稳定,适合大规模优化
  • 可扩展性强:适用于自回归(GPT)、自编码(BERT)、Encoder-Decoder(T5)等所有主流架构
  • Label Smoothing加持
    • 防止模型对“正确标签”过度自信 → 提升泛化能力
    • 缓解过拟合,尤其在数据量巨大但存在噪声时效果显著
    • 原理:将one-hot标签 [0,0,1,0] → [ε/K, ε/K, 1-ε, ε/K](K为词表大小)

3. 其他相关变体(面试加分项)

  • Token-level vs Sequence-level Loss:大模型通常按token计算loss,忽略padding
  • Masked Language Modeling Loss(BERT):只计算被mask位置的交叉熵
  • 对比学习损失(Contrastive Loss):如InfoNCE,在多模态大模型(CLIP)中常用
  • RLHF阶段的损失:PPO中的策略梯度损失 + KL散度约束(非监督学习阶段)

三、与传统损失函数的区别

核心目标

分类准确、回归拟合

语言建模、序列生成、世界知识压缩

损失函数

MSE, Hinge, Focal等任务定制

统一使用带Label Smoothing的交叉熵

输出空间

固定类别/数值

超大词表(50K~100K+ token)

优化重点

防止欠拟合、调参

防止过拟合、提升泛化、稳定训练

正则化手段

Dropout, L2正则

Label Smoothing + 大数据 + 大模型容量

梯度特性要求

一般

必须稳定、可并行、支持超长序列

关键区别总结:大模型不再追求“任务特异性损失”,而是回归“语言建模本质”——用最基础、最通用的概率建模损失(交叉熵)+ 正则化技巧(Label Smoothing),靠数据和规模取胜。


四、面试回答技巧(STAR结构 + 亮点提炼)

✅ 标准回答模板:

“在深度学习中,损失函数根据任务类型分为回归类(如MSE、MAE)、分类类(如交叉熵、Hinge Loss)和序列类(如CTC)。但在大模型时代,尤其是LLM(如GPT、LLaMA、BERT),几乎全部采用带Label Smoothing的交叉熵损失函数。”

“这是因为语言建模本质是下一个token的条件概率预测,交叉熵天然适配概率建模目标;而Label Smoothing通过软化one-hot标签,有效缓解大模型在海量数据下的过拟合问题,提升泛化能力。”

“相比传统任务中使用的Focal Loss或Hinge Loss,大模型更强调通用性、稳定性和可扩展性,交叉熵+Label Smoothing在超大词表、超长序列、千亿参数下表现稳健,已成为工业界和学术界的默认选择。”

“当然,在RLHF阶段会切换为PPO等强化学习损失,但在预训练和SFT阶段,交叉熵仍是绝对主流。”


✅ 高阶加分回答(体现深度):

  • “其实交叉熵等价于最小化模型分布与经验分布的KL散度,这在信息论角度是最自然的语言建模目标。”
  • “Label Smoothing可以看作是在标签空间引入均匀分布先验,避免模型熵坍缩(entropy collapse)。”
  • “最近也有工作探索替换交叉熵,比如用序列级损失(如BLEU优化)或对比损失,但在大规模预训练中尚未取代交叉熵的地位。”
  • “在MoE模型中,辅助损失(如负载均衡loss)会与交叉熵联合优化,但主损失仍是交叉熵。”

五、可能的追问 & 应对

  1. Q:为什么不用MSE做分类? → A:MSE假设输出是连续值,且误差服从高斯分布;分类是离散概率分布,交叉熵更符合信息度量本质,梯度也更合理。

  2. Q:Label Smoothing的ε怎么选? → A:经验上0.05~0.2,LLaMA用0.1,太大会模糊标签,太小没效果。可作为超参调优。

  3. Q:交叉熵和NLL Loss区别? → A:NLL作用于log概率,常与LogSoftmax配对;交叉熵内部包含Softmax+log+NLL,二者在数值上等价。

  4. Q:大模型有没有尝试不用交叉熵的? → A:有,比如用对比学习(CLIP)、MAE式重建损失(非自回归)、甚至强化学习直接优化任务reward,但预训练阶段交叉熵仍是基石。


✅ 总结一句话应答(电梯演讲版):

“大模型时代,损失函数高度统一:带Label Smoothing的交叉熵损失,因其完美契合语言建模的概率本质、梯度稳定、泛化强,成为千亿参数时代的默认选择。”


文章转载自:

http://YKrAeuxn.bqppr.cn
http://lngFdnPS.bqppr.cn
http://iSSVwZsk.bqppr.cn
http://axGJOcKu.bqppr.cn
http://EeoUmVUM.bqppr.cn
http://pO5RBiTF.bqppr.cn
http://gH7Er7dE.bqppr.cn
http://pN2LfQLg.bqppr.cn
http://vc1MQpfr.bqppr.cn
http://HrruS9EQ.bqppr.cn
http://qeh64Nb9.bqppr.cn
http://1z6OQdbv.bqppr.cn
http://rSazcub4.bqppr.cn
http://OsR5c4PM.bqppr.cn
http://QD7JnWrH.bqppr.cn
http://wYkDF93x.bqppr.cn
http://er1gcpO2.bqppr.cn
http://ljhiBJQQ.bqppr.cn
http://FUEtcpgH.bqppr.cn
http://bEEmkXmV.bqppr.cn
http://NQUmmDQ5.bqppr.cn
http://Tt8f7Tqs.bqppr.cn
http://ZErLJOtY.bqppr.cn
http://vq8yzxB4.bqppr.cn
http://1B2BnngF.bqppr.cn
http://dLFlQthm.bqppr.cn
http://ftS7bOdI.bqppr.cn
http://3gZjSBiI.bqppr.cn
http://7RSBOv7P.bqppr.cn
http://ohnxbDGe.bqppr.cn
http://www.dtcms.com/a/374266.html

相关文章:

  • java:io流相关类的继承关系梳理
  • PAT 1004 Counting Leaves
  • Linux操作系统shell脚本语言-第六章
  • 基于Springboot + vue3实现的小区物业管理系统
  • 自动化测试DroidRun
  • 把一段 JSON 字符串还原成一个实体对象
  • YOLO系列论文梳理(AI版)
  • ARM内核知识概念
  • 图论相关经典题目练习及详解
  • 深圳比斯特|多维度分选:圆柱电池品质管控的自动化解决方案
  • MySQL 日志全解析:Binlog/Redo/Undo 等 5 类关键日志的配置、作用与最佳实践
  • 龙虎榜——20250908
  • 自噬机制解析(二):一文厘清 LC3/Atg8 概念及实验应用要点
  • java类加载过程
  • 20250908-02:运行第一个 LLM 调用程序
  • 基于A2A和ADK的内容规划代理
  • 电流源电路
  • 随机获取数组内任意元素
  • ESNP LAB 笔记:配置MPLS(Part4)
  • 发布工业智能体,云从科技打造制造业AI“运营大脑”
  • Flask 博客系统(Flask Blog System)
  • Qt_UI界面的设计
  • pycharm 最新版上一次编辑位置
  • 【Pywinauto库】1. 3 Inspect.exe 使用详解指南
  • 「日拱一码」083 深度学习——残差网络
  • 注意力模块改进方法的原理及实现(MHA、MQA、GQA、MLA)
  • 蚂蚁 S21 Pro 220T矿机参数详解:SHA-256算法高效算力分析
  • 大模型测试包含哪些方面
  • 基于R语言的物种气候生态位动态量化与分布特征模拟
  • NGUI--Anchor组件和 事件系统