深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)

继续创造,加快生长!这是我参加「日新计划 6 月更文挑战」的第6天,点击检查活动概况

  • 作者:韩信子@ShowMeAI
  • 教程地址:www.showmeai.tech/tutorials/3…
  • 本文地址:www.showmeai.tech/article-det…
  • 声明:版权一切,转载请联络渠道与作者并注明出处
  • 保藏ShowMeAI检查更多精彩内容

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)

本系列为 斯坦福CS231n 《深度学习与核算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这儿 检查。更多材料获取方法见文末。


引言

ShowMeAI在文章 深度学习与CV教程(5) | 卷积神经网络 中已经给咱们介绍过CNN的中心结构组件,在本篇中,咱们给咱们介绍现在最广泛运用的典型卷积神经网络结构。包含经典结构(AlexNet、VGG、GoogLeNet、ResNet)和一些新的结构(Network in Network、Resnet改进、FractalNet、DenseNet等)

关于典型CNN结构的具体常识也能够参阅ShowMeAI的 深度学习教程 | 吴恩达专项课程 全套笔记解读 中的文章 经典CNN网络实例详解

本篇重点

  • 经典CNN架构
    • AlexNet
  • VGG
  • GoogLeNet
  • ResNet
  • 其他结构
    • NIN(Network in Network)
  • ResNet改进
  • FractalNet
  • DenseNet
  • NAS

1.经典架构

1.1 AlexNet

首先回顾一下在数字辨认范畴有巨大成功的 LeNet-5,该网络结构为 [CONV-POOL-CONV-POOL-FC-FC]。卷积层运用 555 \times 5 的卷积核,步长为 11;池化层运用 222 \times 2 的区域,步长为 22;后面是全衔接层。如下图所示:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


而2012年的 AlexNet 是第一个在 ImageNet 大赛上夺冠的大型 CNN 网络,它的结构和 LeNet-5 很相似,仅仅层数变多了——[CONV1-MAX POOL1-NORM1-CONV2-MAX POOL2-NORM2-CONV3-CONV4-CONV5-Max POOL3-FC6-FC7-FC8],共有5个卷积层、3个池化层、2个归一化层和三个全衔接层。如下图所示:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 输入2272273227 \times 227 \times 3 的图片;
  • CONV1:运用 96 个 111111 \times 11 巨细的卷积核,步长为 44,由于 (227−11)/4+1=55(227-11)/4+1=55,所以输出的尺度为 55559655 \times 55 \times 96,共有 961111396 \times 11 \times 11 \times 3 个参数;
  • POOL1:运用 333 \times 3的池化区域,步长为 22,由于 (55−3)/2+1=27(55-3)/2+1=27,所以输出为 27279627 \times 27 \times 96,没有参数;
  • NORM1:归一化后仍然是 27279627 \times 27 \times 96
  • CONV2:运用 256 个 555 \times 5 的卷积核,stride 11、pad 22(27+22−5)+1=27(27+2 \times 2-5)+1=27,所以输出为 272725627 \times 27 \times 256
  • POOL2333 \times 3 filters,stride 22(27−3)/2+1=13(27-3)/2+1=13,所以输出为 131325613 \times 13 \times 256
  • NORM2131325613 \times 13 \times 256
  • CONV3:384个 333 \times 3 filters,stride 11, pad 11,输出 [1313384][13 \times 13 \times 384]
  • CONV4:384个 333 \times 3 filters,stride 11, pad 11,输出 [1313384][13 \times 13 \times 384]
  • CONV5:256个 333 \times 3 filters,stride 11, pad 11,输出 [1313256][13 \times 13 \times 256]
  • POOL3333 \times 3 filters,stride 22 输出为 [66256][6 \times 6 \times 256]
  • FC640964096 个神经元,输出为 [4096][4096]
  • FC740964096 个神经元,输出为 [4096][4096]
  • FC810001000 个神经元,(class scores)输出为 [1000][1000]

之所以在上图中分红上下两个部分,是因为当时的GPU容量太小,只能用两个来完结。还有一些细节是:

  • 第一次运用 ReLU 函数
  • 运用归一化层(现在不常用了)
  • 数据增强
  • dropout 0.5
  • batch size 128
  • SGD Momentum 0.9
  • 学习率1e-2, 当验证准确率平稳时,手动削减 10
  • L2权重衰减是 5e-4
  • 7 CNN ensemble:18.2%→15.4%18.2\% \to 15.4\%

