AlexNet:ImageNet Classification with Deep Convolutional Neural Networks

AlexNet

在这里插入图片描述
这个神经网络有6000万参数,和650000个神经元,包含5个卷积层(某些卷积层后面带有池化层)和3个全连接层,最后一个是1000维的softmax。
为了防止过拟合,使用了dropout的正则化方法。
使用了120万高分辨率图像分到1000个不同的类别中。
使用了非饱和的神经元并对卷积操作进行了非常有效的GPU实现。

cnn的前面部分,卷积-激活函数-降采样-标准化。

数据:

数据处理:
因为系统要求不变的输入维度,因此我们将图像进行下采样到固定的256*256分辨率。
给定一个矩形图像,我们首先缩放图像短边为256,然后从结果图像中裁剪中心的256*256
大小的图像块。减去RGB三个通道每个像素点在整个训练的均值。

训练数据处理过程:
首先随机截取224*224大小的图像,取镜像(水平翻转),这样可以使原数据量增加(256-224)*(256-224)*2 的倍数,(可能有点问题,类比于2*2取1*1,应该是(256-224+1)*(256-224+1)*2)。不然在原来的网络上容易过拟合,我们就只能使用更小的网络。

测试图片处理方式:
抽取图像4个角和中心的224*224大小的图像,以及镜像反转,共10张图像,利用softmax进行预测,对所有预测取平均作为最终的分类结果。

权重初始化方式:
我们用一个均值为0,标准差为0.01的高斯分布初始化了每一层的权重,用常数1初始化了第2,4,5卷积层以及全连接层的神经元偏差。该初始化通过提供带正输入的ReLU来加速学习的初级阶段。我们在其余层用常数0初始化神经元偏差。

训练过程:
AlexNet使用了mini-batch SGD,batch的大小为128,梯度下降的算法使用了momentum,参数为0.9,加入了L2正则化,权重衰减,参数为0.0005.
对所有层都使用相等的学习率,这在整个训练过程中时手动调整的。
启发是,验证误差在当前学习率不再下降时,就将学习率除以10.
学习率初始化为0.01,在训练结束前共减少3次。

相比于前人的进步

1.使用了ReLU代替了Sigmoid,其能更快的训练,同时解决Sigmoid在训练较深的网络中出现的梯度消失问题。
2.成功将dropout应用于实践,随机dropout一些神经元,以避免过拟合。
3.在以前的CNN中普遍使用平均池化层,在这使用最大池化层,避免了平均池化层的模糊化的效果,并且步长比池化的核的尺寸小,这样池化层的输出之间有重叠,获得了更多的感受野之间的依赖关系的信息,提升了特征的丰富性。缺点:增加了计算量,带来了部分信息的冗余。
4.提出LRN层,局部响应归一化,对局部神经元创建了竞争的机制,使得其中响应较大的值变得更大,并抑制反馈较小的。
5.使用了GPU加速神经网络的训练。
6.使用数据增强的方法缓解过拟合现象。

架构:

共8层,5层卷积,3层全连接层。
第一层:输入为224*224*3的图像,卷积核的数量为96,两片GPU分别计算48个。卷积核的大小为11*11*3,stride = 4,pad = 0
wide = (224+2*padding - kernel_size)/stride + 1 = 54
然后进行LRN(局部响应归一化),后面跟着池化pool_size=(3,3)
stride = 2, pad = 0

在这里插入图片描述

ReLU
将神经元输出f建模为输入X的函数的标准方式是用f(x) = tanh(x),考虑到梯度下降的训练时间,这些饱和的非线性比非饱和的非线性f(x)=max(0,x)更慢。

多GPU训练
因为单个GPU的内存有限,限制了进行训练的网络尺寸。因此将网络分布在两个GPU上,他们可以直接互相读写内存,而不需要通过主机内存。
我们采用的并行方案是,基本上每个GPU放置一半的核(神经元),只在某些特定的层上进行GPU通信。例如:第三层的核会将第二层的所有核映射作为输入,但是第四层的核只将位于相同GPU的第三层的核映射作为输入。连接模式的选择是一个交叉验证问题,但这可以让我们准确的调整通信数量,知道它的计算量在可接受的范围内。

参数模型占GPU显存的一些问题:
一半使用的变量都是单精度浮点型float32,占4B大小
占显存空间的有输入内容和模型中间变量

参数的显存占用:
只有有参数的层才会有显存占用。
有参数的层主要包括:卷积,全连接,bathnorm
无参数的层:大部分激活层,池化层,dropout层

节省显存的方法:
1:降低batch-size
2:下采样
3:减少全连接层(一般只留最后一层分类用的全连接)

局部响应归一化(LRN)
建立局部竞争机制,使局部较大值得到较大的响应,局部的范围可以通过超参数n进行选择相邻的核,定义想要的局部大小,实现了某种形式的横向抑制。

AlexNet论文翻译——中英文对照
对AlexNet的论文解读
AlexNet论文详解
深入理解AlexNet网络

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值