CNN的隐层可视化

CNN的隐层到底是什么样子的?本博文主要讲解zerler提出的一种反卷积的技术,来可视化隐层内容。

反卷积

直接显示隐层值是不可观察的,如果能够反向映射到输入的像素空间内,岂不是很好,就可以从人的认识层面来可视化隐层的内容了。多么聪明地想法,剩下的问题就是如何由隐层反向计算到输入层。

转置卷积

将filter-bank直接转置,对feature-map做卷积计算,得到输入。
注意:这里不是卷积的逆操作,而只是做个转置,再计算卷积而已。不能重构出真实输入值。
举例:
正向计算:[64×64×3]4×5×3×100[64×64×100]
filter-bank [4×5×3×100]的转置是这样的:4×5×100×3
反向计算:[64×64×100]4×5×100×3[64×64×3]

ReLU反向计算

ReLU=max{0,wx+b},是取正的运算,反向计算也取正,同样为ReLU。

Pooling反向计算

对Max-Pooling,需要记录正向计算时的最大值位置,然后将最大值回填,其他位置置零。
对Avg-Pooling,将当前值回填全部位置。
如果熟悉梯度后传在pool上的操作,你会发现是一样的动作。

某个activation的反卷积

针对某个隐层,想观察某个feature-map上的activation,则将该层上的所有activation置零,然后按照网络结构,依结构顺序进行上述反向计算,直到到达输入像素层。
注意:是该层上所有其他activation置零。

靠谱验证

这样的反向计算到底靠谱么?这是非常关心的。作者给出了个遮挡验证如下:
遮挡可视化出来的输入像素点,则对应的做反向可视化的那些activation会急剧下降。
说明什么?说明,虽然转置卷积计算可视化不是真实值的还原,但仍然是隐层activation的有效体现。在没有更好的方法时,这种可视化就是靠谱的。

关于Fig.2的生成说明

如果看过第二篇参考文献,大体上就能明白“show the top 9 activations in a random subset of feature maps accross the validation data”,反向卷积也来自于此篇文献。
具体怎么生成Fig.2的,解释如下:
1)先随机选择个feature-map,然后检查validataion-data在这个feature-map上的activation值,挑选top-9个activation,逐个反向计算到输入层(按照“某个activation的反卷积”操作来反向计算)。
2)对每个层,都执行几次1)过程,将可视化结果拼到一起。
注意:这里的top-9已经约束到了同一个feature-map上了,所以后面有个同feature-map具有同质性的小结论。
隐层layer-4的两个feature-map上的top-9的activation反向计算的可视化图,狗表图,哈哈。

关于可视化,完全可以自行将每层的每个feature-map上的top-N可视化到输入层,再叠加到一起。

其他有意思结果

1)关于帮助改进CNN网络结构的。
2)关于CNN是否会学习location的验证。是。
3)关于CNN特征不变性的探究。
4)同feature-map内的强同质性结论。
注意:《visualization》paper是用Alex-Net来做的,Alex是当前已知网络中参数利用率最低的网络结构。

其他可视化方法

近似估计

从正向的角度推测隐层的可视化值。
已知训练好的网络,假设到某层的inference-function是Φ(x),已知样本x0,若是能够生成一个样本x,使得Φ(x0)Φ(x)尽可能地相近,那么就可以认为x是隐层Φ(x0)的可视化输入值。
x=argmin{L(Φ(x0),Φ(x))+λR(x)}
其中R(x)是正则项。详细见参考三。

orig-deconv

Deconv做训练时的一个方法,多个activation叠加到一起,具体如下:
1) 对一张输入图,在某个层上,选择top-3的activation。
2) 方向计算输入像素值,将结果叠加到一块。
注意:这里的activation约束在同层内,而不是桶feature-map上。
结论:同层内的不同activation重构了图片的不同局部。
效果图如下:

参考

  1. 《2013-Visualization and Understanding the Convoluational Networks》
  2. 《2011-Adaptive Deconvolutional Networks for Mid and High Level Feature Learning》
  3. 《2014-Understanding Deep Image Representations by Inverting Them》

版权声明:本文为yujianmin1990原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。