论文 architecture 简称就是AlexNet。
论文的关键点:
1、采用ReLU激活函数;
2、使用non-saturating neurons;
3、采用“dropout”的正则化方法,进而降低过拟合的现象。
论文重点在第3部分,这里也主要展示个人对第3部分的理解。
3.1、ReLU Nonlinearity
总结起来就是:在训练的时候,使用传统的饱和非线性的方法(sigmoid,tanh)这样的激活函数,
会因为梯度弥散的原因而变得很慢,所以这里采用了ReLU(Rectified Linear Units)这样的非饱和线性激活函数。
![图解](https://img-blog.csdn.net/20161006095139888)
3.2、Training on Multiple GPUs
作者限于当时的GPU条件,只能够用3G的GTX 580 GPU,由于网络要训练的样本量太大,所以采用了两块GPU来并行训练网络。
3.3、Local Response Normalization
作者表明:这是防止激活函数饱和的一种途径,通过normalization(具体内容见论文)的处理,使整个迭代过程更快的收敛到极值。
所以作用其实是和ReLU一样的,不过作者 在论文中提到了这个normalization的方法对整体性能的提升。
3.4、Overlapping Pooling
总结起来:原本的pooling的工作可以理解为,将整个pooling层,以s为两两grid的中心的间距划分好pooling单元。
然后每个单元,根据单元中心,将z*z的领域作为pooling的区域。一般的pooling就是s=z,这里的“overlapping”,则满足z>s。论文中s=2,z=3.
3.5、Overall Architecture
总结起来:就是5个卷积层+3个全链接层+1个softmax层,在conv1,conv2和conv5后面有Response Normalization和max pooling。
4、Reducing Overfitting
4.1 Data Augmentation
(1)、随机crop:训练时候,对于256*256的图片进行随机crop到224*224,然后允许水平翻转,那么相当与将样本倍增到((256-224)^2)*2=2048。
测试时候,对左上、右上、左下、右下、中间做了5次crop,然后翻转,共10个crop,之后对结果求平均。
作者做,不做随机crop,大网络基本都过拟合(under substantial overfitting)。
(2)、RGB空间的PCA:然后对主成分做一个(0, 0.1)的高斯扰动。
4.2 Dropout
在第1,2个全连接层后面加入了dropout后,能够防止过拟合。不加,也是会under substantial overfitting的。
5 Details of Learning
batch: 128
momentum: 0.9
weight decay: 0.0005
initialized the weights in each layer from a zero-mean Guassian distribution with standard deviation: 0.01
initiallized the neuron biases: conv2,conv4,conv5,fc6,fc7,fc8 with constant 1;
others layers with constant 0.
learning rate : 0.01;
divide the learning rate by 10 when the validation error rate stopped improving with the current learning rate.
6 Results
文中模型top1 40.7%,top5 18.2%
五个模型平均出来后是top1 38.1%和top5 16.4%
7 Discussion
模型没有用到unsupervised pre-training
如果删去任何一个卷积层,top1 error会升高2%左右
本文博客内容,受到zhangliliang大神的启发。
详见:http://zhangliliang.com/2014/07/01/paper-note-alexnet-nips2012/