【论文快读】ZF-Net(2013)

题目:Visualizing and Understanding Convolutional Networks
链接:http://www.arxiv.org/abs/1311.2901
作者:Matthew D. Zeiler, Rob Fergus
摘要:
abs
CNN的迅速发展主要归功于三个因素:大规模数据集的应用(数百万);GPU算力的提升;模型正则化策略的发展(Dropout等)。本文着重回答“为什么CNN表现优异”和“如何提高(相对于AlexNet)CNN的表现”两个问题。在这两个目标下,作者研究了将各层可视化的方法,进而可以直接观察feature map的演化方式并有助于解决一些潜在的问题,从而实现优于AlexNet的ZF-Net,当采用softmax之后,作者的model可以在多个数据集上达到state-of-art的结果。
本文均基于标准全监督CNN(LenNet和AlexNet)改进得到新模型,2D-RGB图像 x i x_i xi做为input,output是C维概率向量 y i ^ \hat{y_i} yi^,C是总的类别数。CNN的每层都是(或近似于)“卷积+激活+池化”的结构,最后若干层是全连接+softmax的结构。训练loss是交叉熵函数,更新法则为后向传播+SGD。

使用解卷积网络(Deconvnet)将feature map可视化

首先,每一个参数确定的CNN都会有一个与之对应的Deconvnet,它把feature map做为输入,output位于原像素空间内,目的是观察“什么样的像素模式可以产生特定的feature map”。
这里写图片描述

如图,右上是CNN,在pooling的过程中生成了一个switch矩阵,记录maximum的index;左上是DCNN,下是借助前述switch进行unpooling的过程。

非线性化使用ReLU函数,卷积核使用对应CNN的kernel的转置。

训练

ZF-Net网络结构:
在这里插入图片描述
原图经过resize和cropping成为256×256,从中心和边缘裁剪出224*224的子图作为input,使用128-minibatch+SGD进行更新,学习率0.01,动量项0.9,全连接层以0.5的概率进行dropout,参数初始化为0.01,bias设置为0。

可视化

如下图,是由验证集各层的feature maps经Deconvnet重构得到的图片和原始图片的对比,我们可以看出到底是什么造成了某一层的high activation,也可以看出layer1到layer5提取到的信息越来越复杂。
这里写图片描述
这里写图片描述
这里写图片描述
另外对于同一image,将各层feature map解卷积,同样也能看到各层是怎样提取特征的。
evolution
下图(图表含义参考原文Figure5的说明)表明,当原始图片经过平移、旋转、尺度变换之后,CNN的分类准确度。可知平移和尺度变换不影响CNN的分类,但是旋转会。
这里写图片描述

跟据观察结果调整模型

作者给出了AlexNet的前两层feature map的重构图,并据此修改了网络结构:使用更小的filter和更小的stride,从而实现了更好的表现。这对于后面若干经典网络减小filter和stride给出了足够的启发。
在这里插入图片描述

如上图,b和d是AlexNet的前两层可视化结果,其中有较多的dead区域,改进网络后c和e中明显效率更高。

作者另外做实验证明了CNN对于对象的定位是通过前景而不是上下文环境。
这里写图片描述

图e给出了遮挡不同部分会引起分类错误的概率,发现遮挡对象本身很有可能造成分类错误。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值