【深度学习】经典神经网络 ResNet 论文解读

ResNet 是何凯明团队的作品,对应的论文 《Deep Residual Learning for Image Recognition》是 2016 CVPR 最佳论文。ResNet 的 Res 也是 Residual 的缩写,它的用意在于基于残差学习,让神经网络能够越来越深,准确率越来越高。

我们都知道,自 2012 年 AlexNet 在 ILSVRC 一战成名后,卷积神经网络便一发不可收拾,后续的各类竞赛中各种神经网络都大发异彩,除了更高的准确率之外,它们普遍的特征就是,网络的层级越来越深了。

这里会产生一个问题,那就是神经网络真的越深越好吗?

但至少有证据表明,情况不是这样的,如果神经网络越来越深,这个神经网络可能会出现退化的现象。这里说的退化是指网络层级加深后,训练的准确率却可能出现饱和的现象。
在这里插入图片描述
上面的图片指示的是在 CIFAR-10 这个小型的数据集上,56 层的神经网络的表现比不过 20 层的神经网络。也就是前面说的层数越深,网络却反而退化了。

如何构建更深层的网络?

前面提到的,当网络层次更深时,反而会出现退化的现象,那么有没有办法避免呢?

有一个解决方案是:

在一个的常规的比较浅的模型上添加新的层,而新的层是基于 identity mapping 的。

通俗来讲,就是比较两个模型,一个是浅层的常规的,另外一个是基于浅层模型添加更多层的深度模型,现在的目标是深度模型的性能要好过浅层模型。

那么如何做呢?

作者引入了 deep residual learning framework,也就是基于残差的深度学习框架,实际上是需要对常规的神经网络的改造。

我们都知道,目前流行的神经网络都可以看成是卷积层的堆叠,可以用栈来表示.

输入数据经过每个卷积层都会发生变化,产生新的 featuremap ,我们可以说数据在输入与输出间发生了映射,也就是 mapping。神经网络中的权重参数一个作用就是去拟合这种输入与输出之间的 mapping。

ResNet 准备从这一块动手,假设现在有一个栈的卷积层比如说 2 个卷积层堆叠,将当前这个栈的输入与后面的栈的输入之间的 mapping 称为 underlying mapping,现在的工作是企图替换它引入一种新的 mapping 关系,ResNet 称之为 residual mapping 去替换常规的 mapping 关系。

意思是与其让卷积栈直接拟合 underlying mapping,不如让它去拟合 residual mapping。而 residual mapping 和 underlying mapping 其实是有关联的。

将 underlyingmapping 标记为 H ( x ) H(x)

将经过堆叠的非线性层产生的 mapping 标记为 F ( x ) : = H ( x ) x F(x) := H(x)-x

所以,最原始的 mapping 就被强制转换成 F ( x ) + x F(x)+x

然后,作者假设对 residual mapping 的优化要比常规的 underlying mapping 要简单和容易

F ( x ) + x F(x)+x 在实际的编码过程中,可以被一种叫做快捷连接的结构件来实现。
在这里插入图片描述

快捷连接通常会跳过 1 个或者多个层,在 ResNet 中快捷连接直接运用了 identity mapping,意思就是将一个卷积栈的输入直接与这个卷积栈的输出相加。

这样有什么好处呢?

  1. 并没有增加新的参数
  2. 整个网络也仍然可以由 SGD 进行训练。
  3. 容易被通用的神经网络框架实现。

而 ResNet 依靠成绩说话,它是 ILSVRC 2015 年图像分类冠军。而且 ResNet 的泛化变现也很卓越,在 ImageNet 目标检测、ImageNet 目标定位、COCO 目标检测、COCO 图像分割等竞赛中都取得了当年(2015)的冠军。

并且,ResNet 是当年 ImageNet 参赛模型中层级最深的模型,达到了 152层。

这些证据证明了 ResNet 加深网络后,性能比其他的模型更突出。

Deep Residual Learning

Residual Learning 的理论依据

我们可以将焦点放在 H ( x ) H(x) 上。

理论上有一种假设,多层卷积的参数可以近似地估计很复杂的函数表达公式的值,那么多层卷积也肯定可以近似地估计 H ( x ) x H(x)-x 这种残差公式。

所以与其让卷积栈去近似的估计 H ( x ) H(x) ,还不如让它去近似地估计 F ( x ) : = H ( x ) x F(x):=H(x)-x ,这样就可以将关注点放在如何学习 F ( x ) + x F(x)+x 上面

猜你喜欢

转载自blog.csdn.net/briblue/article/details/83544381