阅读笔记:ImageNet Classification with Deep Convolutional Neural Networks
概要:
本文中的Alexnet神经网络在LSVRC-2010图像分类比赛中得到了第一名和第五名,将120万高分辨率的图像分到1000不同的类别中,分类结果比以往的神经网络的分类都要好。为了训练更快,使用了非饱和神经元并对卷积操作进行双GPU实现。为了减少全连接层的过拟合,本文采用了dropout的正则化方法。
一、背景
简单的识别任务在小数据集上可以被解决的很好,但是在数据集很大的情况下,我们需要一个很强的学习模型。CNN可以通过改变数据集的广度和深度来补偿大数据中没有的数据,同时比起层次大小相似的前馈神经网络,CNN有更少的连接和参数,所以更加容易训练,现在由于GPU的出现,CNN可以被大量地训练。
二、模型
1.ReLU非线性
本文使用的是ReLU非线性函数,虽然tanh(x)和(1+e-x)-1函数是标准函数,但是它们梯度下降的时间需要训练很久,所以我们采用max(0,x)函数。
2.多GPU训练
在训练CNN的时候我们采用在GPU上运行,而且我们采用两个GPU同时运行的方式,这里运行有个技巧:只在某些特定的层进行GPU通信,例如第三层的神经网络会将第二层的所有神经网络作为输入,但是第四层的神经网路可能只会讲同GPU的神经网络映射作为输入,这样双GPU的运行效果要比单个GPU处理半个范围类似的神经网络速度快。
3.局部响应归一化
ReLU具有让人满意的特性,不需要通过输入归一化来防止饱和。但是我们发现局部响应归一化有助于泛化。
4.重叠池化
网络使用大小为33,步长为2的池化层,使得池化时有重叠部分,讲top-1和top-5错误率降低了0.4%和0.3%。
5.整体结构
三、减少过拟合
1.数据加强
一种方法是随机选取其中224224图像及其水平翻转后的图像作为训练数据,使得数据扩大2048倍,大大减少过拟合。预测的时候利用图像角落上的4个图像和中间的一个图像,计算结果的平均值。
第二种方法是转变图像RGB通道的强度。对RGB像素值作主成分分析,然后对每张训练图像的像素值,加上主成分乘上对应特征值,再加上均值为1,标准差为0.1的随机值的积。
2.Dropout
将许多模型预测结合起来是降低测试误差的方法,但是花费的时间比较多,用dropout方法以0.5的概率对每个隐层神经元的输出设为0,“失活的”神经元不再进行前向传播并且不参加反向传播,这个技术减少了复杂的神经元相互适应,因为一个神经元不能依赖特定的其他神经元存在。所以神经元被强迫学习更鲁邦的特征。
四、结果
在ILSVRC-2010数据集上网络取得了top-1和top-5错误率37.5%和17.0%。
实验进展:
学习了神经网络简单模型的搭建,做了批训练和优化的实验,正在搭建分析手写数字的卷积神经网络模型。
下周计划:
搭建完分析手写数字的卷积神经网络,看一篇比较经典的CNN论文,看一篇推荐系统相关的论文。