其他分享
首页 > 其他分享> > Inception-v3的设计思路小结

Inception-v3的设计思路小结

作者:互联网

Inception-v3的设计思路小结

一、网络更深、更宽带来的问题

  1. 参数太多,若训练数据集有限,容易过拟合;
  2. 网络越大计算复杂度越大,难以应用;(内存和计算资源)
  3. 网络越深,梯度越往后穿越容易消失,难以优化模型。 

解决:

所以,Inception系列的网络是“很窄很深”的结构。

 

二、设计原则

模型结构

Inception-v2把7x7卷积替换为3个3x3卷积。包含3个Inception部分。第一部分是35x35x288,使用了2个3x3卷积代替了传统的5x5;第二部分减小了feature map,增多了filters,为17x17x768,使用了nx1->1xn结构;第三部分增多了filter,使用了卷积池化并行结构。网络有42层,但是计算量只有GoogLeNet的2.5倍。

功能

设计功能:最后两层之前模型完成  299x299x3 到 1x1x2048的特征映射,把input映射成2048维的特征向量,完成自动特征提取的工作;

其中,前面的conv和pool完成提取特征,中间Inception结构可以自动学习出滤波器的类型:

最后两层是一个全连接层,起到使用特征向量进行分类的功能。

 

三、Inception Module

Inception的作用:代替人工确定卷积层中的过滤器类型或者确定是否需要创建卷积层和池化层,即:不需要人为决定使用哪个过滤器,是否需要池化层等,

由网络自行决定这些参数,可以给网络添加所有可能值,将输出连接起来,网络自己学习它需要什么样的参数。

原理

Inception架构的主要思想是找出如何用密集成分来近似最优的局部稀疏结

1 . 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合; 

2 . 之所以卷积核大小采用1x1、3x3和5x5,主要是为了方便对齐。设定卷积步长stride=1之后,只要分别设定padding = 0、1、2,采用same卷积可以得到相同维度的特征,然后这些特征直接拼接在一起; 

3 . 文章说很多地方都表明pooling挺有效,所以Inception里面也嵌入了pooling。 

4 . 网络越到后面特征越抽象,且每个特征涉及的感受野也更大,随着层数的增加,3x3和5x5卷积的比例也要增加。

 

最终版inception,加入了1x1 conv来降低feature map厚度:

 

四、CNN结构演进

 

参考

1简介: https://www.cnblogs.com/vincentqliu/p/7467298.html

inception-v3模块详解https://blog.csdn.net/loveliuzz/article/details/79135583

3 版本演化、各版论文:https://blog.csdn.net/u010402786/article/details/52433324

标签:3x3,5x5,卷积,网络,特征,v3,Inception,小结
来源: https://www.cnblogs.com/xiaoboge/p/10457194.html