• 2015年何凯明提出的152层ResNet,获得了ILSVRC比赛图像识别的冠军(top1误差3.6%),同时也使得卷积神经网络有了真正的“深度”。
    随着网络深度的增加,训练变得愈加困难,这主要是因为在基于随机梯度下降的网络训练过程中,误差信号的多层反向传播非常容易引发“梯度弥散”(梯度过小会使回传的训练误差信号极其微弱)或者“梯度爆炸”(梯度过大导致模型出现NaN)的现象。目前一些特殊的权重初始化策略和批规范化(BN)等方法使这个问题得到了极大改善——网络可以正常训练了!! 但是实际情形不容乐观。当模型收敛时,另外的问题又来了:随着网络深度的增加,训练误差没有降低反而升高。 这一现象与直觉极其不符,浅层网络可以被训练优化到一个很好的解,那么对应的更深层的网络至少也可以,而不是更差。这一现象在一段时间内困扰着更深层卷积神经网络的设计、训练和应用。
  • 著名的残差网络(Residual Network,ResNet) 很好的解决了网络深度带来的训练困难的问题,它的网络性能(完成任务的准确度和精度)远超传统网络模型。

残差网络之前——高速公路网络(Highway Network)

  • 常规卷积神经网络: y=F(x,wf)y=\mathcal{F}(x,w_f)y=F(x,wf​)
  • 高速公路网络: y=F(x,wf)⋅T(x,wt)+x⋅C(x,wc)y=\mathcal{F}(x,w_f)\cdot \mathcal{T}(x,w_t)+x\cdot \mathcal{C}(x,w_c)y=F(x,wf​)⋅T(x,wt​)+x⋅C(x,wc​)
    (1)T(x,wt)\mathcal{T}(x,w_t)T(x,wt​),非线性变换,称作“变换门”,负责控制变换的强度
    (2)C(x,wc)\mathcal{C}(x,w_c)C(x,wc​),非线性变换,称作“携带门”,负责控制原输入信号的保留强度
    换句话说,yyy 是 F(x,wf)\mathcal{F}(x,w_f)F(x,wf​) 和 xxx 的加权组合,T\mathcal{T}T 和 C\mathcal{C}C 分别控制着两项对应的权重
  • 简化的高速公路网络: y=F(x,wf)⋅T(x,wt)+x⋅(1−T(x,wt))y=\mathcal{F}(x,w_f)\cdot \mathcal{T}(x,w_t)+x\cdot (1-\mathcal{T}(x,w_t))y=F(x,wf​)⋅T(x,wt​)+x⋅(1−T(x,wt​)),其中 T+C=1\mathcal{T}+\mathcal{C}=1T+C=1

残差网络(ResNet)

  • y=F(x,w)+xy=\mathcal{F}(x,w)+xy=F(x,w)+x
    高速公路网络的“变换门”和“携带门”都为恒等映射时(即令 T=1,C=1\mathcal{T}=1,\mathcal{C}=1T=1,C=1 ),就得到了残差网络
  • 多个残差模块的堆叠形成的网络,称为“残差网络”
  • 相比高速公路网络:残差网络中的近路连接(shortcut),直接通过简单的恒等映射完成,不需要复杂的“变换门”和“携带门”,因此不需要引入额外的参数,减小了计算负担。
  • 若无近路连接,ResNet 实际上就是更深层的 VGG 网络,只不过 ResNet 以 全局平均汇合层(global average pooling layer) 替代了 VGG 网络中的全连接层,这使得参数量大大减少,并且降低了过拟合风险(全局平均汇合层早在GoogLeNet中就被使用了)
  • 常规残差模块(plain residual block):由222个3×33×33×3卷积层堆叠而成(随着网络深度的加深,这种残差模块在实践中并不十分有效)
  • 瓶颈残差模块(bottleneck residual block):依次由1×1、3×3、1×11×1、3×3、1×11×1、3×3、1×1,333个卷积层构成
    注:这里1×11×11×1卷积,能够对通道数channel起到 升维或者降维的作用,从而令3×33×33×3的卷积,以相对较低维度的输入进行卷积运算,提高计算效率
  • 下图瓶颈残差模块(输入和输出都是256维)的参数量 1x1x256x64 + 3x3x64x64 + 1x1x64x256 = 69632,而常规残差模块的话就是2个3x3x256的卷积,参数量 3x3x256x256x2 = 1179648,差了16.94倍

