Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深度学习之GoogLeNet解读

深度学习之GoogLeNet解读

作者头像
全栈程序员站长
发布于 2022-09-21 02:30:38
发布于 2022-09-21 02:30:38
3840
举报

大家好,又见面了,我是你们的朋友全栈君。

提出背景

 始于LeNet-5,一个有着标准的堆叠式卷积层冰带有一个或多个全连接层的结构的卷积神经网络。通常使用dropout来针对过拟合问题。  为了提出一个更深的网络,GoogLeNet做到了22层,利用inception结构,这个结构很好地利用了网络中的计算资源,并且在不增加计算负载的情况下,增加网络的宽度和深度。同时,为了优化网络质量,采用了Hebbian原理和多尺度处理。GoogLeNet在分类和检测上都取得了不错的效果。  最近深度学习的发展,大多来源于新的想法,算法以及网络结构的改善,而不是依赖于硬件,新的数据集,更深的网络,并且深度学习的研究不应该完全专注于精确度的问题上,而更应该关注与网络结构的改善方面的工作。

相关工作

 GoogLeNet参考Robust object recognition with cortex-like mechanisms.中利用固定的多个Gabor滤波器来进行多尺度处理的方法,对inception结构中的所有滤波器都进行学习,并运用至整个22层网络。  GoogLeNet参考Network in network.中对1×1卷积的使用来增加网络深度的做法,GoogLeNet也利用了1×1卷积来进行降维和限制网络尺寸的作用。  GoogLeNet参考Rich feature hierarchies for accurate object detection and semantic segmentation.即R-CNN将整个检测任务分为两个子问题的做法,即首先利用底层特征如颜色,文本等来进行提取与类别无关的proposals,然后将这些proposals放入CNN中进行训练来确定类别信息的做法。GoogLeNet也借鉴这种方式,并对两个阶段都进行了改进,第一个阶段使用多边框预测,第二个阶段则是使用更好的CNN网络结构。

