解决的问题:

梯度消失,深层网络难训练。

  • 因为梯度反向传播到前面的层,重复相乘可能使梯度无穷小。结果就是,随着网络的层数更深,其性能趋于饱和,甚至迅速下降。

关于为什么残差结构(即多了一条跳跃连接线后)为什么一定程度缓解了梯度消散的数学推导:

核心思想:

  1. 引入一个恒等快捷键(也称之为跳跃连接线),直接跳过一个或者多个层。

    当有这条跳跃连接线时,网络层次很深导致梯度消失时,F(x)=0,y=g(0+x)=relu(x)=xF(x)=0,y=g(0+x)=relu(x)=xF(x)=0,y=g(0+x)=relu(x)=x
  • 在网络上堆叠这样的结构,就算梯度消失,我什么也学不到,我至少把原来的样子恒等映射了过去,相当于在浅层网络上堆叠了“复制层”,这样至少不会比浅层网络差。

  • 万一我不小心学到了什么,那就赚大了,由于我经常恒等映射,所以我学习到东西的概率很大。

  1. 当尺寸一样时才可以相加 “⊕” ,当尺寸不一样时,需要调成一样的再相加 “⊕” ,如下所示。

  1. 而所谓Resnet-18,Resnet-50等,不过是层数不一罢了,如下图,惯用的是Resnet-50与Resnet-101。

总结

  1. ResNet的残差连接使得模型的深度似乎不再是限制,具体的原因可能是在堆叠的非线性映射中,神经网络难以学习到一个恒等映射,而残差连接使之更容易
  2. 还有观点认为残差连接打破了神经网络的对称性提高了每层神经元的利用率,另外网络能够加深也可能是因为多条支路保证了即使某些层退化也不会影响整体表现

Resnet-50网络结构详解相关推荐

  1. pytorch图像分类篇:6. ResNet网络结构详解与迁移学习简介

    前言 最近在b站发现了一个非常好的 计算机视觉 + pytorch 的教程,相见恨晚,能让初学者少走很多弯路. 因此决定按着up给的教程路线:图像分类→目标检测→-一步步学习用pytorch实现深度学 ...

  2. ResNet、ResNeXt详解以及代码实现

    目录 ResNet网络结构详解 resnet的创新 残差块Residul Block 整体网络结构 ResNet代码实现 ResNeXt详解 组卷积 更新了Block ResNeXt整体结构 ResN ...

  3. AlexNet网络结构详解与代码复现

    参考内容来自up:3.1 AlexNet网络结构详解与花分类数据集下载_哔哩哔哩_bilibili up主的CSDN博客:太阳花的小绿豆的博客_CSDN博客-深度学习,软件安装,Tensorflow领 ...

  4. U-Net网络结构详解

    U-Net网络结构详解 U-Net网络结构是对称的,由于网络结构像U型,所以被命名为U-Net.整体而言,U-Net是一个Encoder-Decoder(编码器-解码器)的结构,这一点是与FCN的结构 ...

  5. 深度学习之目标检测(五)-- RetinaNet网络结构详解

    深度学习之目标检测(五)-- RetinaNet网络结构详解 深度学习之目标检测(五)RetinaNet网络结构详解 1. RetinaNet 1.1 backbone 部分 1.2 预测器部分 1. ...

  6. AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现

    AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现 1.AlexNet之前的思考 2.AlexNet网络结构 3.AlexNet网络结构的主要贡献 4.PyTorch实现     ...

  7. ResNet网络结构详解,网络搭建,迁移学习

    前言: 参考内容来自up:6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibili up的代码和ppt:https://github.com/WZMIAOMIAO/deep-le ...

  8. 基于CIFAR100的VGG网络结构详解

    基于CIFAR100的VGG网络详解 码字不易,点赞收藏 1 数据集概况 1.1 CIFAR100 cifar100包含20个大类,共100类,train集50000张图片,test集10000张图片 ...

  9. GoogLeNet网络结构详解及代码复现

    1. GoogLeNet论文详解 Abstract: 提出了GoogLeNet网络结构--22层,此设计允许在保证计算预算不变的前提下,增加网络的深度和宽度,这个网络结构是基于Hebbian原则和多尺 ...

  10. OSI七层网络结构详解

    OSI模型的分层结构 OSI(Open System Interconnection),开放式系统互联参考模型 ,它把网络协议从逻辑上分为了7层.这7层分别为:物理层.数据链路层.网络层.传输层.会话 ...

最新文章

  1. UFS和eMMC闪存差异在哪?
  2. Centos下GCC引用mysql头文件和库文件
  3. Number of Components
  4. 我对CopyOnWrite的思考
  5. 【cocos2d-x从c++到js】06:Google的继承写法解析
  6. 访问 IIS 元数据库失败 的解决方法
  7. 系统云服务器,系统云服务器
  8. Oracle客户端tnsnames.ora连接配置
  9. Python编程 从入门到实践 第2版
  10. 计算机组成原理与汇编语言设计,计算机组成原理与汇编语言网络教学整体设计方案...
  11. 【服务器管理】服务器主机插内存条技巧
  12. 51单片机小白零基础教程——数码管的静态显示,以及数码管拓展程序(含74HC573锁存器的介绍)
  13. 编写Test3.jsp,在JSP页面中静态包含文件Sqrt.jsp(该页面计算数据的算术平方根)。要求程序有两个文件,主文件静态包含一个能够计算数据的算术平方根的页面。
  14. 山寨手机的操作系统(mtk)简介
  15. java求2到100内的素数_java学习日记-基础-列出2~100内的素数
  16. 基于IMS的VoLTE业务
  17. 【STM32笔记】低功耗模式配置及避坑汇总
  18. 说说qwerty、dvorak、colemak三种键盘布局
  19. 1+x大数据应用开发(java)理论题库/初级题库测验10
  20. kali虚拟机无法联网

热门文章

  1. Ajax的优点以及缺点
  2. CVA 估值报告写作 01
  3. vivo s12和s10的区别
  4. 区分曼彻斯特和差分曼彻斯特编码
  5. 【前端职业规划思考】
  6. “10万元电商店”为何一夜之间在三四线城市火了
  7. 脱发?没对象?格子衫?这些对程序员的误解该停停了!
  8. Python 课程实验报告二
  9. 嵌入式实操----基于RT1170 使能展频功能(二十七)
  10. Go os.OpenFile()bufio.NewWriter()文件创建并使用带缓冲区写文件