resnet
残差网络 Resnet
-
产生背景
- 在深度神经网络建模的时候,我们经常会发现50层深度的网络训练效果不如20层的效果,这可能是因为过拟合,也有可能是反向传播中的梯度逐渐变小或变大导致的梯度爆炸问题
- 由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出
- 我们至少要保证,随着层数的叠加,我们的训练效果至少不能下降
-
模型 Model
-
为了让训练效果不下降,我们需要将未来的内容加上当前的内容即
-
向前传播 forward
-
首先我们要确定当前的效果只能作用于下一个层,不多不少
- 这样可以类似于马尔科夫链的效果逐层递推
-
递推尝试:
- 总递推公式
-
-
反向传播 backward
- 实质上是对 的求导
- $\frac{\partial \varepsilon}{\partial x_l} = \frac{\partial \epsilon}{\partial x_L}\frac{\partial x_L}{\partial x_l}\ =\frac{\partial \epsilon}{\partial x_L}(1 + \frac{\partial }{\partial x_l} \Sigma_{i=l}^{L-1}F(x_i)) $ 其中 表示损失函数,我们求导目的就是最小化梯度下降
- 同时我们会发现求导导出公式为 , 存在一个余项 , 所以其不容易梯度消失,长程传播效果会比较好
-
残差块
- 一般是两个 的卷积块,这样输入和输出的尺寸就一致了
- 一般是两个 的卷积块,这样输入和输出的尺寸就一致了
-
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.


