深度学习总结:常见卷积神经网络——Inception

2024-04-04 08:58

本文主要是介绍深度学习总结:常见卷积神经网络——Inception,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

深度学习总结:常见卷积神经网络(2)——Inception

    • Inception v1
    • Inception v2
      • BN层
    • Inception v3
      • 非对称卷积分解
    • Inception v4
    • 总结

  上一篇博客主要回顾了VGG和Resnet,这一篇主要回顾一下GoogLeNet系列。

Inception v1

Inception v1提出于2014年,和VGG是同一年,使用了Inception的结构。
  首先inception v1的层数是22层,但他的参数量却只有Alexnet的十二分之一。提升卷积神经网络的一个有效方法就是加大网络,无非就就是从宽度和深度两方面考虑,但这样会带来两个缺点:1参数变多,同时以造成过拟合,2网络的加深,比较难训练,同时梯度消失不可避免。
  Inception同时从深度和宽度两方面考虑。同时考虑逐层的构造网络,如果数据集的概率分布能够被一个神经网络所表达,那么构造这个网络的最佳方法是逐层构筑网络,即将上一层高度相关的节点连接在一起。几乎所有效果好的深度网络都具有这一点,不管AlexNet VGG堆叠多个卷积,GoogLeNet堆叠多个inception模块,还是ResNet堆叠多个resblock。在构筑网络时,还考虑了稀疏的结构:人脑的神经元连接就是稀疏的,因此大型神经网络的合理连接方式也应该是稀疏的。稀疏的结构对于大型神经网络至关重要,可以减轻计算量并减少过拟合。 卷积操作(局部连接,权值共享)本身就是一种稀疏的结构,相比于全连接网络结构是很稀疏的。
  - 深度:采用了22层的结构,9个inception堆叠,同时为了避免梯度消失的问题,同时将梯度传递到较浅的层,在不同的层增加了辅助分类器输出Loss,这样做的另一个好处是在分类中考虑了中间层和浅层的特征。
在这里插入图片描述
另外,在网络的开始用了7×7的卷积,目的是为了降低图像的特征层的大小,减少后面的计算量。
  - 宽度:Inception结构,利用 size 为 1、 3、 5 不同大小的卷积核,同一层网络在不同通道的卷积核输出结果的相关性极高,1×1的卷积核可以自然地把这些相关性高的同一位置不同通道的特征结合起来,其他尺寸的卷积核保证了特征提取的多样性
在这里插入图片描述
  上图即为Inception Module,其中3 × 3和 5 × 5卷积之前的1 ×1的卷积核和池化层之后的 1 × 1的卷积核的作用是为了减少网络参数,同时方便之后的concat而降维。
  在Inception Module中,通常1×1的卷积比例最高,3×3和5×5的卷积稍低。在整个网络中,会有多个堆叠的Inception Module,希望靠后的Inception Module能捕捉更高阶的抽象特征,因此在靠后的Inception Module中,大卷积的占比变多。
   训练和测试的trick,通过resize和crop对图像进行增强。
   结论,稀疏的结构是有用的,Inception structure 提升了精度,但是计算消耗对比于更浅和更窄的网络增加的较少。

Inception v2

Inception v2 提出于2015年,其主要结构相对于Inception v1的变化不是很大,主要贡献点在于提出了BN层,即BatchNormalization。
  论文的出发点在于,神经网络的在训练过程中,每一层输入数据的分布是不断变化的,网络结构需要不断的去适应由于输入数据分布带来的变化。每层数据的输入,都会受到前面所有层的影响。很小的参数的变化,都会对后面的数据输入造成很大的扰动,层数越深,扰动越大。使得我们在训练网络的时候需要更低的学习率和更小心的进行参数初始化,导致我们难以充分的训练一个具有饱满的非线性模型的结构。因此,作者认为,如果对每一层的数据输入,固定其分布,能够加速深度模型的训练。神经网络学习过程本质就是为了学习数据分布,一旦训练数据与测试数据的分布不同,那么网络的泛化能力也大大降低;另外一方面,一旦每批训练数据的分布各不相同(batch 梯度下降),那么网络就要在每次迭代都去学习适应不同的分布,这样将会大大降低网络的训练速度,这也正是为什么我们需要对数据都要做一个归一化预处理的原因。

BN层

