深度残差网络的一波两折

本文探讨了深度残差网络(ResNet)的起源、工作原理及其多样性增强的作用。ResNet通过残差块允许数据直接流动,解决了深度学习中的梯度消失问题。通过分析,揭示ResNet实际上是一种集成学习的结构,增强了网络的多样性,而非简单增加深度。作者还讨论了ResNet的不同变体和其对性能的影响。
摘要由CSDN通过智能技术生成

  最近拜读了何凯明大神的深度残差网络,一方面惊讶于其对网络深度的拓展,一方面又被Andreas等人的挑战思路所震惊,残差网络并不是扩展深度,而是增强了网络多样性。果然,科学探索的路上权威不可迷信,真理总是被不断发掘。现梳理下残差网络的思路、工作原理的讨论、残差Block的变化。

Residual Network

  16年的时候,深度残差网络横空出世,将神经网络的深度由百层拓展到了千层量级,并且获得了N多竞赛奖项,一时风头无两。那么问题来了,它是怎么将深度搞得这么深的?背后又是什么原理?为什么会有效呢?

What is ResNet

  假设,层间需要学习的隐藏映射为 H(x) ,残差映射表示为 F(x)=H(x)x ,将原本需要学习的映射 H(x) 变为残差函数 F(x)+x 。这里的残差定义: 输出 - 输入 = 残差
  残差单元示意图:


  图中右侧skip-connect为identity mapping( outputinput )。上图只是一种残差单元类型,后面会补充其他的类型。由这些类似的block组成的网络,就是 残差网络

Residual idea inspired by What ?

  残差网络的思想是受到什么启发才得来的呢?这是我很好奇的地方。
  已知,一个浅层网络,可以通过叠加恒等映射( ylxl )的方式得到深层网络,并且其效果不会比原浅层网络弱才对。但是,加大网络的深度,训练&测试误差却随之增加,说明是没有训练好模型,而并不是overfitting带来的问题。该现象如下图。


  猜测,是不是网络对恒等映射更难以学习,如果 每层并行加上恒等映射,会不会更好呢?于是残差的思路就有了,在单/多层间并行加个恒等映射。

why it work ?

  对于残差网络为什么在深层下有明显效果提升,有两种解释,一个是原作者的数据流解释,一个是挑战者的集成思路解释。后者对残差网络的性质做了更深入的研究,刷新了大家对残差网络的认识。

Explanation One :: Data Dirtectly Flow

  这个解释,认为数据在残差网络中有两套流转路径,一个是skip-connect(恒等映射)所表示的直传路径,一个是残差部分所表示的非线性路径。
  1)残差网络的数据流形式。
    简化网络,去掉累加后的激活函数ReLU(下层输入直接等于本层输出),则整个网络可表示为:

xl+1=xl+F(xl,wl)
    从 L 层逐层拆解 xl l 层得到: xL=xl+
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值