ResNet详解与分析


博客: 博客园 | CSDN | blog

Resnet要解决的是什么问题

ResNets要解决的是深度神经网络的“退化”问题。

什么是“退化”?

我们知道,对浅层网络逐渐叠加layers,模型在训练集和测试集上的性能会变好,因为模型复杂度更高了,表达能力更强了,可以对潜在的映射关系拟合得更好。 而** “退化”指的是,给网络叠加更多的层后,性能却快速下降的情况。 **

训练集上的性能下降,可以排除过拟合,BN层的引入也基本解决了plain net的梯度消失和梯度爆炸问题。 如果不是过拟合以及梯度消失导致的,那原因是什么?

按道理,给网络叠加更多层,浅层网络的解空间是包含在深层网络的解空间中的,深层网络的解空间至少存在不差于浅层网络的解,因为只需将增加的层变成恒等映射,其他层的权重原封不动copy浅层网络,就可以获得与浅层网络同样的性能。更好的解明明存在,为什么找不到?找到的反而是更差的解?

显然,这是个优化问题,反映出结构相似的模型,其优化难度是不一样的,且难度的增长并不是线性的,越深的模型越难以优化。

有两种解决思路,一种是调整求解方法,比如更好的初始化、更好的梯度下降算法等;另一种是调整模型结构,让模型更易于优化——改变模型结构实际上是改变了error surface的形态。

ResNet的作者从后者入手,探求更好的模型结构。将堆叠的几层layer称之为一个block,对于某个block,其可以拟合的函数为 F ( x ) F(x) F(x),如果期望的潜在映射为 H ( x ) H(x) H(x),**与其让 F ( x ) F(x) F(x) 直接学习潜在的映射,不如去学习残差 H ( x ) − x H(x) - x H(x)x,即 F ( x ) : = H ( x ) − x F(x) := H(x) - x F(x):=H(x)x,这样原本的前向路径上就变成了 F ( x ) + x F(x) + x F(x)+x,用 F ( x ) + x F(x)+x F(x)+x来拟合 H ( x ) H(x) H(x)作者认为这样可能更易于优化,因为相比于让 F ( x ) F(x) F(x)学习成恒等映射,让 F ( x ) F(x) F(x)学习成0要更加容易——后者通过L2正则就可以轻松实现。**这样,对于冗余的block,只需 F ( x ) → 0 F(x)\rightarrow 0 F(x)0就可以得到恒等映射,性能不减。

Instead of hoping each few stacked layers directly fit a desired underlying mapping, we explicitly let these layers fit a residual mapping. Formally, denoting the desired underlying mapping as H ( x ) H(x) H(x), we let the stacked nonlinear layers fit another mapping of F ( x ) : = H ( x ) − x F(x) := H(x) - x F(x):=H(x)x. The original mapping is recast into F ( x ) + x F(x)+x F(x)+x. We hypothesize that it is easier to optimize the residual mapping than to optimize the original, unreferenced mapping. To the extreme, if an identity mapping were optimal, it would be easier to push the residual to zero than to fit an identity mapping by a stack of nonlinear layers.

—— from Deep Residual Learning for Image Recognition

下面的问题就变成了 F ( x ) + x F(x)+x F(x)+x 该怎么设计了。

Residual Block的设计

F ( x ) + x F(x)+x F(x)

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值