ResNetV2:ResNet深度解析

ResNet残差网络,想必大家一定很熟悉了,那么先考考大家,下面(1)-(5)的结构哪个是我们常用的ResNet结构?
这里写图片描述
其中weight指conv层,BN指Batch Normalization层,ReLU指激活层,addition指相加;
根据ResNet的描述,似乎以上五组都符合,那么2016年ResNet原文是哪一个结构呢?以及其他四组结构也都work么?我们不禁有了这两个疑问,伴随着疑问我们一一揭开谜题;
针对第一个问题,ResNet原文中使用的结构是(1),(1)的特点有两个:1)BN和ReLU在weight的后面;2)最后的ReLU在addition的后面;对于特点1),属于常规范畴,我们平时也都这个顺序:Conv->BN->ReLU;对于特点2),为什么ReLU放在addition后面呢?按照常规,不是应该是图(3)这种么,那么我们接下来引出的问题就是:

图(3)的结构work么?

对于每个图右侧部分我们称作“residual”分支,左侧部分我们称作“identity”分支,如果ReLU作为“residual”分支的结尾,我们不难发现“residual”分支的结果永远非负,这样前向的时候输入会单调递增,从而会影响特征的表达能力,所以我们希望“residual”分支的结果应该在(- , + );这点也是我们以后设计网络时所要注意的

对于图(3)不OK的情况,那如果把BN也挪到addition后面呢?如图(2),同时也保证了“residual”分支的取值范围;

这里BN改变了“identity”分支的分布,影响了信息的传递,在训练的时候会阻碍loss的下降;这里大家肯定又有个问题:

为什么“identity”分支发生变化,会影响信息传递,从而影响训练呢?

这里简单回顾ResNet的公式:
yl=h(xl)+F(xl,Wl) y l = h ( x l ) + F ( x l , W l ) and xl+1=f(yl) x l + 1 = f ( y l )
简化以上公式,令所有“identity”分支都是 h(xl)=xl h ( x l ) = x l 以及 xl+1=yl x l + 1 = y l ,那么得到:

  • 24
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值