【机器学习300问】104、残差网络是怎么起作用的?

news2024/11/17 23:57:29

        残差网络(Residual Network,简称ResNet)诞生是为了解决深度神经网络的训练困难性问题。深度神经网络在图像分类等任务上取得了重大突破,但随着网络层数的增加,训练变得更加困难。        

一、神经网络深度过深会出现哪些问题?

        在2015年前后,尽管研究者们已经认识到深度神经网络在诸多任务中能够提供更强的学习能力和表达能力,但随着网络层数的增加,新的挑战也浮现出来。特别是,网络的训练变得异常困难,这主要是由于梯度消失和梯度爆炸问题,导致模型性能在达到一定深度后不仅没有提升,反而可能下降,这种现象称为网络退化

56层的神经网络误差反而比20层的大

        如图1,使用20层和56层“普通”网络的CIFAR-10上的训练误差(左)和测试误差(右)。更深的网络具有更高的训练误差,从而具有更高的测试误差。

        关于什么是梯度消失和梯度爆炸,如果大家想了解详细知识点,可以点击下面的链接:

【机器学习300问】77、什么是梯度消失和梯度爆炸?icon-default.png?t=N7T8https://blog.csdn.net/qq_39780701/article/details/137976701

二、什么是残差网络?

        ResNet的核心创新在于其独特的残差块(Residual Block)设计。所以要想知道残差网络是什么首先就得了解残差块的结构。

(1)复习一下没有残差的普通网络长什么样

        拿一个两层神经网络进行举例说明。输入a^{[l]}在第一层激活后得到a^{[l+1]},由经过第二层后得到输出a^{[l+2]}如下图所示。

两层神经网络

         在这样一个网络中,从输入到输出一共会经过4个函数运算依次是:

1、第一层:线性函数

        第一层线性函数加权后的输出用z^{[l]}表示

2、第一层:激活函数

        第一层激活函数的计算用a^{[l+1] }= g(z^{[l]})表示

3、第二层:线性函数

        第二层线性函数加权后的输出用z^{[l+1]}表示

4、第二层:激活函数

        第二层激活函数的计算用a^{[l+2] }= g(z^{[l+1]})表示

信息流动没有跳跃

        现在让我们把这两层神经网络中的计算函数用可视化的方式表示出来,如下图所示:

普通网络(plain networks)

(2)什么是残差块 Residual Block

        每个残差块内部包含两条路径:一条是常规的信号传递路径,包括一系列卷积操作;另一条则是快捷路径(skip connection),直接将输入跳过几层直接传递到后面,与经过卷积操作后的信号相加。

信息流动发生跳跃

        这样的设计使得网络能够更容易学习到身份映射(即输入等于输出的映射),从而简化了学习任务,使得网络能够专注于学习残差(即输入到输出的变化),而非完整的变换。

残差块(Residual Block)

【注】跳跃连接的起点终点是很有讲究的,是将输入x加到第二层线性函数之后,ReLU非线性激活函数之前。

(3)残差网络的结构长什么样

        上面的残差块里详细的表示展示了计算函数,如果我们不关心这些中间计算过程,那么一个残差块还可以表示成下面这样:

残差块简化表示

        残差网络的整体模型结构,就是不断重复上面这个最简单残差块,通过堆叠多个这样的残差块,ResNet能够构建出非常深的网络架构,例如ResNet-50、ResNet-101、ResNet-152等。其中数字代表网络中的残差块数量或者总层数。

残差网络的结构简单示意图

来给大家看一下Residual Network原论文中何凯明大佬画的图:

        上图是残差网络论文中的配图,左边是VGG-19;中间是普通网络,有34个参数层;右边是具有34个参数层的残差网络。

三、残差网络是怎么解决这些问题的?

        在传统神经网络中,每一层尝试直接学习从输入到输出的复杂变换。而在残差网络中,我们换了个思路:不是直接学习输出相对于输入的变换,而是学习这个变换的“残差”部分,也就是输出相比于输入的改变量。换句话说,如果能让网络学习到“怎么从上一层的输出更进一步”,而不是“从头开始构想整个输出”,事情就简单多了。

(1)解决梯度消失和梯度爆炸

        通过引入捷径又叫跳跃连接(skip connections),残差块允许信息直接跨层传递,即使经过很多层后,最初的输入信号仍然可以影响到最终的输出,从而缓解了深度网络中的梯度消失问题。

