一句话主线:激活函数整条演进史只有一句话—— 修掉上一代最致命的毛病,同时不引入更贵的新毛病。 阶跃函数败在不可导 → Sigmoid 补上可导但饱和 → Tanh 修正零中心但仍是 S 形 → ReLU 用"正半轴导数恒为 1"直接保住梯度但负半轴会"死" → GELU / Swish 把硬拐角磨成平滑过渡,成为大模型时代的标配。 所有取舍最终都落在同一个天平上:表达能力 · 梯度传播 · 计算成本 · 数值稳定性。
00全片地图
视频被 B 站自动切成 8 个章节。整条脉络是一条单向的"补短板"链路,可以先看图建立全局印象,再往下逐节展开。
图 1 · 章节时间轴:色带宽度与章节时长成正比
01为什么必须有激活函数
原片把神经元的单次运算拆成两步:先做线性加权求和 z = Wx + b,再用激活函数做一次非线性映射 a = σ(z)。第二步看起来"很啰嗦",但它才是深度网络区别于线性模型的唯一来源。
图 2 · 神经元的两次运算:线性组合 + 非线性映射
证明很直接:把 y = W₃(W₂(W₁x + b₁) + b₂) + b₃ 的括号展开, 会得到 y = (W₃W₂W₁)x + (W₃W₂b₁ + W₃b₂ + b₃) = W′x + b′。 无论堆多少层,没有激活函数的神经网络永远是一个线性模型。
图 3 · 没有激活函数时,多层线性网络退化为单层
02为什么不把非线性直接做进线性运算
既然只差一个非线性,那干脆把 z = Wx + b 写成 z = Wx² + b 一步到位行不行? 原片的结论是:理论上没问题,工程上做不到。
图 4 · 不一步到位的两个理由
图 5 · 强非线性叠乘会让数值指数级膨胀
所以工程上的解法是:线性变换 + 独立非线性激活,分层堆叠。激活函数刻意挑那些输出有界或导数温和的形式, 主动掐断指数膨胀的传染链。原片还提到一个历史证据:Maxout、二阶神经元都试过把非线性揉进线性运算, 结论惊人地一致——计算复杂度涨一个数量级,效果提升不到 10%。
03一个好激活函数的 6 条标准
这是判断所有激活函数的统一标尺,后面每一代函数都对着这张表打分。
图 6 · 一个好激活函数的六条基本素养
04第一代:阶跃函数(1958)
最早、最朴素的激活函数,本质上是一个开关:大于 0 输出 1,否则输出 0。 它是"激活"这个动作最直白的翻译,也是第一个被神经网络采用的激活函数。
图 7 · 阶跃函数与它几乎处处为零的导数
两个死穴,直接判了死刑:- 梯度无法传播——除
z = 0 外导数恒为 0,误差信号一碰到阶跃函数就被直接清零,多层网络从根本上无法训练。 - 信息损失太狠——输入是 0.001 还是 1000,输出都是 1。网络丧失对"程度"的感知,大量数值信息在激活的瞬间被永久丢弃。
原片一句话收束:没有平滑过渡,就没有梯度可言——这直接推动了 Sigmoid 的诞生。
05Sigmoid(1986):把开关变成旋钮
1986 年辛顿等人把反向传播带到神经网络,它需要一个处处可导的激活函数, 于是沿用了 19 世纪就用来描述人口增长的 S 形函数。
σ(z) = 1 / (1 + e−z) · σ′(z) = σ(z)·(1 − σ(z))
图 8 · Sigmoid 曲线与它的导数,峰值只有 0.25
三大优势
- 处处可导,梯度有解析式,可直接进反向传播
- 输出有界 (0,1),天然可解释为概率
- 平滑单调,训练初期收敛稳定
硬伤 ①:梯度消失
- 导数最大值出现在 z=0,也只有 0.25;|z| 一大就饱和
- 反向传播每过一层就要乘一次这样的导数
- 5 层之后梯度只剩千分之一,深层几乎学不动
图 9 · 0.25 连乘 5 次后,梯度只剩千分之一
图 10 · Sigmoid 的硬伤 ②(非零中心)与 ③(计算贵 + 天然饱和)
原片结论:如今 Sigmoid 主要保留在输出的位置,作为二分类任务的输出层。
06Tanh(1990s):把 Sigmoid 摆正
tanh(z) = (ez − e−z) / (ez + e−z) = 2σ(z) − 1 · tanh′(z) = 1 − tanh²(z)
原片提到,90 年代初福尔廷在贝尔实验室研究手写数字识别时,被 Sigmoid 的非零中心问题折磨, 1998 年的 Efficient BackProp 中系统总结了 Tanh 的优势:输出值域被拉伸到 (−1, 1),关于原点对称。
图 11 · Tanh 与 Sigmoid 的零中心对比
但原片点得很清楚:它本质还是 S 形曲线,饱和问题根本没解决。
07ReLU(2010):真正的转折点
图 12 · ReLU 的三大优势
ReLU 的出现直接改写了历史。2012 年 ImageNet 竞赛上,AlexNet 把图像分类错误率一举降到 15.3%, 领先第二名 10.8 个百分点,而它用的激活函数正是 ReLU。
图 13 · 2012 年 AlexNet 与 ReLU:ImageNet 错误率对比
前一年最佳26.2%
AlexNet(用 ReLU)15.3%
领先第二名10.8 pt
原片评价:从那一刻起,整个 CV 圈迅速转向深度学习——ReLU 几乎亲手开启了现代深度学习时代。
08ReLU 的代价:Dying ReLU
图 14 · ReLU 的负半轴死亡区与另外两项代价
原片用一句话概括:ReLU 的杀手锏和它的软肋是同一个东西——负半轴的"一刀切"。
09改进方案:给负半轴留一条缝
LeakyReLU(z) = z (z > 0) · αz (z ≤ 0),α 为手调超参
图 15 · 负半轴的三种处理方式
- Leaky ReLU:负半轴留一个极小斜率(如 0.01),导数永远不为 0,神经元不会彻底死亡;当训练中出现大量神经元死亡时值得一试。 但 α 是手动超参、0.01 不一定最优,多数情况下 ReLU + 良好初始化 + BatchNorm 已经够用。
- ELU:负半轴平滑趋近 −1,顺带把零中心也修了,代价是引入指数运算。
图 16 · GELU 曲线与它在 Transformer 中的地位
GELU 于 2016 年提出,2018 年随 BERT 进入大众视野,此后 GPT、ViT 以及几乎所有主流 Transformer 模型相继跟进。 它在大模型时代的地位,几乎相当于 ReLU 在 CNN 时代的地位。
图 17 · Swish / SiLU 的构造:x 乘以自己的 Sigmoid 门控
2017 年 Google Brain 用神经架构搜索让模型自己挑激活函数,搜出来的形式与 GELU 几乎一模一样: Swish(x) = x · σ(x)。而 2016 年 Elfwing 等人其实已经独立提出过完全相同的函数, 命名为 SiLU(Sigmoid Linear Unit),PyTorch 中即 nn.SiLU。 相比 GELU,它只需一个 Sigmoid,计算更轻。
图 18 · S 形族曲线总览(颜色 + 虚线样式双重区分)
图 19 · ReLU 族曲线总览:正半轴一致,差别全在负半轴
10Swish 在实战里站稳了哪些场景
图 20 · Swish 在实际模型中的应用版图
原片结论一句:Swish ≈ GELU,但形式更简单——大模型时代的另一常见选择。 补充一个来自评论区的实践共识(该视频热评,9 赞):"现在要么 GELU,要么 SiLU"。
11每一代解决了什么问题
图 21 · 五代激活函数的问题—解法对照
12今天,到底该选谁?
图 22 · 三类场景的选型建议
原片收尾的一句话值得单独记下来:
激活函数提供"非线性",梯度下降提供"学习能力"——一个让网络能拟合任意函数,一个让网络能找到正确参数。
Sigmoid 导数峰值0.25
连乘 5 层后梯度≈0.001
AlexNet 错误率15.3%
Tanh 值域(−1, 1)
13完整章节与跳转时间
| 时间 | 章节 | 核心内容 |
|---|
| 00:00 | 激活函数的作用 | 神经元两次运算:线性组合 + 非线性映射 |
| 00:45 | 为何需要分离设计 | 不一步到位的两个理由:工程红利 / 数值爆炸 |
| 02:08 | 优秀激活函数素养 | 六条评估标准与"四者平衡" |
| 04:33 | 早期函数:阶跃与 Sigmoid | 阶跃两个死穴 → Sigmoid 的诞生与三大优势 |
| 08:18 | ReLU 的突破 | Sigmoid 三大硬伤 → Tanh → ReLU → AlexNet |
| 16:00 | ReLU 的改进方案 | Dying ReLU → Leaky ReLU → GELU → Swish/SiLU |
| 24:18 | 总结与选择 | 五代演进复盘 + 三类场景选型 |
| 28:01 | 结尾 | 非线性 + 梯度下降 = 拟合能力 + 学习能力 |
取材与还原方式(本笔记的每一条结论来自哪里)
- 结构与内容来源:B 站公开接口
player/v2 返回的官方章节时间轴(8 段), 以及 web-interface/view 的视频元数据(时长 1744 秒、合集共 33 集)。 - 逐页内容还原:官方分镜雪碧图(4 张 10×10、单帧 480×270)按 1 帧 ≈ 5.68 秒裁帧,配合 8 张 1280×662 章节封面,逐页读取幻灯片文字后转写。
- 本版不含任何视频截图:全部 22 张图均为按内容重绘的矢量图解, 曲线由解析式实时计算(σ、tanh、ReLU、LeakyReLU、ELU、GELU、SiLU), 因此可无损缩放、离线可看、文件内不含任何第三方图片。
- 标注约定:原片观点 表示来自视频幻灯片; 补充 表示我额外加入的说明或对照数据。
- 视频标记为
no_reprint = 1(禁止转载),且无公开 CC 字幕。 本笔记为个人学习用途的内容整理与重绘,不复制原视频画面。