【深度学习】(10)--ResNet残差网络

文章目录

  • ResNet残差网络
    • 1. 传统卷积神经网络的问题
      • 1.1 梯度消失和梯度爆炸
      • 1.2 退化问题
    • 2. 解决问题
      • 2.1 梯度消失与爆炸
      • 2.2 退化问题
    • 3. 残差结构
      • 结构归纳
    • 4. BN(Batch Normalization)
  • 总结

ResNet残差网络

ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。

ResNet残差网络有两个核心特征:1. 残差结构;2. BN(Batch Normalization)

1. 传统卷积神经网络的问题

神经网络都是通过卷积层和池化层的叠加组成的。在实际的试验中发现,随着卷积层和池化层的叠加,学习效果不会逐渐变好,反而出现2个问题:

1.1 梯度消失和梯度爆炸

梯度消失:若每一层的误差梯度小于1,反向传播时,网络越深,梯度越趋近于0。

梯度爆炸:若每一层的误差梯度大于1,反向传播时,网络越深,梯度越来越大。

1.2 退化问题

由下图发现,训练的层数20层的错误率竟然比56层的错误率还要低。训练层数越多准确率反而下降了,这就是所谓的退化问题。

在这里插入图片描述

2. 解决问题

那么,我们该如何解决上述出现的问题呢?

2.1 梯度消失与爆炸

我们知道,对于解决梯度消失与爆炸问题,我们可以通过更换激活函数,比如ReLU函数。但是我们更改完激活函数之后,还是发生了梯度消失与爆炸问题,,该怎么解决呢?

为了解决梯度消失或梯度爆炸问题,论文提出通过数据的预处理以及在网络中使用 **BN(Batch Normalization)**层来解决。

2.2 退化问题

为了解决深层网络中的退化问题,可以人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为残差网络 (ResNets)

使用后结果如下图所示,随着卷积层和池化层的叠加,学习效果逐渐变好:

在这里插入图片描述

3. 残差结构

残差网络的结构有5种,分别为:

在这里插入图片描述

我们以18层结构为例,来介绍残差网络中的残差结构
在这里插入图片描述

在整个18层结构中,我们发现了残差网络由很多的小残差结构组成:

在这里插入图片描述

对于残差结构的运作:当有图片传进卷积层后,将图片复制成两份,一份直接通过“捷径”抵达卷积后出口,另一份要经过卷积层计算,最后两者进行“整合”。

所谓“整合”,即两个图片对应矩阵位置相加。那这样,图片的值不会变的很大嘛?不会发生梯度爆炸的问题吗?

由于调整权重参数时是反向传播的,使得参数在调整时,会将两个图片整合调整在一个很好的位置,不是盲目相加,能够保留下有效信息,无效信息给剔除掉。当然,相加后值肯定会变大一点点,我们就是要让他增大一点点,防止退化呀!

结构归纳

残差结构:residual结构使用了一种shortcut的连接方式,也可理解为捷径。让特征矩阵隔层相加,注意F(X)和X形状要相同,所谓相加是特征矩阵相同位置上的数字进行相加。

在这里插入图片描述

4. BN(Batch Normalization)

Batch Normalization(批量归一化)目的:使所有的feature map满足均值为0,方差为1的分布规律。

在这里插入图片描述

我们一般在构建传统卷积神经网络模型中,在传入数据图片时,都对数据进行了归一化处理:

transforms.Normalize([0.485,0.456,0.406],[0.229,0.224,0.225]

在整个卷积神经网络中,每次卷积都会得到一批特征图,既然归一化能够使所有的特征都分布在相同大小的区域内,那为什么不对特征图也归一化呢?

所以,Batch Normalization(批量归一化)就是将每批次得到的特征图都进行归一化,减少大量对模型参数微调的时间。

总结

本篇介绍了:

  1. ResNet残差网络的好处:解决梯度消失和梯度爆炸以及退化问题。
  2. ResNet残差网络有两个核心特征:1. 残差结构;2. BN(Batch Normalization)。
    1. 残差结构:防止退化。
    2. BN:减少梯度消失和梯度爆炸问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1549224.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

ComfyUI | 好用的人体 衣服分割工具-③-Layer Style | 超多实用功能 | 强烈推荐

这里为大家分享检测人体的脸部、五官、头发、手臂、腿、脚,上衣、裤子、背景的插件,能够生成出对应的蒙版mask,接入到ComfyUI中,用于后续处理,如局部重绘,换背景等。 (需要相关插件的同学可自…

华为LTC流程架构分享

文末附LTC流程管理PPT下载链接~ 前面笔者分享了华为LTC流程相关PPT,应读者需求,今天从架构角度进行再次与读者共同学习下LTC流程架构。 华为LTC流程架构是一个全面且集成的业务流程体系,从线索发现开始,直至收回现金&#xff0c…

Transformer: Attention is all you need

Transformer于2017年提出,最开始应用于NLP领域,随着Transformer的快速发展,在视觉领域中也越来越多的论文或应用用到了Transformer,这里记录一下自己学习的一些知识点。 PDF: 《Attention Is All You Need》 Code: att…

08-Registry搭建docker私仓

08-Registry搭建docker私仓 Docker Registry Docker Registry是官方提供的工具,用于构建私有镜像仓库。 环境搭建 Docker Registry也是Docker Hub提供的一个镜像,可以直接拉取运行。 步骤: 拉取镜像 docker pull registry启动Docker R…

YOLOv5改进:Unified-loU,用于高品质目标检测的统一loU ,2024年8月最新IoU

💡💡💡现有IoU问题点:IoU (Intersection over Union)作为模型训练的关键,极大地显示了当前预测框与Ground Truth框之间的差异。后续研究者不断在IoU中加入更多的考虑因素,如中心距离、纵横比等。然而,仅仅提炼几何差异是有上限的;而且新的对价指数与借据本身存在潜在…

Codesys trace工具右键菜单框呼出异常的问题解决

这个问题困扰了好久,添加trace工具之后,一但在模型图位置右键后,整个codesys界面都无法呼出右键菜单,甚至会出现键盘输入失效的问题。 解决办法:更新trace工具 1、工具 —> CODESYS Installer 或者搜索CODESYS In…

【YOLO目标检测反光衣数据集】共2388张、已标注txt格式、有训练好的yolov5的模型

目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:2388 标注数量(txt文件个数):2388 标注类别数:2 标注类别名称:reflective_clothes、other_clothes 数据集下载:反光衣数据集 图片示例 数据…

帕金森早期四大隐秘“预警灯“,你不可不知的健康警报!

在这个快节奏的时代,健康似乎成了我们最容易忽视却又最为宝贵的财富。今天,我们要揭开一个常被误解与忽视的医学领域——帕金森病。它不仅仅是老年人的专利,更可能在你我未曾留意的瞬间悄悄降临。了解帕金森早期的四个“信号”,就…

【反素数】

题目 思路 首先分析 的性质 一定是 中约数最大的一定是约数同是最大的数字中值中最小的进一步挖掘性质,紧贴枚举的做法 约数最大值最小(也决定了层数、其它约束),是枚举的比较条件实现上述目的,枚举的质数种类在大小…

【文件增量备份系统】MySQL百万量级数据量分页查询性能优化

🎯 导读:本文针对大数据量下的分页查询性能问题进行了深入探讨与优化,最初查询耗时长达12秒,通过避免全表计数及利用缓存保存总数的方式显著提升了浅分页查询速度。面对深分页时依然存在的延迟,采用先查询倒数第N条记录…

使用JLINK合并boot和app两个hex文件,使用Keil烧写到单片机

嵌入式产品开发,现在比较流行的是使用IAP方式对产品固件进行升级。只要应用到IAP升级方式,就不可避免的要开发boot和app两部分代码。 产品开发阶段可以分别将boot和app通过keil软件下载到单片机,但是产品量产阶段,如果还是分两次下…

微信占用空间太大,文件清理工具来了

今天分享几个安卓手机文件清理工具。 SD女佣 安卓经典系统清理利器,一键释放存储空间,能清理手机中的垃圾文件、临时文件和无用的应用程序数据,提升设备性能并节省存储空间,内置强大的文件浏览器,支持应用管理和系统…

代码随想录算法训练营第59天|卡码网 47. 参加科学大会、94. 城市间货物运输 I

1. 卡码网 47. 参加科学大会 题目链接:https://kamacoder.com/problempage.php?pid1047 文章链接:https://www.programmercarl.com/kamacoder/0047.参会dijkstra堆.html#总结 思路依然是 dijkstra 三部曲: 1.第一步,选源点到哪个…

Arthas sc(查看JVM已加载的类信息 )

文章目录 二、命令列表2.2 class/classloader相关命令2.2.5 sc(查看JVM已加载的类信息 )举例1:模糊搜索,xx包下所有的类举例2:打印类的详细信息举例3:打印出类的Field信息 二、命令列表 2.2 class/classlo…

分享了一个支持WIN7的QGIS3.34的版本

上传分享了一个支持WIN7的QGIS3.34的版本,该版本同时也是个轻量级的QGIS,大小轻便、启动速度也快!但该版本没有Python及Python插件支持。 需要在WIN7下使用或只使用QGIS3.34核心基本功能的可以使用这个!当然这个版本也支持WIN7以上…

ARM 汇编5 数据类型

在ARMv7-M处理器中,Byte对应8bits,Halfword对应16bits, Word对应32bits。 而在展示中,我们通常会使用一位来表示4bits,也就是 1 nibble 4 bits 如下图,一个寄存器中包含8 nibbles,也就是32bits。 关于…

python基础库

文章目录 1.研究目的2.platform库介绍3.代码4.结果展示 1.研究目的 最近项目中需要利用python获取计算机硬件的一些基本信息,查阅资料,.于是写下这篇简短的博客,有问题烦请提出,谢谢-_- 2.platform库介绍 platform 库是 Python 的一个内置库,可以让我们轻松地获取…

SpringBoot教程(安装篇) | Docker Desktop的安装(Windows下的Docker环境)

SpringBoot教程(安装篇) | Docker Desktop的安装(Windows下的Docker环境) 前言如何安装Docker Desktop资源下载安装启动(重点)加入汉化包 设置加速镜像 前言 如果你在 Windows 上,确保 Docker …

短视频电影直播多功能主题第二套Streamlab主题

需要搭配苹果cms使用.本源码只是主题,非整套 适配移动端到32寸显示器,内置6种幻灯片风格,100%DIY布局功能给你自由设计模板的能力,不会代码也能随意修改布局,修改数据显示,拒绝千篇一律的网站风格

Spring Boot助力:小徐影院管理系统

第二章开发技术介绍 2.1相关技术 小徐影城管理系统是在Java MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统,因为它…