1. 简介
2012年,Alex Krizhevsky, Ilya Sutskever和Geoffrey E. Hinton在论文《ImageNet Classification with Deep Convolutional Neural Networks》中提出AlexNet,夺得ILSVRC 2012的冠军。
AlexNet是最早的现代神经网络,AlexNet证明了CNN在复杂模型下的有效性,使用GPU使得训练在可接受的时间范围内得到结果,推动了有监督深度学习的发展。
主要特点:
采用GPU实现:两个GPU并行化计算,采用交叉验证,提高了准确率(第二、三层卷积层之间用了两个GPU的“串联”)
采用ReLU激活函数:克服了梯度消失问题且收敛速度较快,优于tanh与sigmoid函数
采用数据增强:数据增强采用图像平移和翻转来生成更多的训练图像,提升了模型的泛化能力
采用Dropout:降低了神经元之间互适应关系,迫使神经元不会过度依赖某个神经元或特征,可学习更为鲁棒的特征,防止过拟合
2. 网络结构
CONV
输入:227 × 227 × 3
卷积核:11 × 11 ,深度48,步长4
输出:55 × 55 × 96
Relu激活函数
POOL
输入:55 × 55 × 96
池化核:最大池化,3 × 3,步长2
输出:27 × 27 × 96
LRN(局部响应归一化)
Layer 2 :CONV + POOL
CONV
输入:27 × 27 × 96 (SAME Padding)
卷积核:5 × 5 ,深度128 ,步长1
输出:27 × 27 × 256
Relu激活函数
POOL
输入:27 × 27 × 256
池化核:最大池化,3 × 3,步长2
输出:13 × 13 × 256
LRN(局部响应归一化)
Layer 3: CONV
CONV
输入:13 × 13 × 256 (SAME Padding)
卷积核:3 × 3 ,深度192 ,步长1
输出:13 × 13 × 384
Relu激活函数
Layer 4: CONV
CONV
输入:13 × 13 × 384 (SAME Padding)
卷积核:3 × 3 ,深度192 ,步长1
输出:13 × 13 × 384
Relu激活函数
Layer 5: CONV-POOL
CONV
输入:13 × 13 × 384 (SAME Padding)
卷积核:3 × 3 ,深度128,步长1
输出:13 × 13 × 256
Relu激活函数
POOL
输入:13 × 13 × 256
池化核:最大池化,3 × 3,步长2
输出:6 × 6 × 256
Layer 6: FC1
输入:9216
输出:4096
Relu激活函数
Layer 7: FC2
输入:4096
输出:4096
Relu激活函数
Layer 8: FC3
输入:4096
输出:1000
Sigmoid激活函数
说明:
原始图像大小256 × 256 × 3,经过随机裁剪、旋转等预处理,形成227 × 227 × 3
Layer 1中卷积核深度为48 ,由于是分在2个GPU上训练,所以总数为96;其他层同理。