概要
证明了残差网络更容易训练,而且网络更深的时候能够取得更高的准确率。在ImageNet数据集上我们使用152层的残差网络并取得了3.57%的错误率。
简介
深度网络一直存在梯度消散的问题,但最近这个问题已经被normalized initialization和batch normalization很大程度的解决了。另一个问题是网络效果变差,当网络深度增加的时候,准确率反而比层数低的网络要差,但它并不是因为Overfitting变差的,因为即使在训练集上,更深的网络的Train error比浅网络的Train error还要高。为什么会这样,论文没有很好的解释,只是说也许很难对更深的网络进行优化:如果对一个网络不断的加Layer,每一层新的Layer都是恒等变换,那么按理说新的网络最优的结果至少和旧的网络一样好甚至更好。但实验发现通过训练连达到旧网络的效果都很难。
为了解决的这个问题,我们提出了深度残差网络,作者的观察是:与其让网络优化出我们想要的层与层间的参数(比如至少是恒等变换),不如我们直接让这些层去优化一个残差网络。优化一个残差网络要比优化原来的网络更容易。一个比较正式的描述是:假设H(x)是最优的参数,我们让网络是优化另一个参数F(X) = H(X) - X
。这样,最坏情况下,假设是恒等变换,比起训练出恒等变换,训练出F(X)=0要简单得多。 这个方法的好处是它没有增加需要训练的参数个数,也