本文是周博磊大神CVPR 2017年的文章,主要关注网络的可解释性。
前言
神经网络的可解释性一直是一个很有趣也很有用的东西。很多情况下大家都把神经网络作为一个黑箱来用,而近年来也有越来越多的工作希望能够探索神经网络到底学习到了什么,比如利用deconvolution进行可视化,周博磊去年的Learning Deep Features for Discriminative Localization等。
方法
今年这篇则是通过评估隐藏单元和一系列语义概念的契合度来给出网络的可解释性,提出了一个叫Network Dissection的方法。作者建立了一个带有不同语义概念的图片数据库Broden,里面每张图都有pixel-wise的标定(颜色,纹理,场景,物体部分,物体等),也就是说对于每种语义概念,都有一张label map。
对于一个训练好的网络模型,输入Broden中的所有图片,然后收集某个单元在所有图片上的响应图。为了比较该响应图是对应于哪种语义概念,把这些响应图插值放大到数据库原图大小后,做阈值处理,相应大于某个值就设为1,否则为0,也就是我们只关注响应较大的区域,把这些区域作为该隐藏单元的语义表征,得到一个二值的mask。然后计算该mask和每一个真实语义概念label map的IoU,如果大于一定值,也就是和某个语义概念的重合率比较大,就认为该神经单元是对这个概念的检测器。如下图:
实验
作者首先把这个方法用到在ImageNet和Places上训练的多种网络AlexNet, VGG, GoogLeNet, ResNet等典型的CNN模型,可视化和标定各个网络的神经元。然后利用Network Dissection比较了不同神经网络之间可解释性的概念分布的差异。然后作者还分析了不同supervision,以及训练过程中网络的变化和各种regularization,如batchnorm, dropout,对网络内部表征的影响,得出了许多有趣的结论,甚至有一些是和我们之前的直观认知不太一致的结论。
旋转
作者通过旋转AlexNet的conv5层发现,网络的可解释性并不是axis-independent的。也就是说,旋转特征图会影响到网络的特异检测器(unique detector)的数量,从而对网络的可解释性造成影响。但旋转后的特征拥有和原来相同的辨别力(discriminative power),作者由此得出结论,网络的可解释性并不是网络辨别力的结果或先决条件,而是一个需要独立测量的品质。
网络结构和监督对可解释性的影响
对于网络结构的可解释性排序:ResNet > VGG > GoogLeNet > AlexNet。更深的网络拥有更强的可解释性。
同时训练数据也会造成影响:Places > ImageNet。这是因为一个场景中包含更多的目标,有助于得到更多的目标检测器。
而相比于监督学习,自监督模型会产生更多的纹理检测器,但目标检测器较少。
训练条件vs可解释性
对不同的训练条件(迭代次数,dropout,batch normalization,随机初始化),网络的可解释性对比如下:
结论:
- 不同的随机初始化最后得到的网络可解释性基本相同;
- 没有dropout的网络有更多的纹理检测器和较少的目标检测器;
- BN会严重降低网络的可解释性。
关于最后一条,BN虽然能够加速网络训练,在某种意义上对网络的discriminative power有利,但它却降低了网络的可解释性。这可能是因为BN可以白化(whiten)每一层的响应,平滑了他们的scale,网络能够在训练过程中更容易地旋转中间表征,从而有了前面提到的旋转对可解释性造成了影响。
下图是训练过程中的变化:
在训练过程中,没有出现不同类别的概念检测器之间相互转化的现象。