理解卷积神经网络中单个卷积核的作用.

实验1:探究CNN中单个卷积核的作用

作者采用VGG-16网络结构在Place365数据集上训练了一个场景分类器(区分机场、学校、草原等类别)。模型训练完成之后,可视化全部$13$层的卷积层卷积核滤波器(即神经元unit)。

每个卷积核的可视化方法为,取图像中使得该卷积核激活值较高(超过某阈值)的部分作为该卷积核可识别的部分。人为给定图像中不同类别的对象存在的区域(目标、材料、颜色等),通过计算IoU并选择其中最大值对应的类别作为该卷积核响应的对象。

通过实验发现,浅层卷积核识别的对象更抽象,深层卷积核能够识别更多、更具体的对象。即使某对象并没有被要求显式的分类,也会有相应的卷积核对特定的对象进行识别(如训练的模型用来分类场景,但某些卷积核专门识别飞机)。

实验2:通过删除卷积核探究对分类准确率的影响

作者通过删除可以识别特定对象的卷积核,探究对最终分类准确率的影响。具体地,作者选择了与“滑雪场”类别相关的可以识别“雪”、“山”、“房子”和“树”的卷积核。

  1. 删除这四个重要的卷积核,对“滑雪场”类别分类准确率影响较大,而其余类别准确率影响不大;
  2. 删除$20$个重要的卷积核,对“滑雪场”类别分类准确率影响较大,而其余类别准确率也受到一定的影响;
  3. 删除$492$个不重要的卷积核,对“滑雪场”类别分类准确率影响不大,而其余类别准确率影响较大。

实验3:探究GAN中单个卷积核的作用

作者训练含有$15$层卷积层的生成建筑图像的GAN模型,与实验$1$类似,探究单个卷积核与特定类别对象的联系。

实验发现,GAN中卷积核对应的对象分布与CNN不太一样,其中间层能够识别最多的目标。特定的卷积核也能够识别特定的对象。

实验4:通过删除卷积核探究对GAN的影响

作者在生成教堂场景的GAN中依次删除可以识别“树”的卷积核,观察生成的图像。在删除树的相关卷积核后,图像中的树明显减少;与此同时,树后被遮挡的建筑物增加了平滑的细节。作者认为生成器倾向于生成冗余的细节,被遮挡的部分并不是未生成,而是被遮挡了。

作者通过激活$20$个可以识别“门”的卷积核,可以在原有图像上生成门。门的位置和大小与激活单元的位置有关,并且在与“门”没有语义关系的环境中生成“门”是更困难的。作者认为这说明生成器学习到真实的图像结构,而不仅仅是在合成图像上添加对象。

实验5:探究对抗攻击对分类器的影响

作者探究了对分类器的对抗攻击为什么可以降低分类器的准确率。通过实验发现,施加干扰后,原本能够识别特定类别的卷积核无法正确地识别。