-
动机:深度学习过程中,网络层数增加面临三个问题——计算资源的消耗,梯度消失/爆炸,网络退化。计算资源的消耗问题可以通过GPU集群来解决,梯度消失和爆炸的问题很大程度上已经被标准初始化/中间层正规方法控制了,这些方法使得深度神经网络可以收敛。网络退化指的是:随着网络深度增加,网络的表现先是逐渐增加至饱和,然后迅速下降。网络退化不是过拟合造成的。它是不符合常理的,因为假设一个K层的目前最优网络f,那么可以构造一个更深的网络,它的最后几层是网络f的第K层输出的恒等映射(Identity Mapping),就可以取得和f一致的结果,也许K还不是最优的层数。那么更深的网络就可以取得更好的结果。总而言之,与浅层网络相比,更深的网络的表现不应该更差。因此,一个合理的猜测就是,对神经网络来说,恒等映射并不容易拟合。也许我们可以对网络单元进行一定的改造,来改善退化问题?这也就引出了残差网络的基本思路(参考自残差网络解决了什么)
-
残差块:残差单元可以以跳层连接的形式实现,即将单元的输入直接与单元输出加在一起,然后再激活。因此残差网络可以轻松地用主流的自动微分深度学习框架实现,直接使用BP算法更新参数。
3 Deep Residual Learning
3.1 Residual Learning
将视为一个潜在映射(H就是期望拟合的特征图),由几个堆叠的层(不一定是整个网络)进行拟合,其中表示这些层中的第一层的输入。如果假设多个非线性层可以渐近逼近复杂函数,那么就相当于假设它们可以渐近逼近残差函数,即(假设输入和输出的维度相同)。因此,比起期望堆叠层近似于,我们更期望显式地让这些层近似于残差函数。原来的函数因此变成