2019-06-22
CNN的发展历史(LeNet,Alexnet,VGGNet,GoogleNet,ReSNet)
LeNet-5、AlexNet、GoogLeNet、VGGNet、ResNet
1、LeNet-5(Yann LeCun)
1986,用于手写体识别:用这个来仔细理解CNN
2、AlexNet(Alex,Hinton的学生)
2012,Imagenet比赛冠军:特殊点在LRN层等
3、GoogLeNet
2014,Imagenet比赛冠军:特殊点在inception结构
4、VGGNet
2014,ILSVRC比赛的亚军和定位项目的冠军。特殊点在用多个小filter代替一个大filter,如两个3x3代替5x5。
5、ResNet
2015,Imagenet比赛冠军:特殊点在残差、bottleneck结构
1 LeNet-5
灰常详细:网络解析(一):LeNet-5详解
输入图像:32x32
1、C1——卷积层1:1@32x32 --> 6@28x28
卷积核大小:5x5
卷积核种类:6
输出feature map大小:32-(5-1)/2x2 = 28,6x28x28
神经元数量:6x28x28
可训练参数:(5x5+1)x6 (Wx+b,对于每个核W,都有个常数b)
连接数:(5x5+1)x6 x28x28
2、S2——下采样层1:6@28x28 --> 6@14x14
采样区域:2x2
输出feature map大小:28/2 = 14,6x14x14
神经元数量:6x14x14
连接数:(2x2+1)x6 x14x14???这层怎么算
3、C3——卷积层2:6@14x14 --> 16@10x10
卷积核大小:5x5
卷积核种类:16
输出feature map大小:14-(5-1)/2x2 = 10,16x10x10
神经元数量:16x10x10
可训练参数:(6x5x5+1)x16
连接数:(6x5x5+1)x16 x10x10
4、C4——池化层2:16@10x10 --> 16@5x5
5、C5——卷积层3:16@5x5 --> 120@1x1
卷积核大小:5x5
卷积核种类:120
输出feature map大小:120x1x1
神经元数量:120x1x1
可训练参数:(16x5x5+1)x120
连接数:(16x5x5+1)x120 x1x1
6、F6——全连接层1:120@1x1 --> 84
神经元数量:84
可训练参数、连接数:(120x1x1+1)x84
7、Output——全连接层2:84 -->10
输出:0~9数字
2 AlexNet
炒鸡详细:AlexNet详细解读
1、特点1——非线性激活函数ReLU(Rectified Linear Unit)
-
ReLU是什么:f(x) = max(0, x)
ReLU - ReLU优势:
(1) 为什么要用非线性:线性函数的函数依然是线性,意味着堆多少层都相当于一层。这样模型的表达能力有限。
(2) 同样是非线性,为什么要用ReLU:sigmoid、tanh函数在gradient饱和时趋近0,会造成梯度消失(梯度下降时衰减慢),或者梯度爆炸;导数是常数。所以ReLU这样的非饱和函数要比饱和函数训练得快。
(3) 符合生物学特性,生物没有负的呀 - 为什么说ReLU是非线性:
因为线性、非线性是对于整个定义域而言的。
2、特点2——双GPU
- GPU相互间只能在特定的层进行通信交流,每一个GPU负责一半的运算处理。但其实与单GPU并非等价的,双GPU提高计算速度的同时,也提高了准确度(不太懂)。
3、特点3——提出了LRN局部响应归一化(Local Response Normalization)
LRN ( Local Response Normalization) 局部响应归一化层
- LRN优势:提高准确度
- 用法:在激活、池化后进行
- 思想:对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力
- 公式: LRN公式
- 理解:以某一规则“归一化”,是把激活函数的输出作为a,“归一化”后的结果为b。实现了某种形式的横向抑制,因为是跟这一层的所有卷积核相关的。
(不太理解为什么要这样) - 看这个理解了公式,把大段大段的文字都看一遍:在AlexNet中LRN 局部响应归一化的理解
- 所谓的横向抑制是指在不同kernel层的方向上,同一个像素位置(x, y)的归一化。其中n是自己设置,决定了哪些层的这个位置归一化。但是还是感受不到这样做的好处。
4、特点4——池化:maxpooling、overlap
- max pooling的优势:避免平均池化的模糊化效果
- overlap pooling的优势:池化层的输出之间会有重叠和覆盖,提升了特征的丰富性
5、特点5——证实了Dropout的效果
6、特点6——用了数据增强
- 原图片大小为256256中随机的提取224224的图片,以及水平方向的镜像。
- 图像中每个像素的R、G、B值上分别加上一个数(这个不太懂)
3 GoogleNet
在这之前,网络的改进基本都是往更深发展。而GoogleNet除了堆了很多层,还有很多inception层。
1、特点1——inception层
深度神经网络Inception结构以及作用
inception模型
- 理解:看了链接里油管上吴恩达的一点点,应该意思是,之前是比如5x5的同样大小的6个卷积核作用于输入,现在换成有的是5x5,有的是3x3,有的是pooling,然后跟之前一样,堆叠起来。
- inception优势:这样特征就很多样化了。
4 VGG
VGGNet介绍
1、特点1——小卷积核替代大卷积核
- 思想:2个3x3串联相当于1个5x5;3个3x3的感受野相当于1个7x7
- 优势:3个33的卷积层参数量只有77的一半左右;前者可以有3个非线性操作,而后者只有1个非线性操作,这样使得前者对于特征的学习能力更强。
5 ResNet
经典分类CNN模型系列其四:Resnet
1、特点1——残差模块
- 思想:不用学习整个的输出,而是学习上一个网络输出的残差
- 理解:正常的是学习X -> H(X)的过程,而残差网络的关系是X -> (H(X) - X) + X要学习的是X -> (H(X) - X)的过程
2、特点2——bottleneck
- 优势:bottleneck的结构块来代替常规的Resedual block,它像Inception网络那样通过使用1x1 conv来巧妙地缩减或扩张feature map维度从而使得我们的3x3 conv的filters数目不受外界即上一层输入的影响,自然它的输出也不会影响到下一层module。
网友评论