ReLU导数: ReLU及其导数推导
从ReLU激活函数的定义出发,推导其分段导数,并讨论次梯度与Leaky ReLU变体。
ReLU的定义
关键部分
ReLU(修正线性单元)将负值置零、正值保持不变,是最常用的隐藏层激活函数。
激活函数
使用 NumPy 实现常见激活函数并理解其特性。
📌 常见激活函数实现:Sigmoid、Tanh、ReLU、Leaky ReLU、GELU。
激活函数对比:Sigmoid vs Tanh vs ReLU vs GELU
不同激活函数在梯度特性、收敛速度和适用场景上有显著差异。
| 对比项 | Sigmoid | Tanh | ReLU | GELU |
|---|---|---|---|---|
| 输出范围 | (0, 1) | (-1, 1) | [0, +inf) | 约(-0.17, +inf) |
| 梯度消失 | 严重 | 较严重 | 无(正区间)⭐ | 无(正区间) |
| 零中心化 | 否 | 是⭐ | 否 | 近似是 |
| 计算复杂度 | 高(指数运算) | 高(指数运算) | 极低(max运算)⭐ | 较高 |
| 神经元死亡 | 不会 | 不会 | 会(负输入梯度为0) | 不会⭐ |
| 收敛速度 | 慢 | 较快 | 快⭐ | 快 |
| 适用场景 | 二分类输出层 | 浅层网络/隐藏层 | CNN/深层网络隐藏层 | Transformer/BERT/GPT |
| 现代使用频率 | 低 | 低 | 高 | 高(大模型首选)⭐ |
你知道吗?
这些有趣的 AI 小知识可能让你大吃一惊
ReLU函数(f(x)=max(0,x))看起来太简单了——它只是把负数变成零。但正是这个简单到近乎"粗暴"的函数解决了Sigmoid的梯度消失问题,成为深度学习革命的关键之一。
Sigmoid曾是最流行的激活函数,因为输出在(0,1)之间很优雅。但当网络变深时,Sigmoid的梯度在反向传播中反复乘以小于1的数,会指数级衰减——这就是著名的"梯度消失"问题。
激活函数为神经网络引入非线性,常见有Sigmoid、Tanh、ReLU及其变体,选择影响训练效果和速度。
这些坑别踩
误区 1
激活函数可有可无,加上只是增加计算量。
正确理解
没有激活函数,多层神经网络等价于单层线性变换,无法学习非线性关系,激活函数是深度网络能拟合复杂函数的关键。
误区 2
Sigmoid是最好的激活函数。
正确理解
Sigmoid在深层网络中易导致梯度消失且输出非零中心化,隐藏层普遍使用ReLU及其变体,Sigmoid主要用于输出层做二分类。
章节练习与面试准备
通过测试检验学习效果,通过面试题提升实战能力
章末测试
共 4 题 · 选择题
ReLU 激活函数的主要优点是?
Sigmoid 函数的主要缺点是?
关于 tanh 激活函数,下列说法正确的是?
激活函数在神经网络中的核心作用是?
面试经典题
共 5 题 · 先思考再看答案
请列举常见的激活函数及其特点。
ReLU 的优缺点是什么?什么是"死神经元"问题?如何缓解?
为什么神经网络需要激活函数?如果没有激活函数会怎样?
梯度消失和梯度爆炸的成因是什么?激活函数在其中起什么作用?
为什么深层网络隐层通常选择 ReLU 而不是 Sigmoid?请从梯度与训练效率角度分析。
💡 建议:先独立思考并组织语言,再对照参考答案查漏补缺