什么是Inception以及GoogleNet结构

技术什么是Inception以及GoogleNet结构什么是Inception以及GoogleNet结构,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。g

什么是盗梦空间和GoogleNet结构?针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。

GoogleNet是2014年ILSVRC的冠军模式。GoogleNet在互联网上做了更大胆的尝试,而不是像vgg一样继承leNet和alexnet的所有框架。虽然谷歌。net有22层,参数数量只有Alex的1/12。净。

网论文指出获得高质量模型最保险的做法就是增加模型的深度,或者是它的宽度,但总的来说,更深更广的网络会有以下问题:

参数太多,容易过度拟合。如果训练数据有限,这个问题会更加突出。网络越大,计算复杂度越大,难以应用。网络越深,梯度越有可能消失。简而言之,更大的网络容易产生过拟合,并且增加了计算量

【GoogleNet给出的解决方案】

把全连接层甚至一般卷积变成稀疏连接。为了保持神经网络结构的稀疏性,充分利用稠密矩阵的高计算性能,GoogleNet提出了一种称为Incident的模块化结构来实现这一目标。据大量文献都表明,将稀疏矩阵聚类为比较密集的子矩阵可以提高计算性能.(我不太懂这一块,是百度的知识,但关键是GoogleNet提出了great的模块化结构,2020年依然发挥很大作用。)

00-1010这是一个王中王结构,哦不,这是一个网络中的网络。即原节点也是一个网络,利用incident可以扩展这个网络结构的宽度和深度。从而提高性能。什么是Inception以及GoogleNet结构

解释:

使用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合。卷积核使用1,3,5主要是为了方便。设置好卷积步距=1后,只需要分别设置Pad=0,1,2,这样卷积后就可以得到相同维度的特征,然后直接拼接在一起。文章中很多地方都说明了池化是非常有效的,所以这里也介绍一下。网络越晚,特征越抽象,每个特征设计的感受野也越大。因此,随着层数的增加,33和55卷积的比例增加(这将在后面看到)。使用5×5卷积核仍然会带来巨大的计算量。因此,本文借鉴NIN2,采用1×1卷积核降维。如何用1×1卷积核降维?假设有一个3x3x10的图片特征,长宽都是1,然后是通道,我喜欢称之为厚度10,我们想把维度缩小到5,我们该怎么办?首先我们需要找到一个1x1x10的卷积核,然后卷积的结果应该是一个3x3x1的特征图。我们可以找到这个的五个卷积核,经过五次卷积,得到的图片会做出一个3x3x5这样的特征图。当然,同样,1×1卷积核也可以用来提高维数。我们从网上找到了一张谷歌网的美图:什么是Inception以及GoogleNet结构

还有一个:什么是Inception以及GoogleNet结构

网络结构进度分析如下:

0,输入

原始输入图像为224x224x3,所有图像都经过零均值预处理(从图像的每个像素中减去平均值)。

1.第一层(卷积层)

使用7×7的卷积核(滑动步骤2,填充为3),64个通道,输出为112x112x64。卷积后,执行ReLU运算。

3×3最大池化后(步长为2),输出

为((112 – 3+1)/2)+1=56,即56x56x64,再进行ReLU操作

2、第二层(卷积层)

使用3×3的卷积核(滑动步长为1,padding为1),192通道,输出为56x56x192,卷积后进行ReLU操作

经过3×3的max pooling(步长为2),输出为((56 – 3+1)/2)+1=28,即28x28x192,再进行ReLU操作

3a、第三层(Inception 3a层)

分为四个分支,采用不同尺度的卷积核来进行处理

(1)64个1×1的卷积核,然后RuLU,输出28x28x64

(2)96个1×1的卷积核,作为3×3卷积核之前的降维,变成28x28x96,然后进行ReLU计算,再进行128个3×3的卷积(padding为1),输出28x28x128

(3)16个1×1的卷积核,作为5×5卷积核之前的降维,变成28x28x16,进行ReLU计算后,再进行32个5×5的卷积(padding为2),输出28x28x32

(4)pool层,使用3×3的核(padding为1),输出28x28x192,然后进行32个1×1的卷积,输出28x28x32。

