导航菜单

一图抵千言:带你快速学会 GoogLeNet 神经网络 | CSDN 博文精选

GoogLeNet 神经网络 | CSDN 博文精选

作者| .NY&安培; XX

编辑|涂敏

制作| CSDN博客

本文介绍了众所周知的GoogLeNet网络结构,目的是尝试了解结构设计思路。

从一开始,从网络网络和电影起始线:我们需要更深入。 GoogLeNet在2014年ImageNet竞赛中获得第一名。

GoogLeNet功能

该网络体系结构的主要特征是增加了网络内计算资源的使用。

网络的深度和宽度增加,网络深度达到22层(不包括汇集层和输入层),但不会增加计算成本。

参数比2012年冠军队的网络少12倍,但更准确。

对象检测受益于深层架构和传统的计算机视觉算法(R-CNN)。

优化网络质量的生物学原理

基于Herb原理和多尺度处理。

草本原理:突触后神经元对突触后神经元的持续重复刺激可以导致突触传递效率的增加。草药理论具有以下特点:

感知知识是神经系统中的表示是一个群体而不是一个细胞,因此这是一个更分散的表征系统。表征不同的心理活动并不完全依赖于细胞的独特身份,因为细胞可以同时参与几个细胞群。

在细胞集落中,无论是组成分子还是通讯途径,都有相当大的界限,使神经系统部分被破坏,而要执行的功能仍然可以执行。同时,这些平行的段落允许从不同的部分达到整个兴奋的目的。虽然细胞收集的建立依赖于连接,但连接的结果并不是使刺激通过反应,而是在中心建立一个具有缓冲作用的电路(刺激的效果会长期纠缠)。人类大脑神经元的工作方式确实类似于原子中原子的工作方式,而人类大脑实际上是所有神经网络的总和。每个神经元本身并不重要。重要的是这些神经元如何结合以及它们能一起做什么。这是细胞集合的核心。0×251f谷歌网络结构的动因扩展后的网络包含大量容易过度拟合的参数,并且大量标记的训练样本不容易获得。扩展后的网络消耗了大量的计算资源。

在这种情况下,这实际上是可行的。同时,谷歌还参考了以下方法:

典型的CNN结构:一堆卷积+几个完全连接的层。对于大型数据集问题,当前的趋势是增加层和层的数量,并使用Dropout解决过拟合问题。使用最大池和平均池。利用网络中的网络方法来提高网络的性能,该方法可以看作是一个附加的1*1卷积层加上一个relu层。NIN最重要的是降维,解决了计算瓶颈,解决了网络规模有限的问题。这将增加网络的深度和宽度,而不会造成显著的性能损失。首先,当分类不可知时,使用低级特征(颜色和超像素一致性)来找到潜在目标,然后使用CNN分类器来识别潜在目标所属的类别。 GoogLeNet在两个阶段都得到了增强。

GoogLeNet架构详细信息

初始模块和公共卷积结构之间的区别

图(a)是传统的多通道卷积运算,图(b)是GoogLeNet中使用的Inception模块。两者之间的区别是:

初始使用不同大小的多个卷积内核,添加池,然后连接卷积和池化结果。

在卷积之前存在1×1卷积运算,并且在汇集之后还存在1×1卷积运算。

Inception模块中多尺寸卷积核的卷积卷积过程与正常卷积过程不同。

第一个原因是Inception的主要思想是如何找到最优的局部稀疏结构并将其覆盖为近似密集分量。这是不同局部结构的组合。

第二个原因是原始卷积是广义线性模型(GLM)。 GLM的抽象程度低,非线性特征表达不好。这种1×1卷积运算将很高。相关节点聚集在一起。什么是高相关节点?两个特征图中相同位置的节点是具有高相关性的节点。假设当前层的输入大小是28×28×256,卷积核的大小是1×1×256,并且通过卷积获得的输出大小是28×28×1。可以看出,一方面,原始线性模型变为非线性模型,并且高相关节点被组合以具有更强的表达能力,另一方面,参数的数量减少。例如:

假设初始(4a)被传统的3×3卷积取代,转换前后的参数数量如下:

3×3卷积的参数个数为512×3×3×480=,初始参数个数为192×1×1×480 + 96×1×1×480 + 208×3×3× 96 + 16×1×1×480 + 48×5×5×16 + 64×1×1×480=。 Inception结构的参数数量明显少于普通卷积结构的参数数量。

第三个差异反映在卷积内核与接受的域对齐不同的事实中。图3的左侧部分是正常的卷积过程。对齐是将卷积内核的左上角与接受域的左上角对齐。此对齐卷积内核始终位于接受域内,不会在接受域之外运行。图3的右侧部分是GoogLeNet使用的卷积过程。对齐是将卷积内核的中心与接受域的左上角对齐。此对齐卷积内核可以在接受域之外运行,此时接受域的外部。与卷积内核重合的部分采用零度量。 GoogLeNet卷积方法使卷积的输出大小与步长1一致,与输入大小一致。

辅助分类器

根据实验数据,发现神经网络的中间层也具有很强的识别能力。为了利用中间层的抽象特征,在一些中间层中添加包含多个层的分类器。如下图所示,红色边框的内部表示添加的辅助分类器。

GoogLeNet网络架构

第一张图是GoogLeNet的基本结构,第二张图是添加了辅助分类器的结构。

