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

深度学习中常见损失函数激活函数

损失函数

一、分类任务损失函数

二、回归任务损失函数 

 

 

三、生成对抗网络(GAN)损失函数 

 

 四、其他专用损失函数

 五、损失函数选择原则

  1. 任务类型:分类用交叉熵,回归用MSE/MAE。

  2. 数据分布:类别不平衡时选择Focal Loss或Dice Loss。

  3. 鲁棒性需求:异常值多时选用Huber Loss。

  4. 模型结构:GAN需配合对抗损失,检测任务需IoU-aware损失(如DFL)。

 

激活函数

一、常见激活函数及特点

 

二、激活函数与损失函数的关联 

 

三、激活函数与损失函数的协作方法 

 

3. 任务驱动选择 

任务类型输出层激活函数损失函数
单标签分类SoftmaxCross-Entropy Loss
多标签分类SigmoidBCE Loss
回归(无限制)MSE / MAE Loss
回归(非负输出)ReLUHuber Loss
边界框回归(检测)DFL + IoU Loss

 

常见问题

Q1:为什么ReLU不用于输出层?

  • ReLU的输出无界(0~+∞),不适合概率或回归任务(需控制范围)。

Q2:如何选择隐藏层激活函数?

  • 默认用ReLU(计算高效);遇死亡神经元问题换LeakyReLU/Swish。

Q3:激活函数和损失函数可以随意组合吗?

  • 不能!需匹配任务需求(如Softmax配Cross-Entropy,Sigmoid配BCE)。

相关文章:

  • OceanBase 开发者大会:详解 Data × AI 战略,数据库一体化架构再升级
  • SVG 与 Canvas 技术调研对比
  • Stable Diffusion 学习笔记02
  • 双重差分模型(DID)解析
  • 设置IDEA打开新项目使用JDK17
  • 【成品设计】基于STM32的环境监控系列
  • 特征筛选方法总结
  • 十三、Hive 行列转换
  • RAG+AI工作流+Agent:LLM框架该如何选择
  • 进程和线程有什么区别?多线程有什么优缺点?线程的创建方式有哪些?如何简单的使用线程?用户线程和守护线程有什么区别?start 和 run 方法有什么区别?
  • leetcode239 滑动窗口最大值deque方式
  • hexo博客搭建使用
  • 数据分析—Excel数据清洗函数
  • Kotlin 协程
  • 使用Docker部署React应用与Nginx
  • 【C++】map和multimap的常用接口详解
  • 易境通海外仓系统:一件代发全场景数字化解决方案
  • 【vs2022的C#窗体项目】打开运行+sql Server改为mysql数据库+发布
  • 终端安全与终端管理:有什么区别及其重要性?
  • SQL:多列匹配(Multiple-column Matching)
  • 《让世界爱中国》新书发布,探讨大变局下对外讲好中国故事
  • 4月22城新房价格上涨:上海一二手房价环比均上涨,核心城市土地热带动市场热度提升
  • 总书记回信二周年之际,上海如何将垃圾分类深度融入城市发展?
  • 复旦兼职教授高纪凡首秀,勉励学子“看三十年才能看见使命”
  • 戛纳参赛片《爱丁顿》评论两极,导演:在这个世道不奇怪
  • AI创业者聊大模型应用趋势:可用性和用户需求是关键