Inception系列之Inception_v1
目前,神经网络模型为了得到更好的效果,越来越深和越来越宽的模型被提出。然而这样会带来以下几个问题:
1)参数量,计算量越来越大,在有限内存和算力的设备上,其应用也就越难以落地。
2)对于一些数据集较少的场景,太大的模型反而容易过拟合,但模型太小则泛化能力不够。
3)容易出现梯度消失的问题。
解决这些问题比较直观的方法就是采用稀疏连接来代替全连接层,但很明显,由于底层是通过矩阵计算的,稀疏连接在参数量上减少了,但并没有减少计算量。
因此,google提出了Inception系列Inception_v1 ….Inception_v4,使得模型在增加深度和宽度时不会带来参数量的巨大增加,同时也保证了计算量。
Inception体系结构的主要思想是考虑如何才能通过容易获得的密集组件来近似和覆盖卷积视觉网络的最佳局部稀疏结构。假设平移不变意味着网络将由卷积块构建,那我们所需要的只是找到最佳的局部构造并在空间上进行重复,最后将它们聚集在一起进行输出。为此,刚开始google提出了如下图Figure 1所示的结构

Figure 1:这里的Filter concatenation是指在通道上叠加。
正如每个卷积块代表一块局部区域,在高层的空间集中度将降低(换句话说,感受野增大),这表明在高层将需要尽可能多的使用3x3, 5x5卷积核。因此这个原始版本的Inception模块将会产生一个问题,由于每层都是在通道上堆叠累加,因此在高层时通道数将非常大,即便是少量的5x5的卷积核,也可能在高层带来巨大的计算量,而加入池化层同样会增加巨大的计算量。
因此,第二个想法为减少通道数。Inception_V1采用了Network-in-Network 中提到的使用1x1 卷积来改变通道数的方法,提出在3x3或5x5卷积前先进行1x1卷积,减少通道数。
其结构图Figure 2如下:

下面的例子说明添加了1x1卷积是如何减少参数的。假设Previous layer为112x112x64, 1x1的尺寸为1x1x64, 取32个这样的1x1x64卷积。而输出的尺寸为112x112x128。则使用1x1卷积后的参数为64x1x1x32+32x5x5x128 = 104448, 而在此之前需要的参数量为64x5x5x128 = 204800,减少了将近一倍的参数。这里减少的倍数接近等于输入通道数与1x1的数量的比值。
这个结构比较有用的一个方面是,通过1x1卷积的引入,即便在每层显著地增加了单元的数量,也不会在后面的层中造成无法控制的计算量。论文中提到,这个结构比那些非Inception模型快了3-10倍,虽然在精度上比别的模型可能差一点点,但计算量却少了非常多。
完整的网络结构图table 1如下:

table 1: 这里的3x3 reduce,5x5 reduce指的是在其前面添加了1x1。
其结构图如下:

Figure3:
(1)图中有3个softmax输出位置,有两个是在中间位置,这样方便在中间层输出分类,同时通过加权(中间0.3)的方式加到最终的分类结果中。同时,还能给模型增加反向传播的梯度信号,缓解了梯度消失问题,在一定程度上也有正则化的效果。在推理阶段,这两个softmax将会去除。
(2)使用了平均池化来代替全连接层,论文提到这样可以提高0.6%的准确率,但还是添加了一层FC,这是为了方便对输出进行调整,并且也使用了Dropout。
(3)关于table1中的Inception 3a 3b 4a 4b 4c等,区分方式是汇合的MaxPool层和DepthConcat。
(4)图像输入都经过了去均值,即每个位置减去整体均值。
如有错误或不合理之处,欢迎在评论中指正。
欢迎关注公众号“CV技术指南”,主要进行计算机视觉方向的论文解读,最新技术跟踪,以及CV技术的总结。

