1.8.4 卷积神经网络近年来在结构设计上的主要发展和变迁——Inception-v2 和Inception-v3

news2024/12/23 14:21:10

1.8.4 卷积神经网络近年来在结构设计上的主要发展和变迁——Inception-v2 和Inception-v3

前情回顾:

1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet

1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/inception-v1

lnception-v2/v3 是在同一篇论文里提出的。

论文:Rethinking the inception architecture for computer vision

提出了4点关于网络结构设计的准则。

  • 避免表达瓶颈(representational bottleneck),尤其是在网络的前几层。具体来说,将整个网络看作由输入到输出的信息流,我们需要尽量让网络从前到后各个层的信息表征能力逐渐降低,而不能突然剧烈下降或是在中间某些节点出现瓶颈。
  • 特征图通道越多,能表达的解耦信息就越多,从而更容易进行局部处理,最终加速网络的训练过程
  • 如果要在特征图上做空间域的聚合操作(如3×3卷积),可以在此之前先对特征图的通道进行压缩,这通常不会导致表达能力的损失
  • 限定总计算量的情况下,网络结构在深度和宽度上需要平衡

文中采用了与VGGNet类似的卷积分解的思路,将5×5卷积核分解为两个3×3卷积核

或者更一般地,将 (2k+1)(2k+1) 卷积核分解为k个3×3卷积核

此外,文中还提出了另一种卷积分解思路:将k×k卷积分解为1×k卷积与k×1卷积的串联

当然也可以进一步将1×k卷积和k×1卷积的组织方式由串联改成并联

在这里插入图片描述

图1.12展示了各版本Inception模块的结构示意图,

  • 图1.12(a)是Inception-v1中使用的原始Inception模块;

  • 图1.12(b)、图1.12©、图1.12(d)是Inception-v2/v3中使用的、经过卷积分解的Inception模块,

    • 图1.12(b):Inception-A(将大卷积核分解为小卷积核
    • 图1.12©:Inception-B(串联1×k和k×1卷积)
    • 图1.12(d):Inception-C(并联1×k和k×1卷积)

在这里插入图片描述

为了缓解单纯使用池化层进行下采样带来的表达瓶颈问题,文中还提出了一种下采样模块:在原始Inception模块的基础上略微修改,并将每条支路最后一层的步长改为2,如图1.13所示。

此外,论文中尝试给从网络中间层拉出的辅助分类器的全连接层加上批归一化和Dropout,实验表明这能**提升最终的分类效果。**同时,文中还将输入图片尺寸由 224×224 扩大为 299×299 。

最终,Inception-v3在ImageNet 2012数据集的图像分类任务上,单模型能使Top-5错误率降到4.20%;如果采用标签平滑、多模型集成等辅助训练措施,则能进一步将错误率降至3.50%,具体参见该论文中的讨论。

Inception-v2 与Inception-v3 的具体区别?

  • 有人认为 Inception-v2是Inception-v3在不使用辅助训练措施下的版本

  • 也有人根据Google的示例代码认为Inception-v2仅为Inception-v1加上批归一化并使用Inception-A模块的简单改进版本,这里我们不再具体细分。

参考文献:

《百面深度学习》 诸葛越 江云胜主编

出版社:人民邮电出版社(北京)

ISBN:978-7-115-53097-4

2020年7月第1版(2020年7月北京第二次印刷)

推荐阅读:

//好用小工具↓

分享一个免费的chat工具

分享一个好用的读论文的网站

// 深度学习经典网络↓

LeNet网络(1989年提出,1998年改进)

AlexNet网络(2012年提出)

VGGNet网络(2014年提出)

LeNet、AlexNet、VGGNet总结

GoogLeNet网络(2014年提出)

ResNet网络(2015年提出)

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

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

相关文章

Flask Python Flask-SQLAlchemy中数据库的数据类型、flask中数据可的列约束配置

Flask Python Flask-SQLAlchemy中数据库的数据类型、flask中数据可的列约束配置 SQLAlchemy官方文档地址实战的代码分享数据类型列约束配置自定义方法 SQLAlchemy官方文档地址 SQLAlchemy官方文档地址 实战的代码分享 Flask-SQLAlchemy框架为创建数据库的实例提供了一个基类…

【计算机毕业设计】五台山景点购票系统,后附源码

🎉**欢迎来到琛哥的技术世界!**🎉 📘 博主小档案: 琛哥,一名来自世界500强的资深程序猿,毕业于国内知名985高校。 🔧 技术专长: 琛哥在深度学习任务中展现出卓越的能力&a…

测试框架pytest学习与实践

pytest是一个专业的测试框架,可以帮助我们对python项目进行测试,提高测试的效率。 pytest官网手册:pytest: helps you write better programs — pytest documentation 中文手册:Pytest 教程 入门学习 安装pytest pip install…

2023护网行动经验分享(2024护网招人)

今年的护网又开始摇人了,不知道大家有想法没? 去年的护网结束之后,朋友圈感觉是在过年,到处是倒计时和庆祝声。 看得出来防守方们7*24小时的看监控还是比较无奈的。 本次复盘基于我对整个护网行动的观察总结而来,仅…

CSS弹性布局:Flex布局及属性完全指南,点击解锁新技能!

Flex 布局是一种新型的 CSS 布局模式,它主要用于弹性盒子布局。相比于传统的布局方式,它更加灵活,易于调整,也更加适应不同的设备和屏幕尺寸。 下面我们就来详细解析 Flex 布局及其属性,帮助大家深入理解和运用 Flex …

基于Python的自然语言的话题文本分类(V2.0),附源码

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

并查集学习(836. 合并集合 + 837. 连通块中点的数量)

//得先加集合个数再合并!!!!!!!!! 核心代码: int find(int x){//返回父节点if(x ! p[x]) {p[x] find(p[x]);//路径压缩 } //孩子不等于爸爸,就…

如何搭建APP分发平台分发平台搭建教程

搭建一个APP分发平台可以帮助开发者更好地分发和管理他们的应用程序。下面是一个简要的教程,介绍如何搭建一个APP分发平台。 1.确定需求和功能:首先,确定你的APP分发平台的需求和功能。考虑以下几个方面: 用户注册和登录&#xff…

Kali WSL2(windows下安装了kali)

自从WSL2以来,感觉各方面也挺好的,有时候比vmware workstation方便,特别单独使用一个linux的时候。所以研究了下kali,也是很OK的,以及验证完成了。 本文参考官网: Kali Linux | Penetration Testing and Et…

【氮化镓】在轨实验研究辐射对GaN器件的影响

【Pioneering evaluation of GaN transistors in geostationary satellites】 摘要: 这篇论文介绍了一项为期6年的空间实验结果,该实验研究了在地球静止轨道上辐射对氮化镓(GaN)电子元件的影响。实验使用了四个GaN晶体管&#xf…

python绘制子图(旭日图、渐变堆积面积图、多数据折线图、比例关系图)

大家好,我是带我去滑雪! 子图可以更清晰地展示和理解复杂的数据关系,通过将数据分成多个小图,有助于观察数据间的关系和趋势。减少数据之间的重叠和混淆,使得每个子图更易于理解和解释。不同类型的子图可以呈现数据的不…

房企如何驱动新“三驾马车”,穿越地产周期?

今年以来,房地产行业在不确定性的周期中,逐渐显露出部分确定性。 今年两会期间,住建部明确指出,构建发展新模式是破解房地产发展难题的治本之策,在新模式下今后拼的是高质量、新科技、好服务。可以说,国家…

医学图像处理 利用pytorch实现的可用于反传的Radon变换和逆变换

医学图像处理 利用pytorch实现的可用于反传的Radon变换和逆变换 前言代码实现思路实验结果 前言 Computed Tomography(CT,计算机断层成像)技术作为如今医学中重要的辅助诊断手段,也是医学图像研究的重要主题。如今,随…

前端三剑客 —— JavaScript (第一节)

目录 回顾内容 1.弹性布局 2.网格布局 JavaScript 概述 发展 浏览器 什么是Javascript JavaScript 能干什么 JavaScript需要的环境 JavaScript初体验 基本数据 JS书写方式 行内JS 页面JS 外部JS 1)创建外部JS文件 2)编写页面 对话框 警…