AlexNet夺得ImageNet大赛2012的冠军时,将正确率简直提高了10%,2013年的冠军是ZFNet,和AlexNet运用相同的网络架构,仅仅对超参数进一步调优:

  • CONV1:将 (11×11 stride 4) 改为 (7×7 stride 2) ;
  • CONV3,4,5:不再运用384, 384, 256个滤波器,而是运用 512, 1024, 512个。

这样将错误率从 16.4%16.4\% 降低到 11.7%11.7\%

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


下面介绍14年的冠亚军GoogLeNet(22层网络)和VGG(19层网络)。

1.2 VGG

VGG 相关于AlexNet运用更小的卷积核,层数也更深。VGG有16层和19层两种。卷积核只运用 333 \times 3,步长为 11,pad为 11;池化区域 222 \times 2,步长为2。

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


那么为什么运用 333 \times 3的小卷积核呢?

  • 多个卷积层堆叠时,第一层的感触野是 333 \times 3,第二层的感触野是 555 \times 5 (感触原图像),这样堆叠三层的有用感触野就变成 777 \times 7
  • 多个 333 \times 3 的卷底层比一个大尺度卷积核的卷积层有更多的非线性(更多层的非线性函数),使得判定函数愈加具有判定性;
  • 多个 333 \times 3 的卷积层比一个大尺度的卷积核有更少的参数,假定卷积层的输入和输出的特征图巨细相同为 CC,那么三个 333 \times 3 的卷积层参数个数3(33CC)=27C23 \times (3 \times 3 \times C \times C)=27C2;一个 777 \times 7 的卷积层参数为 77CC=49C27 \times 7 \times C \times C=49C2;所以能够把三个 333 \times 3的filter看成是一个 777 \times 7 filter的分解(中间层有非线性的分解, 而且起到隐式正则化的作用)。

下面看一下VGG-16的参数和内存运用情况:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 总内存占用:24M * 4 bytes,每张图片约96MB,加上反向传达需求乘以2;大多数内存都用在了前面几层卷积层;
  • 总参数个数:138M,大多都在全衔接层,全衔接层的第一层就有100多M。

VGG网络的一些细节是:

  • 14年ImageNet大赛分类第二名,定位第一名
  • 练习进程和AlexNet很接近
  • 不运用部分响应归一化
  • 有16层和19层两种,19层作用稍微好一些,可是占用更多内存,16层运用的更广泛;
  • 运用模型集成
  • FC7的特征泛化十分好,能够直接用到其他任务中

下面来看一下分类的第一名,GoogLeNet。

1.3 GoogLeNet

关于GoogLeNet/Inception的具体常识也能够参阅ShowMeAI的深度学习教程 | 吴恩达专项课程 全套笔记解读中的文章经典CNN网络实例详解

先说明 GoogLeNet 的一些细节:

  • 网络有22层,比VGG深一些
  • 为了高效的核算,运用 「Inception」 模块
  • 不运用全衔接层
  • 只要500万个参数,比 AlexNet 少了12倍
  • 14年分类的冠军(6.7% top 5 error)

1) Inception Module

「Inception」模块是一种规划的比较好的局域网拓扑结构,然后将这些模块堆叠在一起。这种拓扑结构对来自前一层的输入,并行运用多种不同的滤波操作,比方 111 \times 1 卷积、 333 \times 3 卷积、 555 \times 5 卷积和 333 \times 3 池化。然后将一切滤波器的输出在深度上串联在一起。

如下图所示:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


可是这种结构的一个问题是核算复杂度大大添加。如下图所示是一个网络参数核算示例:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


输入为 282825628 \times 28 \times 256,而串联后的输出为 282867228 \times 28 \times 672。(假定每个滤波操作都经过零填充坚持输入尺度)而且运算花费也十分高:

  • [1×1 conv, 128] 28281281125628 \times 28 \times 128 \times 1 \times 1 \times 256 次乘法运算;
  • [3×3 conv, 192] 28281923325628 \times 28 \times 192 \times 3 \times 3 \times 256 次;
  • [5×5 conv, 96] 2828965525628 \times 28 \times 96 \times 5 \times 5 \times 256 次。

