用于图像识别的深度残差学习!

图灵汇官网

神经网络的训练随着网络层数的增加而变得更加困难。我们提出的残差学习框架旨在解决这一问题,使得训练更深的网络变得更加容易。相较于传统的神经网络,我们的网络结构能够学习输入的残差函数,而非直接学习复杂的映射关系。通过详尽的实验验证,我们发现这种残差网络在优化过程中更为高效,且随着网络深度的增加,其准确性也有所提升。

我们使用ImageNet数据集对这一理论进行了验证,成功构建了一个152层的残差网络。尽管该网络的深度是VGG网络的8倍,但其复杂度相对较低。该网络在ImageNet测试集上的错误率为3.57%,获得了2015年ILSVRC分类任务的第一名。此外,我们还测试了100层和1000层网络在CIFAR-10数据集上的表现。

本文介绍了一种全新的卷积网络架构,该架构在深度学习初期被提出。虽然这篇论文发表于2015年,当时深度学习领域仍处于相对早期阶段,但它提出的架构至今仍在广泛使用。例如,它启发了后续的“具有随机深度的深度网络”等研究。

作者发现,随着网络深度的增加,网络性能会出现下降,这种现象被称为网络退化。尽管现代技术如批量标准化已经解决了许多训练问题,但网络退化依然存在。为了验证这一现象,作者比较了20层和56层网络在CIFAR-10数据集上的表现,发现56层网络的性能反而更差。

为了应对网络退化问题,作者设计了一种名为残差学习框架的方法。他们假设,即使在网络层数增加的情况下,也可以通过学习残差函数来维持原有网络的表现。具体来说,他们构建了所谓的“剩余构建块”(ResBlock),并在其中引入了恒等映射的概念,即新增加的层只需传递而不改变输入信息。这样,即使网络变得更深,性能也不会下降。

ResBlock由多个层组成,其中包含整流线性单元(ReLU)。通过这种方式,网络可以学习残差函数,从而在不影响性能的前提下增加网络深度。作者通过一系列实验验证了这种方法的有效性,并展示了152层和1202层的残差网络在性能上的差异。

此外,作者还尝试了一些ResBlock的变体,如调整中间层的信息流,以及测试不同的传递连接方式。尽管更复杂的传递方式效果更好,但其训练时间也会相应增加。总体而言,这种残差学习框架不仅提升了网络的性能,也为深度学习提供了新的思路。

本文来源: 图灵汇 文章作者: AliOS