2016ResNet

1.问题提出

按照正常理解,越深的网络,网络的表达能力越强。但是现在的问题是:随着网络深度的增加逐渐出现了问题。

  1. 梯度消失/爆炸问题出现。但是随着归一化以及在网络中间层进行归一化等等方式出现得到了解决。
  2. 退化问题。随着网络深度的加深,网络训练结果反而比不上层数较少的网络。如下图所示:

在这里插入图片描述

该图中的两个表分别是训练损失的变化曲线和测试损失的变化曲线。因为增加了新的网络层,所以最初认为是因为参数过多导致过拟合。但是由图可看出该结果不是由过拟合,因为过拟合情况下训练的损失应该会更低,测试的损失变大。

2.解决办法

首先假设在初始的网络结构是三层,得到的结果是1,如果在加入两层,也就是五层网络。后两层只需要做一个恒等变换也就是文中的“identity mapping”,也可以的到1。但是实验结果表明,后面两层没有办法做到这种恒等变换。作者提出的解决办法见下图:

在这里插入图片描述

设网络的输入是x,在原始的网络结构上得到的结果是H(x),如果这一部分的作用是类似于恒等变换,那么H(x) = x。在经过改进的情况下将H(x) = F(x)+ x。在类似于恒等变换的情况下F(x) = 0,将网络的参数优化为0比将其做一个恒等变换要容易得多。

于是resnet的核心公式如下:

在这里插入图片描述

很容易理解,Wi是权重矩阵就是上面的两层网络。在输入维度于输出维度不一致时没有办法进行矩阵相加,于是有了Ws改变输入的维度使得能够和输出进行矩阵相加的操作。

3.网络结构

在这里插入图片描述

3.1.Plain Network

作者Plain Network受到VGG网络的启发,并且遵循两个设计规则。

  • 输入的特征图大小相同,对应的卷积核个数也相同。
  • 如果特征图大小减半,那么对应的卷积核的个数就会翻倍,以保持每一层的时间复杂度。

最后以一个平均池化和一个1000路的全连接层结束。作者提到该网络的浮点运算次数只有VGG19的18%。因为没有后面几层的全连接层。

3.2.Residual Network

主要是在 上述的 plain network上加入 shortcut connections。

  1. 当输入和输出具有相同的尺寸时,可以直接使用标识快捷方式(identity shortcuts)(公式(1))(图3中的实线快捷(shortcuts )方式)。
  2. 当尺寸(dimensions)增加时(图3中的虚线(dotted line)快捷键),我们考虑两个选项:
    • ​ 快捷方式仍然执行恒等映射(identity mapping),对于维度的增加用零来填补空缺。此策略不会引入额外的参数;
    • 投影捷径( projection shortcut)(公式2)被用来匹配尺寸(match dimensions)(靠1×1的卷积完成)。对于这两种选项,当快捷连接在两个不同大小的特征图谱上出现时,用stride=2来处理。

于这两种选项,当快捷连接在两个不同大小的特征图谱上出现时,用stride=2来处理。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值