Inception系列之Inception_v1的更多相关文章
- 『高性能模型』卷积复杂度以及Inception系列
转载自知乎:卷积神经网络的复杂度分析 之前的Inception学习博客: 『TensorFlow』读书笔记_Inception_V3_上 『TensorFlow』读书笔记_Inception_V3_下 ...
- 网络结构解读之inception系列五:Inception V4
网络结构解读之inception系列五:Inception V4 在残差逐渐当道时,google开始研究inception和残差网络的性能差异以及结合的可能性,并且给出了实验结构. 本文思想阐述不多, ...
- 网络结构解读之inception系列四:Inception V3
网络结构解读之inception系列四:Inception V3 Inception V3根据前面两篇结构的经验和新设计的结构的实验,总结了一套可借鉴的网络结构设计的原则.理解这些原则的背后隐藏的 ...
- 网络结构解读之inception系列三:BN-Inception(Inception V2)
网络结构解读之inception系列三:BN-Inception(Inception V2) BN的出现大大解决了训练收敛问题.作者主要围绕归一化的操作做了一系列优化思路的阐述,值得细看. Batch ...
- 网络结构解读之inception系列二:GoogLeNet(Inception V1)
网络结构解读之inception系列二:GoogLeNet(Inception V1) inception系列的开山之作,有网络结构设计的初期思考. Going deeper with convolu ...
- 网络结构解读之inception系列一:Network in Network
网络结构解读之inception系列一:Network in Network 网上有很多的网络结构解读,之前也是看他人博客的介绍,但当自己看论文的时候,发现存在很多的细节和动机解读,而这部分能加深 ...
- Inception系列理解
博客:博客园 | CSDN | blog 写在前面 Inception 家族成员:Inception-V1(GoogLeNet).BN-Inception.Inception-V2.Inception ...
- Inception系列
从GoogLeNet的Inceptionv1开始,发展了众多inception,如inception v2.v3.v4与Inception-ResNet-V2. 故事还是要从inception v1开 ...
- 深度卷积网络-Inception系列
目录 1. Inception V1 1.1 Inception module 2. Inception V2 3. Inception V3 4. Inception V4, Inception-R ...
随机推荐
- 【题解】Bzoj3916
字符串\(Hash\). 笔者实在太菜了,到现在还没有熟练掌握\(Hash\),就来这里写一篇学习笔记. \(Description\) 有三个好朋友喜欢在一起玩游戏,\(A\)君写下一个字符串\(S ...
- HashMap 、ConcurrentHashMap知识点全解析
散列表 在了解hashmap之前,要先知道什么是散列表,因为hashmap就是在散列表结构基础上改造而成的.散列表,也叫哈希表,是根据关键码值(key value)而直接进行访问的数据结构.也就是说, ...
- 阅读源码,从ArrayList开始
前言 为啥要阅读源码?一句话,为了写出更好的程序. 一方面,只有了解了代码的执行过程,我们才能更好的使用别人提供的工具和框架,写出高效的程序.另一方面,一些经典的代码背后蕴藏的思想和技巧很值得学习,通 ...
- 在Linux下如何根据域名自签发OpenSSL证书与常用证书转换
在Linux下如何根据域名自签发各种SSL证书,这里我们以Apache.Tomcat.Nginx为例. openssl自签发泛域名(通配符)证书 首先要有openssl工具,如果没有那么使用如下命令安 ...
- ORA-00019: maximum number of session licenses exceeded 超出最大会话许可数
ORA-00019: maximum number of session licenses exceededORA-00019: 超出最大会话许可数 Cause: All licenses ...
- day13 Pyhton学习
一.昨日内容回顾 生成器 本质就是迭代器 特点: 1.省内存 2.惰性机制 3.只能向前,不能反复 生成器函数 函数中包含yield. yield表示返回和return,分段执行一个函数 def fu ...
- c语言版去除源代码注释
去除代码中注释需要注意下面几点 首先注释有"/*"开始到"*/"结束的多行或单行注释 其次还有"//"这种单行注释 另外还需要注意双引号和单 ...
- 运行bee run之后出现的错误以及解决方法Failed to build the application:
运行bee run之后出现的错误以及解决方法 创建一个beego项目 bee new myapp 在该项目执行下面的代码 bee run 出现的问题 2020/04/22 21:12:07 INF ...
- 编写C语言的两种方法----Visual Studio/CodeBlocks
1.CodeBlock(安装简单) 参考这个博客的:https://blog.csdn.net/jjjjkkjkk/article/details/80331625?utm_medium=distri ...
- poj3178 Roping the Field (计算几何 + dp)
Roping the Field Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 858 Accepted: 250 De ...