reference link: http://blog.csdn.net/whiteinblue/article/details/43312059
本文是Matthew D.Zeiler 和Rob Fergus于(纽约大学)13年撰写的论文,主要通过Deconvnet(反卷积)来可视化卷积网络,来理解卷积网络,并调整卷积网络;本文通过Deconvnet技术,可视化Alex-net,并指出了Alex-net的一些不足,最后修改网络结构,使得分类结果提升。
摘要:
CNN已经获得很好的结果,但是并没有明确的理解为什么CNN会表现的这么好,或者CNN应该怎样修改来提升效果。同构本文的可视化技术,可以很好地“理解”中间的特征层和最后的分类器层。通过类似诊断(可视化+“消除”研究ablation study)的方式,这种可视化技术帮助我们找到了超越Alex-net的结构,本文还通过在ImageNet上训练,然后在其他数据集上finetuning获得了很好的结果。
文章所用结构与12年Krizhevsky et al的结构相同,如图1。卷积之后利用激活函数进行矫正,再利用Max-pooling进行降采样,最后通过几层全连接层进行分类,最终得到结果。
与之不同的是:1.由于在单块GPU运行,所以将之前3.4.5层的稀疏连接变成稠密连接;2.改变了卷积核大小和步长(根据可视化的结果)。
通过反卷积Deconvnet实现可视化:
在每个卷积层都加上了一个反卷积层。在卷积、ReLU、Max-pooling之后,不仅输出给下一层用作输入,也为反卷积提供输入。而反卷积层依次进行unpooling、ReLU和反卷积。见图2。
Unpooling:在max-pooling中利用switches表格记录每个最大值的位置,然后在unpooling中奖该位置填回最大数值,其余位置填0。
ReLU:直接利用ReLU函数,仍然确保输出为非负数。
反卷积:利用相同卷积核的转置作为核,与输入做卷积运算。
训练过程跟以前一样,仍然是从256*256中截取中心和边框五,224*224切片再进行中心翻转,batchsize128,学习率0.01,采用dropout策略。所有权值初始0.01,偏置为0。