位置: IT常识 - 正文

残差网络(Residual Network,ResNet)原理与结构概述(残差网络中的残差指的是什么)

编辑:rootadmin
残差网络(Residual Network,ResNet)原理与结构概述

推荐整理分享残差网络(Residual Network,ResNet)原理与结构概述(残差网络中的残差指的是什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:残差网络结构,残差网络的原理,残差网络层数,残差网络层数,残差网络的原理,残差网络的原理,残差网络中的残差指的是什么,残差网络中的残差指的是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

  残差网络是为了解决模型层数增加时出现梯度消失或梯度爆炸的问题而出现的。传统的神经网络中,尤其是图像处理方面,往往使用非常多的卷积层、池化层等,每一层都是从前一层提取特征,所以随着层数增加一般会出现退化等问题。残差网络采取跳跃连接的方法避免了深层神经网络带来的一系列问题。

一:对模型原理与优点的理解

  首先,我们把网络层看成是映射函数。(1)在传统的前馈网络中,网络中堆叠的层可以将输入x映射为F(x),这一整体网络的输出为H(x),F(x)=H(x)。但是对于恒等映射函数f(x)=x,即网络的输入与输出相等,直接让这样的层去拟合这样的恒等映射函数会很困难,不过f(x)=0还是比较容易训练拟合的。(2)所以我们可以让输出H(x)=F(x)+x,这样如果整体网络H(x)需要是恒等映射,只需要把堆叠层拟合成F(x)=0即可。

  从另一角度考虑,在以往的网络中,都试图通过堆叠不同的层找到可将输入x映射为输出H(x)的函数,而残差网络的目的并不是学习x到H(x)的映射,而是x与H(x)的不同,这也正是“残差”一词名称由来。残差F(x)=H(x)-x,所以我们尝试学习F(x)+x,而不是像(1)直接学习H(x)。(这样解释或许有些牵强,但事实的确如此。)

  当然,还有一种说法是拟合H(x)-x与(1)中那样直接拟合F(x)相比更简单,这和开始部分提到的恒等映射函数不好优化这种说法是一致的。

  对于模型优点原理的各种解释并不是模型的重心,毕竟这些解释建立在实验事实之上,如果这样的模型并不理想,一切解释都是徒劳的,不过这些内容有助于我们对这一类网络的构想过程的理解。

二:模型结构

  ResNet的种类是很多的,如ResNet-18,ResNet-34,ResNet-50,ResNet-101,ResNet152等。但是它们的基本结构都是相同的——由多层相同的ResNet block重复堆叠而成。ResNet block特点是由若干层网络(这里表示为Layers)组成,输出为网络的输出与输入的加和。

残差网络(Residual Network,ResNet)原理与结构概述(残差网络中的残差指的是什么)

 上图表示一个ResNet block,下图为重复的结构。

 这里的加是两个张量相加。所以我们要保证x与layers后的输出形状相同,否则无法相加。这取决于Layers内部结构。在图像处理方面,常用的是采取卷积核为3,padding为1的两个卷积层处理,这样可以不改变张量形状。

  当然,理论上ResNet block只要保证输出形状与输入形状相同即可。所以我们可以根据实际需要以及卷积层、池化层等输出输入维度计算公式来设计ResNet block。但是一般ResNet block内部不会有太多结构,毕竟一般都是用它来实现深层网络,使用时一般会使用几个或数十个这样的block。

三:ResNet block的其它结构

  (二)中讲解的结构是最ResNet block中最基本的一种,即输入与输出直接相加。但实际的连接方式可以是多种多样的。在百度百科中介绍有以下六种,其中的a对应前面(二)。后面的五种虽然稍显复杂,但总体结构基本相同,最终也都是形状相同的张量相加。

三:关于跳跃连接(skip connection),残差连接(residual connection)与捷径连接(shoutcut connection)的一些问题

  这几个词在ResNet、Inception、DenseNet等文章中很常见。兔兔在前面只是说输入与输出相加,实际这个过程就是连接。有人说只要是模型内两个位置的连接即为跳跃连接,跳跃连接(skip connection)是很广泛的概念;残差连接(residual connection)是残差网络中的跳跃连接,也就是跳跃连接在残差网络中叫做残差连接(毕竟残差网络有一特点,所有的连接都是有规律的,是一块一块地连接)。而捷径连接(shortcut connection)可以理解为绕过中间的层去和后面输出连接,本质上体现的也是残差连接这个过程;也有人说捷径连接这个称呼可以理解为跳跃连接和残差连接最早定义,当时还是上个世纪,人工智能发展缓慢,人们使用这种连接主要用于全连接层网络;但是目前来看,这三种东西是用一个事物的不同称呼,只不过侧重点不同而已。

四:算法实现

如果直接使用ResNet模型,可以调用torchvision库。

from torchvision.models.resnet import resnet18resnet18=resnet18()print(resnet18)

上述代码可以查看模型内部结构,并且该模型可以直接进行训练,或者作为其它网络的一部分。

下面兔兔以(二)为例,简要地实现该部分,代码如下。

from torch import nnfrom torch.nn import functional as Fclass ResNetBlock(nn.Module): def __init__(self): super(ResNetBlock, self).__init__() self.conv1=nn.Conv2d(kernel_size=3,in_channels=4,out_channels=3,padding=1) self.conv2=nn.Conv2d(kernel_size=4,in_channels=3,out_channels=3,padding=1) self.bn1=nn.BatchNorm2d(4) self.bn2=nn.BatchNorm2d(3) def forward(self,input): x0=input x=F.relu(self.bn1(self.conv1(x0))) x=self.bn2(self.conv2(x)) x=x+x0 return x0class ResNet(nn.Module): def __init__(self,n_blocks): super(ResNet, self).__init__() self.n_blocks=n_blocks self.resnet_block=ResNetBlock() def forward(self,input): for i in range(self.n_blocks) x=self.resnet_block(input) input=x return input五:总结

  ResNet内部使用多个具有残差连接的残差块来解决梯度消失或梯度爆炸问题,并使得网络可以向更深层发展。

本文链接地址:https://www.jiuchutong.com/zhishi/299882.html 转载请保留说明!

上一篇:Vue知识点总结(vue知识点汇总)

下一篇:搭建Pytorch环境(pytorch的环境配置)

  • 华为nova9录屏在哪(华为nova录屏怎么录内部声音)

    华为nova9录屏在哪(华为nova录屏怎么录内部声音)

  • 苹果ac+服务的内容(iphone ac+服务的内容)

    苹果ac+服务的内容(iphone ac+服务的内容)

  • 华为nova7pro指纹解锁位置在哪(华为Nova7pro指纹校准指令)

    华为nova7pro指纹解锁位置在哪(华为Nova7pro指纹校准指令)

  • 抖音企业号和蓝v号有什么区别(抖音企业号怎么开通蓝v)

    抖音企业号和蓝v号有什么区别(抖音企业号怎么开通蓝v)

  • 在拼多多上买的东西质量有问题怎么办(在拼多多上买的鞋子质量有问题怎么办)

    在拼多多上买的东西质量有问题怎么办(在拼多多上买的鞋子质量有问题怎么办)

  • 小米7天无理由退货有什么要注意的么 (小米7天无理由退货有什么要注意的么?)

    小米7天无理由退货有什么要注意的么 (小米7天无理由退货有什么要注意的么?)

  • 京豆回收是什么意思(京东京豆收回)

    京豆回收是什么意思(京东京豆收回)

  • 华为手机下方的三个键在哪设置(华为手机下方的三角形正方形和圆形是什么)

    华为手机下方的三个键在哪设置(华为手机下方的三角形正方形和圆形是什么)

  • 数据线的四条线分别是(数据线的四条线分别是黄棕)

    数据线的四条线分别是(数据线的四条线分别是黄棕)

  • 独立显卡无信号输出(独立显卡无信号输出,怎么回事?)

    独立显卡无信号输出(独立显卡无信号输出,怎么回事?)

  • 苹果相机权限开启不了(苹果相机权限开启)

    苹果相机权限开启不了(苹果相机权限开启)

  • 华为双系统可以收到另一个系统的电话吗(华为双系统可以用一个微信吗)

    华为双系统可以收到另一个系统的电话吗(华为双系统可以用一个微信吗)

  • 电脑上的打印键在哪里(电脑上的打印键是哪两个)

    电脑上的打印键在哪里(电脑上的打印键是哪两个)

  • 台式计算机中cpu是指(台式计算机中经常使用的硬盘多是()英寸的)

    台式计算机中cpu是指(台式计算机中经常使用的硬盘多是()英寸的)

  • 如何把美篇下载到电脑里(美篇怎么下载到本地)

    如何把美篇下载到电脑里(美篇怎么下载到本地)

  • 相机模糊是什么原因(相机模糊是什么原因造成的)

    相机模糊是什么原因(相机模糊是什么原因造成的)

  • 电脑忘记密码了怎么开(电脑忘记密码了怎么办?不用u盘)

    电脑忘记密码了怎么开(电脑忘记密码了怎么办?不用u盘)

  • word表格怎么自动换行(word表格怎么自动计算总数)

    word表格怎么自动换行(word表格怎么自动计算总数)

  • 华为p30的特点在哪里(p30特点介绍)

    华为p30的特点在哪里(p30特点介绍)

  • 做近视眼手术是怎么样一种体验?

    做近视眼手术是怎么样一种体验?

  • 3D和平面设计有什么区别(平面设计和3d建模哪个好)

    3D和平面设计有什么区别(平面设计和3d建模哪个好)

  • 相互保可以保障多少(相互保可以保多久)

    相互保可以保障多少(相互保可以保多久)

  • Linux删除制定时间的文件的方法(linux 定时删除文件)

    Linux删除制定时间的文件的方法(linux 定时删除文件)

  • 过拟合解决(过拟合能不能从根本上解决)

    过拟合解决(过拟合能不能从根本上解决)

  • 如何确定关联方及关联关系
  • 车辆购置税怎么交网上缴费
  • 怎么免费用别人的网
  • 银行对账单放前面还是放后面
  • 更正个税申报需要做账吗
  • 以前年度调整后财务报表
  • 账面现金可以转出吗
  • 社保次月什么时候到账
  • 结转周转材料成本分录
  • 企业的车辆因违法停放
  • 银行捐款了吗
  • 库存商品结转成本的金额怎么计算
  • 远期转账支票怎么取钱
  • 哪些税种可以税前扣除
  • 会计审计合同
  • 公司增资需要什么
  • 上市公司非限售股股票转让收入
  • 应收出租包装物的租金计入
  • vnisedit 打包
  • 预付业务招待费会计分录
  • mac双系统切换键
  • Linux系统中怎么开机自动运行拍摄文件
  • 公益慈善事业捐赠个人所得税
  • 蟹爪兰的养殖方法和浇水
  • thinkphp invoke
  • 初品官网
  • 下列可以作为企业使命
  • 继承税遗产税新政策
  • 小规模纳税人的个人所得税怎么算
  • 世界上最贵的鼠标是用什么做的
  • 巨浪向我冲来改为拟人句
  • js编写一个标准的单例模式类
  • 无法支付的货款如何处理
  • 小型微利企业税收优惠2023
  • 企业购买财务软件算什么费用
  • 灵活就业养老保险退休后每月领多少钱
  • 数据库管理系统能对数据库中的数据进行查询
  • 图书发行员证书在哪里办理
  • 注册资本实缴后可以减资吗
  • 职工福利费的开支范围的规定扣除
  • 合并报表抵消分录
  • 综合所得申报怎么补报上个月的
  • 从合同有什么
  • mysql的my.ini配置
  • 删除mysql重复数据
  • 应收账款余额贷方
  • 企业计提固定资产折旧以什么假设为前提
  • 其他应付款科目贷方登记发生的各种应付
  • 发票冲红重新开具怎么做账务处理
  • 预收账款的借方余额反映的是
  • 营改增之前广告位出租
  • 应税劳务会计分录
  • 政府补贴是否交增值税
  • 应收账款的余额百分比
  • 税务会计应该设什么岗位
  • win7打开控制面板快捷键
  • mac死机按什么都没用
  • win10阻止可能不需要的应用吗
  • 磁贴for kwgt
  • windows8连wifi
  • mac safari浏览历史
  • linux磁盘分区表
  • win7数据保护
  • win7 64位旗舰版电脑鼠标如何才能设置成左手操作?设置鼠标为左手操作的方法
  • opengl纹理贴图正方体六个面
  • jquery可以实现哪些效果
  • 常用批处理命令大全
  • 计算机网络设计
  • cocos2dx创建项目
  • css样式表规则由什么组成
  • elementui基于vue
  • android的消息机制
  • jquery设置滚动条
  • javascript src
  • js缩小图片尺寸
  • 广东省国家税务总局稽查局局长
  • 企业欠税交不起怎么办
  • 阿勒泰捡石头的地方在哪里
  • 世界近代史的改革有哪些
  • 专用发票章盖在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设