持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,通过残差解决了网络退化现象。
ResNet解决网络退化的机理
1.深层梯度回传顺畅
- 恒等映射这一路的梯度是1,把深层梯度注入底层,防止梯度消失。没有中间商层层盘剥。
2.类比其它机器学习模型
3.传统线性结构网络难以拟合“恒等映射”
4.ResNet解决网络退化的机理ResNet反向传播传回的梯度相关性好
网络加深,相邻像素回传回来的梯度相关性越来越低,最后接近白噪声。但相邻像素之间具有局部相关性,相邻像素的梯度也应该局部相关。相邻像素不想关的白噪声梯度只意味着随机扰动,并无拟合。ResNet梯度相关性衰减从1/2^L
增加为1/L^0.5
。保持了梯度相关性。
5.ResNet相当于几个浅层网络的集成
6.skip connection可以实现不同分辨率特征的组合
FPN、DenseNet
7.ResNet数学本质是用微分方程的积分曲线去拟合系统的目标函数
- 构造了一个平滑的解空间流形,在这个平滑的流形上更容易找到解。
- 残差网络相当于不同长度的神经网络组成的组合函数。
- 残差模块相当于一个差分放大器
残差网络
残差是预测值和真实值之间的偏差。ResNet网络是由很多个残差模块堆叠起来的,使得网络足够深的同时解决了退化问题。
残差模块:
残差块分成两部分直接映射部分和残差部分,如果网络已经到达最优,继续加深网络,residual mapping将被push为0,只剩下identity mapping,这样理论上网络一直处于最优状态了,网络的性能也就不会随着深度增加而降低了。
残差网络是由一系列残差块组成的。一个残差块可以用表示为:
普通的Plain Network与深度残差网络的最大区别在于,深度残差网络有很多旁路的支线将输入直接连到后面的层,使得后面的层可以直接学习残差,这些支路就叫做shortcut。传统的卷积层或全连接层在信息传递时,或多或少会存在信息丢失、损耗等问题。ResNet 在某种程度上解决了这个问题,通过直接将输入信息绕道传到输出,保护信息的完整性,整个网络则只需要学习输入、输出差别的那一部分,简化学习目标和难度。
参考资料:
【精读AI论文】ResNet深度残差网络
残差网络
详解残差网络