1、RestNet网络

1.1、RestNet网络结构

ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名,因为它“简单与实用”并存,之后很多方法都建立在ResNet50或者ResNet101的基础上完成的,检测,分割,识别等领域里得到广泛的应用。它使用了一种连接方式叫做“shortcut connection”,顾名思义,shortcut就是“抄近道”的意思,下面是这个resnet的网络结构:

它对每层的输入做一个reference(X), 学习形成残差函数, 而不是学习一些没有reference(X)的函数。这种残差函数更容易优化,能使网络层数大大加深。在上图的残差块中它有二层,如下表达式,

其中σ代表非线性函数ReLU。

然后通过一个shortcut,和第2个ReLU,获得输出y。

当需要对输入和输出维数进行变化时(如改变通道数目),可以在shortcut时对x做一个线性变换Ws,如下式。

然而实验证明x已经足够了,不需要再搞个维度变换,除非需求是某个特定维度的输出,如是将通道数翻倍,如下图所示:

由上图,我们可以清楚的看到“实线”和“虚线”两种连接方式, 实线的Connection部分 (第一个粉色矩形和第三个粉色矩形) 都是执行3x3x64的卷积,他们的channel个数一致,所以采用计算方式:

Y = F(x) + x,虚线的Connection部分 (第一个绿色矩形和第三个绿色矩形) 分别是3x3x64和3x3x128的卷积操作,他们的channel个数不同(64和128),所以采用计算方式: y=F(x)+Wx 。其中W是卷积操作,用来调整x的channel维度。

在计算机视觉里,网络的深度是实现网络好的效果的重要因素,输入特征的“等级”随增网络深度的加深而变高。然而在网络深度不断加深的情况下,梯度弥散/爆炸成为训练深层次的网络的障碍,导致导致网络无法收敛。虽然,归一初始化,各层输入归一化,使得可以收敛的网络的深度提升为原来的十倍。虽然网络收敛了,但网络却开始退化 (增加网络层数却导致更大的误差), 如下图所示:

由上图可知,在一个浅层网络的基础上叠加y=x的层(称identity mappings,恒等映射),可以让网络随深度增加而不退化。这反映了多层非线性网络无法逼近恒等映射网络。

但是,在深度学习中我们希望有更好性能的网络,而网络不退化则不是我们的目的。 在 RestNet网络中学习的残差函数是F(x) = H(x) - x, 这里如果F(x) = 0, 那么就是上面提到的恒等映射(H(x) = x)。事实上,RestNet是“shortcut connections”的在connections是在恒等映射下的特殊情况,它没有引入额外的参数和计算的复杂度。 假如优化目标函数是逼近一个恒等映射, 而不是0映射(F(x) = 0)或者说恒等映射,那么学习找到对恒等映射的扰动会比重新学习一个映射函数要容易。

1.2、残差块的两种结构

这是文章里面的图,我们可以看到一个“弯弯的弧线“这个就是所谓的”shortcut connection“,也是文中提到identity mapping,这张图也诠释了ResNet的真谛,当然大家可以放心,真正在使用的ResNet模块并不是这么单一,文章中就提出了两种方式:

1.3、ResNet50和ResNet101简单讲解

这里把ResNet50和ResNet101特别提出,主要因为它们的使用率很高,所以需要做特别的说明。给出了它们具体的结构:

上表是Resnet不同的结构,上表一共提出了5中深度的ResNet,分别是18,34,50,101和152,首先看表的最左侧,我们发现所有的网络都分成5部分,分别是:conv1,conv2_x,conv3_x,conv4_x,conv5_x,之后的其他论文也会专门用这个称呼指代ResNet50或者101的每部分。 例如:101-layer那列,101-layer指的是101层网络,首先有个输入7x7x64的卷积,然后经过3 + 4 + 23 + 3 = 33个building block,每个block为3层,所以有33 x 3 = 99层,最后有个fc层(用于分类),所以1 + 99 + 1 = 101层,确实有101层网络; 注:101层网络仅仅指卷积或者全连接层,而激活层或者Pooling层并没有计算在内;我们关注50-layer和101-layer这两列,可以发现,它们唯一的不同在于conv4_x,ResNet50有6个block,而ResNet101有23个block,两者之间差了17个block,也就是17 x 3 = 51层。

私信我:“学习”,可免费领取更多相关学习资料 (免费的哦)。

