ImageNet Classification with Deep Convolutional Neural Networks - AlexNet 2012文章解析和代码

本文详细解析2012年NIPS论文《ImageNet Classification with Deep Convolutional Neural Networks》中提出的AlexNet模型,包括网络结构、参数设置、ReLU激活、数据增强、双GPU训练、局部响应归一化(LRN)、重叠池化和Dropout等关键点,并提及Keras版本的实现。
摘要由CSDN通过智能技术生成

NIPS 2012 《ImageNet Classification with Deep Convolutional Neural Networks》
Alex Krizhevsky | Ilya Sutskever | Geoffrey E. Hinton
PaperLink

基本参数

input: 224×224大小的图片,3通道
conv1: 11×11大小的卷积核96个,每个GPU上48个。
max-pooling: 2×2的核。
conv2: 5×5卷积核256个,每个GPU上128个。
max-pooling: 2×2的核。
conv3: 与上一层是全连接,3*3的卷积核384个。分到两个GPU上个192个。
conv4: 3×3的卷积核384个,两个GPU各192个。该层与上一层连接没有经过pooling层。
conv5: 3×3的卷积核256个,两个GPU上个128个。
max-pooling: 2×2的核。
FullyConnected1: 4096维,将第五层max-pooling的输出连接成为一个一维向量,作为该层的输入。
FullyConnected2: 4096维
Softmax: 输出为1000,输出的每一维都是图片属于该类别的概率。

一些操作

ReLU
使用非线性饱和函数ReLU作为神经元激活函数 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

数据增强

  • 随机抓取224x224的小块,以及它的水平翻转:
    从256x256的图片中抓取224x224的小块,并用这抓取的小块来训练网络;
    使训练集增加了2048倍,但是样本间有高度依赖性;
    不使用这个方案时,出现大量的过拟合;
    测试阶段时,抓取5个224x224的小块以及它们的水平翻转(共10个)来做预测,并对这10个小块的softmax预测值做平均。
  • 改变训练图像中的RGB通道的强度:
    遍历ImageNet训练集,在RGB像素值的集合上使用PCA
    使已知的主成分加倍
    比例为对应特征值乘以一个随机变量
    随机变量服从均值为0,标准差为0.1的高斯分布

Dual GPU
使用了两个NVIDIA GTX 580 3GB GPU
每个GPU有一半的kernel,且只在一些特定的层,GPU之间才进行通信:

  • 第2、4、5卷积层的输入只连接了位于同一GPU的前一层的kernel;
  • 第3层连接了第2层所有kernel(两个GPU的);
  • 全连接层是与前一层所有神经元连接的(两个GPU的)。

LRN(Local Response Normalization)局部响应归一化
b x , y i = a x , y i / ( k + α ∑ j = max ⁡ ( 0 , i − n / 2 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值