深度学习之激活函数(Deep Learning about Activation function)

二、激活函数

1、激活函数知识

1.1 激活函数概念

每个神经元做的事情:

  1. 线性变换:
  2. 非线性激活:

激活函数sigma就是""非线性,若没有它,100层网络 = 1层网络

线性描述的是一种按比例变化和可叠加的直接关系,在几何上通常表现为一条直线。

如果没有激活函数,多层线性变换等价于单层线性变换:

y= W3(W2(W1x+ b1) + b2) + b3 = (W3W2W1)x+ 常数

无论堆多少层,最终还是线性变换,100层 = 1层

激活函数在每一层之间插入一道非线性的弯,让神经网络得以拟合任意复杂的函数。

1.2 激活函数的基本要求

|--------|-------------------------|
| 要求 | 说明 |
| 非线性 | 激活函数本身不能是线性的,否则多层堆叠没有意义 |
| 几乎处处可导 | 反向传播需要计算梯度 |
| 梯度稳定 | 导数不能太大(梯度爆炸)或太小(梯度消失) |
| 计算高效 | 前向和反向都要快(会被调用上亿次) |

1.3 激活函数发展史

阶跃函数(1958)

问题:导数几乎处处为0,反向传播时梯度无法通过。

Sigmoid(1986)

优点:处处可导,输出在(0,1)可解释为概率。缺点:两端饱和导致梯度消失(|x|大时导数趋近于0)。

Tanh(1990)

优点:输出在(-1,1),零中心,优化更顺畅。缺点:仍然是s型函数,两端饱和问题存在。

ReLU(2010)


优点:

  • 正半轴导数恒为1,梯度畅通无阻
  • 计算极快(比较运算)
  • 产生稀疏激活(负值输出0)

缺点:

  • 死亡****ReLU:负值输出永远为0,梯度为0,无法恢复
  • 输出非零中心

Leaky ReLU / GELU / Swish

针对ReLU改进:

  • Leaky ReLU:负半轴给一个小斜率,避免神经元死亡
  • GELU:平滑近似,Transformer标配
  • Swish:Google用NAS搜索出来的激活函数,性能优秀

1.4 激活函数选择指南

|---------------|------------------|
| 场景 | 推荐激活函数 |
| 输出层:二分类 | Sigmoid |
| 输出层:多分类 | Softmax |
| 隐藏层:普通CNN/RNN | ReLU |
| 隐藏层:Transform | GELU/SiLU |
| 死亡神经元多时 | Leaky ReLU / ELU |

1.5 激活函数总结

相关推荐
2601_965305397 小时前
森林防火卡口与气象监测联动
人工智能
云和数据.ChenGuang7 小时前
光哥说Python 异常深度解析:从异常模型到工程化实践
java·前端·人工智能·python·langchain
爱签AI电子合同7 小时前
电子合同全维度实测与选型指南
大数据·人工智能
AI办公探索者7 小时前
从SaaS到本地部署:大模型推理成本优化与8888元私有化方案的技术解析
大数据·人工智能
吕布辕门7 小时前
DeepSeek 大模型落地应用与价值实现指南
人工智能·机器学习
武子康7 小时前
手机加语音配件,断开连接后谁来保住这段话?
人工智能·后端·agent
迪菲赫尔曼7 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测
技灵AI7 小时前
MiniMax H3 能做哪些视频?商品广告、人物表演与运镜怎么选
人工智能·prompt·aigc·音视频
ZzT8 小时前
AI 时代吃香的三种人:有想法的懒人、替别人着想的人、不被 AI 带偏的人
人工智能·ai编程
姚瑞南8 小时前
【PRD】招投标商机雷达爬虫系统
人工智能·经验分享·笔记·爬虫·产品运营·产品经理