AlexNet

Abstract

high-resolution 高分辨率

ImageNet Top-1 
对一张图片,如果概率最大的是正确答案,则正确
TOp-5 概率前五正确则正确

AlexNet 
1.2million images 1000classes
Top-1 erro 37.5% 
Top-5 erro 17.0%
60million parameter
5 conv layer + 3 pooling layer
2 ful-con layer
1 softmax layer

no-saturating neurons
使用不挤压输出的激活函数,如relu等,可以减少梯度消失情况的出现

dropout 减少过拟合

Backgroud

  • 大规模数据集出现
  • CNN有较强模型能力,适于图像处理任务
  • GPU对于卷积的优化

Dataset

from ImageNet-2010
256 * 256 缩放+裁剪
预处理:RGB减去分别减去平均值

Achitecture

网络整体架构
1. RELU

  • 弃用了传统的tanh或是sigmoid,改用$ f(x) = max(0,x) $,大大提高了训练速度
    reLu与tanh比较

图2:采用ReLUs的四层CNN(实线)对CIFAR-10数据集达到25%训练错误率的速度是采用tanh的CNN(虚线)的六倍。每个网络的学习率(learning rate)都是独立选取以使其训练速度最大化,且都没有经过正则化处理。当然,两种CNN的训练时间上的差距依不同架构会有所不同,但采用ReLUs的CNN总是快过用饱和激活函数的CNN。

2. 多GPU训练

  • 在两个GPU并行训练
  • 俩个GPU只在某些特定层传递数据

3. 归一化

  • 从生物神经中受到启发
  • 近邻的较大值可以对自身进行抑制

4. overlapping pooling

  • 3*3 2步长 减少了过拟合

    4. 整体架构

  • 如上图
input    227 * 227 * 3 
conv1    11 * 11 * 3 * 96
active1  55 * 55 * 48 * 2
pool1    27 * 27 * 48 * 2
conv2    5  * 5  * 48 * 128 * 2
active2  27 * 27 * 128 * 2
pool2    13 * 13 * 128 * 2
conv3    3  * 3  * 256 * 192 * 2
active3  13 * 13 * 192 * 2
conv4    3  * 3  * 192 * 192 * 2
active4  13 * 13 * 192 * 2
con5     3  * 3  * 192 * 128 * 2
active5  13 * 13 * 128 * 2
pool5    6  * 6  * 128 * 2
fulc1    6  * 6  * 256 * 4096  
active6-7  2048 * 2
sofmax   1000

Reduce Overfitting

  1. 数据增广
训练数据的载入(以及生成)在CPU上进行,与GPU中的训练并行
  • 通过对原图进行变换(256256提取出224224)以及水平翻转,训练集增加2048倍
    测试时取五个224*224以及对应水平翻转
  • 基于PCA对于每个像素的色彩进行变换,使得物体识别不依赖于色彩
  1. 随机失活
    在前两个全连接层使用随机失活,降低神经元之间的依赖性,失活概率0.5
    测试时不进行随机失活,将输出乘以0.5
    收敛速度受到了影响

More Detail

  1. w随机初始化,接近0,b在relu层初始化为1,其他为0,以加快收敛
  2. 使用随机梯度下降,momentem,weight decay
  3. 学习率从0.01开始,逐渐降低,每次loss不减小后除10
  4. 120万图片,90次迭代