总计:854M次乘法运算。

由于池化操作会坚持原输入的深度,所以网络的输出一定会添加深度。

解决办法是在进行卷积操作前添加一个「瓶颈层」,该层运用 111 \times 1 卷积,目的是保留原输入空间尺度的一起,减小深度,只需卷积核的数量小于原输入的深度即可。

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


运用这种结构,相同的网络参数设置下,核算量会削减许多:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


终究得到的输出为 282848028 \times 28 \times 480。此时总运算量为:

  • [1×1 conv, 64] 2828641125628 \times 28 \times 64 \times 1 \times 1 \times 256
  • [1×1 conv, 64] 2828641125628 \times 28 \times 64 \times 1 \times 1 \times 256
  • [1×1 conv, 128] 28281281125628 \times 28 \times 128 \times 1 \times 1 \times 256
  • [3×3 conv, 192] 2828192336428 \times 28 \times 192 \times 3 \times 3 \times 64
  • [5×5 conv, 96] 282896556428 \times 28 \times 96 \times 5 \times 5 \times 64
  • [1×1 conv, 64] 2828641125628 \times 28 \times 64 \times 1 \times 1 \times 256

总计:358M358M。削减了一倍多。

2) 完好结构

Inception module堆叠成垂直结构,这儿方便描绘,将模型水平放置:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 蓝色部分主干网:

Input – Conv 7×7+2(S) – MaxPool 3×3+2(S) – LocalRespNorm – Conv 1×1+1(V) – Conv 3×3+1(S) – LocalRespNorm – MaxPool 3×3+2(S)

含参数的层只要3个卷积层;

  • 红色部分 Inception module 堆叠:
    • 并行层只算一层,所以一个 Inception module 只要两层,共有 9 个相同的模块 18 层。
  • 绿色部分的输出:
    • 移除贵重的全衔接层,只留一个分类用的 FC。
    • AveragePool 7×7+1(V) – FC – Softmax – Output

所以含参数的层总计 3+18+1=223+18+1 = 22 层。

此外,橙色部分的层不计入总层数,这两块的结构都是:AveragePool 5×5+3(V) – Conv 1×1+1(S) – FC – FC – Softmax – Output。

原论文关于橙色辅助部分的描绘是:

「该相对较浅的网络在此分类任务上的强大体现标明,网络中间层发生的特征应该是十分有区别性的。 经过添加衔接到这些中间层的辅助分类器,咱们期望在分类器的较低阶段中鼓舞区分,添加回传的梯度信号,并提供额定的正则化。 这些辅助分类器选用较小的卷积核,置于第三和第六个Inception module的输出之上。 在练习期间,它们的丢失会加到扣头权重的网络总丢失中(辅助分类的丢失加权为0.3)。 在预测时,这些辅助网络被丢掉。」

1.4 ResNet

关于ResNet的具体常识也能够参阅ShowMeAI的深度学习教程 | 吴恩达专项课程 全套笔记解读中的文章经典CNN网络实例详解

从2015年开端,神经网络的层数爆发式地添加,比方闻名的ResNet有152层。

如下图所示,15-17年的冠军网络都有152层之深。

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


ResNet 是一种十分深的网络,运用了残差衔接。细节是:

  • 152层
  • ILSVRC’15优胜者(3.57% top 5 error)
  • 横扫了一切ILSVRC’15 和COCO’15分类/检测的比赛!

体现这么好的 ResNet 并不仅仅是因为深,研讨标明一个 56 层的卷积层堆叠网络练习差错和测验差错都比一个 20 层的网络要大,而且不是过拟合的原因,而是更深的网络更难练习和优化。

一个更深的模型至少能和一个较浅的模型体现相同好(学习才能会更强),如果想把一个较浅的层变成较深的层,能够用下面的方法来构建:将本来比较浅的层拷贝到较深的层中,然后添加一些等于本身的映射层。这样较深的模型能够更好的学习。

1) 中心思维

ResNet经过运用多个有参层来学习输入与输入输出之间的残差映射( residual mapping ) ,而非像一般CNN网络(如AlexNet/VGG等)那样运用有参层来直接学习输入输出之间的底层映射( underlying mapping)

