Resnet
https://arxiv.org/pdf/1512.03385.pdf
![](https://img.haomeiwen.com/i5529997/44fb6e42ca9fbdea.png)
如上述图片所示,Resnet通过提出shortcut连接,解决了深度学习网络在训练过程中随着网络层数越来越多而导致的网络退化问题。这种shortcut的连接有两种形式,一种是完全的等价连接shortcut,另一种作为降采样block的shortcut,使得add操作可以在同等维度上进行降采样shortcut。另外考虑到耗时问题,为了减低更深的resnet网络的耗时,作者提出了一种Bottleneck结构,通过1*1卷积降低作用于3*3卷积的通道数,从而降低计算量和耗时。
对于shortcut的连接有点有两种我比较认可的解释:
1:跳跃连接实现了学习的灵活性,使得网络在训练的过程中可以自由的选择“更多进行卷积与非线性变换”还是“更多的倾向于什么都不做”,或者是两者结合。
2:跳跃连接使得网络刚开始训练时,由于恒等连接shortcut的存在使得网络从物理上变得更浅,网络训练更加容易。
ResnetV2
https://arxiv.org/pdf/1603.05027.pdf
希望在训练的过程中,不论是前向还是反向阶段,信号可以直接从一个单元传递到其他任意一个单元,这种方式要比原始的Resnetblcok的性能更要好。
![](https://img.haomeiwen.com/i5529997/26c0a9878c79a063.png)
BN_after_addition:BNrelu的结果放在了恒等信号传递的路上,导致优化困难,阻碍了信息的传递。
ReLU_before_addition:将Relu放在信号传递的输出部分,导致最终的输出为非负值,这将限制网络特征的表达范围。
它的BN和ReLU全都放置在权重层的前面。
ReLU-only Pre-activation:ReLU层没有和BN层直连在一起,因此无法共享BN层带来的训练优势。
Pre-activation:这个方法最好。
IResnet
https://arxiv.org/abs/2004.04989
![](https://img.haomeiwen.com/i5529997/90209b560f748c78.png)
1:提出了一种基于分段的残差学习网络结构,该方法为信息在网络各层间的传播提供了更好的途径,从而简化了学习过程。
2.更具原始的block和Pre-activation block存在的问题,作者提出了如下拓扑结构,该结构是一种分段的组织结构,细节为:
(1)把网络结构分为三个部分,四个主要stage和一个启动和结束阶段。
(2)四个主要阶段中每个stage都可以包含若干个Blocks,stage1,2,3,4分别有Block的个数为(3,4,6,3)。
(3)每个stage又分为三个部分,一个开始Block,若干个中间Block。比如以resnet50的情况下,有[1,2,4,1]对应stage的中间block。start,middle,end三种blcok的设计如图所示。
网友评论