深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network

本文是纽约大学,David Eigen和Jason Rolfe等13年撰写的论文;和他们的上一篇通过deconvnet网络可视化来理解深度卷积网络不同的是,本文通过循环卷积网络来探究网络深度,参数个数,特征个数等网络结构对于网络性能的影响。

摘要:层数,特征个数,filter尺寸,间隔数,pooling方式,pooling尺寸,连接方式,归一化,参数个数等都是影响卷积网络性能的因素;本文通过循环卷积网络来探究层数,特征个数和参数这个3个因素的独立影响;通过实验发现层数和参数个数影响较大,特征个数对于结果影响较小。建议在设计网络事更多的应该关注深度和参数个数。

一:新型递归网络—递归卷积网络

深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network_第1张图片

图中红色的部分为第一个特征提取阶段卷积和Pooling构成;为了构成循环结构,从第一层提取以后的高层就剔除pooling结构,只是单纯的卷积结构,这样可以保证卷积循环结构(因为如果包含pooling结构,在子采样后每层的特征维数就会改变)。

循环卷积网络,图中a是正常的卷积网络,层间权值没有关系;图b,当正常的卷积网络,在绑定每层的权值后,由于高层之间的权值,特征个数,特征维数都相同,就可以看做是一个循环网络。就可以简化表示为图c的样式。

循环卷积网络可以梳理分开影响卷积网络结果的各个因素;正常卷积网络中,增加层数和特征个数都会增加网络总的参数个数;而循环网络增加层数,由于权值绑定,不会增加总的参数个数;但是增加特征个数,还是会增加参数个数。

二:CIFAR-10和SVNH分类网络结构及参数设置

深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network_第2张图片

Vm代表第一层卷积,有m个filter;每个特征图对应一个bias;应用ReLU非线性函数;

Z1采用4*4的max-pooling;

Z(m,l),循环层采用的结构。

Yk为softmax分类器,特征输入前经过归一化。

Minibatch为128,动量系数为0.9;初始学习率为0.001;权值初始值服从高斯分布CIFAR~(0,0.1);SVNH~(0,0,001)。

结构上本文并没有使用fc-layer。

三,实验

3.1 性能评价

作者在每层特征个数M=32,64,128,256;除去第一层以外的层数L:1,2,4,8,16。本文能够训练这么深的网络,是由于高层(第2层以上)的所有权值初始值相等:最初复制第一层激活值给高层,高层的梯度复制给地层。但是当网络深度比较深时,循环和非循环卷积网络还是受到了影响;这个影响可能是因为0均值的高斯分布的初始值引起的(这个有点不明白了,感觉还是因为层数较深的时候误差误差传递问题,虽然ReLU可以缓解梯度弥散问题;由于是0均值的高斯分布,层数较深的时候ReLU的max操作,可能导致信息的大量丢失;底层信息传递困难,同时高层的误差传递也会费劲;这种问题在GoogLeNet中也出现了,GoogLeNet的做法是在中间的两个层加入softmax分类器,通过和高层梯度误差加权的方式共同调整网络主结构的权值)。

深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network_第3张图片

在不同层数和特征数情况下,循环和非循环网络(untied and tied)分类性能比较。在非循环网络中,网络的参数有层数和特征数共同决定,循环网络中参数仅仅由特征个数决定。图中等高线代表此线上具有相同的参数个数。

1循环VS非循环:两张图的对比中可以看出,循环神经网络和普通的非循环网络都得到了很好结果,说明本文设计的循环结构是有效的。

2总体上随着参数的增多,分类效果越好;在固定参数的情况下增加网络深度比增加特征个数更重要;但是太深的网络结果变差。

3让人有些意外的是,最好的结果出现在2层网络下,每层具有512个特征图的网络结构中。这个网络的总的参数量上面是最多的,若本文继续增加网络深度可能会有更好的结果。

3.2 特征个数,参数,层数的影响

1.固定M和P,变化L;使用tied网络

2 固定M和L,变化P;在相同M和L下,对比tied和untied模式;因为从tied转换到untied模式时,参数增加

