Visualizing and Understanding Convolutional Networks于2014年发表于ECCV。该文章是第一篇提出可视化卷积神经网络的文章。使用Deconvolution技术(Zeiler et al., 2011)重建源图中对某类起重要作用的区域。
Deconvolution
即转置卷积。
deconvnet
为便于与Deconvolution区分,将文章提出的可视化方法记作deconvnet.
对卷积操作做如下修改:
- 卷积层:使用转置卷积代替,参数相同。
- 池化层:前向传播时记住最大值的位置,以“开关”命名变量并存储。
- Relu激活函数:如下图所示,使用上层的重建信号(梯度)经过Relu函数。
总的来说,deconvnet方法前向传播时需要记住位置信息(pool所得),将该信息记作“开关”存储,然后反向传播时再使用该值。需要注意的是在激活函数处所求的导数并不是实际的导数。
在Guided backpropagation中与deconvnet作了对比,认为Guided backpropagation与deconvnet的不同主要体现在反向传播时在激活函数的求导方式不同,如下图,更多细节请看我的另一篇介绍Guided backpropagation的文章。