• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

常见CNN网络结构

开发技术 开发技术 2周前 (10-12) 8次浏览

目录
  • 1. AlexNet(8)
  • 2. Network in Network
  • 3. VGG(19)
  • 4. GoogleLeNet(22)
  • 5. ResNet(152)

图片分类,判断图片中是否有某个物体,一个图对应一个标签。性能指标:(1) Top1 error 第一次是否猜中,(2) Top5 error 猜5次其中有一次猜中。

很多出色的网络结构是从大赛中流行起来的。ImageNet Large Scale Visual Recognition Challenge ILSVRC 2017 年已经停止举办,因为涉及的方面的算法技术已经很成熟,没有什么提升空间了。涉及图像分类(1000个分类,训练集1.2M、验证集50K、测试集150K,使用WorkNet的词汇对图像打标签)、场景分类(MIT的Places2数据集,图片10M+、分类400+,365个场景分类,训练集8M、验证集36K、测试集328K)、物体检测、物体定位、场景解析等方面。在ILSCRC的 ImageNet Classification Top5 error 错误率2015年已经降到3.57%

网络进化过程中比较好的网络 AlexNet(深度8层)->VGG(19)->GoogleLeNet(22)->ResNet(152)

1. AlexNet(8)

原始论文 http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
2012年ImageNet 竞赛第一,远比第二名领先,标志着DNN深度学习革命的开始。
特点:5个卷积层+3个全连接层
60M个参数+650K个神经元
2个分组->2个GPU(3GB、2块GTX 580 训练5至6天)
引入的新技术 ReLU、Max polling、Dropout regularization
LRU 相邻通道kernel上同一位置的数值进行归一化(VGGNet的论文认为没什么用)
网络结构如图:
常见CNN网络结构
为了后面为整数,前面做成 227*227

输~~~~~~~入
(227times 227times 3)
GPU 1 GPU 2 输~~~~~~~~~~~~出
卷积层 1
(227times 227times 3)
卷积核(11times 11) 数量48 步长 4 卷积核(11times 11) 数量48 步长 4
激活函数 relu 激活函数 relu 特征图: ((227-11)/4+1=55)
(55times 55times 96)
池化Max pooling, kernel size 3, stride 2 池化Max pooling, kernel size 3, stride 2 特征图:((55-3)/2+1=27)
(27times 27times 96)
标准化 Local Response Normalization
卷积层 2
(27times 27times 96)
通道独立
双GPU交互
卷积核(5times 5) 数量128 步长 1 卷积核(5times 5) 数量128 步长 1 输入特征图先扩展padding2个像素
(31times 31)
激活函数 relu 激活函数 relu 特征图:((31-5)/2+1=27)
(27times 27times 256)
池化Max pooling, kernel size 3, stride 2 池化Max pooling, kernel size 3, stride 2 特征图:((27-3)/2+1=13)
(13times 13times 256)
标准化 Local Response Normalization
卷积层 3
(13times 13times 256)
通道合并
双GPU交互
卷积核(3times 3) 数量192 步长 1 卷积核(3times 3) 数量192 步长 1 输入特征图先扩展padding1个像素
(15times 15)
激活函数 relu 激活函数 relu 特征图:((15-3)/1+1=13)
(13times 13times 384)
卷积层 4
(13times 13times 384)
通道独立
卷积核(3times 3) 数量192 步长 1 卷积核(3times 3) 数量192 步长 1 输入特征图先扩展padding1个像素
(15times 15)
激活函数 relu 激活函数 relu 特征图:((15-3)/1+1=13)
(13times 13times 384)
卷积层 5
(13times 13times 384)
通道独立
卷积核(3times 3) 数量128 步长 1 输入特征图先扩展padding1个像素
(15times 15)
激活函数 relu 激活函数 relu 特征图:((15-3)/1+1=13)
(13times 13times 256)
池化Max pooling, kernel size 3, stride 2 池化Max pooling, kernel size 3, stride 2 特征图:((13-3)/2+1=6)
(6times 6times 256)
全连接 6
(6times 6times 256)
2048个神经元 2048个神经元
dropout dropout (4096times 1)的向量
全连接 7
(4096times 1)
2048个神经元 2048个神经元
dropout dropout (4096times 1)的向量
全连接 8
(4096times 1)
1000个神经元 (1000times 1)的向量

2. Network in Network

论文 Network in Network
一个 (28times 28times 192) 的特征图 被 32 个 (1times1times 192)的卷积核进行卷积。这样最终是 (28times 28times 32).

假设输入特征图的某像素的(c)个通道值 ((x_1, x_2, cdots, x_c))
(k)(1times 1times c) 的卷积核,((a_{11}, cdots, a_{1c}), cdots, (a_{k1}, cdots, a_{kc}))

((x_1, x_2, cdots, x_c)otimes begin{pmatrix}a_{11} & cdots & a_{1c}\ vdots & ddots &vdots\a_{k1}&cdots & a_{kc}end{pmatrix}=(y_1, y_2, cdots, y_k))

(f(a_{11}x_1+a_{12}x_2+cdots+a_{1c}x_c)=y_1cdotscdots)

3. VGG(19)

ImageNet-2014 竞赛第二,网络改造的首选基础网络,典型的层数是19层
提出目的是为了探究在大规模图像识别任务中,卷积网络深度对模型精确度的影响
一个大卷积核分解成连续多个小卷核
例如 (7times7) 分解成 3个 (3times 3) 核 由ReLU连接,参数数量由(49C^2) 降至 (27C^2)
VGG可以减少参数,降低计算,增加深度
常见CNN网络结构
从A至E随着层数的增加,参数增加的并不多

4. GoogleLeNet(22)

在此之前,网络结构的突破是更深的层数更宽的神经元数。
GoogleLeNet网络ImageNet-2014竞赛第一
模型是不是试出来的?是不是要穷举验证各方面的网络结构? GoogleLeNet解决这个问题,把所有的可能性排出来,让模型去决定。
Inception V1网络
核心组件Inception Architecture
Split-Merge 试了 (1times 1)卷积, (3times 3)卷积, (5times 5)卷积, (3times 3)池化
使用了NiN的(1times 1)卷积进行特征降维
为了减负取消了全连接,因为全连接参数量大
由于层数深(一般22层),使用辅助分类器解决前几层的梯度消失问题
常见CNN网络结构
从下往上看,对几种情况分别做卷积后叠在一起(不做和,只是叠在一起,保持层数不变),另外不同的卷积操作使用padding等方法使图像尺度不变,这样才能叠加
常见CNN网络结构
通过加入(1times 1)卷积降低通道数,保持图像尺度不变的情况下,叠在一起
全局平均池化 Global average pooling
取消占用大量参数的全连接层。全局平均池化,对每个特征图求平均值
输入(7times7times1024)变成(1times1times1024)
辅助分类器
常见CNN网络结构
避免梯度消失。训练阶段,在认为梯度有可能消失的地方,让结果重新参与调整误差。

Inception V2网络
提出Batch Normalization2018年有论文认为这一操作使“解空间”更加平滑。
在这个网络中使用批归一化代替部分Dropout。
(5times 5) 变成两个(3times3)卷积核堆叠。
常见CNN网络结构
每个特征通道分别进行归一化。通道数不做归一化。
常见CNN网络结构
在测试阶段使用的是训练阶段所有Batch的均值、方差的平均值。
原论文把Batch归一化放(包含scale & shift)在卷积与ReLU之间。

Inception V3

5. ResNet(152)

[1] https://zhuanlan.zhihu.com/p/251068800


程序员灯塔
转载请注明原文链接:常见CNN网络结构
喜欢 (0)