[C语言][数据结构][动态内存空间的开辟]顺序表的实现!

目录 零.必备知识 a.顺序表的底层是数组. b.数组在内存中是连续存放的. c.动态内存空间的开辟(malloc,calloc,realloc). 一.顺序表的定义与实现 1.1 顺序表的定义 1.2 顺序表的初始化 1.3 顺序表的销毁 1.4 顺序表容量的检查与调整(最关键的部分) 1.5 顺序表的尾插 1.…

【Flutter】Getx设计模式及Provider、Repository、Controller、View等

本文基于Getx 4,x 本本 1、引入 再次接触到Flutter项目,社区俨然很完善和活跃。pubs.dev 寻找状态管理的时候看到很熟悉的Getx时间,俨然发现Getx的版本已到是4.x版本,看到Getx的功能已经非常强大了,庞大的API俨然成为一种开发框架…

通俗易懂的理解 ADC(2)

理解什么是ADC 文章目录 1、通俗理解什么是ADC 2、什么是ADC 3、ADC的采样率 4、采样位数 5、采样精度 ADC实际没有这么的简单,深入了解需要去学各种寄存器之间如何协作,信号如何走通。这些概念在后面会有讲解。 1、通俗理解…

[mmu/cache]-MMU的地址翻译(Address translation)指令介绍

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 Address translation system instructions AT指令的语法格式: 有了上面的语法格式后,就非常好理解armv8的MMU提供了14条AT指令了: MMU的地址…

[mmu/cache]-ARMV8的cache的维护指令介绍

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 Armv8里定义的Cache的管理的操作有三种: 无效(Invalidate) 整个高速缓存或者某个高速缓存行。高速缓存上的数据会被丢弃。清除(Cl…

#{} 和 ${}区别

1、参数是Integer类型时候没区别(#是预编译SQL,$是即时SQL) 2、当参数是String类型时,就会出错了 (1)这是$的报错信息,因为我们的参数admin并没有加引号所以不满足字符串条件 (2)正确的SQL &am…