① 残差学习(Residual Learning)

若将输入设为X,将某一有参网络层映射设为 HH,那么以 XX 为输入的该层的输出将为 H(X)H(X)。一般的 CNN 网络会直接经过练习学习出参数函数H的表达式,然后直接得到 XXH(X)H(X) 的映射。

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


残差学习则是致力于运用多个有参网络层来学习输入到输入、输出间的残差 (H(X)−X)(H(X) – X) 的映射,即学习 X→(H(X)−X)X \to (H(X) – X) ,然后加上X的本身映射(identity mapping)

也就是说网络的输出仍然是 H(X)−X+X=H(X)H(X) – X + X = H(X),仅仅学习的仅仅 (H(X)−X)(H(X) – X)XX 部分直接是本身映射。

② 本身映射(Identity Mapping)

残差学习单元经过本身映射的引进在输入、输出之间建立了一条直接的关联通道,然后使得强大的有参层集中精力学习输入、输出之间的残差。

一般咱们用 F(X,Wi)F(X, W_i) 来表示残差映射,那么残差学习单元的输出即为: Y=F(X,Wi)+XY = F(X, W_i) + X

  • 当输入、输出通道数相一起,自然能够直接运用 XX 进行相加。
  • 当它们之间的通道数目不一起,咱们就需求考虑建立一种有用的本身映射函数然后能够使得处理后的输入 XX 与输出 YY 的通道数目相同即 Y=F(X,Wi)+WsXY = F(X, W_i) + W_sX

当X与Y通道数目不一起,有两种本身映射方法。

  • ① 简略地将 XX 相对 YY 缺失的通道直接补零然后使其能够相对齐
  • ② 经过运用 111 \times 1 的卷积来表示 WsW_s 映射然后使得终究输入与输出的通道一致。

对应的论文和试验标明,学习残差比直接学习输入到输出的映射要愈加简单,收敛速度也更快,一起从终究分类精度作用上看也有提高。

咱们幻想1个极点极点情况,如果本身映射是最优的,那么将残差设为零比较运用一堆非线性层做本身映射明显更简单。

2) 完好结构

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


完好的网络结构如下:

  • 残差块堆叠
  • 每个残差块有两个 333 \times 3 卷积层
  • 周期性的运用两倍的卷积核数量,降采样经过设置步长为 22
  • 在网络开端处有 777 \times 7 的卷积层和最大池化层(步长 22
  • 在网络的终究不运用全衔接层 (只要一个用于1000个分类的FC)
  • 在终究一个卷积层后运用大局的均匀池化
  • 一共的深度有34、50、101或152

关于ResNet-50+的网络,为提高核算功率,运用相似GoogLeNet的「瓶颈层」。

具体说,它也是经过运用 111 \times 1 卷积来减缩或扩张特征图维度,然后使得 333 \times 3 卷积的卷积核数目不受上一层输入的影响,对应的输出也不会影响到下一层,这种规划节约核算时刻,且不影响终究的模型精度。

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


3) ResNet网络练习

ResNet的实践练习的一些细节如下:

  • 每个 CONV 层后运用批量归一化
  • 权重运用 He 初始化
  • 更新方法运用 SGD + Momentum (0.9)
  • 学习率为 0.1, 验证错误率不变时除 10
  • Mini-batch size 为 256
  • 权重衰减是 1e-5
  • 未运用 dropout

实践的练习作用为能够堆叠许多的层而不使准确率下降:ImageNet上152层网络,在CIFAR上1202层网络,体现都很好。经过结构改造后,和料想中的一致,网络越深,练习准确率越高。

ResNet横扫了2015年一切的奖项,第一次超越人类的辨认率。

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


2.几种网络的比照

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 左图:经过 Top1 准确率来比较各种网络的准确性
  • 右图:是不同网络的运算复杂度,横轴为核算量,圆圈巨细表示内存占用。其间 Inception-v4 是 Resnet + Inception

从图里能够看出:

  • Inception-v4 具有最高的准确率
  • VGG 内存占用最大,核算量最多
  • GoogLeNet 最高效,准确率较高,运算复杂度较小
  • AlexNet 核算量较小但内存占用较大,准确率也低
  • ResNet 准确率较高,功率取决于模型

