ImageNet Classification with Deep Convolutional Neural Networks

论文原址:https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

无论是AI、深度学习,还是卷积神经网络,都不是这几年才有的概念,但确实是最近10年才流行起来。这里最主要的原因,还是要归功于AlexNet 2012年在大规模视觉识别挑战赛上取得的成功,所以才有了这篇论文

在这篇论文里面,AlexNet 提出了很多创新性的 idea,对卷积神经网络的发展影响深远,其中很多概念仍然是今天 CNN 的核心

论文的特点:

  1. AlexNet 包含许多心的不同寻常的特性,这些特性提高了神经网络的性能并减少了训练时间
  2. 提出 Dropout 解决过拟合的问题

下面我们再详细看下

不同寻常的网络特性

1. 非饱和神经元 ReLU

使用 ReLU 的四层卷积神经网络在 CIFAR-10 数据集上达到 25% 的训练误差比使用 tanh 神经元的等价网络(虚线)快 6 倍。为了使训练尽可能快,每个网络的学习率是单独选择的。没有采用任何类型的正则化。影响的大小随着网络结构的变化而变化,这一点已得到证实,但使用 ReLU 的网络都比等价的饱和神经元快几倍。

0

论文里有一片引用论文:https://www.cs.toronto.edu/~fritz/absps/reluICML.pdf

可以参考下

2. 单机多卡训练

这篇论文第一次提出了单机多卡的训练方法,并提供了训练的思路。虽然今天分布式训练几乎成为了主流,但是这在当时,绝对是非常突破性的贡献

AlexNet 的训练架构如下:

0

整个训练过程有2个GPU来完成,如图,AlexNet 把神经网络拆成两部分,一个GPU负责上层的计算,一个GPU负责下层的计算,计算的结果仅仅在特定的几个层进行通信

这个架构有点类似于 Ciresan 等人[5]采用的“columnar” CNN。与每个卷积层一半的核在单 GPU 上训练的网络相比,这个方案降分别低了我们的 top-1 1.7%,top-5 1.2% 的错误率。双 GPU 网络比单 GPU 网络稍微减少了训练时间。

 

3. Local Response Normalization

论文使用了一种叫横向抑制的方法,简称 LRN,这是神经生物学中的一个概念,是指神经元减少其邻居活动的能力(注:阻止兴奋神经元向邻近神经元传播其动作趋势,从而减少兴奋神经元的邻近神经元的激活程度)

在这里,作者主要是用来增强图像的局部对比度

其算法思想非常简单

0

其中(x,y)是卷积核的坐标,i 是卷积层通道,整个公式看起来就是对 a(x,y) 相邻求平方和

常量 k,n,α,β 是超参数,它们的值通过验证集确定。在这篇论文里是 k=2,n=5,α=0.0001,β=0.75。通过LRN,作者在 CIFAR-10 数据集上验证,通过LRN,一个四层的CNN网络,错误率从 13% 降到了 11%

 

4. 重叠池化

传统的神经网络,池化是不重叠的

所谓重叠,是指,假设池化单元的尺寸是 s * s,池化间距是 z

如果 s == z,表示池化不重叠

如果 s > z,表示池化重叠

论文作者只是发现了重叠池化更难过拟合,但是没有解析为什么,好吧,就这样

Dropout

将许多不同模型的预测结合起来是降低测试误差[1, 3]的一个非常成功的方法,但对于需要花费几天来训练的大型神经网络来说,这似乎太昂贵了。然而,有一个非常有效的模型结合版本,它只花费两倍的训练成本。这种最近引入的技术,叫做“dropout”[10],它会以 0.5 的概率对每个隐层神经元的输出设为 0。那些“被丢弃的”的神经元不再进行前向传播并且不参与反向传播。因此每次输入时,神经网络会采样一个不同的架构,但所有架构共享权重。这个技术减少了复杂的神经元互适应,因为一个神经元不能依赖特定的其它神经元的存在。因此,神经元被强迫学习更鲁棒的特征,它在与许多不同的其它神经元的随机子集结合时是有用的。在测试时,我们使用所有的神经元但它们的输出乘以 0.5,对指数级的许多失活网络的预测分布进行几何平均,这是一种合理的近似

我们在图 2 中的前两个全连接层使用 dropout。如果没有 dropout,我们的网络表现出大量的过拟合。dropout 大致上使要求收敛的迭代次数翻了一倍。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注