CNN-卷积神经网络

【原理】什么是Inception

作者 : 老饼 发表日期 : 2024-03-04 19:03:05 更新日期 : 2024-03-07 13:01:48
本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com





     01.什么是Inception模块    




本节介绍Inception模块的思想,并初步展示什么是Inception模块




       Inception模块的思想(naive-Inception)      


用原始版本的Inception模块极为容易理解Inception的思想
最原始的naive版本Inception模块如下:

  
如图所示,Inception用多个子模块(卷积、池化)对输入进行处理,再将结果合并作为输出
 👉从生物角度,可以将它理解为,综合粗看、细看的结果作为输出               
👉从数学角度来说,用不同的过滤器去捕获特征,这样可以使特征多样化         
 
可以看到,Inception模块并不是全连接,它属于稀疏连接,
也就是说,Inception模块的本质就是加入了"粗看、细看"这样的信息来限制模型的结构形态





      什么是Inception模块(GoogLeNet-Inception)     


 日常所用、所说的Inception模块一般指的是GoogLeNet的Inception模块 
 
GoogLeNet的Inception模块主要在naive版本的基础上加入1×1卷积层对各个模块进行降维
 其中,卷积之前的1×1卷积是为了对通道进行降维,以减少之后的卷积模块的运算量
而池化之后加入的1×1卷积是为了对池化结果的输出通道进行降维    
  加入降维的其中一个好处是,使得输入与输出的通道可以保持一致
如果不加入降维,那么光是池化部分的输出,就与输入的通道数一致,则总的输出通道肯定比输入通道大






     02.如何学习Inception模块    




本节介绍怎么学习Inception的相关内容




       有哪些Inception模块      


Inception的出处
GoogLeNet的Inception模块出自GoogLeNet(Inception)系列模型,到目前(2024年)共四个版本
InceptionNet-V1原文:《Going deeper with convolutions》                                                                                                     
InceptionNet-V2原文:《Batch Normalization: Accelerating Deep Network Training b y Reducing Internal Covariate Shift》
InceptionNet-V3原文:《Rethinking the Inception Architecture for Computer Vision》                                                           
 InceptionNet-V4原文:《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》                  
Inception模块在各个版本中不断迭代,直到V4版本,整合了ResNet的思想,推出了结合ResNet的Inception模块
各版本Inception模块简介
以下是各个版本的Inception模块的简介
InceptionV1:提出了简单、可用的Inception模块                                                                                 
InceptionV2:将VGG的小卷积(3x3卷积)思想与BN层加入到Inception中                                                
InceptionV3:在普通Inception中加入了非对称卷积,并提出了用于降维的Inception模块(替代池化模块)
InceptionV4:结合ResNet,提出了带快捷连接的Inception模块                                                            
如何学习Inception
Inception包括了V1-V4的模型和模块,如果要学习模型,则在《经典CNN》里找到相关模型结构进行了解即可
如果是自主设计CNN,更多时候是借鉴和使用其中的Inception模块,只需在本节中学习V1-V4所介绍的相关Inception模块就可以











 End 






联系老饼