关于卷积神经网络中如何选择各个层的层数的问题

这两天突然发现,不管是书籍还是竞赛里的卷积神经网络模型都没有讲解说为什么这样设置层数?比如先有两个卷积层,再有一个池化层,最后有一个全连接层,选择这些层的层数是根据什么原理的呢?这件事引起了我的好奇。于是我就展开了调研,发现这个问题目前在深度学习领域没有具体的解决方法,大多是凭经验来设计神经网络模型。
在寻找答案的过程中发现一篇文献提出了两个对于深度卷积神经网络设计的约束条件,在满足这两个约束条件下,使层数最大化,就可以得到性能最好的模型。文献笔记如下:
本文将设计深层卷积神经网络的架构问题转化为对两个约束条件的优化问题:
第一个约束条件是c-value不能太小,c-value是一个度量标准,它可以度量模型学习更多复杂特征的能力。(c-value的定义后文会提到)
第二个约束条件是特征层中顶层的卷积层其接受域尺寸不能大于图像的尺寸(卷积神经网络可以分成分类层和特征层,本文主要讲解特征层的设计,因为分类层结构较为简单)
在这里插入图片描述
这篇文章中设计网络模型的原理适用于任何任务,当然如果结合具体的任务会设计的更好。
分类层的设计
分类层通常由两个全连接层组成,每一个连接层都有一个Dropout,但是这种设计可能会出现过拟合的情况如果训练集不够大。
在本文中,我们为了降低过拟合的风险,设计一个新的分类层,将特征图降采样至6×6,7×7或者8×8的小尺寸,然后应用5×5的卷积层,之后使用一个最大池化层,最后加上Dropout。
这个分类层中,卷积核的尺寸相对于特征图来说是很大的,此时的卷积层与全连接层非常类似。选择卷积核的尺寸时要注意选择相对于特征图来说偏大的尺寸,并且池化层要使用最大池化函数而不是平均池化函数。

1.第一个约束条件-学习能力

卷积层的作用是从将输入的特征组合成更复杂的特征,这是由于卷积层可以学习到特征的空间层次结构。下图是图像的空间层次结构。
在这里插入图片描述

在这里插入图片描述
由Figure2(b)可以看出当卷积核的尺寸小于A特征与B特征响应的距离,卷积层就不能学习到较为复杂的特征,因为在这个时候,卷积层就不能同时检测到A和B,并且也检测不到它们之间的空间关系(spatial relationships)。如果想要重新获得卷积层的学习能力,有两个方法,要么增大卷积核的尺寸,要么通过降采样缩短A与B之间响应的距离。在本文的工作中,采用的是通过降采样来缩短A与B之间响应的距离的方法来重获卷积层的学习能力。
随着卷积神经网络的层数越来越多,深度越来越深,如果没有进行降采样的话,学习能力丧失的几率会越来越大,因为随着层数的增多,特征的尺寸和它们之间的空间关系会增长。一旦大多数输入特征的空间关系超过了卷积核的尺寸大小,这个卷积层就会丧失掉学习更复杂特征的能力。
为了定量测量卷积层学习能力的大小,我们定义了c-value:
在这里插入图片描述
对于一个 k × k k×k k×k的卷积层来说,其Real Filter Size是 k k k(在没有降采样的情况下),在每次降采样之后, k k k值会加倍,例如,一次降采样之后,Real Filter Size 变为 2 k 2k 2k,两次降采样之后Real Filter Size 变为 4 k 4k 4k
Receptive Field Size是神经元在原始图像中能看到的最大尺寸,它与卷积神经网络的深度成正比。
Figure3显示了在一个典型的卷积神经网络中,Receptive Field Size是如何增长的(这里我没看太懂)
在这里插入图片描述
我们使用Receptive Field Size来代替spatial relationships,虽然spatial relationships更精确,但是它无法测量
其实Receptive Field Size是与spatial relationships成比例的。
通过以上讨论,我们提出深层卷积神经网络设计的第一个约束条件:
每个卷积层的c-value都应该大于最小值t,根据经验发现,t=1/6对于不同任务的所有卷积层是一个很好的c-value下界。

2.学习的必要性-第二个约束条件

随着Receptive Field 的增大,越来越多复杂的新特征开始出现,在这个过程中我们需要添加额外的层来学习新出现的特征。
当Receptive Field达到整个图像大小时即神经元已经看到了整个图像区域,就会停止出现更新更复杂的特征,添加新的神经网络层的驱动力就会消失。
通过经验可以知道,当Receptive Field达到饱和时如果再加入新的层,这样做对于模型的性能没有任何帮助,相反会使得模型的性能下降并且增加过拟合的风险。
基于以上的分析和我们以往的学习,我们对于深度卷积神经网络提出第二个约束:
顶层的Receptive Field尺寸大小不能大于图像的尺寸。(顶层是先进入模型的层,底层是后进入的层)
这个约束条件暗示最顶层卷积层Receptive Field大小必须接近图像区域大小(但是不能超过图像区域大小),如果顶层的Receptive Field的大小远远小于图像大小,我们可以多增加一层来达到我们的目标(即增加深度),这样做没有违背约束条件。
从另一个角度来说,如果Receptive Field的尺寸比图像区域尺寸小的多,那么网络将会失去看到和学习更高级的特性的机会,这对网络性能来说是不够好的。

3.数学公式

在这部分,我们将深层架构的设计转换为约束优化问题,然后给出并证明了在一定条件下的最优解。如前所述,我们假设每一层的卷积核大小都是相同的,我们不考虑卷积核数量,因为卷积核数量依赖于具体的任务和数据集

3.1 公式

首先我们先定义一些输入参数。图像尺寸: z z z 卷积核尺寸: k k k 最小 c − v a l u e c-value cvalue t t t
深层模型的架构由stage n n n的总数和一系列stage a i {a_{i}} ai中的层数确定(stage可以理解成块,比如卷积块)。一系列的stage被降采样所分割(步幅为2)。例如,n=3,a1,a2,a3=4,3,2表示模型有三个stage,第一个stage的层数是4,第二个stage的层数是3,第三个stage的层数是2,每个stage之间有步幅为2的降采样层,
深度学习的目标本质上是最大化层数(在满足本文给出的两个约束条件下)

第一个约束条件
所有层的 c − v a l u e c-value cvalue值不能小于最小的 c − v a l u e c-value cvalue t t t
随着Receptive Field的增加(卷积核的尺寸在同一个stage中保持不变),在同一个stage中最后一层的 c − v a l u e c-value cvalue值是最小的,因此,第一个约束条件相当于是每一个stage中的最后一层的c-value不能小于t,转化为一系列不等式如下:
第一个约束条件
所有层的c-value值不能小于最小的c-value:t
随着Receptive Field的增加,并且卷积核的尺寸在同一个stage中保持不变,在同一个stage中最后一层的c-value值是最小的,因此,第一个约束条件相当于是每一个stage中的最后一层的c-value不能小于t,转化为一系列不等式如下:
在这里插入图片描述
2 l k 2^{l}k 2lk是第 l l l个stage的real filter size, ∑ i = 1 l 2 i − 1 ( k − 1 ) a i \sum_{i=1}^{l}2^{i-1}(k-1)a_{i} i=1l2i1(k1)ai是第 l l l个stage的最后一层的Receptive Field Size, t t t c − v a l u e c-value cvalue的最小值,我们在所有任务中将其设置为1/6
第二个约束条件
最顶层的receptive field的尺寸不能大于整个图像区域.
不等式表示如下:
在这里插入图片描述
左边的式子是最顶层卷积层的receptive field, 2 i − 1 ( k − 1 ) 2^{i-1}(k-1) 2i1(k1)是第 i i i个stage每一层的receptive field的增量, 2 i − 1 ( k − 1 ) a i 2^{i-1}(k-1)a_{i} 2i1(k1)ai是第 i i i个stage的receptive field 的总增量
我们的目标就是在满足约束即公式(2)和(3)的前提下,最大化总层数。稍微转变一下约束条件公式,我们得到如下公式:
在这里插入图片描述
n n n a i {a_{i}} ai都是整数,我们用等价变换简化了第一约束和第二约束以方便后面的讨论。

3.2 在一定条件下的最优解

假设图像尺寸是 z = 2 m − 1 k / t z=2^{m-1}k/t z=2m1k/t,层数 a i a_{i} ai从整数放宽到正实数,我们可以证明目标函数的最优解是:
在这里插入图片描述
讨论最优解
虽然这一最优解是在特定条件下获得的,但是对于怎样在一般条件下设计深层架构提供了很棒的思路。首先,它指导我们在输入参数给定的条件下怎么选择降采样次数,第二,除了第一个stage外,其他stage的层数要尽可能的均匀分布,第三,它给出了一系列不同尺寸卷积核能达到的最大深度,基于此我们可以更好的权衡卷积核的尺寸。

4.一些网络的示例

在这里,我们展示了一些根据我们的理论设计的网络。

4.1 Networks for cifar10/cifar100

cifar10和cifar100是由Hinton的学生Alex整理出来的两个数据集,容纳了6000张微小的彩色图片,尺寸是32×32。在不增强数据的情况下,输入卷积神经网络的图像尺寸大小是32×32,在增强数据的情况下,输入卷积神经网络的图像尺寸大小是24×24,由于我们的设计依赖于输入图像尺寸和卷积核的尺寸,我们在Table(1)和Table(2)中呈现四个网络
在这里插入图片描述
在这里插入图片描述
我们使用所设计的网络在cifar10和cifar100上实现了最好的性能。
值得注意的是Dr.Ben提出的分数最大池化通过用更复杂的数据增强获得了比我们更好的结果。由于不同的数据增强方法和不同的测试集,因此我们不和他的工作比较。

4.2. Networks for national data science bowl

National data science bowl 是kaggle 竞赛。任务是将浮游生物分类至121个预先定义好的类别中。这两个数据集中有30000个训练数据和130000个测试数据。
为了使设计的网络能相互补充,我们用一系列的输入图像尺寸和卷积核尺寸来设计网络。在Table(3)中,我们展示了四个有代表性并且是根据我们的理论来设计的网络。在这四个网络中,第三个和第四个网络在公共排行榜上获得了0.606和0.609的损失分数。我们的最终的整体由四个模型组成,Table(3)。一个类似于VGG的模型和我们设计的两个变种。7模型集成达到了0.582的分数。结合Bings分数,我们最终达到了0.574的分数。
在这里插入图片描述
参考文献:A practical theory for designing very deep convolutional neural networks(来源于kaggle)

  • 13
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值