ResNet (Residual Neural Network)由微软研究院的何情明等4名华人提出,它的深度达到了惊人的 152 层,而且以 top-5 错误率3.57%的好成绩在ILSVRC 2015比赛中获得了冠军。尽管ResNet的深度远远高于VGGNet,但是参数量却比VGGNet 低,效果相较之下更为突出。ResNet中最具创新的一点就是残差学习单元(ResidualUnit)的引入,而 Residual Unit 的设计则参考了瑞士教授 Schmidhuber在其 2015 年发表的论文《Training VeryDeep Networks》中提出的 Highway Network。在介绍 Residual Unit 前,我们先来看一下所谓的 Highway Network。在介绍 Residual Unit 前,我们先来看一下上述所说的 Highway Network。我们通常认为增加网络的深度可以在一定程度上提高网络的性能,但是这同时也会增加网络的训练难度。Highway Network 的出现就是为了解决较深的神经网络难以训练的问题。假设某一层的网络输出 y 与输入 x 的关系可以用 y=H(x,WH)来表示,这是经过了非线性变换之后得到的结果。Highway NetWork 在此基础上允许保留一定比例的原始输入 x ,即
上式中, T 被称为变换系数, C则是保留系数,论文中的取值是 C = l- T 。这样操作的结果是:有一定比例的前一层的信息没有经过矩阵乘法和非线性变换而是直接传输到下一层。得益于门控制单元的限制,增加Highway Network 的深度至上百层甚至上千层也能直接使用梯度下降算法进行训练。Highway Network 的这一做法启发了后来的 ResNet 残差学习单元。ResNet 可以被设计为上百层深,对于一个卷积神经网络来说,上百层的深度可以带来更好的性能,直接体现出来就是错误率的下降。
ResNet模型结构
如果只是简单地将层叠加在一起,增加网络深度,