前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础网络 (Basemodel) 综述

基础网络 (Basemodel) 综述

作者头像
JNingWei
发布2019-01-28 16:37:35
8460
发布2019-01-28 16:37:35
举报
文章被收录于专栏:JNing的专栏JNing的专栏

以下是我在2018年7月份找工作时,根据个人所学总结出的基础网络 (Basemodel) 综述。 其中,仅仅挑出我认为比较重要的一系列基础网络,按照时间顺序进行简要概述。

如有阐述不对的地方,恳请指出。

LeNet

时间

1998

意义
  1. 标志着 CNN 的真正面世。
优点
  1. 在字符识别上取得了高于 99%的准确率。
缺点
  1. 当时没有 GPU,训练LeNet 极耗时;
  2. 非 OCR 的任务上,甚至不如 SVM。
应用
  1. OCR (如美国邮政系统)。

AlexNet

时间

2012

意义
  1. 证明了 CNN 在复杂模型下的有效性,CV 领域迎来“井喷式”大发展。
  2. ImageNet2012 1st。
创新点
  • 数据层面:
    1. 使用了 ImageNet 的海量数据(防止过拟合);
    2. 使用了数据增强(防止过拟合)。
  • 网络层面:
    1. 加入 dropout 防止过拟合;
    2. Relu 激活函数,避免了正半轴的梯度消失;
    3. 局部响应归一化(LRN) ,利用临近的数据做归一化 (2015 年 bn 出现后被淘汰)。
  • 硬件层面:
    1. 使用了 GPU,快速收敛(论文中的双 pipe-line 即表示双 GPU 并行)。
优点

打破了层数的天花板,深度达到 8 层。

应用
  1. R-CNN;
  2. SPPNet。

ZFNet

时间

2013

意义
  1. 利用反卷积对 CNN 特征进行可视化,洞察了 CNN 的层次性。
应用
  1. Faster R-CNN。

NiN

意义
  1. 采用多层感知机(多层全连接层和非线性函数的组合)替代了先前 CNN中简单的线性卷积层。由于非线性是深度学习一切抽象能力和表示能力的来源,因此相当于“在层间加塞多层感知机以增加非线性”。
应用
  1. 被 Inceptionv1 所借鉴。

GoogleNet

时间

2014

意义
  1. 提出了 Inceptionv1,开启了 Inception 系列;
  2. 刷新了网络的深度新刷新了网络的深度新纪录;
  3. 第一个提出了 conv1×1 的降维方法。第一个提出了 conv1×1 的降维方法。
创新点
  1. 类似于 NiN 的结构,即原来的节点也是一个子网络。
优点
  1. 参数量少。
缺点
  1. 结构复杂。
变种
  1. Inceptionv2/3/4、Xception
应用
  1. YOLOv1。

VGGNet

时间

2014

意义
  1. ImageNet2014 定位任务第一、分类任务第二。
创新点
  1. 该网络普遍使用小卷积核以替代大卷积核。
优点
  1. 网络结构超简单,高度模块化。
  2. 小卷积核叠加后可取得与大卷积核相同规模的感受野,而参数量更少;
  3. 加深了网络层数->增强了网络容量。
缺点
  1. 模型太大 (绝大部分参数在最后三个 fc 层),效率很低。
  2. 叠加卷积核意味着层数的增加,从而导致整个网络的总计算量增加;
  3. 层数增加导致更大的梯度风险。
结构

五个尺度的卷积,前两个每个都含有 2 层卷积,后三个每个含有 3-4 层卷积;跟着 3 个 fc,最后一个 Softmax 收尾。

应用
  1. Fast R-CNN;
  2. Faster R-CNN;
  3. SSD。

ResNet

时间

2015

意义
  1. 目前的主流 basemodel;
  2. ImageNet2015 冠军;
  3. CVPR2016 Best Paper。
创新点
  1. Highway Networks 第一个设计了不同层间的 mapping,而 ResNet 简化了 Highway Networks 的设计,只在相邻的 module 之间进行 mapping。再一次缓解了梯度问题,并又一次打破了网络层数的天花板。同时该设计也使得训练早期可以极快的收敛。
分析

为什么有效:

  1. 要学得的模型中,有一部分结构本来就是 identity mapping。而原始的“串行式”网络很难学得这种 mapping。ResNet 相当于增加了约束,帮模型轻松学得了 identity mapping。
  2. 加入 identity mapping 后,学习目标变成了残差,明显比学习原来的对象要容易。
  3. 站在 identity mapping的角度看,再深的 ResNet 其实也没几层。
思考
  1. ResNet 超过 50 层的才有用到 conv1×1,个人认为就是为了降维。
变种
  1. ResNeXt;
  2. DenseNet;
  3. DPN。
应用
  1. R-FCN;
  2. FPN(+Faster R-CNN);
  3. Mask R-CNN;
  4. RetinaNet。

DenseNet

时间

2016

意义
  1. CVPR2017 Best Paper。
创新点
  1. 将原本 ResNet 的“串行式的一对一 identity mapping”变成了“一对多的 identity mapping”,设计较为简单。
思考
  1. 因为只是对 ResNet 的 identity mapping 进行发扬光大,这个 idea 很多人都能想到,所有该文并不惊艳。
应用
  1. 打比赛刷榜;
  2. 论文刷 AP。

Xception

时间

2016

意义
  1. 目前最主流的几个轻量级 basemodel 之一。
创新点
  1. 用串行式 group 替代了之前常用的并行式 group。(负责串行式 group 的 module 叫做 separable convolution)
优点
  1. 参数量极少,模型超小。
缺点
  1. 特征抽取能力较差。
变种
  1. Xception145;
  2. Xception39。

ResNeXt

时间

2016

创新点

将 ResNet 原本简单的”残差架构”替换成“Inception 版的残差结构”。

优点

在 ImageNet 上可以比 ResNet 收敛得更快,分类效果稍优一点。

缺点

复杂。

应用
  1. 打比赛刷榜;
  2. 论文刷 AP。

DPN

时间

2017

创新点
  1. 双 pipe-line。一边是 ResNet,一边是 DenseNet,号称可以让两个pipe-line 优势互补。
应用
  1. 打比赛刷榜;
  2. 论文刷 AP。

总结

在 ResNet 出来之前,basemodel 经历了从 AlexNet 一家独大,到 GoogleNet 和 VGGNet 平分天下的时期。ResNet 出来后,由于其简单和强大,成为了 basemodel 的绝对标杆。

如今从业者一般遵循的流程是:

  1. 先用 ResNet-50 来验证算法的有效性;
  2. 当该算法在 ResNet-50 上切实有效后,如果要追求算法速度(如落地到移动端),则替换 basemodel 为 Xception、ShuffleNet;如果要追求高精度(如论文刷 AP、打比赛刷榜),则将 basemodel 替换为 ResNet-101/ResNeXt/DPN。
  3. train 阶段,一般直接导入预训练好的 basemodel,在自己的数据集上 fine-tune 一、二十个 epoch 即可。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LeNet
  • AlexNet
  • ZFNet
  • NiN
  • GoogleNet
  • VGGNet
  • ResNet
  • DenseNet
  • Xception
  • ResNeXt
  • DPN
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档