学习来源 shortcut(shortpath)直译为“直连”或“捷径”,其为CNN模型发展中出现的一种非常有效的结构。shortcut的引入目的是解决一味增加网络深度而产生的梯度发散。

1、最初的CNN模型

只有相邻两层之间存在通过W_H的连接(x、y是相邻两层),其中H表示网络中的变换,公式如下:

resnet的理解和全连接相比有什么区别 resnet shortcut_深度学习


网络结构如下图:

resnet的理解和全连接相比有什么区别 resnet shortcut_学习_02

2、shortcut思想

在两层之间增加了权重,结构如下图:

resnet的理解和全连接相比有什么区别 resnet shortcut_深度学习_03

与最初CNN模型不同的是:输入层x是通过C的加权连接到输出层y。通过这种连接方式的改进,缓解了深度网络中的梯度发散问题,尤其在层数非常深的时候。

其中设置C=1-T,公式如下:

resnet的理解和全连接相比有什么区别 resnet shortcut_深度网络_04

2、ResNet思想

ResNet的动机依然是解决深度模型中的退化问题:层数越深,梯度越容易发散,误差越大,难以训练。

理论上,模型层数越深,误差应该越小才对,因为我们总可以根据浅层模型的解构造出深层模型的解(将深层模型与浅层模型对应的层赋值为浅层模型的权重,将后面的层取为恒等映射),使得这个深层模型的误差不大于浅层模型的误差。但是实际上,深度模型的误差要比浅层模型的误差要大.

作者认为产生这种现象的原因是深度模型难以优化,难以收敛到较优的解,并假设相比于直接优化下图一最初的CNN的模型F(x)=y,下图二残差F(x)=y-x更容易优化。

resnet的理解和全连接相比有什么区别 resnet shortcut_深度网络_05

resnet的理解和全连接相比有什么区别 resnet shortcut_深度网络_06

因此当shortcut不仅限于跨越1层,而是可以跨越2层或3层时(T和C都设为1,降低模型的自由度),就构成了ResNet残差结构如下图所示:

resnet的理解和全连接相比有什么区别 resnet shortcut_深度网络_07