ResNet网络结构

2023-10-30

1.网络解决的问题

当更深的网络能够开始收敛时,一个退化问题就暴露出来了。随着网络深度的增加,精度达到饱和,然后开始退化。出乎意料的是,这种退化不是由过拟合引起的,向适当深度的模型中添加更多的层会导致更高的训练误差。经典网络的缺陷用以下图来解释:

图1.不同深度的网络训练与测试错误率对比

由上图不难看出,此模型56层的训练错误率和测试错误率都要高于20层的模型。由此可见,当模型的深度达到一定程度时会出现退化问题,即深模型的效果比浅模型的效果变差。
ResNet网络就是来解决网络退化的问题,通过在网络架构多加入一条恒等映射,经过一次卷积,如果效果变差,则保持权重参数不变,相当于并没有做此次卷积。这样的话,就保证了神经网络不会随着网络层数的增加反而效果变差,也就阻止了模型退化的问题。对不同深度的深度残差网络的效果比较如下图所示:

图2不同深度.ResNet与普通网络对比

上图为不同深度的ResNet网络和普通网络的训练效果的对比图,图中细曲线代表训练误差,粗曲线代表验证误差,由上图可知,对于普通的网络来说存在着较浅网络的训练效果比较深网络好的情况,但对于ResNet网络来说,不存在这一情况。问题由此解决。

2.ResNet内部原理

本论文提出了深度残差网络这一模型,深度残差网络使用了一种连接方式叫做“shortcut connection”,顾名思义,shortcut就是“抄近道”的意思,下面是这个ResNet的网络结构:

图3.残差块

上图就是ResNet内部的一个残差块,深度残差网络由多个残差块构成,此残差块和一般的卷积神经网络模块相比多了X的恒等映射,加入此恒等映射的目的是为了比较加入两个卷积层之后的训练效果与加入卷积层之前的训练效果。也就是说如果模型在加入卷积层之前的训练效果已经足够好了,而加入卷积层后反而使模型的效果变差,那么我们便会使用原模型的输出结果作为整个模型的输出结果。
真正使用的ResNet残差块并不是单一的,下面就是两种ResNet中最常用的残差块:

图5.ResNet不同的残差块

上图的ResNet结构分别对应于34层的ResNet网络与50/101/152层的ResNet网络。左边的残差块结构比较简单,右边的残差块首先会对输入利用1x1卷积进行降维,然后再利用1x1的卷积进行升维。随着网络层数的增加,参数的数量会随之增加,为了考虑计算成本,较高层数的ResNet使用右边的残差块来对模型进行优化。我们可以算一下上图中的两个残差块引入参数的数量。当我们使用右边残差块时,引入的参数数量为:1x1x64x256+3x3x64x64+1x1x256x64=69632应注意到左右残差块输入特征图的个数不同,当左边输入特征图为256维时,当我们应用左边残差块引入参数的数量为:3x3x256x256+3x3x256x256=1179648,由此可见右边残差快可以极大的减少模型中参数的数量,因此拥有较高深度的ResNet模型都是使用右边残差块结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ResNet网络结构 的相关文章

  • 【C语言】结构体的大小是如何计算的?(结构体对齐)

    目录 一 使用sizeof计算结构体的大小 二 影响结构体大小的因素 1 结构体成员的类型 2 结构体成员的对齐方式 3 结构体成员的顺序 三 利用结构体对齐规律计算结构体大小 1 结构体的对齐规则 2 结构体对齐的原因 1 gt 平台原因
  • 使用元学习来进行少样本图像分类

    点击上方 AI公园 关注公众号 选择加 星标 或 置顶 作者 Etienne 编译 ronghuaiyang 导读 你并不总是有足够的图像来训练一个深度神经网络 下面是教你如何通过几个样本让模型快速学习的方法 你并不总是有足够的图像来训练一
  • Mac实践--MAC搭建FTP服务器

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Mac os 搭建FTP SFTP服务器 由于mac拥有自带的FTP工具 因此其实不需要借助其他工具 搭建更加方便 如果你访问过较新版本的Mac OS X中的 共享首选项
  • rockchip-rockxxdemo编译说明

    bin bash ARM编译器路径 20210708 1 修改为安装好路径 2 也可以修改为rv1126本身安装的编译器路径 GCC COMPILER PATH opts gcc arm 8 3 2019 03 x86 64 arm lin

