《Residual Networks Behave Like Ensembles of Relatively Shallow Networks》笔记

Residual Networks Behave Like Ensembles of Relatively Shallow Networks从ensemble角度解释Deep Residual Networks

深度残差网络,使网络的层数大大加深,网络的学习表达能力超过在此之前的所有网络。这篇文章从emsemble角度来解释其工作的原理,对比从残差角度来解释,似乎更有说服力。

残差网络与之前网络不同点

现代的计算机视觉系统架构都比较类似,都是输入low-level features,学习和和任务相关的high-level features。深度残差网络与之不同:1、引入了identity skip-connections,数据可以跳过某些层;2、skip-connections使得网络的深度多了两个量级,深度可达1202层;3、在测试阶段,移除某些层,对结果不会有显著影响,以往的网络结果,移除任何一层会对结果又非常大影响。

深度残差网络可以看过许多路径组成网络的一个集合。这些路径是否独立,它们之间是否有冗余?作者通过移除某些路径做实验,得出结论:深度残差网络是多个模型ensemble,逐渐移除路径,对结果的影响是平滑的。深度残差网络的路径不同,深度不同;路径的分布服从二项分布,意味着一个110层的网络实际大概深度只有55层。在训练过程中,梯度的来源更浅,只有10-34层。

残差网络展开后的形式

深度残差网络中,起作用的路径相对不深。深度残差网络并没有解决梯度消失的问题,它只是通过缩短有效连接路径使得网络变深。

residual_network_ensemble_01.jpg

上图左边是一个残差网络结构,一个残差网络可以定义为:

yi=fi(yi1+yi1

其中 fi 是一个模块它中间可能经过了convoltion、batch normalization、ReLU。

右边是把左边网络展开后的结构,两者等同。从这个角度来看,残差网络显式连接路径有 O(2n) 个。它的数学表示为:

y3===y2+f3(y2)[y1+f2(y1)]+f3(y1+f2(y1))[y0+f1(y0)+f2(y0+f1(y0))]+f3(y0+f1(y0)+f2(y0+f1(y0)))

通过上面公式可以看出,数据有很多路径可以通过残差模块。对于一个残差模块,数据可以通过或跳过两种选择,对于 n 各残差模块,共有2n条路径。

residual_network_ensemble_02.jpg
VGG和AlexNet这样序列网络结构(上图右边),网络数学表示为:

y3=f3(f2(f1(y0)))

上图左边,残差网络除去 f2 层,需要去掉4条路径。

实验

通过实验,在测试阶段,残差网络通过删除一些路径或残差模块,或者re-order残差模块,通过测试结果对比影响。。

路径对测试结果的影响

首先对比删除一个路径,即删除残差模块中的非线性部分, yi=f(yi1)+yi1 变为 yi=yi1
1、在CIFAR-10数据集上,通过删除某些层,和VGG做对比:
residual_network_ensemble_03.jpg
可以发现,VGG删除任何一层,测试结果相当于随机选择了。而残差网络不通,删除层对残差网络分类结果影响很小。

2、在ImageNet数据集上,训练200层网络,包含66个残差模块,删除第几个模块中的非线性部分对结果影响:
residual_network_ensemble_04.jpg

可以看出,残差网络中,路径虽然训练时在一起联合训练,但是它们之间并没有太强的依赖性。

模块对测试结果的影响

residual_network_ensemble_05.jpg

1、删除残差模块
删除 k 个残差模块,有效路径从2n个变为2{n-k}^个。上面左图即为实验结果。随着删除模块增多,误差逐渐增大。这样的表现类似ensemble。

2、re-order模块
上面实验只是drop Layer,这里改变一下网络结构,re-order残差模块。这样相当于移除了某些模块,插入了新的模块。

re-order时,随机交换 k 对模块(模块之间匹配),使用Kendall Tau rank correlation coefficient可视化结果,如上图右边所示。

残差网络中的短路径非常重要

残差网络中的路径,并不是十分相互依赖,下面看一下它们的特点。
!residual_network_ensemble_06.jpg

路径长度分布

包含n个残差模块的网络,只有1条路径是经过所有模块的,有 n 条路径只经过一个模块。路径分布服从二项分布;因此大部分路径长度为n/2,如上图(a)所示。例如一个包含54残差模块的网络,95%的路径只经过19到35个模块。

梯度消失

数据从各个路径传输,但是不同路径传递梯度不同。在反向传播时测量不同长度路径梯度大小。梯度幅度大小随路径长度变化如上图(b)所示,可以看出呈指数衰减。

有效路径相对较浅

通过测量不同长度路径对梯度贡献,找出有效路径。如上图(c)所示。一个54模块的残差网络,激活所有梯度贡献都来自第5-17模块,这些有效路径仅仅占所有路径额0.45%。

为了验证这一结果,对一个54模块的网络,训练它的子网络23个模块。最终对比得到,54模块的网络错误率为6.10%,23模块网络错误率为5.96%,两者之间没有显著差别。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值