位置: 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的环境配置)

  • 自媒体推广投放新趋势(自媒体投放是什么意思)

    自媒体推广投放新趋势(自媒体投放是什么意思)

  • 华为平板手写笔防误触设置在哪里(华为平板手写笔套装有什么)

    华为平板手写笔防误触设置在哪里(华为平板手写笔套装有什么)

  • win10玩游戏shift冲突

    win10玩游戏shift冲突

  • w7重装系统黑屏怎么办(win7重装系统黑屏进不去系统)

    w7重装系统黑屏怎么办(win7重装系统黑屏进不去系统)

  • 空间相册动态删不掉(空间动态删不掉)

    空间相册动态删不掉(空间动态删不掉)

  • 手机号导入快递什么意思(手机号导入快递怎么查)

    手机号导入快递什么意思(手机号导入快递怎么查)

  • 华为手机应用锁在哪里设置(华为手机应用锁怎么设置每次进入都要密码)

    华为手机应用锁在哪里设置(华为手机应用锁怎么设置每次进入都要密码)

  • 淘宝拒收后多久钱退回来(淘宝拒收后多久能退款)

    淘宝拒收后多久钱退回来(淘宝拒收后多久能退款)

  • 苹果11pro像素多少(苹果11pro手机像素是多少)

    苹果11pro像素多少(苹果11pro手机像素是多少)

  • 华为d14和14有什么区别(华为14跟d14区别)

    华为d14和14有什么区别(华为14跟d14区别)

  • e的x次方怎么打出来(e的x次方怎么打出来手机)

    e的x次方怎么打出来(e的x次方怎么打出来手机)

  • 京东备件库是什么意思(京东备件库是什么为什么便宜)

    京东备件库是什么意思(京东备件库是什么为什么便宜)

  • 内存诊断工具是干嘛的(内存诊断工具是什么)

    内存诊断工具是干嘛的(内存诊断工具是什么)

  • 淘宝新店怎么运营(淘宝新店怎么运行)

    淘宝新店怎么运营(淘宝新店怎么运行)

  • 双变频和单变频的区别(双变频和单变频的冰箱)

    双变频和单变频的区别(双变频和单变频的冰箱)

  • oppoa11的nfc在哪里打开(oppoa11nfc功能在哪里)

    oppoa11的nfc在哪里打开(oppoa11nfc功能在哪里)

  • 苹果m开头是哪里产的(iphone m开头)

    苹果m开头是哪里产的(iphone m开头)

  • 微信封了好友知道吗(微信封了好友还能看到朋友圈吗)

    微信封了好友知道吗(微信封了好友还能看到朋友圈吗)

  • 华为广角镜头怎样打开(华为广角镜头怎么开mate40)

    华为广角镜头怎样打开(华为广角镜头怎么开mate40)

  • 电脑被远程控制怎么解除(电脑被远程控制了可以看到记录吗)

    电脑被远程控制怎么解除(电脑被远程控制了可以看到记录吗)

  • 华为mate30pro几时上市(华为mate30pro多久会降价)

    华为mate30pro几时上市(华为mate30pro多久会降价)

  • 云通知验证码是干嘛的(云通知发来验证码什么问题)

    云通知验证码是干嘛的(云通知发来验证码什么问题)

  • 电话嘟很久显示用户忙(电话嘟很久显示无人接听为啥)

    电话嘟很久显示用户忙(电话嘟很久显示无人接听为啥)

  • 栈的特点(51单片机堆栈的特点)

    栈的特点(51单片机堆栈的特点)

  • 磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单(新的磁贴)

    磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单(新的磁贴)

  • 从奎雷英山口看到的 Leum na Luirginn湖和Cleat湖,英国斯凯岛 (© Sebastian Wasek/Sime/eStock Photo)

    从奎雷英山口看到的 Leum na Luirginn湖和Cleat湖,英国斯凯岛 (© Sebastian Wasek/Sime/eStock Photo)

  • 唐山发生5.1级地震 地震相关英文表达(唐山发生5.1级地震)

    唐山发生5.1级地震 地震相关英文表达(唐山发生5.1级地震)

  • 织梦免登录自动登录实现方法(织梦网站停止使用了还侵权吗)

    织梦免登录自动登录实现方法(织梦网站停止使用了还侵权吗)

  • 税控盘开票软件访问数据库错误
  • 报税申报不了
  • 生产税净额计算实例
  • 增值税发票的抵扣联丢了怎么办
  • 财务费用和应付利息的关系
  • 个人平均缴费基数
  • 记账凭证和通用凭证一样
  • 营业外收入包括其他业务收入吗
  • 低值易耗品明细账范本
  • 公共电话亭的话费收入如何做税务处理呢?
  • 通行费电子增值税怎么算
  • 外购技术服务费包括哪些
  • 销售产生的磅差入什么科目?
  • 个人账户可以转公户吗?
  • 增值税电子发票怎么开具流程
  • 租赁合同印花税双方都要交吗
  • 增值税普通发票申报
  • 业务招待费扣除计算举例说明
  • 退税入其他收益需要再缴税吗
  • 技术转让所得减半征收企业所得税
  • 票据质押后如何行使质权
  • 收到退回的土地使用税分录怎么做
  • 如何做预估成本
  • 高新技术企业所得税优惠政策最新2022
  • rmb转
  • 电脑取消共享文件夹
  • 购买免税农产品可以抵扣进项税
  • 个人住房5年后买卖如何交税?
  • 企业备用金管理制度规定
  • 土建基础是什么意思
  • 目标检测如何入门
  • 企业借给个人钱合法吗
  • 圣诞精灵什么意思
  • 高通 adc
  • vue实现返回顶部
  • 工作服列支什么科目
  • 不是吧阿sir表情包
  • chat怎么用
  • 已认证的发票
  • 网上银行回单可以做账吗
  • 无票收入怎么做
  • python分割语句
  • 取得发票没有加税怎么办
  • 试用产品的账务处理分录
  • 专利年费的滞纳金怎么做账
  • 淘宝电子发票怎么申请
  • 招标押金有规定吗
  • 增值税留抵有时间限制吗
  • 应交税费主要有什么税
  • 车辆通行费
  • 企业固定电话费收费标准
  • 补交增值税和滞纳金怎么入账
  • 公益性捐赠会计利润总额计算方法
  • 日常生活中常见的气质类型包括
  • 没有销售怎么写总结
  • 个体工商户纳税申抿
  • 数据库句柄是什么意思
  • mysql根据时间查询最新一条数据
  • win8系统没有无线网络连接
  • 笔记本隐藏功能
  • winxp如何删除网卡驱动
  • linux如何使用gcc编程
  • 如何让win8系统变快
  • onekey.exe是什么
  • win7共享文件夹设置访问权限
  • 置顶朋友圈怎么设置
  • opengl英文
  • node文件目录
  • perl pi
  • jquery模拟表单提交
  • js入门基础教程
  • java 视频教程
  • python图片验证码输入错误不能点登陆
  • 税控盘忘记抄报罚多少
  • 技术咨询服务费税率
  • ppr管材税收编码
  • 期间费用如何分摊到成本中
  • 潍坊市的职工医保多少钱
  • 国家税务总局全国增值税查验平台
  • 江苏电子税务局网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设