ResNet(残差网络)之残差模块相关推荐

  1. 【深度学习】ResNet残差网络 ResidualBlock残差块实现(pytorch) | 跟着李沐学AI笔记 | ResNet18进行猫狗分类

    文章目录 前言 一.卷积的相关计算公式(复习) 二.残差块ResidualBlock复现(pytorch) 三.残差网络ResNet18复现(pytorch) 四.直接调用方法 五.具体实践(ResN ...

  2. ResNet 残差网络、残差块

    在深度学习中,为了增强模型的学习能力,网络的层数会不断的加深,于此同时,也伴随着一些比较棘手的问题,主要包括: ①模型复杂度上升,网络训练困难 ②出现梯度消失/梯度爆炸问题 ③网络退化,即增加层数并不 ...

  3. 一文读懂残差网络ResNet

    作者:苘郁蓁 链接:https://zhuanlan.zhihu.com/p/91385516 专栏:郁蓁的机器学习笔记 本文的内容包括残差网络的基础知识以及相关辅助理解的知识点,希望有一定深 度学习 ...

  4. 【深度学习之ResNet】——深度残差网络—ResNet总结

    目录 论文名称:Deep Residual Learning for Image Recognition 摘要: 1.引言 2.为什么会提出ResNet残差网络呢? 3.深度残差网络结构学习(Deep ...

  5. 残差网络ResNet最全分析

    论文的翻译 一 从理论上分析,越深的网络就会有越好的学习能力可以整合图像的低维.中维.高维的信息. 1.越深的网络是不是就只是叠加层数这么简单呢? 会产生梯度的爆炸或者消失,严重影响学习速率. 针对这 ...

  6. 目标检测学习笔记2——ResNet残差网络学习、ResNet论文解读

    ResNet残差网络学习.ResNet论文解读 一.前言 为什么会提出ResNet? 什么是网络退化现象? 那网络退化现象是什么造成的呢? ResNet要如何解决退化问题? 二.残差模块 三.残差模块 ...

  7. 深度残差网络(ResNet)之ResNet34的实现和个人浅见

    深度残差网络(ResNet)之ResNet34的实现和个人浅见 一.残差网络简介 残差网络是由来自Microsoft Research的4位学者提出的卷积神经网络,在2015年的ImageNet大规模 ...

  8. CNN经典网络之残差网络(ResNet)剖析

    残差网络(Residual Network, ResNet)是在2015年继AlexNet.VGG.GoogleNet 三个经典的CNN网络之后提出的,并在ImageNet比赛classificati ...

  9. 深度学习之残差网络的原理

    目录 一. 什么是残差(residual) 二.残差网络的背景 三.残差块(residual block) 四.深度残差学习 五.DenseNet网络和Resnets网络对比 转载:https://b ...

  10. 深度学习笔记(28) 残差网络

    深度学习笔记(28) 残差网络 1. 残差块 2. 深度网络的训练错误 3. ResNets的作用 4. ResNets的细节 5. ResNets的结构 1. 残差块 非常深的神经网络是很难训练的, ...

最新文章

  1. Nginx 反向代理 负载均衡 虚拟主机
  2. 对java面试文章的技术漫谈的C#技术理解
  3. 北美公司面试经验笔记
  4. sqlite 模糊匹配日期_sql模糊查询和根据日期筛选
  5. prometheus变量_Prometheus 数据可视化
  6. 初识java中数组、数组在内存中、越界异常、空指针异常
  7. spring cloud 资源
  8. 红黑树的删除_红黑树揭秘
  9. 02-Go语言数据类型与变量
  10. Linux学习笔记(8)
  11. imnoise2.m
  12. 飞思卡尔mc9s08烧录方法_编程器USBDM 读写MC9S08 MCF51 批量烧录刷写NXP飞思卡尔单片机...
  13. 2017年秋季校招前端面经(百度,腾讯,网易,华为,乐视等)
  14. BigDecimal解读
  15. unity怎么制作云飘动_【Unity3D】实现云循环漂浮效果
  16. 使用Mailgun Store():应用程序传入电子邮件的临时邮箱
  17. dry的原理_4、干法蚀刻(dry etch)原理介绍
  18. 双鱼林java_双鱼林Java代码生成器
  19. mysql集群重启失败_Mysql集群重启失败
  20. Rabbit health check failed

热门文章

  1. Hdu 4093 ( Xavier is Learning to Count ) BZOJ2498 FFT+容斥原理
  2. 学生信息管理系统代码
  3. 数字集群通信知识与应用
  4. 人工智能实验:猴子摘香蕉问题(Python代码实现)
  5. 最新码支付源码+全套的程序+三网监控+易支付H5接口 2022年6月22号
  6. ubuntu11.04(unix 就可以了) 共享文件以及支持上传文件
  7. 遍历数组-forEach
  8. 七夕到了 —— 属于 Java 的浪漫,拿去吧~ 祝表白成功
  9. mysql外文文献中英文3千字_MySQL数据库管理外文中英文翻译文献.doc
  10. 【视频检测】FlowNet: Learning Optical Flow with Convolutional Networks