您的位置:首页 > 其它

【论文笔记】Image Classification with Deep Convolutional Neural Network

2015-10-19 21:19 513 查看
Alex Krizhevsky在ImageNet大赛中获胜的代码的说明文章

1. 整体架构

Overall Architecture

//概括:5个卷积层+3个全连接层+1个softmax层。在第1,2,5个卷积层后加了一个LRN和Max Pooling。





每层的尺寸演算

2. 创新点

2.1 ReLU

//概括:不用simgoid和tanh作为激活函数,而用ReLU作为激活函数的原因是:加速收敛。

因为sigmoid和tanh都是饱和(saturating)的(他们的导数都是倒过来的碗状,i.e.,越接近目标,对应的导数越小)。而ReLu的导数对于大于0的部分恒为1。于是ReLU确实可以在BP的时候能够将梯度很好地传到较前面的网络。

2.2 Local Responce Normalization

//概括:本质上,这个层也是为了防止激活函数的饱和的。

个人理解原理是通过正则化让激活函数的输入靠近“碗”的中间,从而获得比较大的导数值。

所以从功能上说,跟ReLU是重复的。

不过作者说,从试验结果看,LRN操作可以提高网络的泛化能力,将错误率降低了大约1个百分点。

2.3 Reducing Overfitting

2.3.1 Data Augmentation

用了两种方法:

随机crop。训练时候,对于256*256的图片进行随机crop到224*224,然后允许水平翻转,那么相当与将样本倍增到((256-224)^2)*2=2048。测试时候,对左上、右上、左下、右下、中间做了5次crop,然后翻转,共10个crop,之后对结果求平均。作者做,不做随机crop,大网络基本都过拟合(under substantial overfitting)。

对RGB空间做PCA,然后对主成分做一个(0, 0.1)的高斯扰动。结果让错误率又下降了百分一。

2.3.2 Overlapping Pooling

//概括:从试验结果看,作者认为Overlapping之后,能够减少网络的过拟合。

2.3.3 dropout

//概括,在第1,2个全连接层后面加入了dropout后,能够防止过拟合。

3.缺点

网络过于庞大,参数过多

__to address: 《Learning both Weights and Connections for Efficient Neural Network》

2015 通过剪枝使其能在移动设备上运作

Detail of learning

batch: 128

momenttum: 0.9

weight decay: 0.0005

init the weights: Guassian(0, 0.01)

init the bias: constant 1 or constant 0

learning rate: 0.01, divide by 10 while valid error rate stopped improving

Result

主要看ILSVRC-2012的结果。

文中模型top1 40.7%,top5 18.2%

五个模型平均出来后是top1 38.1%和top5 16.4%

Discussion

模型没有用到unsupervised pre-training

如果删去任何一个卷积层,top1 error会升高2%左右
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: