【CNN】FractalNet——与DenseNet有异曲同工之妙

FractalNet论文名称:FractalNet: Ultra-Deep Neural Networks without Residuals
FractalNet论文下载链接:

FractalNet(分型网络),2016年Gustav Larsson首次提出。

(1)分形网络不像resNet那样连一条捷径,而是通过不同长度的子路径组合,网络选择合适的子路径集合提升模型表现
(2)分形网络体现的一种特性为:浅层子网提供更迅速的回答,深层子网提供更准确的回答。
在这里插入图片描述
(1)图中以粉红色的卷积层Convolution为基础层,实际上可以为其它类型的层或者子网络;
(2)绿色的Join层一般可以用相加或concat,这里采取了相加然后取平均,因此所有基础层可以使用一样的channel数量
(3)fC(z) 中C表示列数,z表示输入,C=1表示一个基础层
(4)fC+1(z) 则如图所示,在右边叠加两个fC(z) ,左边接一个基础层
(5)以此类推,当C等于4的时候,可以得到图中的f4(z)
(6)f4(z)作为一个block,如图中最右边的网络所示,完整的网络接了5个block,block之间用Pool层连接,最后是预测层
(7)令block个数为B,每个block中的列数为C,网络的总深度为B⋅2C−1
观察上图中左半部分,描述的是网络的单个模块(block)的结构。注意,这里的fC不是CNN中常用到的全连接层, 而是指分形次数为 C 的模块。fC 模块的表达式如下:
在这里插入图片描述
其中,⊕ 是一个聚合(join)操作,本文推荐使用均值,而非常见的concat 或 addition。

中间图就是一个典型的 C=4 的block。把这些block堆叠起来,加上pooling和prediction层,就是完整的分类网络了,也就是右图。

网络结构看完了,FratalNet并不存在像ResNet那样skip connect的结构。但是,实际上如果把fC模块改成:
在这里插入图片描述
这就变成一个 DenseNet 的结构了。而众所皆知,DenseNet某种意义上是ResNet的改进版。所以其实FratalNet也算是ResNet的近亲,这大概也是为什么业界还是ResNet用得多的原因吧——反正都差不多,不如挑个结构最简单的。
最后,路径舍弃(Drop path)也是FractalNet的贡献之一,可以看作一种新的正则化规则
ResNet收敛快,但还是要经过基本的卷积结构,卷积通用的问题是缺少有效的正则化方法。对于深的如ResNet采用BN,对于宽的如WideResNet采用Dropout。而FractalNet是基于路径,舍弃一些路径,是一种新的正则化方法(与Stochastic Depth Net中的随机失活几乎一样。
对路径舍弃采用了 50% 局部以及 50% 全局的混合采样:
局部:连接层以固定几率舍弃每个输入,但我们保证至少一个输入保留。如图第1、3个。
全局:为了整个网络选出每条路径,并限制其为单列结构,激励每列成为有力的预测器,每列只做卷积。如图第2、4个。
在这里插入图片描述
实验训练的时候,mini-batch之间交叉使用Local和Global。
参考:
点头教育

猜你喜欢

转载自blog.csdn.net/lingchen1906/article/details/129274443
今日推荐