(2)简化学习任务

        网络可以更容易地学习残差函数(即输入到输出的小改变),而不是整个复杂的变换函数,这降低了学习难度,使得网络可以更深而不至于性能退化。

(3)提高训练效率

        残差结构使得网络能够更容易收敛,并且能够训练出非常深的网络(例如152层),而不会遭遇性能饱和甚至下降的问题,从而在许多视觉识别、自然语言处理等任务上取得了显著的性能提升。

四、总结

        残差网络的核心思想在于,如果新增的层不能学到比先前层更好的特征,它们至少可以通过捷径传递信息,不造成损害,相当于做了“无害旁观”。而当这些层能够学到额外有价值的信息时,它们就对原有特征进行了有效增强。

        这样的设计鼓励网络进行有效的特征学习,而不会因为深度增加而退化。简单来说,残差网络通过设计允许网络专注于学习每个层级上真正需要改变的部分,从而克服了深度网络训练中的关键障碍。

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

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

相关文章

与AI对话 --如何更好的使用AI工具

文章目录 与AI对话 --如何更好的使用AI工具1、认识AI工具:2、对话原则:3、提问步骤:4、AI可以学习什么?5、提问技巧:1、提出假设性问题:2、(鼓励引导式提问)跨学科思考:举个例子: 3、…

在Android中解析XML文件并在RecyclerView中显示

1. 引言 最近工作有解析外部xml文件在App中显示的需求&#xff0c;特来写篇文章记录一下&#xff0c;方便下次使用。 2. 准备工作 首先&#xff0c;在项目的AndroidManifest.xml文件中添加读取外部存储的权限声明。 <uses-permission android:name"android.permiss…

社交媒体数据恢复:百度贴吧

一、准备工作 请先确保您已登录百度账号&#xff0c;并熟悉百度贴吧的基本操作。 二、找回被系统删除的帖子 进入“我的”页面&#xff1a;在百度贴吧主页中&#xff0c;点击右下角的“我的”。 进入“我的帖子”页面&#xff1a;在个人中心页面中&#xff0c;点击“我的帖子…

生态农业:引领未来农业新篇章

生态农业&#xff0c;正以其独特的魅力和创新理念&#xff0c;引领着未来农业发展的新篇章。在这个充满变革的时代&#xff0c;我们需要更加关注农业的可持续发展&#xff0c;而生态农业正是实现这一目标的重要途径。 生态农业产业的王总说&#xff1a;生态农业强调生态平衡和可…

图形学初识--空间变换

文章目录 前言正文矩阵和向量相乘二维变换1、缩放2、旋转3、平移4、齐次坐标下总结 三维变换1、缩放2、平移3、旋转绕X轴旋转&#xff1a;绕Z轴旋转&#xff1a;绕Y轴旋转&#xff1a; 结尾&#xff1a;喜欢的小伙伴可以点点关注赞哦 前言 前面章节补充了一下基本的线性代数中…

2、C++简单程序设计:工具、数据类型与运算符

C简单编程 C编程工具程序开发基本概念程序工具VS界面简介项目创建项目调试帮助文档 C数据类型C程序基本结构C符号关键字标识符文字运算符分隔符空白 C数据类型基本数据类型常量变量符号常量 C运算符与表达式算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符C 中的运…

光伏设计有哪些工具可以使用?

在光伏系统的设计过程中&#xff0c;选择合适的工具对于提高设计效率、确保系统性能以及优化成本效益至关重要。以下是一些常用的光伏设计工具&#xff0c;它们在不同的设计阶段发挥着重要作用。 一、专业设计软件 专业设计软件是光伏系统设计的核心工具。这些软件提供了从初…

2024 手机端使用现有网络资源在外网预览海康威视摄像头画面

一、适用场景 1、家有老人行动不便时&#xff0c;远离家乡的你&#xff0c;是否想了解一下老人的现状态&#xff08;如&#xff1a;老人是否摔倒爬不起来、是否遇到救助无人的环境&#xff09;。 2、天气炎热或寒冷的情况下&#xff0c;离出租房较远&#xff0c;身为出租房老板…

BU01板卡引脚

