网络结构2——AlexNet
参考文章:ImageNet classification with deep convolutional neural networks
创新点
- 应用卷积神经网络模型。现实环境中的物体具有相当大的可变性,要学习识别他们,有必要使用更大的训练集,从而我们的模型也应该有大量的先验知识来补偿我们没有的所有数据。卷积神经网络模型可以通过改变它们的深度和宽度来控制,而且还可以对图像的本质做出强有力且大部分正确的假设。
- 编写了高度优化的2D卷积的GPU:将网络分散到两个gpu上。当前的gpu特别适合于跨gpu并行化,因为能够直接读写彼此的内存,而不需要通过主机内存。并行方案是将一半的内核(或神经元)放在每个GPU上,或者GPU只在特定的层进行通信。
- local response标准化:反应标准化实现了一种横向抑制的形式,四层CNN在未归一化的情况下测试错误率为13%,归一化后测试错误率为11%
- ReLU非线性函数:具有非线性的神经元称为矫正线性单元(ReLUs),使用ReLUs的深度卷积神经网络训练速度比使用tanh单位的同类网络快好几倍。
使用的数据集及结果
ImageNet数据集,有1500万张标签高分辨率图像的数据集,属于大约22000个类别。本文使用的数据集是ImageNet的一个子集,在1000个类别中的每个类别大约有1000张图像,总共大约120万张训练图像,5万张验证图像和15万张测试图像。图像为256*256的固定分辨率。
网络结构
CNN总体架构包括八个学习层:五个卷积层和三个完全连接层。
- 第一个卷积层对224*224*3输入图像进行滤波,图像有96个核,大小为11*11*3,步幅为4个像素
- 第二层卷积层将第一层的输出作为输入,用256个大小为5*5*48的核对其进行滤波。
- 第三,四,五卷积层相互连接,而不需要任何干预的池或规范化层。第三个卷积层有384个核,大小为3*3*256,连接到第二个卷积层(归一化,池化)的输出。第四卷积层有384个核,大小为3*3*192。第五卷积层有256个核,大小为3*3*192。完全连接的层有4096个神经元。
最后一个完全连接的层的输出被馈送到1000路soft Max,产生超过1000个类标签的分布。
第二层、第四层和第五层的内核只与位于同一GPU上的前一层内核映射相连。
第三层的内核与第二层的所有内核映射相连。
response- normalization layer在第一、二卷积层之后。
max- pooling layer在第五卷积层和response- normalization layer之后。
ReLU非线性应用于每个卷积层和全连接层的输出。
一个GPU在图形的顶部运行层部分,另一个GPU在底部运行层部分。