在GoogLeNet神经网络中,使用前两节中提到的Inception模块和辅助分类器,并且由于大量完全连接的网络参数,计算量很大,并且很容易过度拟合,GoogLeNet做不使用AlexNet(2012年ImageNet冠军团队使用)。网络结构,前五层是卷积层,后三层是完全连接的结构。在Inception模块之后直接使用Average Pool和Dropout方法不仅可以减少维度,还可以在某种程度上防止它。过度拟合。

在Dropout层之前添加了一个7×7平均池,这一方面是降维,另一方面是低级特征的组合。我们希望网络能够在上层抽象出图像的全局特征。然后我们应该增加卷积核的大小或增加网络上层的合并区域的大小。 GoogLeNet将此操作放入最终的池化过程,即前一个Inception模块。卷积核的大小是固定的并且相对较小,主要是为了便于卷积期间的计算。

第二张图片的蓝色部分是卷积块,每个卷积块后面跟着一个ReLU(限制线性单位)层作为激活函数(包括Inception内的卷积块)

GoogLeNet培训和样本预处理

训练7 GoogLeNet模型,包括加宽版,其他6个模型具有相同的初始化和超参数,但采样方法和样本顺序不同

使用模型和数据并行性,可以使用一些高端GPU来训练一周以获得收敛(估计)

多模型的训练不同步,超参数的变化也不同,如辍学率和学习率

一些模型主要训练小尺寸样本,有些模型训练大尺寸样本

采样时,样本大小从8%缩放到100%,纵横比从3/4或4/3(多尺度)随机选择

扭曲图像,即随机改变图像的对比度,亮度和颜色。这可以增加网络对这些属性的不变性

使用随机插值重置图像大小(因为网络输入层的大小是固定的),使用随机插值方法:双线性插值,区域插值,最近邻插值,三次插值等。选择使用。当图像被放大时,像素也相应地增加。添加的过程是“插值”程序自动选择具有更好信息的像素作为添加的像素,而不是仅使用相邻像素,因此图像在放大时看起来更平滑。干净

更改超参数(在多次反向传播后更改超参数,或在误差达到某个阈值时更改超参数)

GoogLeNet测试和测试样品处理

对于测试样本,图像的短边缩放为四种尺寸,256,288,320,352。

从每个尺寸图像的左侧,中间和右侧(或上部,中部和底部)获取正方形区域。

从四个角中的每一个和每个正方形区域的中心取出224×224区域,并且将正方形区域减小到224×224,使得每个正方形区域可以获得尺寸为224×224的六个图像,加上它们的镜像版本(水平翻转图像)产生总共4 x 3 x 6 x 2=144个图像。这种方法在实际应用中是不必要的,并且可能存在更合理的修剪方法。下图显示了不同修剪方法和不同型号的组合结果:

在文章《Some improvements on deep convolutional neural network based image classification》中提到,使用贪婪算法,只有10到15个修剪样本可用。

当多个修剪图像用作输入时,每个模型的Softmax分类器获得多个输出值,然后平均所有分类器的softmax概率值。

GoogLeNet检测+分类检测方法使用SelectiveSearch + MultiBox(Google),主要用于获取可能包含对象的候选区域。分类方法使用上面提到的GoogLeNet神经网络。

MultiBox方法

将AlexNet的最后一层(图8)更改为输出k边界框和k置信水平。

边界框被编码为四个节点值,它们是边界框的左上顶点和右下顶点的相对坐标。

置信度是此边界框的得分,表示边界框包含目标的可能性,其中k=200。

位置丢失功能:

如果第i个预测框对应于第j个目标,则xij=1,否则为0.

置信度损失函数(逻辑回归)

如果第i个预测框与其中一个目标匹配,那么。

最终的损失函数是:

选择性搜索方法

将超级像素大小更改为原始大小的2倍,以便将生成的候选帧减少一半。严格来说,不必将超像素的大小加倍,而是在超像素合并过程中删除一半合并的像素。

第一个图像是SelectiveSearch的组合渲染,第二个是SelectiveSearch合并算法的伪代码。

假设R最初具有k个区域,并且当合并两个区域时,合并的两个区域被删除,并且当R中仅存在k/2个区域时,执行正常的合并操作,并且不删除候选区域。由此生成的候选框小于原始SelectiveSearch算法生成的候选帧数的一半。

通过MultiBox和SelectiveSearch方法获得一系列候选框,并将这些候选框输入GoogLeNet神经网络进行分类以获得最终结果。

检测分类性能:

1.单一模型性能:

2.综合表现

GoogLeNet单一模型的分类性能比Deep Insight低2个百分点。六种型号的平均性能比Deep Insight高3个百分点。

原文:

[结束]

在被罚款50亿美元后,谷歌不再强迫Android默认引擎受到约束!

5个独特的JavaScript代码编辑器

北方人均月工资超过2万元,清华大学毕业生中近30%是50万以上,5G人才月薪超过40,000

吴军:站在潮流的浪潮中,5G和物联网是未来10年的浪潮人民的历史

入门|计算11种常用的区块链开发工具,数以百万计的年薪工程师从玩它们开始

如何从头开始设计芯片?

200行代码解释Github冠军项目背后的计时器

?自然语言处理十大问题!独家优惠

为什么雷军说“华为不了解研发”?

你点击的每一点,我都是认真的快乐