论文地址
ResNet :https://arxiv.org/pdf/1512.03385.pdf
ResNeXt: https://arxiv.org/abs/1611.05431
ResNet基本思想
在训练深层网络时,一般会遇到三个问题:
- 过拟合。这一点其实很好理解,因为训练的损失函数是训练集上的loss,当训练数据比较少,网络参数比较多的时候很容易为了减小训练集loss而过拟合。但过拟合问题不在本文的讨论范围之内,这里不做赘述。
- 梯度消失/爆炸。我们考虑一个简单的三层网络, f ( x ) f(x) f(x)为激活函数, x x x为输入, f i ( x ) f_i(x) fi(x)表示第 i i i层输出结果。那么首先,显然有 f i + 1 = f ( ω i ⋅ f i + b ) ∂ f i + 1 = ω i ⋅ ∂ f i ⋅ f ′ f_{i+1}=f(\omega_i\cdot f_i +b)\\ \partial{f_{i+1}}=\omega_i \cdot \partial{f_i}\cdot f^{'} fi+1=f(ωi⋅fi+b)∂fi+1=ωi⋅∂fi⋅f′这里不妨令 b = 0 b=0 b=0,那么根据梯度下降的原理,我们会对参数 ω \omega ω进行更新: ω i : = ω i − α ⋅ ∂ L ∂ ω i \omega_i:=\omega_i-\alpha\cdot \dfrac{\partial{L}}{\partial{\omega_i}} ωi:=ωi−α⋅∂ωi∂L