基本思想及过程

 GoogLeNet提出最直接提升深度神经网络的方法就是增加网络的尺寸,包括宽度和深度。深度也就是网络中的层数,宽度指每层中所用到的神经元的个数。但是这种简单直接的解决方式存在的两个重大的缺点。 (1) 网络尺寸的增加也意味着参数的增加,也就使得网络更加容易过拟合。 (2) 计算资源的增加。  因此想到将全连接的方式改为稀疏连接来解决这两个问题。由Provable bounds for learning some deep representations.提到数据集的概率分布由大又稀疏的深度神经网络表达时,网络拓扑结构可由逐层分析与输出高度相关的上一层的激活值和聚类神经元的相关统计信息来优化。但是这有非常多的限制条件。因此提出运用Hebbian原理,它可以使得上述想法在少量限制条件下就变得实际可行。  通常全连接是为了更好的优化并行计算,而稀疏连接是为了打破对称来改善学习,传统常常利用卷积来利用空间域上的稀疏性,但卷积在网络的早期层中的与patches的连接也是稠密连接,因此考虑到能不能在滤波器层面上利用稀疏性,而不是神经元上。但是在非均匀稀疏数据结构上进行数值计算效率很低,并且查找和缓存未定义的开销很大,而且对计算的基础设施要求过高,因此考虑到将稀疏矩阵聚类成相对稠密子空间来倾向于对稀疏矩阵的计算优化。因此提出了inception结构。

 inception结构的主要思想在于卷积视觉网络中一个优化的局部稀疏结构怎么样能由一系列易获得的稠密子结构来近似和覆盖。上面提到网络拓扑结构是由逐层分析上一层的相关统计信息并聚集到一个高度相关的单元组中,这些簇(单元组)表达下一层的单元(神经元)并与之前的单元相连接,而靠近输入图像的底层相关的单元在一块局部区域聚集,这就意味着我们可以在一块单一区域上聚集簇来结尾,并且他们能在下一层由一层1×1的卷积层覆盖,也即利用更少的数量在更大空间扩散的簇可由更大patches上的卷积来覆盖,也将减少越来越大的区域上patches的数量。  为了避免patch对齐问题,因此限制了inception结构中滤波器的大小为1×1,3×3,5×5。由于inception结构中都是互相堆叠的,因此输出相关统计信息一定不同:为了在高层能提取更抽象的特征,就要减少其空间聚集性,因此通过增加高层inception结构中的3×3,5×5卷积数量,捕获更大面积的特征。  在上述inception结构中,由于滤波器数量的增加,加上池化操作使得5×5大小的滤波器的计算开销非常大,池化层输出与卷积层输出的合并增加了输出值的数量,并且可能覆盖优化稀疏结构,处理十分低效,引起计算爆炸。因此引出下面这个inception结构。

 inception结构中有很多嵌套,低维嵌套包含了大量的图片patch信息,且这种嵌套表达了一个稠密且压缩的信息的形式,但我们想要表达的更加稀疏,并且只在大量聚集的时候才对信号进行压缩,因此考虑利用在3×3和5×5卷积操作前进行1×1卷积来进行降维处理,1×1不仅降维,而且还引入了ReLU非线性激活。实际发现,只在高层中使用inception结构对整个网络更加有利。  inception结构的好处在于在没有计算复杂度不受控制的计算爆炸时,可以增加每个阶段的单元个数,也就是网络的宽度,当然还有深度;同时这种结构也类似于图像中多尺度处理之后将处理结果聚集在一起以便于下一个阶段能同时提取不同尺寸下的特征。  由于稀疏结构的计算量大的问题,所以采用1×1的卷积来减少参数的计算,其中1×1 卷积解释为: 在3×3和5×5层前,各自增加一个1×1的卷积操作。1×1的卷积(或者网络层中的网络),提供了一个减少维度的方法。比如,我们假设你拥有一个输入层,体积是100x100x60(这并不定是图像的三个维度,只是网络中每一层的输入)。增加20个1×1的卷积滤波器,会让你把输入的体积减小到100x100x20。这意味着,3×3层和5×5层不需要处理输入层那么大的体积。这可以被认为是“池特征”(pooling of feature),因为我们正在减少体积的高度,这和使用常用的最大池化层(maxpooling layers)减少宽度和长度类似。另一个需要注意的是,这些1×1的卷积层后面跟着的是ReLU 单元,这肯定不会有害。  有了上面的这种结构形式,叫inception:这个inception模型由一个网络层中的网络、一个中等大小的过滤卷积、一个大型的过滤卷积、一个操作池(pooling operation)组成。网络卷积层中的网络能够提取输入体积中的每一个细节中的信息,同时5×5的滤波器也能够覆盖大部分接受层的的输入,进而能提起其中的信息。你也可以进行一个池操作,以减少空间大小,降低过度拟合。在这些层之上,你在每一个卷积层后都有一个ReLU,这能改进网络的非线性特征。基本上,网络在执行这些基本的功能时,还能同时考虑计算的能力。这篇论文还提供了更高级别的推理,包括的主题有稀疏和紧密联结。

 上图为GoogLeNet的网络框图细节,其中“#3×3 reduce”,“#5×5 reduce”代表在3×3,5×5卷积操作之前使用1×1卷积的数量。输入图像为224x224x3,且都进行了零均值化的预处理操作,所有降维层也都是用了ReLU非线性激活函数。

 如上图用到了辅助分类器,Inception Net有22层深,除了最后一层的输出,其中间节点的分类效果也很好。因此在Inception Net中,还使用到了辅助分类节点(auxiliary classifiers),即将中间某一层的输出用作分类,并按一个较小的权重(0.3)加到最终分类结果中。这样相当于做了模型融合,同时给网络增加了反向传播的梯度信号,也提供了额外的正则化,对于整个Inception Net的训练很有裨益。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170453.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GoogLeNet
