跳到主要内容

理解与可视化卷积神经网络

(本页原文仍为草稿。)

将卷积网络学到的内容可视化

已有研究提出了多种理解和可视化卷积网络的方法,部分是为了回应“神经网络学到的特征难以解释”这一常见质疑。本节简要介绍其中一些方法及相关研究。

激活值与第一层权重的可视化

各层激活值。最直接的可视化方式是展示前向传播中的激活值。对于 ReLU 网络,训练初期的激活通常较密集、呈团块状;随着训练推进,会逐渐变得稀疏并集中在局部。一个值得警惕的现象是:某些激活图面对许多不同输入时始终全为 0。这可能说明相应滤波器已经失活,也可能是学习率过高的表现。

训练好的 AlexNet 接收猫图像时,第一卷积层(左)与第五卷积层(右)的典型激活。每个小框对应一个滤波器的激活图。大部分数值为 0,在图中显示为黑色,非零响应主要集中在局部区域。

卷积层/全连接层的滤波器。另一种常见方法是可视化权重。直接接收原始像素的第一卷积层最容易解释,也可以展示更深层的滤波器权重。训练充分的网络通常具有平滑、结构清晰、没有明显噪声的滤波器;出现噪声图样可能意味着训练不足,也可能是正则化强度过低而产生了过拟合。

训练好的 AlexNet 第一卷积层(左)与第二卷积层(右)的典型滤波器。第一层权重平滑、结构清晰,说明网络收敛较好。彩色与灰度特征分别聚集,是因为 AlexNet 使用了两条独立的处理分支:其中一条倾向于学习高频灰度特征,另一条倾向于学习低频颜色特征。第二层的权重不那么容易直观解释,但仍能看出结构平滑、没有明显噪声。

检索最能激活某个神经元的图像

还可以将大量图像输入网络,记录哪些图像最能激活某个神经元,再观察这些图像,理解该神经元在感受野中寻找什么特征。Ross Girshick 等人的《用于精确目标检测与语义分割的丰富特征层次》展示了此类可视化:

最能激活 AlexNet 中某些 POOL5(第 5 个池化层)神经元的图像。白色标注给出激活值及该神经元的感受野。注意,POOL5 神经元已经依赖于输入图像中相当大的区域。有的神经元会对人体上半身、文字或镜面高光产生较强响应。

这一方法的局限是,单个 ReLU 神经元未必具有独立、明确的语义。更合适的理解是:多个 ReLU 神经元构成表示图像块的空间的一组基向量。上述可视化展示的是表示分布沿滤波器权重所对应的某些坐标轴方向上的极端图像块,而坐标轴本身可以是任意的。从线性表示的角度看,旋转这一空间的坐标系并不会改变其本质。Szegedy 等人在《神经网络的一些有趣性质》中进一步讨论了这一点,并沿表示空间中的任意方向进行了类似可视化。

使用 t-SNE 嵌入网络特征

卷积网络可以理解为逐步把图像变换到一个便于线性分类的表示空间。把图像嵌入二维,并尽量保留高维表示中的距离关系,就能粗略观察这个空间的结构。许多降维嵌入方法都试图在低维空间中保持样本的两两距离;其中 t-SNE 是广为人知、通常具有较好可视化效果的方法。

具体做法是选取一组图像,用卷积网络提取 CNN 特征编码,例如 AlexNet 分类器之前的 4096 维向量,并保留 ReLU 非线性处理。然后将这些向量输入 t-SNE,为每张图像得到二维坐标,再将对应图像排布在平面上:

基于 CNN 特征编码得到的图像 t-SNE 嵌入。图中相邻的图像,在 CNN 表示空间中也较接近,说明网络认为它们相似。这里的相似性更多来自类别与语义,而非单纯的像素和颜色。生成方法、代码及其他尺度下的可视化,见 CNN 特征编码的 t-SNE 可视化。

遮挡图像局部区域

当网络把一张图像判为狗时,如何确定它确实识别了狗,而不是利用背景或其他物体作为线索?可以用遮挡物依次遮住图像的不同区域,将该区域置零,记录目标类别(例如狗)的预测概率,再把概率随遮挡位置的变化画成二维热力图。Matthew Zeiler 的《可视化并理解卷积网络》使用了这一方法:

上方是三张输入图像,灰色区域表示遮挡物。滑动遮挡物并记录正确类别概率,便得到各图下方的热力图。例如,最左图中遮住狗脸时,博美犬类别的概率显著下降,表明狗脸是较高分类得分的重要依据;遮住其他区域的影响则相对很小。

输入梯度及相关方法的可视化

输入数据梯度。

深入卷积网络:图像分类模型与显著性图的可视化

反卷积网络(DeconvNet)。

可视化并理解卷积网络

引导反向传播。

追求简洁:全卷积网络

根据 CNN 特征重建原始图像

通过逆向重建理解深度图像表示

保留了多少空间信息?

《卷积网络是否学到了对应关系?》(简要结论:是。)

分析模型性能随图像属性的变化

ImageNet 大规模视觉识别挑战赛

使卷积网络产生错误判断

解释与利用对抗样本

卷积网络与人工标注者的比较

在 ImageNet 上与卷积网络比试的体会