赞
踩
2012年,Hinton的学生 Alex Krizhevsky在《 深度卷积神经网络的ImageNet分类》一文中提出了深度卷积神经网络模型 AlexNet,是LeNet的一种更深更宽的版本。这是第一次将深度卷积神经网络 (CNN)、GPU 和巨大的互联网来源数据集(ImageNet)结合在一起。 AlexNet首次在CNN中成功应用了ReLU、Dropout和LRN等Trick。AlexNet包含了6亿3000万个连接,6000万个参数和65万个神经元,拥有5个卷积层,其中3个卷积层后面连接了最大池化层,最后还有3个全连接层。它以显著的优势赢得了 当年ILSVRC 2012奖,top-5的错误率(指给定一张图像,其标签不在模型认为最有可能的5个结果中的几率)降低至15.4%。AlexNet是神经网络在第二次低谷期后的第一次呐喊, 确立了深度学习(深度卷积神经网络)在计算机视觉的统治地位,也推动了深度学习在语音识别、自然语言处理、强化学习等领域的拓展。
AlexNet主要使用到的新技术点如下:
成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,解决了Sigmoid在网络较深时的梯度弥散问题。
训练时使用Dropout随机失活(忽略)一部分神经元,以避免模型过拟合。
提出了LRN(局部响应归一化)层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。
使用CUDA加速深度卷积网络的训练,利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算。
数据增强,随机地从256´256的原始图像中截取224´224大小的区域(以及水平翻转的镜像),相当于增加了(256-224)2´2=2048倍的数据量。
AlexNet网络结构:
整个AlexNet有8个需要训练参数的层(不包括池化层和LRN层),前5层为卷积层,后3层为全连接层,如图所示:
输入:input_size = [224, 224, 3]
卷积层:
kernels = 48 * 2 = 96个卷积核
kernel_size = 11 * 11
padding = [1, 2] (左上围加半圈0,右下围加2倍的半圈0)
stride = 4
输出:output_size = [55, 55, 96]
经 Conv1 卷积后的输出特征图像尺寸为:
池化层只改变图片矩阵大小,不改变其深度。即经MaxPool1后的输出特征图像尺寸为:
历经AlexNet网络的5层卷积层训练,在MaxPool3后的最终输出特征图像尺寸为[6, 6, 256]:
AlexNet网络的全连接层:FC1、FC2、FC3
最后一层是有1000类输出的Softmax层用作分类。
分析可见,除了Conv1外,AlexNet网络的其余卷积层都是在改变特征矩阵的深度(逐步加深),而池化层则只改变(缩小)其尺寸。
AlexNet最后一层是有1000类输出的Softmax层用作分类。 LRN层出现在第1个及第2个卷积层后,而最大池化层出现在两个LRN层及最后一个卷积层后。ReLU激活函数则应用在这8层每一层的后面。
因为AlexNet训练时使用了两块GPU,因此这个结构图中不少组件都被拆为了两部分。现在我们GPU的显存可以放下全部模型参数,因此只考虑一块GPU的情况即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。