文章目录
历年image1000优秀网络汇总
参考论文《Deep Learning for Generic Object Detection: A Survey》历年image1000优秀网络汇总如下表:
在发展过程中也出现了很多优秀的轻量化模型:SqueezeNet、MobileNet、ShuffleNet、Xception
AlexNet
alexnet 网络总共的层数为8层,5层卷积,3层全连接层。不多说,直接上图:
VGGNet(2014亚军)
特点:
1)VGG由5层卷积层、3层全连接层、softmax输出层构成,层与层之间使用max-pooling分开,采用ReLU函数。
2)VGG使用多个较小卷积核(3x3)的卷积层代替一个卷积核较大的卷积层,一方面可以减少参数,另一方面相当于进行了更多的非线性映射,可以增加网络的拟合/表达能力。
3)相比AlexNet的3x3的池化核,VGG全部采用2x2的池化核。
4)层数更深、特征图更宽。
GoogleNet(2014冠军)
GoogleNet的Inception历经了V1、V2、V3、V4等多个版本的发展。
InceptionV1
引入1x1卷积的主要目的是为了减少维度和计算量。网络结构如下:
Inception V2
大尺寸的卷积核可以带来更大的感受野,但也意味着会产生更多的参数,比如5x5卷积核的参数有25个,3x3卷积核的参数有9个,前者是后者的25/9=2.78倍。因此,GoogLeNet团队提出可以用2个连续的3x3卷积层组成的小网络来代替单个的5x5卷积层,即在保持感受野范围的同时又减少了参数量,如下图:
那么这种替代方案会造成表达能力的下降吗?通过大量实验表明,并不会造成表达缺失。
可以看出,大卷积核完全可以由一系列的3x3卷积核来替代,那能不能再分解得更小一点呢?GoogLeNet团队考虑了nx1的卷积核,如下图所示,用3个3x1取代3x3卷积:
因此,任意nxn的卷积都可以通过1xn卷积后接nx1卷积来替代。
降低特征图大小:
先池化再作Inception卷积,或者先作Inception卷积再作池化。但是方法一(左图)先作pooling(池化)会导致特征表示遇到瓶颈(特征缺失),方法二(右图)是正常的缩小,但计算量很大。为了同时保持特征表示且降低计算量,将网络结构改为下图,使用两个并行化的模块来降低计算量(卷积、池化并行执行,再进行合并)
Inception V3
Inception v3整体上采用了Inception v2的网络结构,并在优化算法、正则化等方面做了改进,总结如下:
- 优化算法使用RMSProp替代SGD。
- 使用Label Smoothing Regularization(LSR)方法。
- 将第一个7x7卷积层分解为两个3x3卷积层。
- 辅助分类器(auxiliary classifier)的全连接层也进行了batch-normalization操作。
Inception V3一个最重要的改进是分解(Factorization),将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),这样的好处&