3,固定P和L,变化M。当从untied转换到tied模式时,在L和P固定的情况下,tied特征数比untied多。

Case1:变换L

Tied网络:固定P和M

深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network_第4张图片

Untied网络:固定P,比较变换M和L是结果

深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network_第5张图片

1,随着层数的增加,结果逐渐提升,但是在layer=8时,测试集结果有些上升,主要是因为过拟合引起的,因为此时训练集的结果还在下降。在没有引入额外参数的情况下,只是增加网络的深度;网络的分类性能就有了提高;这可能是由于增加层数的同时,引入了更多的非线性函数,从而使网络能够学习到更复杂的函数。

2,图2中在参数固定的情况下,变换不同的M和L组合;从实验结果可以看出;在固定的参数复杂度下,网络越深越好(也不要太深,容易过拟合)。

Case2:变换P

在相同的M和L下,对比tied和untied模式;因为从tied转换到untied模式时,参数增加。下图中x代表tied模式下分类结果,y代表untied模式下分类结果。

深度学习研究理解8:Understanding Deep Architectures using a Recursive Convolutional Network_第6张图片

1从图中可以看出,点一般分布在y=x直线下方,说明untied模式比tied模式要好,毕竟untied模式下参数差不多是两倍的数量

2两个模型收敛到相同的测试分类结果,这是因为在大的M和L下,两个网络都有足够的灵活性去获得好的结果。这个也再一次说明这种循环网络有很好的性能,值得挖掘一下;感觉也可以说明卷积结构本身的特征提取能力。

Case 3:M

在固定L下,和相等的P下,比较tied和untied模式不同的特征个数。Eg:untied模式L=3,M=71,参数共计195473个参数;而tied模型在L=3,M=108,参数共计195058。在L和P相同的条件下,tied的每层参数较多。但是由于tied总的连接数较多,多以tied在此时计算更耗时。

通过实验得出,在L和P固定的条件下,tied和untied模式分类结果差不多,说明特征个数不太重要;对着P的增多,两种模式结果都变好,说明参数个数很重要。

在tied和untied网络结构中,在不造成过拟合的情况下,增加参数总量分类结果会一直变好;但是既可以通过增加L(变深)增加参数,也可以增加特征数(变宽)来增加宽度。通过实验对比,在不考虑参数总量预算的情况下,增加深度和宽度都可以提升效果;但是在规定参数预算情况下,深度比宽度更好。这个结论和后面要介绍的何恺明的论文中观点一致。

四,讨论

本文使用了一个特殊的tied模式(循环卷积网络)来探究卷积网络的一些性质;本文没有使用pooling结构,dropout等技术情况下,tied网络获得了和untied网络相似的分类结果,但是tied网络的机理还是很不清楚,这个值得探讨。

一些困惑和理解

本文通过循环卷积网络探究了卷积网络的特征,得出了深度,参数比特征个数重要的结论。研读过程中已知对于计算时间有疑问,如果说参数与网络的表达能力有关的话,很好的“放置”网络结构,可使固定参数发挥最大性能;但是在实际的计算中,人们可能更关注计算时间,而计算时间与连接数目成正比,感觉tied模式比untied模式计算时间要长;如果说考虑时间的话,在相同的连接数据情况下,感觉还是untied模型要好。“在Case 2:变换P”实验中,在P相同情况下,从tied模式转换到untied模式,虽然参数增加,网络计算时间不会相差很多,而且untied结果比tied结果要好。

在case3中,相同L和P条件下,tied拥有更多的M个数,在计算过程中tied模式计算时间更长,untied计算时间则更少;两者的结果却相差不大。说明untied网络比tied网络要好。

在case1中在固定p和M的情况下,tied模式增加深度,虽然P没有变化,但是计算时间明显随着L的增加而增加,如果考虑计算时间情况下,感觉这种比较并不公平;如果能够才固定时间内比较网络结果,感觉这个更具指导意义(下一篇MSRA何恺明研究院的论文探究这就这个问题)。

你可能感兴趣的:(循环卷积网络,卷进网络结构)