神经网络基础结构演进趋势洞察

自从2012年AlexNet激起新一轮深度学习热潮以来,深度神经网络快速发展,众多教授、博士迅速挖坑、填坑,把神经网络的基础结构研究的透透彻彻。最近整体看了几十篇神经网络基础结构的文章,作为备忘,简单整理记录如下:

名称 推出时间 核心创新点
AlexNet 2012 深度学习开山之作,ReLU、DropOut、池化
VGG 2014.9 小尺寸卷积核,全3*3卷积核
GoogLeNet (Inception V1) 2014.9 分组卷积、模块化、1*1卷积、全局平均池化替代全连接
Inception V2/V3 2015.2/12 BN、卷积分解(n*n卷积分解为1*n+N*1)
ResNet 2015.12 残差
SqueezeNet 2016.2 轻量化网络,1*1卷积、分组卷积
DenseNet 2016.8 各层全连通
Xception 2016.10 Depthwise卷积
MobileNet V1 2017.4 轻量化网络,depthwise和pointwise(即1*1)卷积
ShuffleNet 2017.7 轻量化网络,多种技术的综合优化,多通道卷积时的通道shuffle
MobileNet V2 2018.1 轻量化网络,逆向残差模块(ResNet里通过1*1降维,这里是升维)、线性bottleneck

几点说明:

1. 挂一漏万,这些是个人认为比较重要的基础网络结构;

2. 有些结构可能不是该网络首创,但通常认为是该网络发扬光大;

3. Inception V2/V3在V3那篇文章(Rethinking the Inception Architecture for Computer Vision)里有明确的定义,但是到V4那篇文章里又有了新的说法,两篇文章文章里关于V2的说法好像是不一样的,此处采纳V3文章里的说法。

 

从以上表格可以看出这么几个趋势:

1. 重要的基础网络基本都在2016年以前发布的,而2016年以后重点已经转到轻量化网络上了;

2. 对于保持网络精度的同时降低网络规模起到重要作用的技术包括:小尺寸卷积(现在的网络基本统一到3*3卷积上了,通过多层级联可以获得大尺寸卷积的作用)、分组卷积(也就是group conv)、卷积分解(用1*n+n*1替代n*n卷积)、depthwise卷积、1*1卷积(或者叫bottleneck或pointwise卷积)、全局平均池化替代全连接;

3. 对于网络加深和训练快速收敛起作用的技术包括:BN和残差。这两个技术目前都得到了广泛的应用;

4. 模块化对于缩小设计空间,简化复杂模型设计非常重要。

 

关于这些网络的对比,有这么一篇文章做了总体介绍:An Analysis of Deep Neural Network Models for Practical Applications, https://arxiv.org/abs/1605.07678 。下图摘自这篇文章:

 

神经网络基础结构演进趋势洞察

 

从这个图里可以看到:

1. 针对ImageNet分类数据集,top1准确率在75%~80%附近饱和,在现有网络结构下,不管怎么增加计算,也很难进一步快速提升;

2. 饱和点大概在Inception V3和ResNet50附近,之后需要计算量大幅提高才能获得一点准确率的提升;

3. VGG实在是效率很低的网络,参数量多、计算量大,而分类精度却是一般;

4. Inception是效率挺高的网络,但相对来说,需要比较精细的设计,因而可移植性差一些;而ResNet简单很多,只是在普通卷积网络的基础上加上残差连接,通用性非常强,因此这些年应用极广。

 

以上,个人简单想法,做个记录。