IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 深度学习之Inception-ResNet -> 正文阅读

[人工智能]深度学习之Inception-ResNet

这篇文章由谷歌在17年提出,受启发于何凯明提出的ResNet在深度网络上较好的表现影响,作者将Residual connection加入到Inception结构中形成2个Inception-ResNet版本的网络以及一个纯Inception-v4网络。

参考目录:
①:论文补充版本(主要是补充一些图)
②:从Inception v1到Inception-ResNet,一文概览Inception家族的「奋斗史」
③:论文笔记1
④:论文笔记2

截至这篇文章发表,谷歌提出的关于Inception块组成的GoogleNet经历了如下五个版本:
在这里插入图片描述具体过程详见上述参考文档②。
Note:

  1. 其中v1 → \to v2的过程中滤波器组扩展指的是Inception块内部结构中网络变得更宽而不是更深,从而解决表征性瓶颈问题。
  2. 分解卷积指的是比如说 3 × 3 3\times 3 3×3卷积分解成 1 × 3 1\times 3 1×3 3 × 1 3\times 1 3×1卷积2个过程,作者指出这样会节约资源消耗。

Abstract

GoogleNet凭借着较低的计算资源损耗、通过Inception块中多个不同窗口形状的卷积层获取多尺度特征而闻名,而当时推出的Inception-v3版本和何凯明的Residual网络都取得了很好的表现,因此本文起源于作者的一个问题:如果将残差连接加入到Inception块理会怎么样?作者经过实验得出:

  1. residual connections有利于加速Inception网络的训练速度
  2. 相同计算资源下,拥有残差连接的Inception只比没有残差连接的Inception网络表现出色一点点。这也似乎是谷歌想告诉大家:不是每次遇到深度网络就要想起用残差网络来解决。

本文的贡献如下:

  1. 作者推出了Inception-v4Inception-ResNet-v1Inception-ResNet-v2三种网络结构。
  2. 作者推出了residual scaling来稳定residual-based网络的训练。

1 Introduction

这篇文章中,总体来看作者主要做了2件事:

  1. 使用Residual网络的残差连接取代原本Inception块中池化层部分,使得filter-concatenation变成了求和相加的形式。
  2. Inception-v3进化到Inception-v4(注意:这都是无residual-connection的版本),相比v3,v4拥有更简洁的结构、有更多的Inception块以及在输入和首个Inception块之间引入stem模块。

2 Related Work

以往我们为深度网络的训练而发愁时,都只会想到用Residual Network来解决问题。但是作者指出,他们的实验显示了在没有skip connection的条件下,也可以取得和有残差连接时候差不多的效果;作者也严谨的说道也许是关于Residual Network更深更多的实验才能完全理解residual connection的价值。虽然有残差下的Inception网络和无残差的Inception相比表现力提升不大,但是residual connection确实可以提升Inception的训练速度

3 Architectural Choices

这一节主要介绍:

  1. Inception-v4网络。
  2. Inception-ResNet-v1、Inception-ResNet-v2网络。
  3. Residual Scaling。

3.1 Pure Inception blocks

首先来看Inception-v4的结构:
在这里插入图片描述
Note:

  1. Inception-v4引入了stem模块,如上图红色框所示,其中的filter concat和Inception块中的一样,是将不同滤波器运算过的feature map做通道上的合并。

  2. 3个输入图像宽高分别是 35 × 35 、 17 × 17 、 8 × 8 35\times 35、17\times 17、8\times 8 35×3517×178×8的Inception块内部结构如下:在这里插入图片描述

  3. 2个缩减块(reduction block)的内部结构如下:在这里插入图片描述

3.2 Residual Inception Blocks

接下来介绍ResNet和Inception的合体:

  1. Inception-ResNet-v1:这是一种和Inception-v3具有相同计算损耗的结构。
  2. Inception-ResNet-v2:这是一种和Inception-v4具有相同计算损耗的结构,但是训练速度要比纯Inception-v4要快。

相比纯Inception网络,Inception-ResNet网络具有以下3个特点:

  1. Inception块的构造更加简单。
  2. 采用filter-expansion layer(其实就是 1 × 1 1\times 1 1×1卷积层)去扩大因为Inception块损失的通道数,因为过多地减少维度可能会造成信息的损失(表征性瓶颈)。
  3. 关于BN的使用。Inception-ResNet为了减小BN带来的存储消耗,只在stem模块中使用,而不是像之前在每个Inception块中使用。

Inception-ResNet结构如下:
在这里插入图片描述
Note:

  1. 两个版本的总体结构相同,不同的是stem、Inception块、缩减块。
  2. 2个版本的3个Inception块如下:在这里插入图片描述从上面结构中可以看出Inception-ResNet用残差连接取代了原Inception块中的filter concatenation,或者说残差连接代替了Inception中的池化层。
  3. 2个版本的缩减块结构如下:在这里插入图片描述在这里插入图片描述从上图中可以看出原Inception中被取代的池化层部分其实是转移到了缩减块中

3.3 Scaling of the Residuals

这一节介绍的是在残差汇合之前,对残差进行缩减来稳定训练。作者指出,当卷积核的数量超过1000时,那么残差网络就会变得不稳定,具体表现为几万次迭代之后,平均池化层之前的最后一层开始产生0的输出,使得网络崩溃坏死,这种现象通过降低学习率或者增加BN都无法解决。
因此作者决定采用residual scaling,取一个 [ 0.1 , 0.3 ] [0.1,0.3] [0.1,0.3]区间之内的缩减常数去减小Inception网络输出的方差,增加稳定性,一定程度上也可以避免模型过拟合。

具体结构如下:
在这里插入图片描述
Note:

  1. 这个缩减结构可以适用于任何具有残差连接的网络。
  2. 缩减指数一般取0.1左右,且网络越深,这个值最好是越小。
  3. 作者指出残差缩减非但不会影响最好的表现力,而且还会增加训练的稳定性。

引用一段代码(开篇引用文档③)来解释这个过程:

 def forward(self, x):
    out = self.conv2d(x)  # 这里可以是卷积层、可以是Inception模块等任意sub-network
    out = out * self.scale + x  # 乘以一个比例系数再相加
    out = self.relu(out)
    return out

4 Training Methodology

主要是理一理网络的结构,故略。

5 Experimental Results

主要是理一理网络的结构,故实验略。

6 Conclusions

论文一口气输出3个新的结构,分别是:

  1. Inception-v4:Inception-v3的进化版,增加了stem块(其实就是输入到第一个Inception的处理过程)。
  2. Inception-ResNet-v1:将Residual connection和Inception网络结合在一起,并引入residual scaling稳定训练,其计算消耗和Inception-v3类似。
  3. Inception-ResNet-v2:将Residual connection和Inception网络结合在一起,并引入residual scaling稳定训练,其计算消耗和Inception-v4类似,但训练速度更快;相比Inception-ResNet-v1,v2版本的网络参数更多,结构也略微复杂一丢丢。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:35:19  更:2022-03-22 20:39:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:27:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码