以下是我在2018年7月份找工作时,根据个人所学总结出的基础网络 (Basemodel) 综述。
其中,仅仅挑出我认为比较重要的一系列基础网络,按照时间顺序进行简要概述。
如有阐述不对的地方,恳请指出。
LeNet
时间
1998
意义
- 标志着 CNN 的真正面世。
优点
- 在字符识别上取得了高于 99%的准确率。
缺点
- 当时没有 GPU,训练LeNet 极耗时;
- 非 OCR 的任务上,甚至不如 SVM。
应用
- OCR (如美国邮政系统)。
AlexNet
时间
2012
意义
- 证明了 CNN 在复杂模型下的有效性,CV 领域迎来“井喷式”大发展。
- ImageNet2012 1st。
创新点
- 数据层面:
- 使用了 ImageNet 的海量数据(防止过拟合);
- 使用了数据增强(防止过拟合)。
- 网络层面:
- 加入 dropout 防止过拟合;
- Relu 激活函数,避免了正半轴的梯度消失;
- 局部响应归一化(LRN) ,利用临近的数据做归一化 (2015 年 bn 出现后被淘汰)。
- 硬件层面:
- 使用了 GPU,快速训练 (论文中的双 pipe-line 即表示双 GPU 并行)。
优点
打破了层数的天花板,深度达到 8 层。
应用
- R-CNN;
- SPPNet。
ZFNet
时间
2013
意义
- 利用反卷积对 CNN 特征进行可视化,洞察了 CNN 的层次性。
应用
- Faster R-CNN。
NiN
意义
- 采用多层感知机(多层全连接层和非线性函数的组合)替代了先前 CNN中简单的线性卷积层。由于非线性是深度学习一切抽象能力和表示能力的来源,因此相当于“在层间加塞多层感知机以增加非线性”。
应用
- 被 Inceptionv1 所借鉴。
GoogleNet
时间
2014
意义
- 提出了 Inceptionv1,开启了 Inception 系列;
- 刷新了网络的深度新纪录;
- 第一个提出了 conv1×1 的降维方法。
创新点
- 类似于 NiN 的结构,即原来的节点也是一个子网络。
优点
- 参数量少。
缺点
- 结构复杂。
变种
- Inceptionv2/3/4、Xception
应用
- YOLOv1。
VGGNet
时间
2014
意义
- ImageNet2014 定位任务第一、分类任务第二。
创新点
- 该网络普遍使用小卷积核以替代大卷积核。
优点
- 网络结构超简单,高度模块化。
- 小卷积核叠加后可取得与大卷积核相同规模的感受野,而参数量更少;
- 加深了网络层数->增强了网络容量。
缺点
- 模型太大 (绝大部分参数在最后三个 fc 层),效率很低。
- 叠加卷积核意味着层数的增加,从而导致整个网络的总计算量增加;
- 层数增加导致更大的梯度风险。
结构
五个尺度的卷积,前两个每个都含有 2 层卷积,后三个每个含有 3-4 层卷积;跟着 3 个 fc,最后一个 Softmax 收尾。
应用
- Fast R-CNN;
- Faster R-CNN;
- SSD。
ResNet
时间
2015
意义
- 目前的主流 basemodel;
- ImageNet2015 冠军;
- CVPR2016 Best Paper。
创新点
- Highway Networks 第一个设计了不同层间的 mapping,而 ResNet 简化了 Highway Networks 的设计,只在相邻的 module 之间进行 mapping。再一次缓解了梯度问题,并又一次打破了网络层数的天花板。同时该设计也使得训练早期可以极快的收敛。
分析
为什么有效:
- 要学得的模型中,有一部分结构本来就是 identity mapping。而原始的“串行式”网络很难学得这种 mapping。ResNet 相当于增加了约束,帮模型轻松学得了 identity mapping。
- 加入 identity mapping 后,学习目标变成了残差,明显比学习原来的对象要容易。
- 站在 identity mapping的角度看,再深的 ResNet 其实也没几层。
思考
- ResNet 超过 50 层的才有用到 conv1×1,个人认为就是为了降维。
变种
- ResNeXt;
- DenseNet;
- DPN。
应用
- R-FCN;
- FPN(+Faster R-CNN);
- Mask R-CNN;
- RetinaNet。
DenseNet
时间
2016
意义
- CVPR2017 Best Paper。
创新点
- 将原本 ResNet 的“串行式的一对一 identity mapping”变成了“一对多的 identity mapping”,设计较为简单。
思考
- 因为只是对 ResNet 的 identity mapping 进行发扬光大,这个 idea 很多人都能想到,所有该文并不惊艳。
应用
- 打比赛刷榜;
- 论文刷 AP。
ResNeXt
时间
2016
创新点
将 ResNet 原本简单的”残差架构”替换成“Inception 版的残差结构”。
优点
在 ImageNet 上可以比 ResNet 收敛得更快,分类效果稍优一点。
缺点
复杂。
应用
- 打比赛刷榜;
- 论文刷 AP。
Xception、MobileNet、ShuffleNet
这三个最主流的轻量级basemodel是为模型移植到移动端而设计的。
均采用了depth-wise卷积,极大地减少了参数和计算量。
为了实现通道间的信息流通,MobileNet用了point-wise group,ShuffleNet用了channel shuffle。后者省去了卷积步骤,参数量更少。
DPN
时间
2017
创新点
- 双 pipe-line。一边是 ResNet,一边是 DenseNet,号称可以让两个pipe-line 优势互补。
应用
- 打比赛刷榜;
- 论文刷 AP。