2012年,Alex Krizhevsky等人在多伦多大学的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构。
从图中可以看出,AlexNet网络结构分为上下两层,分别对应两个GPU的操作过程,除了中间某些层( 卷积层和 全连接层会有GPU间的交互)外,其他层两个GPU分别计算结果。除去局部响应规范化操作(Local Responsible Normalization, LRN),AlexNet一共包含8层,前5层由卷积层(其中卷积层1、2、5后含有下采样层)组成,而剩下的3层为全连接层。最后一层全连接层的输出作为softmax的输入,得到1000个图像分类标签对应的概率值。
除了GPU并行结构的设计,AlexNet网络结构与LeNet十分相似,其网络的参数配置如下表所示:
为了简化网络结构,将作者原论文中的在两个GPU上的并行结构合并,接下来我们对AlexNet的每一层作详细的分析。
1、Conv1: kernels:48×2=96;kernel_size:11;padding:[1, 2] ;stride:4
2、Maxpool1: kernel_size:3;pading:0;stride:2
3、Conv2: kernels:128×2=256; kernel_size:5; padding: [2, 2]; stride:1
4、Maxpool2: kernel_size:3; pading:0; stride:2
5、Conv3: kernels:192×2=384; kernel_size:3; padding: [1, 1]; stride:1
6、Conv4: kernels:192×2=384; kernel_size:3; padding: [1, 1]; stride:1
7、Conv5: kernels:128×2=256; kernel_size:3; padding: [1, 1]; stride:1
8、Maxpool3: kernel_size:3 padding: 0 stride:2
9、全连接层FC1、FC2、FC3