An answer for how to Going Deep effectively
本文主题:深度卷积神经网络的设计实践理论
概述
在深度学习网络搭建中,going deep是提升网络表征能力的重要方向。但是,盲目增加网络层数可能会使网络性能下降。
该论文提出两个设计的原则:
第一,每一层保证其学习复杂特征的能力,即网络学习能力
第二,最顶层保证其感受野小于图像区域(刚好小于,若过小无法学习复杂特征)
采用最优化理论,论文将网络设计转化为受限的最优化问题:
优化目标:
网络层数
限制条件:
c值(矩阵,度量网络学习能力)不能太小
特征层顶层感受野小于图像尺寸(此处用r值表示)
需要说明的是,我们将网络分为两级:特征层级和分类层级。论文关注特征层级的设计,因此固定分类层级(借鉴Network in Network 和 GoogleNet,用CNN代替FC层,且较小的特征图使用较大的卷积核,加入最大池化,效果与全连接类似)。
网络学习能力限制
增加网络学习复杂特征的能力的两种途径是增大卷积核和下采样,本文采用下采样方法。
网络的学习能力与卷积核、感受野有关,定义为
c_value=real kernel size/recieptive field size
其中real kernel size与下采样有关,无下采样是k,下采样次数为t,则real kernel size分别为2tk。实践证明,c值需不小于1/6。
如下图所示,每层的c值计算如下,其中k=3,一次下采样后real kernel size=2k=6,两次下采样real kernel size=4k=12,计算得到的c值均小于1/6。(图像尺寸为64*64)
感受野大小
网络加深的动力:感受野增大,需要学习因此带来的新的或更加复杂的特征。
但是,当感受野达到输入图像的尺寸之后,神经元能够看到整个图像,增加网络层数不再产生新的或更加复杂的特征,可能还会增加过拟合的风险。因此,需要限制最顶层特征层的感受野大小需小于图像大小。
需要注意的是“小于”的含义是:“刚好小于”或者与图像大小相差不大。
上图中图像大小为64*64,顶层感受野大小也为64,刚好符合感受野的限制条件
注意:对于部分任务,一定感受野范围内不存在有意义的特征,此时深层网络不适用,最大化网络深度也不合理。
参考资料:
A practical theory for designing very deep convolutional neural networks