当前位置: 代码迷 >> 综合 >> 【读懂论文1】:AlexNet!深度学习大爆炸的奇点!
  详细解决方案

【读懂论文1】:AlexNet!深度学习大爆炸的奇点!

热度:1   发布时间:2023-12-08 02:50:56.0

AlexNet

1 意义

该文开启了持续到现在的深度学习热潮,是深度学习近十年来蓬勃发展的宇宙大爆炸奇点。2012年,论文中指出,该方法在ILSVRC-2012竞赛中获得冠军并遥遥领先于第二名。
论文地址:ImageNet Classification with Deep Convolutional Neural Networks

2 创新

2.1 更深

在AlexNet之前较为有名的是九十年代Yan LeCun发表的LeNet,该网络有两个卷积层,主要用于处理手写数字的识别,也就是用经典的MNIST数据集进行训练的网络。、
而AlexNet有5个卷积层,并且Alex也指出,去掉任何一个卷积层都会使结果的精度降低,所以这“比较深”的网络层数是有必要的。
拥有更深的层数,也就是论文标题中“Deep”的所指。而深度学习也由此开花结果到现在还未显疲态。

2.2 俩GPU

如论文中的网络结构图所示,中间的各个层都被分成了上下两个部分,而这是因为AlexNet就是用两个GPU来进行训练的。
在遥远的十年前,对ImageNet这种大型数据集用单个的GPU训练是较为困难的,故在这篇论文中,他们用俩GPU对数据进行并行的计算。值得注意的是,被分成上下两部分的中间层不是一直没有联系的,如第二三卷积层之间,二者的信息是共享的。
同时,相比于只用一个GPU,双GPU为结果提升了1.7%的准确率,不过我并不清楚原因。

2.3 ReLU

正所谓大道至简,相比于设计得更为复杂平滑得 s i g m o i d sigmoid sigmoid函数和 t a n h tanh tanh函数,ReLU(Rectified Linear Units 修整的线性单元)的表达式非常简单,就是 m a x ( 0 , x ) max(0,x) max(0,x)
在这里插入图片描述

而相比于 t a n h tanh tanh需要35个epochs的迭代才能达到25%的训练误差, m a x ( 0 , x ) max(0,x) max(0,x)只需要5个。
ReLU函数据说更接近人脑中神经元的稀疏性激活状态,讲人话就是人脑是用哪激活哪,不用的地方就给关上。而ReLU这种单侧抑制的性质恰恰使得激活函数与生物上的激活接近。同时,当求梯度存在误差时,反向传播过程会将误差不断放大。当误差大于1时,产生梯度爆炸;当误差小于1时,产生梯度消失。而ReLU由于非负区间的梯度为常数,因此不存在梯度消失问题,使得模型的收敛速度维持在一个稳定状态。

2.4 dropout

直译的话就是丢弃,意译的话就是失活。基本原理就是随机的把隐藏层的一些神经元“失活”,具体来说分为以下三步:

  • 对于要训练的一批样本,以概率 p p p随机关掉一部分隐藏的神经元,同时保持输入与输出不变
  • 对该网络正常进行前向传播和反向传播
  • 对于下一批训练样本,重新以概率 p p p随机关掉神经元,循环

在这里插入图片描述

需要补充的是,目前采用的dropout一般是inverted dropout,也就是在以概率 p p p关掉神经元之后,输入与中间的训练过程均需要放大到原来的 1 1 ? p \frac{1}{1-p} 1?p1?倍,从而使得训练时的输出与测试时的输出分布保持一致。
dropout的作用是显著的,它可以有效的减少过拟合的发生。而至于为什么,或许可以这样来理解。在训练找猫的时候,如果输入的图片中都是白猫,那么隐藏层的神经元在学习特征时负责白色的那个神经元的权重就会很大;而在测试时如果出现一只黑猫,就会找不到,也就是产生过拟合现象,即训练时好好的,怎么测试时不管用了。而dropout对于每个mini-batch都会随机关闭神经元,那么必然有半数(如果概率是0.5的话)网络没有白色的特征可以学习,其他方面的特征权重就会权重。最终将所有mini-batch学到的网络统一之后,那个网络就更加的健壮,特征之间的连带关系被有效减弱,对于过拟合现象也就得到较好的抑制了。

2.5 数据增强

数据增强也就是在原始数据集上,变着法儿地增加更多可用的新数据。因为数据就是饭,饭越多,孩子长得越结实。在这篇论文中,使用了两种方法来“加饭”。

  • 抠图、翻转图
  • 变色

第一种很直接,在原始图像的四个角落和中间取一个新的小一点的图像,再水平翻转一下,加起来一共十张图。完成了一变十的壮举。
第二种就是改变原始图像的RGB三个通道的具体数值,模拟图像中不同光照明暗产生的新图像。

  相关解决方案