在这里插入图片描述
  如果对每一层的数据进行归一化,即变成零均值一方差,由于数据集中到sigmoid的近似线性部分,破坏了网络的非线性。为了解决这个问题,作者在归一化后面加入了尺度的变换和平移,保证模型的非线性能力。其中λ和β都是可以学习的。
在这里插入图片描述
  归一化具有可导性,因此可以端到端的训练。
  在inference时,
在这里插入图片描述在这里插入图片描述
  另外,归一化的过程中,由于需要减去均值的操作,z=g(Wu+b)中的b可以省去,变成z=g(BN(Wu))。
BN层的好处:

  • 减小了internal covariance shift的影响,隐藏层不用浪费时间对付变化的输入分布,模型训练收敛的更快。
  • 由于相对而言,优化算法面对的问题简单了,learning rate可以比没有BN的网络稍大一些,模型训练收敛的更快。
  • 网络权重的初始化比没有BN的时候更容易,敏感度下降。
  • minibatch的均值方差有一定统计涨落,能起到regularization的作用,可以取代dropout。
    其他trick
  1. 增大了学习率,因为BN层的存在,不用担心因学习率过大而导致的小变化引起的大扰动问题。
  2. 借鉴了VGG,采用两个3×3的卷积层代替5×5的卷积层。
  3. BN层具有很强的泛化能力,可以替代dropout。
  4. 使用了随机梯度下降SGD,作者在论文一开始就说了大段SGD的好处。
  5. 由于BN层的存在,可以去除LRN

结论,BN层可以解决数据分布变化的问题(covariate shift)。可以增大学习率,加快了训练的速度。

Inception v3

Inception v3提出于2015年,和v2一样,其基本框架结构和v1一致,主要是对原来结构的优化和改进。
首先,论文介绍了卷积神经网络的主要设计原则,这些原则主要是通过大量的实验的出来的:

  • 要避免表示的瓶颈,尤其是在网络的前面层,网络中特征层的尺寸越来越小,但是这个过程要平稳,前面的层不能压缩的太过,
  • 高维度的特征更容易处理,增加维度有利于生成更多解耦的信息,方便训练的更快。
  • 在低维度进行空间的聚合,可以减少信息的损失,因为低维度空间中相近的信息相互关联。
  • 要平衡好深度和宽度,虽然同时增加有利于提高网络的性能,但是会增加计算的消耗。
    Inception v3的主要贡献点在于卷积的分解,同时增加了一些减少计算量的结构上的改变。
    在VGG中,提出,可以用两个3×3来代替一个5×5的卷积核,可以证明,其感受野是一致的。
    在这里插入图片描述

非对称卷积分解

受到之前vgg的启发,作者将原来3×3的卷积进一步分解,用3×1+1×3的卷积来代替3×3的卷积。如下图所示
在这里插入图片描述
这种卷积分解的方法可以进一步减少网络的参数,加快网络的速度。
相应的,原始版本的Inception Module也变为下图所示
在这里插入图片描述
实验证明,上述的结构在网络的前面几层效果一般,但是在中间层可以取得很好的效果。
其他trick:

  • 辅助分类器如果加入BN层或者,dropout,网络效果会变得更好,regularizer的作用。
  • 降低特征图的尺寸,双线性操作(一边卷积,一边池化),在降低特征尺度的同时,增加了channel。图10
  • 在需要升维并降低特征图尺寸的地方,先池化再卷积可以减少计算量。图9
  • 真对不同尺度大小的特征层,设计了几种不同的Inception块,具体见论文。
    在这里插入图片描述
    结论,作者提出了几条扩大网络规模的设计准则,同时提出了卷积核分解的方法,另外其他的trick也都提高了网络的性能。

Inception v4

之前介绍的v2,v3版本在结构上相比于v1并不是很大,而v4版本结构的变化较大,针对不同大小的特征层,针对性的提出了不同的Inception Module。论文里不仅提出了 Inception V4的,还提出了基于inception 和Resnet 的Inception-Resnet-v1和Inception-Resnet-v2,其中的Inception Module都带有残差连接。
由于Inception v4的改进主要是网络结构的改进,这里不再细说,详细结构自行查阅论文。其主要贡献点在于使用并行的结构,不对称的卷积,并且用了大量的1×1的卷积核进行维度的变换。
v4版本的inception主要有以下三种,
在这里插入图片描述

总结

本文主要总结了inception从v1的提出,到v2 v3 v4不同版本的改进,简单介绍了每篇论文的创新点和改进点。

这篇关于深度学习总结:常见卷积神经网络——Inception的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875356

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识