一、GoogleNet
1、原理介绍
inception 结构
如下图所示,输入数据经过一分四,然后做一些大小不同的卷积,之后再堆叠feature map
inception结构可以理解为把一个输入数据先通过一个1*1的卷积核进行降维然后再通过四个卷积核(分别为1*1,3*3,5*5,maxpooling)进行升维运算,然后模型会自动选择一个最优卷积核进行计算,最后得到一个卷积层。
inception结构的原理:
(1)、先通过一个1*1的卷积核降维,后面再跟正常的卷积核进行升维,把卷积的参数减少到原来的1/10
(2)、网络能够自动决定选用哪一个的卷积核
GoogleNet是由9个inception结构组成,如下图所示:
2、inception示例代码实现
二、VGGNet
1、原理介绍
VGG16由13个卷积层和3个全链接组成,因为每一层基本都是用的3*3或1*1的卷积核,结构比较简单,所以参数也不多。
VGGNet设计了多个cnn的卷积结构,层数加深了,而且参数比较少,层越多,模型泛化能力就越强,同时也越难于训练,需要的训练数据越多
2、示例代码实现
三、ResNet(深度残差网络)
1、原理介绍
ResNet是通过残差结构来进行托底学习,主要是通过每次卷积结果都是要加上输入数据,保证每次卷积后输出不为0,从而增加卷积的层数,并减少梯度消失的问题,RESNet最大能到152层
2、示例代码实现
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CNN之经典卷积网络框架原理 - Python技术站