随机推荐

  • Java Map和Set

    1 Map Map是一个接口 该类没有继承自Collection 该类中存储的是
  • 【OSS】阿里云对象存储OSS入门使用 JAVA SDK上传与下载 简单测试案例

    本文包括阿里云对象存储OSS入门使用 上传与下载以及简单测试案例的实现 首先 在阿里云中找到对象存储OSS 点击侧边栏的Bucket列表 创建Bucket列表 根据需求选择配置 创建完成后 点击进入查看概览 找到对应的Endpoint 在后
  • 【Python】JSON模块的使用

    JSON的基本使用 1 内置库 不需要额外安装 json模块是python内置的库 不需要额外安装就可以导入运行 json模块的主要功能是将序列化数据从文件里读取出来或者存入文件 四个函数 json模块的操作使用相对较为简单 该模块只有四个
  • vue3+ts极简教程

    一 依次执行以下四步 即可极速创建项目 跟着敲一次 你会放下2 x 1 npm init vitejs app my vite vue 2 cd my vite vue 3 npm install 4 npm run dev 二 通过两种不
  • 自定义控件——轮播图 ImageCycleView

    1 ImageCycleView Android 轮播图菜单 Huzz 出品 主要是对图片的循环播放 默认播放时间3秒 可以点击控制播放 添加JAR包 android smart image view 1 0 0 jar包 1 自定义类 i
  • 高校排课的数学模型

    一 高校排课面临的主要问题 1 1问题的提出 课程表问题又称时间表问题 课表编排是一个多指标的优化决策冋题 是组合规划中的典型问题 课程表的编排就是解决对时间和空间资源争夺而引起的冲突 20世纪60年代末 国外就有人开始研究课表编排问题 1
  • 黄金矿工—小游戏

    黄金矿工 使用easy x图形库制作 一 游戏思路 游戏的核心是如何让钩子动起来 怎么伸缩 怎么抓物品3个部分 1 钩子的转动 钩子的转动可以根据角度的变化来决定 我们让起始坐标不变 让钩子的结尾坐标变化 在限定角度的范围即可 求结尾坐标思
  • shap 模型_使用shap loss值调试监控模型

    shap 模型 Responsible AI has been a very hot topic in recent years Accountability and explainability now become the necess
  • 普通二叉树转换成二叉查找树方法

    d 转载于 https www cnblogs com sdnyzhl archive 2012 12 05 2803457 html
  • VMware虚拟机中安装Ubuntu18.04(linux发行版)【超详细图文教程】

    文章目录 零 前言 一 虚拟机VMware的下载与安装 1 0 简介 1 1 VMware的下载 1 2 VMware安装过程 二 在虚拟机中安装Ubuntu18 04 2 1 Ubuntu18 04镜像文件下载 2 2 在VMware中创
  • 【数据分析】如何构建指标体系 & 设计一份优质报表

    如何构建指标体系 设计一份优质报表 1 构建指标体系 1 数据人员如何创造价值 基于历史数据和业务背景构建指标体系或者模型 基于指标体系 监控线上业务数据并制定相应的监控规则 输出数据分析报告或者提供可执行策略 推动业务的发展 2 要构建一
  • 模拟搭建日志收集系统

    Hadoop 模拟搭建日志收集系统 一 技术点梳理 二 任务 2 1 调通单机版的thrift python版本 2 1 1 安装thrift 2 1 2 定义client和server通信的接口 2 1 3 根据接口 scheme 生成p
  • 在CXXLD libwebkitgtk-1.0.la时候发生 ld terminated with signal 9 [Killed]错误

    当时内存几乎用完了 发生这个错误是因为内存不够 编译不过来 系统是ubuntu 11 04 2G的物理内存不够 swap分区是1G CXXLD libwebkitgtk 1 0 la collect2 ld terminated with
  • 最全的搜索引擎登录入口(SEO必备)

    百度搜索网站登录口 http www baidu com search url submit html 百度单个网页提交入口 http zhanzhang baidu com sitesubmit 360搜索引擎登录入口 http info
  • sql查询中的包含【被包含】、模糊查询

    在mysql中提供了like的关键词可用于模糊查询 也可理解为某些指定字段包含在表中的的查询 select count from mysqlb client where name like 庆农 可查询出在name字段下所有包含 庆农 字样
  • maven怎么引入jdom_Maven环境配置

    1 Android Maven Plugin 参考网站 3 解压放到你想放的位置 例如 D Maven 目录 4 配置环境变量 MAVEN HOME D Maven 把MAVEN HOME加入到PATH中 MAVEN HOME bin 5
  • Unity 3D-learning 简单打飞碟游戏

    一 编写一个简单的打飞碟游戏 游戏内容要求 游戏有 n 个 round 每个 round 都包括10 次 trial 每个 trial 的飞碟的色彩 大小 发射位置 速度 角度 同时出现的个数都可能不同 它们由该 round 的 ruler
  • js多方框输入密码_简单JS代码实现输入密码访问页面

    一段js代码让你的网页拥有密码功能 访问页面必须输入密码才能正常浏览 分享三种JS代码 放在和中间即可 第一种 function password var testV 1 var pass1 prompt 请输入密码 while testV
  • 软件调试的艺术(Linux Unix平台软件调试权威著作)

    c 作 者 美 Norman Matloff Peter Jay Salzman 同作者作品 作译者介绍 译 者 张云 同译者作品 丛 书 名 图灵程序设计丛书 出 版 社 人民邮电出版社 书 号 9787115213969 上架时间 20
  • ResNet网络结构

    1 网络解决的问题 当更深的网络能够开始收敛时 一个退化问题就暴露出来了 随着网络深度的增加 精度达到饱和 然后开始退化 出乎意料的是 这种退化不是由过拟合引起的 向适当深度的模型中添加更多的层会导致更高的训练误差 经典网络的缺陷用以下图来