
视频元信息
- 课程:吴恩达深度学习专项课程(Deep Learning Specialization)
- 章节:3.7 为什么需要非线性激活函数
- 时长:约 5 分 35 秒
内容摘要(TL;DR)
本节论证了神经网络必须使用非线性激活函数。若隐藏层使用线性(恒等)激活函数,多层网络将退化为单层线性模型,无论多深都毫无意义。线性激活函数唯一合理的用途是回归问题的输出层,隐藏层几乎永远不该使用。
一、核心问题:为什么需要非线性激活函数 [00:00]
考点:本节核心结论——神经网络的隐藏层必须使用非线性激活函数,否则整个网络的表达能力不会超过单层线性模型。
视频开头提出核心问题:为什么神经网络需要非线性激活函数?答案是——为了让网络能够计算"有趣的函数"(interesting functions),就必须引入非线性。
理解:所谓"有趣的函数",指的是无法用一条直线(或超平面)拟合的复杂映射关系。如果网络只能表达线性关系,那它和最简单的线性回归没有本质区别。
二、假设去掉激活函数:恒等激活函数 [00:11]
吴恩达教授引导我们做一个思想实验:如果把前向传播方程中的激活函数 g 去掉,令 A1 = Z1,会发生什么?
- 这相当于令 g(z) = z
- 有时被称为"线性激活函数"(linear activation function)
- 更准确的名称是"恒等激活函数"(identity activation function),因为它输出等于输入
恒等激活函数:f(z) = z,即不对输入做任何变换直接输出。这是"没有激活函数"的等价表述。
三、数学推导:多层线性 = 单层线性 [00:54]
考点:这是本节最重要的推导,必须理解并记住。
假设两层网络都使用恒等激活函数,逐步代入:
第一层:
- A1 = Z1 = W1·X + B1
第二层:
- A2 = Z2 = W2·A1 + B2
将 A1 代入 A2 的表达式:
- A2 = W2·(W1·X + B1) + B2
- A2 = W2·W1·X + W2·B1 + B2
令 W' = W2·W1,B' = W2·B1 + B2,则:
- A2 = W'·X + B'
推导要点:两个线性函数的复合仍然是线性函数。矩阵乘法 W2·W1 的结果仍然是一个矩阵 W',偏置项合并后仍然是一个向量 B'。所以无论多少层,最终都等价于一个单层线性变换。
易错点:矩阵乘法顺序不能搞反! 这里是 W2·W1,不是 W1·W2。虽然最终都表示某个矩阵,但维度匹配和数值结果不同。在推导时要严格按照前向传播的顺序代入。
四、深层网络的退化问题 [02:23]
考点:无论网络有多深,如果所有隐藏层都用线性激活函数,整个网络仍然只是在计算一个线性函数。
理解:这意味着增加再多的隐藏层都是徒劳的——你花费了更多计算资源,却只得到了和单层网络一样的结果。用吴恩达的话说:"你还不如不要隐藏层。"
进一步的结论:
- 如果隐藏层是线性的,输出层是 sigmoid 函数,那么这个模型的表现力不超过标准逻辑回归(logistic regression)
- 线性隐藏层"或多或少是无用的"(more or less useless)
关键结论:两个线性函数的复合本身还是线性函数。除非在中间加入非线性,否则即使加深网络,也无法计算更有趣的函数。
思考:这也解释了为什么深度学习在早期(使用线性激活函数或没有激活函数时)无法展现优势。正是非线性激活函数(ReLU、sigmoid、tanh 等)的引入,才让"深度"真正有了意义。
五、唯一例外:回归问题的输出层 [03:25]
考点:线性激活函数唯一合理的使用场景是回归问题的输出层。
吴恩达指出,只有一个地方你可能使用线性激活函数 g(z) = z:
- 场景:回归问题(regression problem)
- 条件:输出 y 是实数(real number),而非 0/1 分类标签
- 案例:房价预测
理解:房价可以从很低的数值到几百万美元,是一个连续实数。此时输出层使用线性激活函数,可以让 ŷ 的取值范围是 (-∞, +∞),不受限于 [0,1] 或其他区间。
但即使在这种情况下:
- 隐藏层仍然不应该使用线性激活函数
- 隐藏层可以使用 ReLU、tanh 或其他非线性激活函数
易错点:即使输出层可以用线性激活函数,隐藏层也绝不应使用线性激活函数。 这是很多初学者容易混淆的地方——"输出层可以用线性"不等于"所有层都可以用线性"。
六、补充说明:房价预测的特殊情况 [04:56]
吴恩达补充了一个细节:
- 在第一周的视频中提到,房价都是非负的
- 因此即使做房价预测,也可以考虑使用 ReLU 激活函数,使 ŷ ≥ 0
- 这样输出不会出现负的房价
思考:这是一个实践中的小技巧——根据输出值的物理意义(如价格不能为负)来选择合适的输出层激活函数。
七、总结与过渡 [05:11]
本节核心要点回顾:
- 非线性激活函数是神经网络的关键组成部分
- 线性(恒等)激活函数会让多层网络退化为单层线性模型
- 线性激活函数唯一合理的使用场景是回归问题的输出层
- 隐藏层使用线性激活函数"极其罕见"(extremely rare),除非涉及压缩等特殊场景
下节预告: 接下来将讨论梯度下降,并展示如何计算各个激活函数的导数(斜率)。
关键标签/关键词
非线性激活函数 恒等激活函数 线性激活函数 神经网络表达能力 深层网络退化 回归问题 输出层激活函数 ReLU tanh sigmoid 逻辑回归 吴恩达深度学习 前向传播
生成时间:2026-10-10 21:43:15 生成平台:VideoNote www.xygy.top