从直觉到证明3Blue1Brown 中文导学教材
3.3 检查网络究竟学到了什么

3.3 检查网络究竟学到了什么

把对神经元的解释当成待检验假设,观察输入扰动是否支持它。

例题练习Lean 对照原课

一步一步建立直观

先预测,再点“演示本步”核对右图。每一步都重设到指定情形,随后可以自由修改参数。

01把一个猜测变成可检查的扰动

如果猜测某个输入特征在控制输出,应固定其余输入,只改变这一项。右图的单个单元提供最简单的干预:在激活区域内,输出对第一输入的变化率就是第一权重。这个数值解释了局部敏感度,却还没有证明它在真实数据中代表某种语义。

02同一权重在不同输入处作用不同

把输入移到关闭区域。权重没有改变,输出对小扰动却暂时不敏感,因为激活函数将这一段截平。由此可见,只阅读权重大小不足以解释网络行为;还需要输入位置、激活状态,以及后续层如何使用这个单元的输出。

03解释也必须经受反例检验

调节偏置与目标,寻找能让原先解释失效的输入。一个“看起来检测到某特征”的单元,可能依赖背景或与该特征相关的另一信号。本窗口展示干预的逻辑,不承担真实模型的语义发现;更完整的分析还应比较样本、消融与输出变化。

3.3.1 把好听的解释变成可以检验的假设

我们容易把隐藏神经元想象成边缘、笔画或概念检测器,但这种解释必须与实际参数和行为相符。先固定网络,找出什么输入能强烈激活某个单元,再查看看似相同的特征在不同背景下是否仍产生类似响应。一次漂亮的示例不足以建立稳定解释。

把输入稍微改变,观察输出怎样变,是更直接的实验。仿射层满足 Δz=WΔx\Delta z=W\Delta x:偏置在相减时消失,所以敏感性由权重和扰动方向共同决定。某方向的小变化可能被放大,另一些方向可能被忽略。

3.3.2 准确、稳定与可信不是同一个量

即使原图被正确分类,平移、旋转或加一点扰动后也可能变化;普通全连接层并不会自动知道这些变化应保持类别。高置信度也只是模型输出分布尖锐,并不保证它遇到的是熟悉数据,更不保证解释正确。

设计检查时可以分三步:保留独立测试样本观察泛化;做有控制的扰动检验稳定性;对置信度分组比较预测与实际频率。三步回答不同问题,不应让一个总体准确率代替所有分析。

本节的小线性算例让你能精确追踪一次扰动,但真实网络的解释还涉及非线性与数据分布。读课程中的可视化时,应同时问“这张图支持了什么结论”和“还排除了哪些替代解释”。数学公式与实验证据在这里承担不同角色。

数学表述 3.3.1

隐层激活不必对应人类想象的边缘或笔画。观察权重、输入扰动和分布外样本,才能检验解释是否与实际计算一致。

对仿射层,扰动满足 Δz=WΔx\Delta z=W\Delta x;在欧氏算子范数下 ∥Δz∥≤∥W∥∥Δx∥\|\Delta z\|\le\|W\|\|\Delta x\|。这是局部敏感性分析的起点。

例 3.3.1 把概念用于具体计算

z=5x+bz=5x+b,输入增加 0.020.02,激活前的数值增加 0.10.1。偏置不影响这一差值。对于像素图,平移会改变很多输入坐标,普通全连接层并不天然平移不变。

练习 3.3.1

为什么只检查训练集准确率不够?

展开解答与检查

模型可能记忆训练样本;还需独立测试及扰动检查。

Lean 对照 3.3.1 命题、证明与适用边界

精确验证单输入仿射模型的扰动等式;范数界、校准与泛化的经验主张未形式化。

NeuralNetworks.affine_input_sensitivity

theorem affine_input_sensitivity (w b x δ : ℝ) :
    (w*(x+δ)+b)-(w*x+b)=w*δ := by ring

查看完整定义与上下文 ↗ · 全书证明范围

原课对照 观课问题、视频与图示

把对神经元的解释当成待检验假设,观察输入扰动是否支持它。

官方课程与图示 ↗

本条目在官方目录中未单列视频,参照上述官方图文阅读。