博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GoogleNet总结
阅读量:4153 次
发布时间:2019-05-25

本文共 1746 字,大约阅读时间需要 5 分钟。

目录

(1)GoogleNet(InceptionV1)

GoogleNet是用以上的结构单元搭建的,含有两个辅助输出分支。训练时,辅助输出的结果也按一定比例加到损失函数中,而推理时则只留主输出,去掉辅助输出分支后,网络计算量大大降低。辅助输出分支的存在提高了网络训练的稳定性,减轻了梯度消失,一定程度上提高了网络的准确度,整体结构如下图所示:

在这里插入图片描述

(2)GoogleNet中的结构单元

一张图片中的可能存在多个目标,这些目标大小往往不同。用单个尺寸的卷积核获得的特征图很可能不能很好的涵盖所有目标的特征。

能不能提供一系列的卷积核,让网络自己训练选择合适大小的卷积核?为了解决这个问题,Google的研究人员提出了Inception结构,如下图所示:
在这里插入图片描述
Inception结构单元中1x1卷积作用主要有两个:(1)对输入特征数进行压缩降维,减少inception结构计算量;(2)多引入了一次卷积和激活,提高了inception结构的非线性表现力。
在这里插入图片描述
从稀疏矩阵分解成密集矩阵计算角度来看,将一个很大的稀疏矩阵拆分为多个小的密集矩阵,然后只让这些小的密集矩阵进行后面的运算,可以显著降低计算量。Inception结构中的1x1卷积先将特征进行了压缩,减少了后续计算中为零的特征数,提高了计算效率。
此外,还可从神经科学上的Hebbin原理来解释Inception结构的作用:Hebbin认为“两个神经元或者神经元系统,如果总是同时兴奋,就会形成一种‘组合’,其中一个神经元的兴奋会促进另一个的兴奋”。放在INception结构上就是1x1、3x3和5x5卷积得到的特征分别为一类特征,同为一类的特征相关性强,如果在进行网络设计的时候考虑到这一点,可以加速神经网络特征提取能力的学习过程。

(3)InceptionV2(BN-Inception)

相比InceptionV1,InceptionV2的改进有:

(1)采用了Batch normalization,对每层网络的输入先进行处理,使其拥有零均值,方差为1,输入样本之间不相关。通过零均值化每一层的输入,使每一层拥有服从相同分布的输入样本,以减少内部协方差偏移(Internal Covariate Shift)的影响。
(2)在Inception结构中用两个3x3卷积代替原来的5x5卷积:
在这里插入图片描述
其它改动还包括:28x28 的inception 模块从2个增加到3个;在inception 模块中,有的采用最大池化,有的采用平均池化;在inception 模块之间取消了用作连接的池化层;inception(3c),inception(4e) 的子层采用步长为 2 的卷积/池化。

(4)InceptionV3(分解卷积)

Inception V3 还在 Inception Module 的分支中使用了分支(主要体现在 8x8 的结构中)

在这里插入图片描述
在 Inception V3 中还引入了将一个较大的二维卷积拆成两个较小的一维卷积的做法。例如3x3 卷积可以拆成 Ix3 卷积和 3 × l卷积。这被称为Factorization into small convolutions。在论文中作者指出,这种非对称的卷积结构拆分在处理更多、更丰富的空间特征以及增加特征多样性等方面(将一个大卷积才分为两个小卷积提高了网络的非线性表现力)的效果能够比对称的卷积结构拆分更好,同时能减少计算量。
InceptionV3的输入由224改为了299.

(5)InceptionV4,Inception-ResNet

在这里插入图片描述

InceptionV4网络中含有stem和reduction模块,其中Stem中使用了Inception V3中使用的并行结构、不对称卷积核结构,可以在保证信息损失足够小的情况下,使得计算量降低。图中带V的标记说明该卷积核使用valid padding,其余的使用same padding。
在这里插入图片描述
reduction结构中去掉了原来inception结构中的1x1卷积的分支,其中reductionA和reductionB分别如下图所示:
在这里插入图片描述
在这里插入图片描述
Inception-ResNet整体如下:
在这里插入图片描述
Inception-ResNet结构单元有三种,分别如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考:

转载地址:http://tarti.baihongyu.com/

你可能感兴趣的文章
进程创建时内存描述符处理
查看>>
进程创建时命名空间处理
查看>>
进程创建时IO处理
查看>>
进程创建时线程栈处理
查看>>
进程创建时pid分配
查看>>
进程创建时安全计算处理
查看>>
进程创建时cgroup处理
查看>>
进程创建时共享内存处理
查看>>
idle进程创建
查看>>
内核线程创建
查看>>
linux elf tool readelf
查看>>
linux tool objdump
查看>>
linux tool nm
查看>>
字节对齐
查看>>
把类成员函数封装成线程API所需要的函数
查看>>
HTTP Live Streaming直播(iOS直播)技术分析与实现
查看>>
Ribbon界面图标可以直接用PNG做透明图标
查看>>
向其他软件窗口、控件发送消息的方法
查看>>
word或者pdf文件全部保存为图片的方法
查看>>
VS2010下SQLite3生成lib库文件
查看>>