美文网首页
AlexNet 论文学习记录

AlexNet 论文学习记录

作者: 砥砺前行的人 | 来源:发表于2022-01-05 10:05 被阅读0次

原文:ImageNet Classification with Deep ConvolutionalNeural Networks(通过深度卷积网络进行 ImageNet 数据集分类)

Imagenet 大赛往年冠军

主要突破:

  1. 首次引入深度卷积神经网络到 ImageNet 图像分类
  2. 引入非饱和的激活函数 ReLu
  3. 卷积操作的GPU实现
  4. Dropout 正则化

架构

整个网络包含 8 个待学习的层,包含5个卷积层和3个全连接层。

激活函数 ReLU

特点:非饱和,收敛更快,计算量小
在 ReLU 出现之前,引入非线性的激活函数主要是 f(x) = tanh(x)f(x) = \frac {1} {(1+e^{-x})},两者函数图像如下:

sigmod(left) 和 tanh(right)

从图中不难发现,在定义域靠近0的部分,非线性变换较为明显,但当定义域远离0时则快速进入饱和状态,无限靠近于 1 或 -1,这会造成在梯度下降反向传播过程中的梯度消失。作者也证实就梯度下降的训练时间而言,这些饱和激活函数比非饱和激活函数下降慢得多。如下图所示:

实线为 ReLU,虚线为 tanh

多 GPU 训练

局部响应归一化

如今多被 BatchNormalization 替代,这里不做详细研究,主要就是 feature map 中每个位置根据它在相邻通道的相同位置求归一化。


LRN

后证实作用并不大

重叠池化

即 stride < kernel size,池化感受野互相重叠,因为在论文出现前,传统的池化操作时不重叠的,即 stride = kernel size。作者发现使用重叠池化可以减少错误率和过拟合情况。

网络图总览

CNN的架构图示,它显示了两个GPU之间的职责划分。一个GPU运行在顶部部分,而另一个运行在底部。GPU仅在某些层通信。

各层卷积核、stride、padding等设置:


AlexNet architecture

各层的运算量如下:


每一层的参数数量和运算次数

抗过拟合--数据增强

通过数据增强是最简单,最平常的对抗过拟合的方式。作者利用 Pytho 代码在 CPU上生成图像的变换,同时 GPU 正在训练前一批图像,这种并发的方式在当时硬件水平还不高的时候带来了很大的提升。

第一种数据增强的变换方式是图像的平移和水平翻转。作者通过从 256x256 图像中提取随机的224x224的样本以及其水平翻转,在此数据的基础之上训练模型,增强的样本包含图像4个角和中心的子样本,以及它们的水平翻转,总共10个,并且在最后 sofmax 层针对这10个进行平均预测。

第二种数据增强的方式是改变训练图像中RGB通道的强度。

抗过拟合--Dropout

作者本着一个事实:组合许多不同模型的预测可以减少预测误差,但是单独训练多个大型的神经网络十分昂贵,所以 Dropout应运而生。思路是将每个隐藏神经元的输出以 rate 的概率设置为0,假设 rate 为 0.5,则设置了 Dropout 的隐藏层神经元有 50%的独立概率被“掐断”,以这种方式“掐断”的神经元不参与前向传播,也不会参与反向传播。这样,每次迭代时,神经网络都会对不同的网络体系结构进行前向反向传播,但不同于独立不同的网络结构,通过 Dropout使得它们共享权重。Dropout 减少了神经元的共同适应性,迫使神经元依靠自身完成更为准确的预测而不是依赖于其他神经元的存在,即被迫学习更健壮的特征。


Dropout 示意图,右图为“掐断”部分神经元的新子模型

总结

AlexNet 开创性的使用卷积神经网络,在ImageNet 2012 的分类大赛上领先去年的网络一个数量级。同时,它使用 ReLU 作为激活函数以及引入 Dropout 正则化,这些都是后人常用的网络优化技巧。可以说,从 AlexNet开始,图像分类即将迎来突飞猛进的发展。

相关文章

网友评论

      本文标题:AlexNet 论文学习记录

      本文链接:https://www.haomeiwen.com/subject/kmvqcrtx.html