始于LeNet-5,一个有着标准的堆叠式卷积层中带有一个或多个全连接层的结构的卷积神经网络。通常使用dropout来针对过拟合问题。为了提出一个更深的网络,GoogLeNet做到了22层,利用inception结构,这个结构很好地利用了网络中的计算资源,并且在不增加计算负载的情况下,增加网络的宽度和深度。同时,为了优化网络质量,采用了Hebbian原理和多尺度处理。GoogLeNet在分类和检测上都取得了不错的效果。最近深度学习的发展,大多来源于新的想法,算法以及网络结构的改善,而不是依赖于硬件,新的数据集,更深的网络,并且深度学习的研究不应该完全专注于精确度的问题上,而更应该关注与网络结构的改善方面的工作。
狼啸风云
2021/08/12
4680
GoogLeNet论文学习笔记
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170447.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/21
3120
GoogLeNet论文学习笔记
GoogleNet_google翻译学术论文
我们在ImageNet大规模视觉识别挑战赛2014(ILSVRC14)上提出了一种代号为Inception的深度卷积神经网络结构,并在分类和检测上取得了新的最好结果。这个架构的主要特点是提高了网络内部计算资源的利用率。通过精心的手工设计,我们在增加了网络深度和广度的同时保持了计算预算不变。为了优化质量,架构的设计以赫布理论和多尺度处理直觉为基础。我们在ILSVRC14提交中应用的一个特例被称为GoogLeNet,一个22层的深度网络,其质量在分类和检测的背景下进行了评估。
全栈程序员站长
2022/09/21
4830
GoogleNet_google翻译学术论文
GoogleNet - Going deeper with convolutions
本文针对 ILSVRC14 提出了一个名叫 Inception 的深度卷积网络架构,主要是通过充分利用网络内的计算资源来提升网络性能,具体是通过在增加网络的宽度和深度同时控制住计算量来实现的。小尺寸滤波器组合 + 1*1滤波器降维
用户1148525
2019/05/26
4170
深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
一、CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二、LeNet-5网络 输入尺寸:32
10JQKA
2018/05/09
2.9K0
深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
googlenet网络模型简介_网络参考模型
一、GoogleNet模型简介   GoogleNet和VGG是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper。跟VGG不同的是,GoogleNet做了更大胆的网络上的尝试而不是像VGG继承了Lenet以及AlexNet的一些框架,该模型虽然有22层,但大小却比AlexNet和VGG都小很多,性能优越。 深度学习以及神经网络快速发展,人们容易通过更高性能的硬件,更庞大的带标签数据和更深更宽的网络模型等手段来获得更好的预测识别效果,但是这一策略带来了两个重要的缺陷。   (1)更深更宽的网络模型会产生巨量参数,从而容易出现过拟合现象。   (2)网络规模加大会极大增加计算量,消耗更多的计算资源。   解决这两个缺陷的根本方法就是将全连接甚至一般的卷积都转化为稀疏连接。一方面现实生物神经系统的连接也是稀疏的,另一方面有文献表明:对于大规模稀疏的神经网络,可以通过分析激活值的统计特性和对高度相关的输出进行聚类来逐层构建出一个最优网络。这点表明臃肿的稀疏网络可能被不失性能地简化。 虽然数学证明有着严格的条件限制,但Hebbian定理有力地支持了这一结论。   由于计算机软硬件对非均匀稀疏数据的计算效率很差,所以在AlexNet模型重新启用了全连接层,其目的是为了更好地优化并行运算。所以,现在的问题是否有一种方法,既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。事实上可以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能,具体方法是采用将多个稀疏矩阵合并成相关的稠密子矩阵的方法来提高计算性能,Google团队沿着这个思路提出了名为Inception 结构来实现此目的。
全栈程序员站长
2022/09/21
8730
googlenet网络模型简介_网络参考模型
GoogLeNet论文阅读
在2014年的ImageNet图像识别挑战赛中,一个名叫GoogLeNet的网络结构大放异彩。它虽然在名字上向LeNet致敬,但在网络结构上已经很难看到LeNet的影子。在随后几年里,研究人员对GoogLeNet进行了数次改进,本篇文章介绍的是这个模型系列的第一个版本
mathor
2020/02/12
1.1K0
GoogLeNet论文阅读
从LeNet到GoogLeNet:逐层详解,看卷积神经网络的进化
深度学习的兴起使卷积神经网络在计算机视觉方面大放异彩,本文将按时间和创新点顺序介绍一系列网络结构:LeNet、AlexNet、VGGNet、InceptionNet 与 ResNet。
AI算法与图像处理
2020/02/12
3.9K0
从LeNet到GoogLeNet:逐层详解,看卷积神经网络的进化
深度学习(GoogLeNet)
本篇文章采用百度paddlepaddle深度学习框架,并在百度Ai Studio平台上运行。
全栈程序员站长
2022/09/21
6600
深度学习(GoogLeNet)
GoogLeNet 神经网络结构
GoogLeNet是2014年 ILSVRC 冠军模型,top-5 错误率 6.7% ,GoogLeNet做了更大胆的网络上的尝试而不像vgg继承了lenet以及alexnet的一些框架,该模型虽然有22层,但参数量只有AlexNet的1/12。
全栈程序员站长
2022/09/21
4530
GoogLeNet 神经网络结构
Going Deeper with Convolutions——GoogLeNet论文翻译——中文版
Tyan
2017/12/28
2.2K0
Going Deeper with Convolutions——GoogLeNet论文翻译——中文版
用PaddlePaddle和Tensorflow实现经典CNN网络GoogLeNet
前面讲了LeNet、AlexNet和Vgg,这周来讲讲GoogLeNet。GoogLeNet是由google的Christian Szegedy等人在2014年的论文《Going Deeper with Convolutions》提出,其最大的亮点是提出一种叫Inception的结构,以此为基础构建GoogLeNet,并在当年的ImageNet分类和检测任务中获得第一,ps:GoogLeNet的取名是为了向YannLeCun的LeNet系列致敬。 (本系列所有代码均在github:https://githu
企鹅号小编
2018/02/05
9180
用PaddlePaddle和Tensorflow实现经典CNN网络GoogLeNet
深度学习经典网络解析:6.GoogLeNet
  GoogLeNet是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如过拟合、梯度消失、梯度爆炸等。Inception Architecture的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。
AiCharm
2023/05/15
7820
深度学习经典网络解析:6.GoogLeNet
【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络GoogLeNet
  前面讲了LeNet、AlexNet和Vgg,这周来讲讲GoogLeNet。GoogLeNet是由google的Christian Szegedy等人在2014年的论文《Going Deeper with Convolutions》提出,其最大的亮点是提出一种叫Inception的结构,以此为基础构建GoogLeNet,并在当年的ImageNet分类和检测任务中获得第一,ps:GoogLeNet的取名是为了向YannLeCun的LeNet系列致敬。 (本系列所有代码均在github:https://git
Charlotte77
2018/01/09
1.3K0
【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络GoogLeNet
一文读懂GoogLeNet神经网络 | CSDN博文精选
Inception,来源于论文Network in Network和电影Inception中的台词:we need to go deeper。GoogLeNet在2014年的ImageNet比赛中获得第一名。
AI科技大本营
2019/10/24
1.9K0
一文读懂GoogLeNet神经网络 | CSDN博文精选
Going Deeper with Convolutions——GoogLeNet论文翻译——中英文对照
Tyan
2017/12/28
1.3K0
Going Deeper with Convolutions——GoogLeNet论文翻译——中英文对照
GoogLenet解读
本文介绍的是著名的网络结构GoogLeNet及其延伸版本,目的是试图领会其中的思想而不是单纯关注结构。
DoubleV
2018/09/12
8570
GoogLenet解读
GoogLeNet论文详解[通俗易懂]
得益于深度学习的优势和更强大的卷积神经网络的出现,图像分类和目标检测的准确率发生了令人意想不到的进步。在2014年的ILSVRC比赛中,GoogLeNet取得了第一名的成绩,所用模型参数不足AlexNet(2012年冠军)的1/12。论文题目《Going deeper with convolutions》中的deeper有两层含义,一是指本文引入了一种新的结构“Inception module”,二就是其直接含义——网络深度(depth)的增加。
全栈程序员站长
2022/09/22
1.4K0
GoogLeNet论文详解[通俗易懂]
深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Restnet等)
本系列为 斯坦福CS231n 《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频可以在 这里 查看。更多资料获取方式见文末。
ShowMeAI
2022/06/03
8240
深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Restnet等)
什么是GoogleNet?什么是Inception?GoogleNet结构详解(2014年)
googleNet是2014年的ILSVRC的冠军模型,GoogleNet做了更大胆的网络上的尝试,而不是像vgg继承了lenet以及alexnet的一切框架。GoogleNet虽然有22层,但是参数量只有AlexNet的1/12。
机器学习炼丹术
2020/07/14
1.9K0
什么是GoogleNet?什么是Inception?GoogleNet结构详解(2014年)
相关推荐
GoogLeNet
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档