基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结

文章目录

    • LeNet(1998)
    • AlexNet(2012)
    • VGG(2014)
    • GoogLeNet(2014)

LeNet(1998)

论文Gradient-based learning applied to document recognition

结构
基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第1张图片

Layer Description outSize params
input 32 x 32 x 1
1 Conv 5x5 s1,6 6, 28 x 28 156
2 Pooling 2x2 s2 / sigmoid 6, 14 x 14 12
3 Conv 5x5 s1,16 16, 10 x 10 24164
4 Pooling 2x2 s2 / sigmoid 16, 5 x 5 32
5 FC 120 120 48120
6 FC 84 /sigmoid 84 10164
7 FC 10 10 840

说明

  • subsampling/pooling:下采样层,先将 2 x 2 单元的值求和,然后乘以参数 w,然后加偏置,最后取 sigmoid。每层的w,b相同,即每层参数个数为 2

AlexNet(2012)

论文ImageNet Classification with Deep Convolutional Neural Networks

结构
基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第2张图片

Layer Description outSize
input 227 x 227 x 3
1 Conv 11x11x3 s4,96 / ReLU 96, 55 x 55
Local Response Normalized
Max Pool 3x3 s2 96, 27 x 27
2 Conv 5x5 s1,256 p2 / ReLU 256, 27 x 27
Local Response Norm
Max Pool 3x3 s2 256, 13 x 13
3 Conv 3x3 s1,384 p1 / Relu 384, 13 x 13
4 Conv 3x3 s1,384 p1 / Relu 384, 13 x 13
5 Conv 3x3 s1,256 p1 / Relu 256, 13 x 13
Max Pool 3x3 s2 256, 6 x 6
6 FC 4096 / Relu,Dropout 4096
7 FC 4096 / Relu,Dropout 4096
8 FC 1000 1000

要点

  • Rectified Linear Unit(ReLU)

    引入非线性,此后还有其他推广,如 Leaky-ReLU, P-ReLU, R-ReLU,相比于sigmoid有更快的收敛速度
    R e L U = m a x ( 0 , x ) ReLU = max(0,x) ReLU=max(0,x)
    引申:一些常用激活函数的作用,特点以及选择原则

  • Local Response Normalized(LRN)局部响应归一化

    不同于传统 tanh 和 sigmoid 激活函数,ReLU的值域没有一个区间,因此对结果进行归一化(LRN)
    b ( x , y ) = a ( x , y ) i ( k + α ∑ j = m a x ( 0 , i − n / 2 ) m i n ( N − 1 , i + n / 2 ) ( α ( x , y ) j ) 2 ) β b_{(x,y)} = \frac{a_{(x,y)}^i}{(k+\alpha \sum\limits_{j=max(0,i-n/2)}^{min(N-1,i+n/2)}(\alpha_{(x,y)}^j)^2)^\beta} b(x,y)=(k+αj=max(0,in/2)min(N1,i+n/2)(α(x,y)j)2)βa(x,y)i

  • Overlapping Pooling(覆盖的池化操作)

  • Dropout

  • Data Augmentation(数据增广)

VGG(2014)

论文Very Deep Convolutional Networks for Large-Scale Visual Recognition

结构
基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第3张图片

说明

  • 加深版的AlexNet,网络更深
  • 采用预训练,迁移学习:先训练一小部分网络,确保这部分网络稳定后,再加深网络,也即表格中从 A-E 过程
  • 网络处于D阶段,效果最优,此阶段的网络就是 VGG-16

VGG-16

  • 结构
    基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第4张图片

网络结构很规整,全部使用以下结构卷积核和池化
C o n v 3 : s i z e = 3 × 3 ,   s t r i d e = 1 ,   p a d d i n g = ′ S A M E ′ P o o l 2 : s i z e = 2 × 2 ,   s t r i d e = 2 ,   M a x   P o o l \begin{aligned} & Conv3:size = 3 \times 3 ,\ stride = 1,\ padding = 'SAME' \\ & Pool2:size = 2 \times 2,\ stride = 2,\ Max\ Pool \end{aligned} Conv3size=3×3, stride=1, padding=SAMEPool2size=2×2, stride=2, Max Pool

Layer Description outSize params
input 224 x 224 x 3
1 Conv3-64 64, 224 x 224 1782
2 Conv3-64 64, 224 x 224 36864
Pool2 64, 112 x 112 0
3 Conv3-128 128, 112 x 112 73728
4 Conv3-128 128, 112 x 112 147456
Pool2 128, 56 x 56 0
5 Conv3-256 256, 56 x 56 294912
6 Conv3-256 256, 56 x 56 589824
7 Conv3-256 256, 56 x 56 589824
Pool2 256, 28 x 28 0
8 Conv3-512 512, 28 x 28 1179648
9 Conv3-512 512, 28 x 28 2359296
10 Conv3-512 512, 28 x 28 2359296
Pool2 512, 14 x 14 0
11 Conv3-512 512, 14 x 14 2359296
12 Conv3-512 512, 14 x 14 2359296
13 Conv3-512 512, 14 x 14 2359296
Pool2 512, 7 x 7 0
14 FC 4096 4096 102760448
15 FC 4096 4096 16777216
16 FC 1000 1000 4096000
  • 要点
    • 预处理:每个像素减去均值
    • 关于池化:不作为一层,因为池化操作没有需要训练的权值w(对比LeNet)
    • 关于正则:卷积层参数共享,需要训练的参数相对少,没有正则;全连接层参数多,使用正则化防止过拟合

GoogLeNet(2014)

论文

  • Going deeper with convolutions

  • Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

  • Rethinking the Inception Architecture for Computer Vision

  • Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

结构

  • Inception
    基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第5张图片

  • 架构
    基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第6张图片

  • 网络
    基于卷积神经网络(CNN)的几个网络模型(LeNet, AleNet, VGG, GoogLeNet)总结_第7张图片

要点

  • Inception模块中卷积部分都用了 ReLU
  • 更深的网络结构和更少的参数和计算量。参数数量比 AlexNet 和 VGG 都要少很多。
  • 使用不同的卷积核可以得到不同大小的感受野
  • 采用 1x1 的卷积可以减少参数量,较少全连接层的使用也减少大量参数
  • 在中间层加入了两个辅助分类器(softmax),在训练进行梯度下降求导时,将辅助分类器损失函数乘以 0.3的权重加到总损失上。可以有效避免梯度消失。

待续:ResNet,DenseNet

你可能感兴趣的:(Machine,Learning,网络,卷积,神经网络,深度学习,卷积神经网络)