大话CNN经典模型:AlexNet

本文详述了AlexNet模型的设计特点,包括使用ReLU激活函数、数据扩充、Dropout、局部归一化等,以及如何通过多GPU训练加速模型训练。AlexNet在2012年ImageNet竞赛中的出色表现,标志着深度学习时代的开启,尤其是其在防止过拟合和提升准确率方面的创新,对后续CNN模型发展产生了深远影响。
摘要由CSDN通过智能技术生成

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。

 

2012年,Alex Krizhevsky、Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构,在此之前,深度学习已经沉寂了很长时间,自2012年AlexNet诞生之后,后面的ImageNet冠军都是用卷积神经网络(CNN)来做的,并且层次越来越深,使得CNN成为在图像识别分类的核心算法模型,带来了深度学习的大爆发。
在本博客之前的文章中已经介绍过了卷积神经网络(CNN)的技术原理(大话卷积神经网络),也回顾过卷积神经网络(CNN)的三个重要特点(大话CNN经典模型:LeNet),有兴趣的同学可以打开链接重新回顾一下,在此就不再重复CNN基础知识的介绍了。下面将先介绍AlexNet的特点,然后再逐层分解解析AlexNet网络结构。

一、AlexNet模型的特点
AlexNet之所以能够成功,跟这个模型设计的特点有关,主要有:

  • 使用了非线性激活函数:ReLU
  • 防止过拟合的方法:Dropout,数据扩充(Data augmentation)
  • 其他:多GPU实现,LRN归一化层的使用

1、使用ReLU激活函数
传统的神经网络普遍使用Sigmoid或者tanh等非线性函数作为激励函数,然而它们容易出现梯度弥散或梯度饱和的情况。以Sigmoid函数为例,当输入的值非常大或者非常小的时候,这些神经元的梯度接近于0(梯度饱和现象),如果输入的初始值很大的话,梯度在反向传播时因为需要乘上一个Sigmoid导数,会造成梯度越来越小,导致网络变的很难学习。(详见本公博客的文章:深度学习中常用的激励函数)。
在AlexNet中,使用了ReLU (Rectified Linear Units)激励函数,该函数的公式为:f(x)=max(0,x),当输入信号<0时,输出都是0,当输入信号>0时,输出等于输入,如下图所示:
 
使用ReLU替代Sigmoid/tanh,由于ReLU是线性的,且导数始终为1,计算量大大减少,收敛速度会比Sigmoid/tanh快很多,如下图所示:
 
2、数据扩充(Data augmentation)
有一种观点认为神经网络是靠数据喂出来的,如果能够增加训练数据,提供海量数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值