卷积神经网络的可视化理解

卷积神经网络的可视化理解

  • Visualizing and Understanding Convolutional Networks
    • 方法
      • 利用反卷积进行可视化
    • 网络结构
    • 卷积神经网络可视化
      • 特征可视化图
      • 训练过程特征演化
      • 架构选择
      • 遮挡实验
    • 实验
      • 1. ImageNet
      • 2. 去除一些层
      • 3. 模型泛化(迁移学习)
      • 4.网络中不同层的特征对分类是否有效

Visualizing and Understanding Convolutional Networks

卷积神经网络的可视化理解

Zeiler, M.D., Fergus, R. (2014). Visualizing and Understanding Convolutional Networks. In: Fleet, D., Pajdla, T., Schiele, B., Tuytelaars, T. (eds) Computer Vision – ECCV 2014. ECCV 2014. Lecture Notes in Computer Science, vol 8689. Springer, Cham. https://doi.org/10.1007/978-3-319-10590-1_53

参考了同济子豪兄【精读AI论文】ZFNet深度学习图像分类算法


方法

使用标准全监督卷积神经网络,通过一系列层,将输入图像映射到输出类别的特征向量。

层结构:

  • 通过一系列可学习卷积核对前一层输出进行卷积
  • 通过非线性激活函数(relu)
  • [可选] 局部的巨大池化操作
  • [可选] 特征图间的归一化

实验设置:

  • 数据集 : $ {x, y} $ , y 是类别标签的离散变量
  • 交叉熵损失函数,比较网络输出和真实标签
  • 网络参数(卷积核、FC层的权重偏置)通过loss反向传播训练,通过梯度下降法更新

利用反卷积进行可视化

  1. 为了理解卷积神经网络的操作,需要理解中间层的特征活动。
  2. 通过将这些活动回馈到输入像素空间,来展示输入模式引起特征图中的特定激活。
  3. 反卷积网络(用于无监督学习)。本文中反卷积不具有学习能力,而是作为已训练好网络的探针。

流程,如下图:

  1. 输入图像传给卷积神经网络,计算特征
  2. 为了检查给定的convnet激活,将层中的所有其他激活设置为零,并将特征映射作为输入传递到附加的反卷积层
  3. 通过 (i) unpool, (ii) rectify and (iii) filter 操作在底层重构引起选择给定激活的活动。
  4. 重复上一步骤中操作,直到到达输入像素空间。
    卷积神经网络的可视化理解_第1张图片
  • Unpooling:反池化。卷积神经网络中最大池化操作是不可逆的。通过记录池化区域中最大值的位置,来获取近似的池化操作的逆。如下图:
    卷积神经网络的可视化理解_第2张图片
  • Rectification:修正。卷积神经网络使用 relu 非线性函数来确保特征映射始终为正。为获取每层中有效的特征重构,也使用 relu 非线性来传递重构信号。
  • Filtering: 滤波器(卷积核)。卷积核对上一层特征映射进行卷积。为反演这一过程,反卷积使用相同卷积核的转置用于纠正映射。
  • 此外,在整个重构过程,没有使用归一化操作。

网络结构

卷积神经网络的可视化理解_第3张图片

  • 输入 224x224,进行 卷积操作
  • Layer 1-5:
    1. relu 激活函数
    2. 3x3 最大池化, 步长为2
    3. 归一化操作
    4. 卷积操作
  • 两层全连接层

卷积神经网络可视化

特征可视化图

  1. 第一层: 网络中特征的层次性
  2. 第二层:颜色、边缘信息
  3. 第三层:更复杂的不变性,捕获相似纹理、文本信息
  4. 第四层:显著变化,更具类别特性
  5. 第五层:整个物体

卷积神经网络的可视化理解_第4张图片

训练过程特征演化

在给定特征图中,向后投影到输入像素空间中的最强激活(在所有训练实例中)的训练过程

  • 低层特征在前几个 epoch就能收敛
  • 高层特征需要相当多的epoch才能收敛
    卷积神经网络的可视化理解_第5张图片

架构选择

11x11,步长 4 的卷积核出现混叠伪影。 —> 7x7,步长 2
卷积神经网络的可视化理解_第6张图片

遮挡实验

模型是否真正识别出图像中物体的位置

卷积神经网络的可视化理解_第7张图片


实验

1. ImageNet

卷积神经网络的可视化理解_第8张图片

2. 去除一些层

卷积神经网络的可视化理解_第9张图片

3. 模型泛化(迁移学习)

卷积神经网络的可视化理解_第10张图片
卷积神经网络的可视化理解_第11张图片

  • 少量的数据便可达到很好的性能
    卷积神经网络的可视化理解_第12张图片
  • 数据集有差异时,上述不有效
    卷积神经网络的可视化理解_第13张图片

4.网络中不同层的特征对分类是否有效

  • 用 SVM 代替 softmax 层
    卷积神经网络的可视化理解_第14张图片

你可能感兴趣的:(读书,cnn,深度学习)