resnet网络结构_ResNet网络详细解析(超详细哦)相关推荐

  1. 2022年全国职业院校技能大赛中职组网络安全竞赛——隐写术应用解析(超详细)

    2022年全国职业院校技能大赛中职组网络安全竞赛--隐写术应用解析(超详细) B-8任务八:隐写术应用 *任务说明:仅能获取Server8的IP地址 环境需求私信博主 1.找出文件夹1中的文件,将文件 ...

  2. 区间DP解析超详细版!!街边老奶奶也喜欢看的好博客

    区间DP解析超详细版!! 文章目录 区间DP解析超详细版!! 1. 概念入门 2. 线性石子归并 3. 环形石子归并 4. 奇怪的题题目目 5. 区间DP的优化 附录 在上章 背包 (<-点击传 ...

  3. svn安装教程 mysql_CentOS6.4 下安装SVN的详细教程(超详细)

    1.检查系统是否已经安装如果安装就卸载 rpm -qa subversion yum remove subversion 2.安装 yum install subversion 3.建立SVN库 mk ...

  4. Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功)

    Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功) 文章目录 Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功) 1.上传或者下载mysql安装包 2.检查是否 ...

  5. MP3文件结构解析(超详细)

    1. MP3文件结构解析 1.1. 概述 1.1.1. 音频相关术语 ID3: 一般位于一个mp3文件的开头或末尾的若干字节内,记录该mp3文件的歌手.标题.专辑名称.年代.风格等信息,ID3分位两个 ...

  6. mqtt报文解析—超详细

    文章目录 一.报文结构 二.固定报头 三.剩余长度 四.mqtt控制报文 Ⅰ.CONNECT 1.固定报头 2. 可变报头 2.1.协议名 2.2.协议级别 2.3.连接标志 2.4 保持连接 2.5 ...

  7. 家用宽带公网ipv4/ipv6搭建服务(常见两种网络模式)超详细

    静态内网IP,动态内网IP,公网IP,DNS,DHCP,DMZ,UPNP,路由,桥接,DDNS (一)目的与概念介绍 目的: 将局域网内的一台主机的服务共享到公网(互联网)上被访问,提供服务. 前提: ...

  8. 【嵌入式实战】STM32+Lwip 实现 SNTP 网络授时(超详细)

    文章目录 原创声明 前言 一.SNTP 是什么? 二.Cube 快速配置 2.1 STM32 ETH 设置 2.2 修改 PHY 地址 2.3 LWIP SNTP 配置 2.4 开启 STM32 RT ...

  9. VMware虚拟机网络设置(超详细,必看)

    一.centors网络配置说明 虚拟机网络配置有三种模式:Brigded桥接模式.NAT模式.Host-only模式 1.Bridge桥接模式: 默认使用Vmnet0,不提供DHCP服务 虚拟机与外部 ...

最新文章

  1. 在redhat9中交叉编译nano-X nxlib和fltk
  2. 推荐一篇讲解各种debug技术的文章,相当不错!
  3. New to My Oracle Support?
  4. python 发邮件 动态html_python 邮件发送html文件
  5. UIKit框架-高级控件Swift版本: 6.UIAlertView方法/属性详解
  6. 体验VMware View HTML Access
  7. python飞机大战源码素材包_Python飞机大战实战项目案例
  8. 傅里叶变换与时域频域关系
  9. 微信小程序UI设计规范及文档模版
  10. ArcGIS的mxd文档存储为相对路径
  11. 自动生成 : Java方法 toString(); hashCode(); equals(); compareTo()的方法 避免繁杂的体力活
  12. 大学计算机专业课程体系
  13. We Are A Team
  14. (译)ABP之Entities
  15. 最近企业上云是大趋势,那简单说说什么是企业上云?该如何上云?
  16. rviz一些无法正常显示的问题
  17. 1.dom4j 解析xml
  18. 机器人运动估计——IMU运动方程与ESKF原理介绍(上)
  19. 【C语言】模拟简单的《掘地求生Getting Over It》(源码)
  20. 无皇刀谭 · 异邦人

热门文章

  1. 三种model 在lfw 上的精度
  2. 2014年0417的工作计划
  3. 2014年5月30日
  4. 安装Python-2.5.2,并修改默认python版本
  5. 3d激光雷达开发(入门)
  6. 搜索引擎的那些事(32位MD5算法)
  7. mysql盲注ascii_[翻译]关于通过对8bit的ascii做右位移提高mysql盲注效率
  8. mysql获取当月数据_Python + MySQL如何获取股票数据(历史数据)
  9. 接口调用导致阻塞_RocketMQ与Dubbo之间线程之间如何阻塞和唤醒
  10. 软件测试之python面试题_常见Python面试题整理带答案