44th_可解释性机器学习_Task02

Task02 ZFNet

一、什么是ZFNet

​ ZFNet来源于2013的Matthew D. Zeiler和Rob Fergus的Visualizing and Understanding Convolutional Networks论文,有兴趣可以看看论文的原文https://arxiv.org/abs/1311.2901v3。在 2013 年 ImageNet 大规模视觉识别挑战赛 (ILSVRC) 中,ZFNet 比 AlexNet 有了显着改进,成为众人瞩目的焦点。 这篇论文它提供了许多概念的起点,例如深度特征可视化、特征不变性、特征演化和特征重要性。

在我看来,他在深度学习初期描述了几个很重要的点:

  • 提出了ZFNet,一种比AlexNet性能更好的网络架构
  • 与其在模型中不断试错,不如可视化了中间的feature maps,进行了深度特征可视化,并据此来分析和理解网络
  • 进行了许多的消融实验,让CNN的解释性更加形象化,还做了很多特征演化的实验,都是非常好的。
  • 探究了预训练大模型的泛化能力,可以进行fine tuning,类似于迁移学习

二、网络结构

​   非池化:池化操作是非可逆的,但是我们可以用一组转换变量switch在每个池化区域中通过记录最大值的位置来获得一个近似逆。在解卷积网中,非池化操作使用这些转换来放置上述最大值的位置,保存激活的位置,其余位置都置0。

纠正:卷积网中使用非线性的ReLU来修改特征图来确保特征图总是正值。为了获得在每层的有效(也应该是正值)的特征重建,也在解卷积网中利用了ReLU。
  滤波:解卷积网中利用卷积网中的相同的滤波器的转置应用到纠正过的特征图中,而不是上层的输出。也就是对滤波器进行水平方向和垂直方向的翻转。从高层向下投影使用转换变量switch,这个转化变量switch产生自向上的卷积网的最大池化操作。由于重建由一个单独的激活获得,因此也就只对应于原始输入图像的一小块。
预处理:网络对输入图片进行预处理,裁剪图片中间的256x256区域,并减去整个图像每个像素的均值,然后用10个不同的对256x256图像进行224x224的裁剪(中间区域加上四个角落,以及他们的水平翻转图像),对以128个图片分的块进行随机梯度下降法来更新参数。起始学习率为10−2,动量为0.9,当验证集误差停滞时,手动调整学习率。在全连接网络中使用概率为0.5的dropout,并且所有权值都初始化为10−2,偏置设为0。
  在训练时第一层的可视化揭露了一些占主导的因素,为了了解这些,我们采用重新归一化每个卷积层的滤波器,这些滤波器的均方根值超过了一个固定半径的10−1。这是非常关键的,尤其是在模型中的第一层,因为输出图片大约在[-128,128]的范围内。

三、特征可视化

​ 给定1张输入图像,先前向传播,得到每一层的feature map,如果想可视化第ii层学到的特征,保留该层feature map的最大值,将其他位置和其他feature map置0,将其反向映射回原始输入所在的像素空间。对于一般的卷积神经网络,前向传播时不断经历 input image→conv → rectification → pooling →……,可视化时,则从某一层的feature map开始,依次反向经历 unpooling → rectification → deconv → …… → input space,如下图所示,上方对应更深层,下方对应更浅层,前向传播过程在右半侧从下至上,特征可视化过程在左半侧从上至下:

可视化时每一层的操作如下:

  • Unpooling:在前向传播时,记录相应max pooling层每个最大值来自的位置,在unpooling时,根据来自上层的map直接填在相应位置上,如上图所示,Max Locations “Switches”是一个与pooling层输入等大小的二值map,标记了每个局部极值的位置。
  • Rectification:因为使用的ReLU激活函数,前向传播时只将正值原封不动输出,负值置0,“反激活”过程与激活过程没什么分别,直接将来自上层的map通过ReLU。
  • Deconvolution:可能称为transposed convolution更合适,卷积操作output map的尺寸一般小于等于input map的尺寸,transposed convolution可以将尺寸恢复到与输入相同,相当于上采样过程,该操作的做法是,与convolution共享同样的卷积核,但需要将其左右上下翻转(即中心对称),然后作用在来自上层的feature map进行卷积,结果继续向下传递。

四、总结

ZFNet 首次让世人看到了神经网络的内部世界。 由于人是视觉学习者,它为计算机视觉领域打开了新的大门和途径。 它向我们展示了神经网络的核心思想以及它们是如何形成的。

你可能感兴趣的:(深度学习,计算机视觉,人工智能)