概述 BU01 是一款高速采集卡&#xff0c;主要用于高带宽数据采集及传输&#xff0c;应用领域多为数据中 心及数据采集领域。 端口提供60Gbps 传输带宽&#xff0c;可兼容2 个SFP万兆网口&#xff0c;和1 个40GE QSFP 光 口。和主机通信采用的是PCIE 2.0 x8 模式&#xff0c;最…

2024-5-29 石群电路-17

2024-5-29&#xff0c;星期三&#xff0c;17:26&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴.今天又是阳光明媚的一天&#xff0c;没有什么特别的事情发生&#xff0c;给女朋友做了好吃的&#xff0c;吃了西瓜&#xff0c;加油学习&#xff0c;嘻嘻嘻~~~~ 今…

【CALayer-时钟练习-旋转 Objective-C语言】

一、好,接下来呢,我们要让它旋转出来, 1.让它先旋转起来啊,这根秒针,让它先转着, 把之前的代码复制粘贴一份,改个名字,叫:07-时钟练习(旋转) 旋转的话,我现在应该让它,一秒钟,旋转一次,一秒钟,旋转一次, 那么,这个时候,我们应该怎么样去做, 我现在这个是…

打造云计算时代的仿真软件

2024年5月25日&#xff0c;北京云道智造科技有限公司&#xff08;下称“云道智造”&#xff09;在深圳成功举办了2024新品发布会暨用户大会。来自全国各地的近500位客户和合作伙伴代表齐聚一堂&#xff0c;共同见证了云道智造新产品的隆重发布&#xff0c;交流分享了仿真领域的…

深入理解哈希加密:md5在保护用户数据中的应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、md5加密方法简介 二、md5加密方法的实现 示例代码&#xff1a; 三、md5加密方法在实际…

母亲的爱与妻子的爱,同为“爱“。不同感受!

母亲的爱与妻子的爱&#xff0c;虽然都是一个女人给予男人的爱&#xff0c;却有着本质的不同&#xff01; 天下父母对儿女的爱大多相同。在母亲眼中&#xff0c;儿女无论是多大年龄&#xff0c;无论你是否长大成人&#xff0c;也无论你做多大的官&#xff0c;有多么大的成就&am…

【ai】livekit服务本地开发模式2:模拟1个发布者

是一个会议用软件:LiveKit is an open source project that provides scalable, multi-user conferencing based on WebRTC. It’s designed to provide everything you need to build real-time video audio data capabilities in your applications.LiveKit’s server is wr…

现场辩论赛活动策划方案

活动目的&#xff1a; 技能竞赛中的辩论环节既可以考核员工的知识点&#xff0c;同时也可以考核员工业务办事能力&#xff0c;表达能力&#xff0c;是一种比较全面且较有深度的竞赛方式。 辩论赛细则&#xff1a; 1、时间提示 : 自由辩论阶段&#xff0c;每方使用时间剩…

【2024.5.29数据库MYSQL史上最详细基础学习汇总】

初识数据库 什么是数据库: DB的全称是database,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作; 什么是关系型数据库(SQL)? 关系型数据库是依据关系模型来创建的…

低代码开发难吗?

在软件开发的多样化浪潮中&#xff0c;低代码开发平台以其简化的编程模型&#xff0c;为IT行业带来了新的活力。作为一位资深的IT技术员&#xff0c;我对低代码开发平台的易用性和强大功能有着深刻的认识。今天&#xff0c;我将分享我对YDUIbuilder这一免费开源低代码平台的使用…

超结MOS在全桥电路上的应用-REASUNOS瑞森半导体

一、前言 全桥电路定义 全桥电路是一种常见的电子电路&#xff0c;由四个开关管和一个负载组成&#xff0c;可将直流电转换为交流电。 全桥电路的应用领域 全桥电路广泛应用于电力电子领域&#xff0c;如开关电源、变频器、逆变器、电动汽车、工业自动化等领域 。在电路中&…

JetLinks物联网平台在windows 7搭建(前后端)部署教程

近期对接TCP、modbusTCP等自定义解析&#xff0c;做了很多万能解析的方法&#xff0c;却都不遂人意&#xff0c;而一直在用的ThingsBoard不能直接对接TCP透传(企业版除外)&#xff0c;需要在外围做一些自定义解析&#xff0c;然后转json再mqtt上传&#xff0c;感觉来说比较麻烦…