深度学习可解释性研究(一): Visualizing and Understanding Convolutional Networks

这篇文章主要讲述了如何可视化CNN中的层(feature map),感性上来说,这项工作可以帮助我们理解CNN的每一层长什么样,进而帮助我们感性地理解CNN的工作原理。

一般来说,一个普通的CNN包括卷积层、激活函数、池化层,输入经过这些卷积运算、激活函数、池化操作,就会得到中间的feature map,本文的目的就是对特定的feature map进行可视化。

整篇文章的核心思想是,“map these activities back to the input pixel space, showing what input pattern originally caused a given activation in the feature maps.",把某一feature map通过deconvolution network还原到输入空间中,再进行可视化。当然,你可能会说,如果这个deconvolution的过程是完美的,那么feature map经过这个过程应该会还原成原始输入才对,可是正因为CNN中间经历了池化操作(一般是最大池化),使得feature map无法完美地还原,所以最后转化的图像不是原输入,而是原始输入经过多次池化后保留的信息,实在是妙!

在这里插入图片描述

在这里插入图片描述

这里讨论的是最普通的一种CNN,激活函数选择ReLU,池化是最大池化,而deconvolution network其实就是由卷积运算、激活函数、池化操作的逆运算构成,也就是反卷积运算、逆激活函数与逆池化操作。

首先看看反卷积运算,文章的反卷积运算其实就是采用转置卷积进行上采样,要说清楚这个过程,就需要先回顾一下卷积运算

以往,我们会说卷积运算就是卷积核对输入的一个区域先进行对应元素的相乘再求和,然后移动到下一个区域继续进行这样的运算,但如果计算机真的这样做,效率就会很低,所以会改变一下输入和卷积核的形式,然后直接进行矩阵的乘法,

在这里插入图片描述

通过把卷积运算转化为矩阵乘法,运算的效率就会大大提高。

明白卷积运算的实际运作原理后,其实我们做反卷积,理论上就是求出卷积核的逆矩阵,然后和输出相乘就能还原得到上一层输入,但实际上反卷积运算又不是这样做,只是单纯转置卷积核矩阵,然后和feature map相乘,这样的结果虽然维度上和上一层feature map相同,但实际上并不是一个逆运算的过程,当然,我也只能客观地转述文章的流程而已。

反卷积之后继续看看激活函数,因为这里的CNN选择ReLU作为激活函数,它比较特别,输入大于0是是一个恒等变换,所以逆激活函数文章也使用了ReLU,当然它也能保证输出大于等于0,便于可视化。

在这里插入图片描述

最后是反池化,CNN的池化是最大池化,这里的反池化非常经典,主要是记录最大池化过程中最大值的位置,反池化时还原位置并对其他区域补0,这样的操作和原始输入相比,其实就相当于选择出原始输入中模型认为重要的子区域,并把其他无用的信息删除掉,所以你可以看到,可视化的图像都是一些局部的特征,反池化就是造成这个现象的主要原因。

以上就是模型的主要构成,其实通过该模型以及分析的结果,我们就可以更深入地理解CNN的本质,从结果来看,浅层的特征都是比较简单的轮廓,主要是因为一开始卷积核扫描的区域都是图像的一个个小区域,随着层数的加深,各个区域开始关联起来,模型可以识别的特征范围逐步扩大,所以可视化的图像也逐步精细化,这一点可以结合NLP和RNN来理解,RNN存在long term dependency的问题,即RNN无法提取出远距离特征,而如果使用深层CNN,则可以通过层与层之间的卷积核的组合实现更大区域的特征的识别。

在这里插入图片描述
另外,其实整个deconvolution network和CNN的反向传播过程有很大关联,有兴趣的可以结合来看看。

我整理了深度学习可解释性的一些论文,可在github下载:DeepLearningInterpretability

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值