前向传达时刻和功率消耗比照方下:

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


3.其他网络架构

3.1 Network in Network (NiN)

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


Network In Network发表于 ICLR 2014,由新加坡国立大学(NUS)提出,也是一个经常被咱们说到的经典CNN结构,它的主要特点如下:

  • 在每个卷积层内的Mlpconv层具有「Micronetwork」用于核算部分区域的更笼统的特征;
  • Micronetwork运用多层感知器(FC,即 111 \times 1卷积层)
  • GoogLeNet和ResNet「瓶颈」层的前驱

3.2 ResNet的改进

1) Identity Mappings in Deep Residual Networks

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • ResNet创造者自己改进了残差块规划
  • 创立更直接的途径(将激活函数移动到残差的映射途径),以便在整个网络中传达信息
  • 更好的性能

2)Wide Residual Networks

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 比较「深度」,认为「残差」是中心
  • 运用更宽的残差块(FkF \times k 个滤波器代替每层中的F个滤波器)
  • 50 层 Wide ResNet 优于 152 层原始 ResNet
  • 添加宽度而不是深度更具核算功率(可并行化)

3) ResNeXt

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • ResNet 创立者对结构改造
  • 经过多个平行途径添加残差块的宽度(cardinality)
  • 与 Inception 模块相似的并行途径
  • 单个分支「变窄」

4)Deep Networks with Stochastic Depth

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 动机:经过缩短网络削减梯度消失和网络练习时刻
  • 在每次练习进程中随机丢掉一个层子集
  • 具有本身映射功用的旁路,丢掉的层权重为1,恒等映射
  • 在测验时运用完好的深度网络

5)Network Ensembling(Fusion)

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 多标准集成 Inception、Inception-Resnet、Resnet、Wide Resnet模型
  • ILSVRC’16分类获胜者

6)Squeeze-and-Excitation Networks (SENet)

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 添加「特征从头校准」模块,该模块学习自适应从头加权特征图
  • 大局信息(大局均匀池化层)+ 2个FC层,用于确定特征图权重,即「特征从头校准」模块
  • ILSVRC’17分类获胜者(运用ResNeXt-152作为根底架构)

3.3 FractalNet

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 动机:认为从浅层到深层有用地过渡最重要,残差表示不是最重要的
  • 具有浅和深途径输出的分形结构
  • 练习时随机扔掉子途径
  • 测验时运用完好网络

3.4 Densely Connected Convolutional Networks

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 密布块,其间每个层曾经馈方法衔接到之后的每个层
  • 减轻梯度消失、加强特征传达、鼓舞特征重用

3.5 Efficient Networks —— SqueezeNet

关于SqueezeNet和其他轻量化网络感兴趣的同学也能够参阅ShowMeAI的核算机视觉教程中的文章轻量化CNN架构(SqueezeNet,ShuffleNet,MobileNet等)

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 轻量化网络
  • 111 \times 1 卷积核构建「揉捏」层,从而组成Fire模块,由 111 \times 1333 \times 3卷积核组成「扩展」层
  • ImageNet 上的 AlexNet 级精度,参数削减50倍
  • 能够紧缩到比 AlexNet 小510倍(0.5Mb参数)

3.6 Learn network architectures —— Meta-learning

1) Neural Architecture Search with Reinforcement Learning (NAS)

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)


  • 一种「控制器」网络,能够学习规划良好网络架构(输出与网络规划相对应的字符串)
  • 迭代:
    • 1)从查找空间中采样架构
    • 2)练习架构以取得相应于准确度的「奖赏」R
    • 3)核算样本概率的梯度,经过R进行缩放以履行控制器参数更新,添加被采样架构良好的可能性,削减不良架构的可能性

2) Learning Transferable Architectures for Scalable Image Recognition

  • 将神经架构查找(NAS)运用于像ImageNet这样的大型数据集十分贵重
  • 规划能够灵敏堆叠的构建块(「单元」)的查找空间
  • NASNet:运用NAS在较小的 CIFAR-10 数据集上找到最佳的单元结构,然后将架构转移到ImageNet

4.引荐学习

