1. 基本的Inception

2. Inception V1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DO6ZlpG8-1583234107770)(2.png)]](https://i-blog.csdnimg.cn/blog_migrate/d3d215807204f47c2cc4ca4de7637ba6.png)
3. 1×1卷积的作用
- 降低参数数量,例如
- 输入:20×20×20
- 卷积:8个5×5,stride=1,padding=0
- 参数个数:20×5×5×8=4000
- 加入1×1卷积后
- 输入:20×20×20
- 1×1卷积:4个1×1,stride=1,padding=0
- 1×1卷积输出:4×20×20
- 卷积:8个5×5,stride=1,padding=0
- 参数个数:4×1×1×20+8×5×5×4=880
个人觉得针对通道数过多比较适合
【注】每个卷积后都有BatchNorm操作的
4. Inception V2
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FGAXSSHr-1583234107773)(3.png)]](https://i-blog.csdnimg.cn/blog_migrate/f8b350a82024cadd5097e333a3a0af98.png)
任意nxn的卷积都可以通过1xn卷积后接nx1卷积来替代。
GoogLeNet团队发现在网络的前期使用这种分解效果并不好,在中度大小的特征图(feature map)上使用效果才会更好(特征图大小建议在12到20之间)
5. 降低特征图大小
一般情况下,如果想让图像缩小,可以有如下两种方式:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mQfZxyPc-1583234107777)(4.png)]](https://i-blog.csdnimg.cn/blog_migrate/c5b02481c1a0e5b0ddb88987606c3cac.png)
先池化再作Inception卷积,或者先作Inception卷积再作池化。
- 方法一(左图)先作pooling(池化)会导致特征表示遇到瓶颈(特征缺失)
- 方法二(右图)是正常的缩小,但计算量很大
为了同时保持特征表示且降低计算量,将网络结构改为下图,使用两个并行化的模块来降低计算量(卷积、池化并行执行,再进行合并)

6. Inception V3
Inception V3一个最重要的改进是分解(Factorization),将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),这样的好处,既可以加速计算,又可以将1个卷积拆成2个卷积,使得网络深度进一步增加,增加了网络的非线性(每增加一层都要进行ReLU)。
7. Inception V4
Inception V4研究了Inception模块与残差连接的结合。ResNet结构大大地加深了网络深度,还极大地提升了训练速度,同时性能也有提升
Inception V4主要利用残差连接(Residual Connection)来改进V3结构,得到Inception-ResNet-v1,Inception-ResNet-v2,Inception-v4网络
ResNet的残差结构如下:

将该结构与Inception相结合,变成下图:

通过20个类似的模块组合,Inception-ResNet构建如下:

8. summary
inception模块说白了就是并行卷积池化,并且用多层小卷积替代单纯的大卷积,可以和残差网络结合一起用,具体并行多少个卷积,什么样的卷积池化根据实际来设计
本文深入解析Inception模块从V1到V4的发展历程,探讨其如何通过并行卷积、池化及分解策略减少参数数量,提升计算效率,以及与残差网络结合的应用。Inception模块通过使用多层小卷积替代大卷积,有效降低了计算复杂度,增加了网络的非线性,实现了深度学习模型的优化。
680

被折叠的 条评论
为什么被折叠?



