【Deep Residual Learning for Image Recognition】

常规废话环节

        这篇是接触深度学习后读的第一篇论文,就像上篇博客结尾说的,这是个很厉害的东西。文中介绍的是2015 ImageNet中分类任务的冠军——MSRA何凯明团队的Residual Networks,这篇论文也是2016年CVPR最佳论文。当然,关于这方面的东西不过多提,还是很推荐阅读原作,虽然对于一个英语渣来说很困难。

 1、Motivations

        介绍一下正文,作者首先抛出了一个问题:深度神经网络越深越好吗?

        按照定义来看,网络随着深度的增加,不断地去学习,只要不出现梯度消失/梯度爆炸,而且不出现过拟合,那么网络越深,最后的输出应该越接近我们的预期值。

        但是随着网络的加深,却出现了退化(degradation)现象。即网络加深了,精度却下降了,而且不是由过拟合引起的。如下图:

         图中很明显的可以看到,随着精度的加深,56层网络error反而比20层网络还要高,这是不合理的。理论上,可以训练一个 shallower 网络,然后在这个训练好的 shallower 网络上堆几层 identity mapping(恒等映射) 的层,即输出等于输入的层,构建出一个 deeper 网络。这两个网络(shallower 和 deeper)得到的结果应该是一模一样的,因为堆上去的层都是 identity mapping。这样可以得出一个结论:理论上,在训练集上,Deeper 不应该比 shallower 差,即越深的网络不会比浅层的网络效果差

        文中也提出了原因:随着网络越来越深,训练变得原来越难,网络的优化变得越来越难。理论上,越深的网络,效果应该更好;但实际上,由于训练难度,过深的网络会产生退化问题,效果反而不如相对较浅的网络。

        本文提出的残差网络(Residual Networks)则解决了这个问题。

2、Residual Networks

        文中引入残差网络结构,即在输入与输出之间(称为堆积层)引入一个前向反馈的shortcut connection,这有点类似与电路中的“短路”,也是上面提到identity mapping(恒等映射,即输入=输出)。原来的网络是学习输入到输出的映射H(x),而残差网络学习的是F(x)=H(x)−x。残差学习的结构如下图所示:

        残差网络通过加入 shortcut connections,变得更加容易被优化。包含一个 shortcut connection 的几层网络被称为一个残差块,即上图所示结构。如图所示,x表示输入,F(x) = w_2\sigma (w_1x)\sigma代表relu激活函数,则最后输出为\sigma(F(x) + x)

        那么这个结构为什么优化相对更容易呢?当没有 shortcut connection 时,残差块就是一个普通的 2 层网络。残差块中的网络可以是全连接层,也可以是卷积层。若第二层网络在激活函数之前的输出为 H(x)。假设极端情况:在该 2 层网络中,最优的输出就是输入的x,那么对于没有 shortcut connection 的网络,就需要将其优化成 H(x)=x;对于残差块来说,如果最优输出是 x,则只需要将 F(x)=H(x)−x优化为 0 即可。那么将残差优化到0比通过一个堆叠的非线性层去拟合一个恒等映射要容易得多。

3、网络结构

         上图最右侧就是一个残差网络的结构,残差网络和中间部分的 plain network 唯一的区别就是 shortcut connections。针对虚线部分的 shortcut connections,尺寸变化处理,有三种选择:

  1. zero-padding shortcuts。快捷连接仍然使用恒等映射,对不足的特征维数直接进行补零。
  2. projection shortcuts。利用1x1卷积核进行升降维匹配尺寸。其他的shortcut都是恒等映射(identity mapping)类型。
  3. 所有的shortcuts都使用projection shortcuts

4、深度瓶颈架构

        减少训练时间,改为一种瓶颈设计。对于每个残差函数F,将2层结构改为3层,先用1x1压缩通道数目以减少计算量,3x3进行卷积,再用1x1进行升维,带来更高的效率。而图左因为该快捷连接连到了两个高维端,耗费太多时间。

5、实现

         这里直接粘上论文的原文,另外从大佬博客里偷到的翻译:

        本来这篇博客昨天应该就写完发出来的,但是这两天感冒了昨天顶不住先回去睡觉了,今天早上吃了药昏昏沉沉了一整天,百度一查果然吃的药有嗜睡的副作用,淦。从早上晨会开始到晚上,盯着电脑脑袋就发昏,看不进去东西,明天早上不可能再吃了,摸了一天鱼,真香。(逃。

 

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
deep residual learning for image recognition是一种用于图像识别的深度残差学习方法。该方法通过引入残差块(residual block)来构建深度神经网络,以解决深度网络训练过程中的梯度消失和梯度爆炸等问题。 在传统的深度学习网络中,网络层数增加时,随之带来的问题是梯度消失和梯度爆炸。这意味着在网络中进行反向传播时,梯度会变得非常小或非常大,导致网络训练变得困难。deep residual learning则使用了残差连接(residual connection)来解决这一问题。 在残差块中,输入特征图被直接连接到输出特征图上,从而允许网络直接学习输入与输出之间的残差。这样一来,即使网络层数增加,也可以保持梯度相对稳定,加速网络训练的过程。另外,通过残差连接,网络也可以更好地捕获图像中的细节和不同尺度的特征。 使用deep residual learning方法进行图像识别时,我们可以通过在网络中堆叠多个残差块来增加网络的深度。这样,网络可以更好地提取图像中的特征,并在训练过程中学习到更复杂的表示。通过大规模图像数据训练,deep residual learning可以在很多图像识别任务中达到甚至超过人类表现的准确性。 总之,deep residual learning for image recognition是一种利用残差连接解决梯度消失和梯度爆炸问题的深度学习方法,通过增加网络深度并利用残差学习,在图像识别任务中获得了突破性的表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值