AlexNet论文研读

AlexNet论文研读

ImageNet LSVRC-2012竞赛
这个神经网络有6000万参数和650000个神经元,包含5个卷积层(某些卷积层后面带有池化层)和3个全连接层,最后是一个1000维的softmax。

1.模型图
在这里插入图片描述
2.贡献:
训练更快—非饱和神经元对卷积操作
减少全连接层的过拟合—dropout正则化方法
编写了高度优化的2D卷积GPU实现
提高神经网络并减少训练时间
防止过拟合

3.网络架构:
八个学习层
5个卷积层和3个全连接层

3.1RELU非线性
修正线性单元Relu–加快训练时间
采用ReLU的深度卷积神经网络训练时间比等价的tanh单元要快几倍。在图1中,对于一个特定的四层卷积网络,在CIFAR-10数据集上达到25%的训练误差所需要的迭代次数可以证实这一点。如下图所示
在这里插入图片描述
3.2多GPU训练
将网络分布在两个GPU上,跨GPU并行(直接互相读写内存,而不需要通过主机内存)
并行方案:每个GPU放置一半的核或神经元,并且只在特定的层上进行GPU通信。

网络的输入是150,528维,网络剩下层的神经元数目分别是253,440–186,624–64,896–64,896–43,264–4096–4096–1000(8层)。

3.3local Response Normalization
局部响应归一化–促进泛化
表示神经元激活,通过在(x,y)位置应用核i,然后应用ReLU非线性来计算,响应归一化激活:
在这里插入图片描述
求和运算在n个“毗邻的”核映射的同一位置上执行,N是本层的卷积核数目。核映射的顺序当然是任意的,在训练开始前确定。响应归一化的顺序实现了一种侧抑制形式,灵感来自于真实神经元中发现的类型,为使用不同核进行神经元输出计算的较大活动创造了竞争。常量k,n,α,β是超参数,它们的值通过验证集确定;我们设k=2,n=5,α=0.0001,β=0.75。我们在特定的层使用的ReLU非线性之后应用了这种归一化(请看3.5小节)。

3.4重叠池化–防止过拟合
习惯上,相邻池化单元归纳的区域是不重叠的(例如[17, 11, 4])。更确切的说,池化层可看作由池化单元网格组成,网格间距为s个像素,每个网格归纳池化单元中心位置z×z大小的邻居。如果设置s=z,我们会得到通常在CNN中采用的传统局部池化。如果设置s<z,我们会得到重叠池化。

3.5整体架构
第2,4,5卷积层的核只与位于同一GPU上的前一层的核映射相连接(看图2)。
第3卷积层的核与第2层的所有核映射相连。
全连接层的神经元与前一层的所有神经元相连。
第1,2卷积层之后是响应归一化层。
3.4节描述的这种最大池化层在响应归一化层和第5卷积层之后。
ReLU非线性应用在每个卷积层和全连接层的输出上。
第1卷积层使用96个核对224 × 224 × 3的输入图像进行滤波,核大小为11 × 11 × 3,步长是4个像素(核映射中相邻神经元感受野中心之间的距离)。
第2卷积层使用用第1卷积层的输出(响应归一化和池化)作为输入,并使用256个核进行滤波,核大小为5 × 5 × 48。
第3,4,5卷积层互相连接,中间没有接入池化层或归一化层。
第3卷积层有384个核,核大小为3 × 3 × 256,与第2卷积层的输出(归一化的,池化的)相连。
第4卷积层有384个核,核大小为3 × 3 × 192,第5卷积层有256个核,核大小为3 × 3 × 192。每个全连接层有4096个神经元。

4.减少过拟合
4.1数据增强
图像数据上最简单常用的用来减少过拟合的方法是使用标签保留变换,人工增大数据集
这里面使用了两种独特的数据增强方式
第一种:产生图像变换和水平翻转
从256256图像上通过随机提取224224的图像块实现了这种方式,然后在提取的图像块上进行训练。这通过一个2048因子增大了我们的训练集,尽管最终训练样本高度相关。
在测试时,网络会提取5个224*224的图像块(四个角上的图像块和中心的图像块)和她们的水平翻转 (因此总共10个图像块)进行预测,然后对网络在10个图像块上的softmax层进行平均。
第二种:改变训练图像的RGB通道的强度,在整个ImageNet训练集上对RGB像素值集合执行PCA。对于每幅训练图像,我们加上多倍找到的主成分,大小成正比的对应特征值乘以一个随机变量,随机变量通过均值为0,标准差为0.1的高斯分布得到。因此对于每幅RGB图像像素Ixy=[IRxy,IGxy,IBxy]T,我们加上下面的数量:

[p1,p2,p3][α1λ1,α2λ2,α3λ3]T
pi,λi分别是RGB像素值3 × 3协方差矩阵的第i个特征向量和特征值,αi是前面提到的随机变量。对于某个训练图像的所有像素,每个αi只获取一次,直到图像进行下一次训练时才重新获取。这个方案近似抓住了自然图像的一个重要特性,即光照的颜色和强度发生变化时,目标身份是不变的。
4.2Dropout
以0.5的概率对每个隐层神经元的输出设为0,失活的神经元不在进行前向传播也不进行反向传播,每次输入时,系统采样不同的架构,所有架构共享权重。
减少了复杂的神经元互适应,因为一个神经元不能依赖特定的其他神经元的存在。
5.5 学习细节
我们使用随机梯度下降来训练我们的模型,样本的batch size为128,动量为0.9,权重衰减为0.0005。我们发现少量的权重衰减对于模型的学习是重要的。换句话说,权重衰减不仅仅是一个正则项:它减少了模型的训练误差。权重w的更新规则是
在这里插入图片描述

i是迭代索引,v是动量变量,ε是学习率,⟨∂L∂w|wi⟩Di是目标函数对w,在wi上的第i批微分Di的平均。

我们使用均值为0,标准差为0.01的高斯分布对每一层的权重进行初始化。我们在第2,4,5卷积层和全连接隐层将神经元偏置初始化为常量1。这个初始化通过为ReLU提供正输入加速了学习的早期阶段。我们在剩下的层将神经元偏置初始化为0。

我们对所有的层使用相等的学习率,这个是在整个训练过程中我们手动调整得到的。当验证误差在当前的学习率下停止提供时,我们遵循启发式的方法将学习率除以10。学习率初始化为0.01,在训练停止之前降低三次。我们在120万图像的训练数据集上训练神经网络大约90个循环,在两个NVIDIA GTX 580 3GB GPU上花费了五到六天

在这里插入图片描述
在这里插入图片描述

层数输入kernels个数kenel_size填充步幅输出
conv1[224,224 ,3]9611*11[1,2]4[55 ,55,96]
Maxpool1【55,55,96】302【27,27,96】
conv2[27,27,96]2565[2,2]1[27,27,256]
maxpool2[27,27,256]302[13,13,256]
conv3[13,13,256]3843[1,1]1[13,13,384]
conv4[13,13,384]3843[1,1]1[13,13,384]
conv5[13,13,384]2563[1,1]1[13,13,256]
maxpool3[13,13,256]302[6,6,256]
全连接层+dropout随机失活

(224+3-11)/4+1=55
(55+0-3)/2+1=27
(27+4-5)/1+1=27
(27+0-3)/2+1=13
(13+2-3)/1+1=13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值