残差网络

                     

贡献者: xzllxls

预备知识 卷积神经网络

   残差网络(Resdual network, ResNet)是卷积神经网络的一种常见的变体。与原始的卷积网络所不同的是,残差网络学习的是源数据到源数据与标签之间的残差的映射。

   在卷积网络的实践中,人们发现了退化(degradation)现象。随着网络深度的增加,模型的准确率会降低,也就是说,较深的网络模型反而比浅层网络有更大的训练误差和测试误差[1]。文献[1]提出的解决方法是增加一条表示恒等映射的短连接(shortcut connections),将浅层网络输出的值通过恒等映射直接传递到深层网络上,从而保证深层网络的误差至少不会超过浅层网络。

   假设一个残差网络的输入张量为 $ \boldsymbol{\mathbf{x}} $,标签值为 $ \boldsymbol{\mathbf{y}} $,残差网络学习的是 $F: \boldsymbol{\mathbf{x}} \rightarrow \boldsymbol{\mathbf{y}} -x$。数学表达式为:

\begin{equation} \boldsymbol{\mathbf{y}} =F( \boldsymbol{\mathbf{x}} ; \boldsymbol{\mathbf{w}} )+ \boldsymbol{\mathbf{x}} ~. \end{equation}
其中,$ \boldsymbol{\mathbf{x}} $ 和 $ \boldsymbol{\mathbf{y}} $ 分别为输入和输出张量,$F$ 为残差映射,$ \boldsymbol{\mathbf{w}} $ 为权值,其值是学习而来的。

   为了表示上述数学模型,网络结构方面,采用卷积网络来表示残差映射,短连接来表示关于 $x$ 的恒等映射,最后再将 $ \boldsymbol{\mathbf{x}} $ 与 $F( \boldsymbol{\mathbf{x}} )$ 相加。此处的加法是元素级别(element-wise)对应的张量相加,因此,$ \boldsymbol{\mathbf{x}} $ 和 $F( \boldsymbol{\mathbf{x}} )$ 的维度要相同,否则无法运算。如下图所示:

图
图 1:残差网络示意图 [1]

   经过改进之后的网络,即残差网络,消除了原有深层网络的退化现象。经过在 ImageNet 数据集上的实验,发现 34 层的残差网络比 18 层的要有更小的训练误差和测试误差。

   参考文献:

  1. S. R. Kaiming He Xiangyu Zhang, “Deep Residual Learning for Image Recognition,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2016, pp. 770–778.

致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利