CVPR2016:ResNet 从根本上解决深度网络退化问题

2020-02-13  本文已影响0人  CristianoC

深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,在2015年提出的时候便取得了五项第一,而何恺明大神也凭借这一paper斩获CVPR 2016 Best Paper Honorable Mention。

目录

背景(深度网络的退化问题)

过拟合

梯度消失/爆炸

深度网络的退化问题

  1. MobileNet V2的论文中提到,由于非线性激活函数Relu的存在,每次输入到输出的过程都几乎是不可逆的,这也造成了许多不可逆的信息损失。我们试想一下,一个特征的一些有用的信息损失了,那他的表现还能做到持平吗?答案是显然的
    image
  2. 我们用一个直观的例子来感受一下深层网络与浅层网络持平的表现:


    image

残差结构

残差结构起作用的原因

  1. 首先给大家一个我自己的理解:我觉得加了残差结构后就是给了输入x多一个选择在神经网络学习到这层的参数是冗余的时候它可以选择直接走这条“跳接”曲线,跳过这个冗余层,而不需要再去拟合参数使得输出H(x)等于x
  2. 因为学习残差的计算量比学习输出等于输入小。假设普通网络为A,残差网络为B,输入为2,输出为2(输入和输出一样是为了模拟冗余层需要恒等映射的情况),那么普通网络就是A(2)=2,而残差网络就是B(2)=F(2)+2=2,显然残差网络中的F(2)=0。我们知道网络中权重一般会初始化成0附近的数,那么我们就很容易理解,为什么让F(2)(经过权重矩阵)拟合0会比A(2)=2容易了。
  3. 我们知道ReLU能够将负数激活为0,而正数输入等于输出。这相当于过滤了负数的线性变化,让F(x)=0变得更加容易。
  4. 我们知道残差网络可以表示成H(x)=F(x)+x,这就说明了在求输出H(x)对输入x的倒数(梯度),也就是在反向传播的时候,H'(x)=F'(x)+1残差结构的这个常数1也能保证在求梯度的时候梯度不会消失

网络结构

实验结果

论文地址

https://arxiv.org/pdf/1512.03385.pdf

上一篇 下一篇

猜你喜欢

热点阅读