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

LeNet(1998)

论文Gradient-based learning applied to document recognition

结构
在这里插入图片描述

LayerDescriptionoutSizeparams
input32 x 32 x 1
1Conv 5x5 s1,66, 28 x 28156
2Pooling 2x2 s2 / sigmoid6, 14 x 1412
3Conv 5x5 s1,1616, 10 x 1024164
4Pooling 2x2 s2 / sigmoid16, 5 x 532
5FC 12012048120
6FC 84 /sigmoid8410164
7FC 1010840

说明

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

AlexNet(2012)

论文ImageNet Classification with Deep Convolutional Neural Networks

结构
在这里插入图片描述

LayerDescriptionoutSize
input227 x 227 x 3
1Conv 11x11x3 s4,96 / ReLU96, 55 x 55
Local Response Normalized
Max Pool 3x3 s296, 27 x 27
2Conv 5x5 s1,256 p2 / ReLU256, 27 x 27
Local Response Norm
Max Pool 3x3 s2256, 13 x 13
3Conv 3x3 s1,384 p1 / Relu384, 13 x 13
4Conv 3x3 s1,384 p1 / Relu384, 13 x 13
5Conv 3x3 s1,256 p1 / Relu256, 13 x 13
Max Pool 3x3 s2256, 6 x 6
6FC 4096 / Relu,Dropout4096
7FC 4096 / Relu,Dropout4096
8FC 10001000

要点

  • 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

结构
在这里插入图片描述

说明

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

VGG-16

  • 结构
    在这里插入图片描述

网络结构很规整,全部使用以下结构卷积核和池化
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

LayerDescriptionoutSizeparams
input224 x 224 x 3
1Conv3-6464, 224 x 2241782
2Conv3-6464, 224 x 22436864
Pool264, 112 x 1120
3Conv3-128128, 112 x 11273728
4Conv3-128128, 112 x 112147456
Pool2128, 56 x 560
5Conv3-256256, 56 x 56294912
6Conv3-256256, 56 x 56589824
7Conv3-256256, 56 x 56589824
Pool2256, 28 x 280
8Conv3-512512, 28 x 281179648
9Conv3-512512, 28 x 282359296
10Conv3-512512, 28 x 282359296
Pool2512, 14 x 140
11Conv3-512512, 14 x 142359296
12Conv3-512512, 14 x 142359296
13Conv3-512512, 14 x 142359296
Pool2512, 7 x 70
14FC 40964096102760448
15FC 4096409616777216
16FC 100010004096000
  • 要点
    • 预处理:每个像素减去均值
    • 关于池化:不作为一层,因为池化操作没有需要训练的权值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
    在这里插入图片描述

  • 架构
    在这里插入图片描述

  • 网络
    在这里插入图片描述

要点

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

待续:ResNet,DenseNet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值