视频封面

视频元信息

  • 课程:吴恩达深度学习专项课程(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]

本节核心要点回顾:

  1. 非线性激活函数是神经网络的关键组成部分
  2. 线性(恒等)激活函数会让多层网络退化为单层线性模型
  3. 线性激活函数唯一合理的使用场景是回归问题的输出层
  4. 隐藏层使用线性激活函数"极其罕见"(extremely rare),除非涉及压缩等特殊场景

下节预告: 接下来将讨论梯度下降,并展示如何计算各个激活函数的导数(斜率)。


关键标签/关键词

非线性激活函数 恒等激活函数 线性激活函数 神经网络表达能力 深层网络退化 回归问题 输出层激活函数 ReLU tanh sigmoid 逻辑回归 吴恩达深度学习 前向传播


生成时间:2026-10-10 21:43:15 生成平台:VideoNote www.xygy.top