tensorflow 学习(三) - 常用的CNN模型

1. AlexNet模型

    2012年,Alex等人在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,原始的AlexNet v1主要由5个卷积层和3个全连接层组成, AlexNet v2去掉了localNorm层,并在最后3层中使用了卷积层代替全连接层,构造了全卷积结构。

tensorflow 学习(三) - 常用的CNN模型

2. VGG模型

    2014年,牛津大学的研究人员提出了VGG模型,旨在提供比AlexNet更深的模型以提升图像分类精度,VGG模型大量采用了3*3卷积核,常用的是VGG16模型和VGG19模型,由于最后采用了3个全连接层来融合多通道分类图,使得模型参数量增加,模型变大,规模达到500M以上。

tensorflow 学习(三) - 常用的CNN模型

 

3.Inception 模型

    为了更好的融合多尺度模型,同时避免采用过多的全连接层,Google公司的研究团队提出了Inception模型及其变种。
Inception v13*35*5的卷积核前采用1*1的卷积核降维以减少计算量。

tensorflow 学习(三) - 常用的CNN模型
Inception v2 5*5的卷积核前变成23*3的卷积核,降低了计算量。

tensorflow 学习(三) - 常用的CNN模型

 

 

4.Resnet 模型

2015年,微软亚洲研究院的何恺明等人提出了Resnet。Resnet model用于学习输入和输出之间的残差。每个Resnet modele的输出数据都由输入数据和残差共同构成。由于model中的输入和输出之间出现了直连通道,梯度传播更加容易,模型可以达到的深度远超Alexnet,VGG和Inception模型。

tensorflow 学习(三) - 常用的CNN模型​​​​​​​

常用的几种CNN模型总结:

网络名称

主要设计思想

计算

复杂度

模型大小(MB

AlexNet

1)首次采用多层深度CNN模型做图像识别;

2)采用 Relu**函数避免梯度消失;

3)提出Dropout防止模型过拟合

240

VGG

为了降低计算量,全部采用3*3的卷积核,通过连续的3*3卷积模拟5*5和7*7等更大的卷积核

550

Inception

为了融合多种感受野大小下的特征图,提出了Inception模块,该模块包含了1*1,3*3,5*5的卷积层,在3*3和5*5的卷积核前采用1*1的卷积核降低特征通道数,减少计算量

50~163

ResNet

提出了Resnet model,用于学习输入和输出之间的残差,使得深层网络更容易训练。

较高

90~214

Inception- ResNet

将残差模块的设计思想融入到Inception架构中

较高

200