将四个结果进行连接,对这四部分输出结果的第三维并联,即64+128+32+32=256,最终输出28x28x256

3b、第三层(Inception 3b层)

(1)128个1×1的卷积核,然后RuLU,输出28x28x128

(2)128个1×1的卷积核,作为3×3卷积核之前的降维,变成28x28x128,进行ReLU,再进行192个3×3的卷积(padding为1),输出28x28x192

(3)32个1×1的卷积核,作为5×5卷积核之前的降维,变成28x28x32,进行ReLU计算后,再进行96个5×5的卷积(padding为2),输出28x28x96

(4)pool层,使用3×3的核(padding为1),输出28x28x256,然后进行64个1×1的卷积,输出28x28x64。

将四个结果进行连接,对这四部分输出结果的第三维并联,即128+192+96+64=480,最终输出输出为28x28x480

第四层(4a,4b,4c,4d,4e)、第五层(5a,5b)……,与3a、3b类似,在此就不再重复。


到这里!我们看美图应该能看出来一点,GoogleNet的结构就是3+3+3总共九个inception模块组成的,每个Inception有两层,加上开头的3个卷积层和输出前的FC层,总共22层!然后每3层的inception之后都会有一个输出结果,这个网络一共有三个输出结果,这是什么情况呢?


这个是辅助分类器,GoogleNet用到了辅助分类器。因为除了最后一层的输出结果,中间节点的分类效果也可能是很好的,所以GoogleNet将中间的某一层作为输出,并以一个较小的权重加入到最终分类结果中。其实就是一种变相的模型融合,同时给网络增加了反向传播的梯度信号,也起到了一定的正则化的作用。


最后,我再提出两个问题:

  1. 如果使用1×1进行特征压缩,是否会影响最终结果?回答:不会,作者的解释是,如果你想要把特征厚度从128变成256,你可以直接用3×3进行特征提取。如果你先用1×1进行压缩到64,然后再用3×3把64channel的特征扩展成256,其实对后续的精度没有影响,而且减少了运算次数。

  2. 为什么inception是多个尺度上进行卷积再聚合?回答:直观上,多个尺度上同时卷积可以提取到不同尺度的特征。而这也意味着最后分类判断更加准确。除此之外,这是可以利用稀疏矩阵分解成密集矩阵计算的原理来加快收敛速度。(第二个好处没有太看懂) 个人浅显的理解就是:提取多个尺度的特征,再聚合的时候,就可以找到关联性强的特征,这样就能避免浪费在关联性较弱的特征上的计算力吧。

关于什么是Inception以及GoogleNet结构问题的解答就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113489.html

(0)

相关推荐

  • C++为什么在默认状态下明确定义单参数构造函数

    技术C++为什么在默认状态下明确定义单参数构造函数本篇内容介绍了“C++为什么在默认状态下明确定义单参数构造函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月29日
  • zookeeper和eureka使用场景(eureka与zookeeper差别)

    技术如何进行ZooKeeper与Eureka的比较如何进行ZooKeeper与Eureka的比较,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

    攻略 2021年12月24日
  • mysql 发生系统错误1067(mysql数据库1067错误是怎么回事)

    技术mysql出现服务1067错误怎么办这篇文章将为大家详细讲解有关mysql出现服务1067错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 my

    攻略 2021年12月22日
  • C++使用标准概念有什么优点

    技术C++使用标准概念有什么优点本篇内容主要讲解“C++使用标准概念有什么优点”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++使用标准概念有什么优点”吧!T.11:只要可

    攻略 2021年11月24日
  • idea如何整合docker快速部署springboot应用

    技术idea如何整合docker快速部署springboot应用小编给大家分享一下idea如何整合docker快速部署springboot应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这

    攻略 2021年10月31日
  • 二项式反演 学习笔记

    技术二项式反演 学习笔记 二项式反演 学习笔记概念
    二项式反演其实就是利用容斥的思想处理一些通过求“至少或至多”来解决“恰好”的问题。
    形式
    \[\begin{align*}
    f(n)=\sum_{i=

    礼包 2021年12月23日