能够点击 B站 检查视频的【双语字幕】版本

  • 【课程学习指南】斯坦福CS231n | 深度学习与核算机视觉
  • 【字幕+材料下载】斯坦福CS231n | 深度学习与核算机视觉 (2017全16讲)
  • 【CS231n进阶课】密歇根EECS498 | 深度学习与核算机视觉
  • 【深度学习教程】吴恩达专项课程 全套笔记解读
  • 【Stanford官网】CS231n: Deep Learning for Computer Vision

5.关键总结

经典架构

  • AlexNet:开启CNN时代
  • VGG:减小卷积核尺度、添加网络层数取得高准确率
  • GoogLeNet:引进 Inception module
  • ResNet:引进残差块,证明一般堆叠层数没意义,残差堆叠能够;现在运用最广泛的网络结构

其他架构

  • NiN (Network in Network)111 \times 1卷积前驱
  • Wide ResNet:加大ResNet的宽度而不是深度
  • ResNeXT:运用多个分支加宽ResNet
  • Stochastic Dept:Dropout层
  • SENet:自适应特征图从头加权
  • DenseNet:每个层衔接到之后的每个层
  • FractalNet:运用分形结构,不用残差
  • SqueezeNet:紧缩网络,削减参数
  • NASNet:学习网络架构

网络运用总结

  • VGG、GoogLeNet、ResNet均被广泛运用,可在模型族中获取
  • ResNet 是当时默许最佳的挑选,也可考虑 SENet
  • 研讨趋向于极深的网络
  • 研讨重心环绕层/跳过衔接的规划和改进梯度流
  • 努力研讨深度、宽度与残差衔接的必要性
  • 更近期的趋势是研讨 meta-learning

斯坦福 CS231n 全套解读

  • 深度学习与CV教程(1) | CV引言与根底
  • 深度学习与CV教程(2) | 图像分类与机器学习根底
  • 深度学习与CV教程(3) | 丢失函数与最优化
  • 深度学习与CV教程(4) | 神经网络与反向传达
  • 深度学习与CV教程(5) | 卷积神经网络
  • 深度学习与CV教程(6) | 神经网络练习技巧 (上)
  • 深度学习与CV教程(7) | 神经网络练习技巧 (下)
  • 深度学习与CV教程(8) | 常见深度学习框架介绍
  • 深度学习与CV教程(9) | 典型CNN架构 (Alexnet, VGG, Googlenet, Restnet等)
  • 深度学习与CV教程(10) | 轻量化CNN架构 (SqueezeNet, ShuffleNet, MobileNet等)
  • 深度学习与CV教程(11) | 循环神经网络及视觉运用
  • 深度学习与CV教程(12) | 方针检测 (两阶段, R-CNN系列)
  • 深度学习与CV教程(13) | 方针检测 (SSD, YOLO系列)
  • 深度学习与CV教程(14) | 图像分割 (FCN, SegNet, U-Net, PSPNet, DeepLab, RefineNet)
  • 深度学习与CV教程(15) | 视觉模型可视化与可解释性
  • 深度学习与CV教程(16) | 生成模型 (PixelRNN, PixelCNN, VAE, GAN)
  • 深度学习与CV教程(17) | 深度强化学习 (马尔可夫决策进程, Q-Learning, DQN)
  • 深度学习与CV教程(18) | 深度强化学习 (梯度策略, Actor-Critic, DDPG, A3C)

ShowMeAI 系列教程引荐

  • 大厂技能完成:引荐与广告核算解决方案
  • 大厂技能完成:核算机视觉解决方案
  • 大厂技能完成:自然语言处理职业解决方案
  • 图解Python编程:从入门到通晓系列教程
  • 图解数据剖析:从入门到通晓系列教程
  • 图解AI数学根底:从入门到通晓系列教程
  • 图解大数据技能:从入门到通晓系列教程
  • 图解机器学习算法:从入门到通晓系列教程
  • 机器学习实战:手把手教你玩转机器学习系列
  • 深度学习教程:吴恩达专项课程 全套笔记解读
  • 自然语言处理教程:斯坦福CS224n课程 课程带学与全套笔记解读
  • 深度学习与核算机视觉教程:斯坦福CS231n 全套笔记解读

深度学习与CV教程(9) | 典型CNN架构 (Alexnet,VGG,Googlenet,Resnet等)