人工智能导论 第 4 章 · 第六节
课程 › 第 4 章 › 第六节 黑箱属性激活最大化为什么要约束三种约束逐层可视化
第 4 章 深度学习新方法 · 第六节

黑箱与激活最大化

模型算得准,可它到底学到了什么
本 节 知 识 点
  1. 41深度学习模型是个黑箱
  2. 42激活最大化:找它最爱的图
  3. 43只顾变大,会得到怪图
  4. 44常用的三种约束
  5. 45卷积网络每一层在看什么
41
第 4 章 · 第六节

深度学习模型是个黑箱

同样的任务训练两次,模型内部的分工可能完全不同。

第 41 页课件

关键术语

黑箱Black Box
只看得到输入和输出,看不清里面怎样工作的东西。
可解释性Interpretability
人能在多大程度上看懂模型为什么做出这个判断。

重 点三张图怎么看

四个角是四个样本,圆圈和叉号是两类。三个网络都把两个圆圈划进灰色、叉号留在外面,任务都完成了。左图的参数是人定的,每一步都说得清。右边两张从不同的随机起点训练出来,灰色的划法各不相同,事先猜不到。

知道更多为什么要打开黑箱

看病、贷款、判案这些场合,只给结论不够,还要说清理由。这一节和下一节讲三种查看模型内部的办法。

42
第 4 章 · 第六节

激活最大化:找它最爱的图

参数固定不动,改图片,找出最能让某个神经元兴奋的输入。

第 42 页 可解释性与可视化:激活最大化

从一团噪声出发,一步步改出它最喜欢的图

随机噪声激活 0.6改了 3 步激活 25.1改了 10 步激活 47.5改了 40 步激活 56.7
平时训练

训练数据固定,改模型的参数,让损失越来越小。沿着梯度往下走,叫梯度下降。

激活最大化

参数固定,改图片的像素,让某个神经元的激活越来越大。沿着梯度往上走,叫梯度上升。

图中是一个玩具例子:这个神经元喜欢斜条纹,图片每一步都朝着让它更兴奋的方向改一点。

关键术语

激活值Activation
神经元输出的数,越大表示它越“兴奋”,也就是看到的东西越像它要找的。
激活最大化Activation Maximization
寻找能让某个神经元输出最大的输入,用来看懂这个神经元在找什么。

打个比方

想知道朋友最爱什么口味,他自己又说不清。那就做道菜让他尝,一点点调咸淡酸甜,直到他吃得最开心。最后那道菜的味道,就是他最爱的口味。

随堂练习

做激活最大化时,每一步改动的是什么?

  1. 网络的参数
  2. 输入的图片
  3. 神经元的个数
  4. 训练数据的标签
查看答案
答案 B。激活最大化把网络的参数固定住,只改输入图片的像素。平时训练才是固定数据、改参数。
43
第 4 章 · 第六节

只顾变大,会得到怪图

不加约束地往上改,像素会跑出正常范围,图也看不懂了。

第 43 页 可解释性与可视化:为什么要加正则化项

一个只看三个像素的神经元

激活 = 2 × 像素甲 − 1 × 像素乙 + 3 × 像素丙
改了几步像素甲像素乙像素丙激活
00.50.50.52.0
10.70.40.83.4
20.90.31.14.8
51.50.02.09.0
102.5−0.53.516.0
每一步都照着式子里三个像素前面的数“2、−1、3”改一点:甲加 0.2,乙减 0.1,丙加 0.3。激活一路上涨,可像素只能在 0 到 1 之间。第 2 步丙就超出了范围,到第 10 步乙成了负数,甲和丙都远远超过 1。
所以要给目标加约束。一种办法是从激活里减去一项惩罚,图越不像正常的图,惩罚越大。这里用更直接的办法:每步改完都把像素限制在 0 到 1 之间,第 5 步起结果就停在甲 1、乙 0、丙 1,激活为 5。

关键术语

正则化项Regularization Term
加进目标里的惩罚,用来约束结果别太离谱,常写作 R(x)。

重 点真实网络里更麻烦

真实的图片有成千上万个像素,只顾让激活变大,得到的往往是一片细碎的雪花点。神经元确实极度兴奋,人却什么也看不出来。

随堂练习

面板里的神经元,要让激活尽量大,同时像素只能在 0 到 1 之间,像素乙应该取多少?

  1. 0
  2. 0.5
  3. 1
  4. 越大越好
查看答案
答案 A。乙前面的数是 −1,乙越大,激活反而越小,所以乙取最小的 0。甲和丙前面是正数,都取最大的 1。
44
第 4 章 · 第六节

常用的三种约束

三种约束都在把结果往“像一张正常的图”上拉。

第 44 页 可解释性与可视化:常用的正则化类型

同一个神经元,加不加模糊差别很大

不做模糊细碎的格子,激活 90.6每步都模糊一下平滑的斜条纹,激活 56.7
约束怎么做管什么
高频抑制每一步把图稍微模糊一下,或惩罚相邻像素差得太多去掉细碎的格子和雪花点
像素约束像素值只能在 0 到 1 之间别让数值跑出范围
自然图像先验不直接改像素,让一个会画图的生成模型来出图让结果像一张真实的照片

关键术语

高频High Frequency
图上相邻像素忽明忽暗、变化很快的细碎部分。
先验Prior
事先就知道的常识,这里指“真实照片大概长什么样”。

重 点面板里两张图怎么看

两张图都从同一团噪声出发,改了 40 步。不做模糊的那张激活更高,可满眼是细碎的格子。每步模糊一下的那张,激活低一些,却清楚地显出了这个神经元喜欢的斜条纹。

知道更多约束的分寸

约束越强,得到的图越好看,但也可能把神经元在意的细节修饰掉。约束太弱,又只剩一片雪花点。

45
第 4 章 · 第六节

卷积网络每一层在看什么

浅层喜欢简单的条纹,越往深层,喜欢的花纹越复杂。

第 45 页课件

重 点图怎么看

左边的式子把前两页合在一起:找一张图,让神经元的响应减去正则化项尽量大。右边每个小方块就是这样找出来的图,从上到下对应网络从浅到深,花纹越来越大、越来越复杂。

打个比方

人认字也是这样,先认笔画,再认偏旁,最后认出整个字。没有人教网络这个顺序,它是在训练中自己长成这样的。

知道更多实验一

本章实验一会动手做一遍:把一个训练好的小网络固定住,找出让某个通道最兴奋的图。通道是卷积网络里负责在图上各处找同一种花纹的一组神经元。

保山学院·人工智能教研室·曹鼎鼎