深度解读GoogleNet之Inception V1
GoogleNet设计的目的
GoogleNet设计的初衷是为了提高在网络里面的计算资源的利用率。
Motivation
网络越大,意味着网络的参数较多,尤其当数据集很小的时候,网络更容易发生过拟合。网络越大带来的另一个缺点就是计算资源的利用率会急剧增加。例如,如果两个卷积层是串联的,他们滤波器数量中任何一个均匀增加都会导致计算资源的二次方浪费。解决这两个问题的方法是用稀疏连接的结构代替全连接。在早期为了打破网络的对称性和提高学习能力,传统的网络都使用随机的稀疏连接,但是计算机硬件对非均匀的稀疏连接的计算效率很差,所以在Alexnet中又启用了全连接,为的是更好的优化并行运算。Incpetion结构因此被提出,它既能保持网络结构的稀疏性,又能利用密集矩阵的高性能计算。
Inception结构
a

1.该结构采用了不同大小的卷积核,较小的卷积能够提取局部特征,较大的卷积能够渐近全局特征,而且不同大小的卷积有不同的感受野,能够提高网络的鲁棒性,最后通过concatenate合并这些特征。
2.之所以用1x1,3x3,5x5的卷积是为了方便对齐,假设卷积核的步长为1,则只需pad=0、1、2,卷积之后便可得到相同维度的特征映射,就可以直接将他们拼接起来。
3.在该结构中还加入最大池化,最大池化作用的是之前层的输出,目的应该是提供转移翻转不变性。
4.在网络的较高层,特征越抽象,并且网络的感受野变大,所以通常3x3和5x5的卷积数量会增加,会引入大量的参数。当引入池化单元后,参数更多,因为输出滤波器的数量等于前一个阶段滤波器的数量,会导致不可避免的参数膨胀。
b

为了解决参数过多的问题,在Inception中引入了1x1的卷积。1x1的卷积有以下两个好处:
(1) 最重要的是1x1的卷积起到了维度衰减的作用,移除了计算瓶颈。假设原来Inception模块的输入特征映射为28x28x192,其中1x1卷积的通道数为64,3x3卷积通道数为128,5x5卷积通道数为32,则卷积核的参数为1x1x192x64+3x3x192x128+5x5x192x32,而在b结构中加入通道数为96和16的1x1卷积,则参数为1x1x192x64+(1x1x192x96+3x3x96x128)+(1x1x192x16+5x5x16x32),参数减少到了原来的1/3。
(2) 通常在1x1的卷积后面会引入一个非线性激活函数,也就是Relu,相当于引入了更多的非线性变换,提高了网络的表示能力。
GoogleNet

由图可知,Googlenet是由多个Inception模块堆叠而成,它的深度达到了22层,并且网络最后没有使用全连接层而是采用了平均池化层,这样做的好处是减少了参数,防止过拟合。并且为了避免梯度消失,网络额外增加了2个辅助的softmax用于向前传播梯度,在测试阶段这两个softmax会被移除。至于为什么不是在一开始就堆叠Inception模块,而是用几个卷积层加池化层是因为在网络的早期,输出的特征映射尺度通常很大,使用单独的卷积层和池化层能够降低特征映射的大小,减少参数,防止过拟合。
深度解读GoogleNet之Inception V1的更多相关文章
- 网络结构解读之inception系列二:GoogLeNet(Inception V1)
网络结构解读之inception系列二:GoogLeNet(Inception V1) inception系列的开山之作,有网络结构设计的初期思考. Going deeper with convolu ...
- GoogLeNet 之 Inception v1 v2 v3 v4
论文地址 Inception V1 :Going Deeper with Convolutions Inception-v2 :Batch Normalization: Accelerating De ...
- 深度学习面试题20:GoogLeNet(Inception V1)
目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...
- 论文阅读笔记四十二:Going deeper with convolutions (Inception V1 CVPR2014 )
论文原址:https://arxiv.org/pdf/1409.4842.pdf 代码连接:https://github.com/titu1994/Inception-v4(包含v1,v2,v4) ...
- 【转】CNN卷积神经网络_ GoogLeNet 之 Inception(V1-V4)
http://blog.csdn.net/diamonjoy_zone/article/details/70576775 参考: 1. Inception[V1]: Going Deeper with ...
- 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2
from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...
- 从GoogLeNet至Inception v3
从GoogLeNet至Inception v3 一.CNN发展纵览 我们先来看一张图片: 1985年,Rumelhart和Hinton等人提出了后向传播(Back Propagation,BP)算法( ...
- 我就是认真:Linux SWAP 深度解读(必须收藏)
我就是认真:Linux SWAP 深度解读(必须收藏) http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651660097& ...
- AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 张钦坤 腾讯研究院秘书长蔡雄山 腾讯研究院法律研究中心副主任祝林华 腾讯研究院法律研究中心助理研究员曹建峰 腾讯研究院法律研究中心高级研究员 ...
随机推荐
- TCP/IP学习笔记:TCP传输控制协议(一)
1 TCP的服务 尽管TCP和UDP都使用相同的网络层(IP),TCP却向用户提供一种面向连接的,可靠地字节流服务.两个使用TCP的应用,在彼此交换数据之前必须先建立一个TCP连接,在一个TCP连接中 ...
- Java面试题1--关键字
1. final关键字有哪些用法? 修饰类.方法和变量. (1) final变量是只读的,不允许改变其引用,与static共用可声明常量.JVM会对final变量进行优化,比如常量折叠. (2) fi ...
- C#扩展方法(转)
扩展方法使您能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型." 这是msdn上说的,也就是你可以对String,Int,DataRo ...
- 几个APP开发的创意
每年都有大量新APP进入市场,争夺消费者的关注.随着越来越多的APP进入主流,随着需求的变化和新技术的出现,一系列新的APP随之而来.那么目前有什么APP开发的好创意呢? 1.旅游指南APP 当你在一 ...
- 机器学习技法:13 Deep Learning
Roadmap Deep Neural Network Autoencoder Denoising Autoencoder Principal Component Analysis Summary
- 机器学习基石:01 The Learning Problem
什么时候适合用机器学习算法? 1.存在某种规则/模式,能够使性能提升,比如准确率: 2.这种规则难以程序化定义,人难以给出准确定义: 3.存在能够反映这种规则的资料. 所以,机器学习就是设计算法A,从 ...
- str_replace替换换行符失败原因
在编程中,需要替换掉字符串的换行符再存进数据库, 语句: $str = str_replace(array('/r/n', '/r', '/n'), $str); 发现语句并没有替换,网上查找后,知道 ...
- [SDOI 2010]外星千足虫
Description 题库链接 给出 \(m\) 个 \(n\) 元的 \(0,1\) 方程,即系数非 \(0\) 即 \(1\) ,方程的结果为奇偶性. \(1\leq n\leq 1000,1\ ...
- [SDOI2016]游戏
Description Alice 和 Bob 在玩一个游戏. 游戏在一棵有 n 个点的树上进行.最初,每个点上都只有一个数字,那个数字是 123456789123456789. 有时,Alice 会 ...
- [ZJOI2008]瞭望塔
题目描述 致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔,以此加强村中的治安. 我们将H村抽象为一维的轮廓.如下图所示 我们可以用一条山的上方轮廓折线(x1, y1), ...