AlexNet深度解析:输入至输出的维度变化
引言
AlexNet,由Alex Krizhevsky等人在2012年提出,是深度学习和卷积神经网络(CNN)历史上的一个里程碑。它不仅在ImageNet竞赛中取得了革命性的成功,还推动了深度学习在图像识别领域的广泛应用。在本文中,我们将详细探讨AlexNet的架构,并跟踪输入图像经过每一层后的尺寸变化。
AlexNet架构概览
AlexNet由8层构成,包括5个卷积层、3个全连接层,以及ReLU激活函数和最大池化层。下面是AlexNet处理图像的详细流程。
输入层
- 输入尺寸:输入图像的默认尺寸是224x224x3(宽度x高度x通道数)。
第1个卷积层
- 卷积核数量:96
- 卷积核大小:11x11
- 步长(Stride):4
- 填充(Padding):0
- 输出尺寸: 224 − 11 4 + 1 = 55 \frac{224 - 11}{4} + 1 = 55 4224−11+1=55x55x96
第1个池化层
- 池化窗口大小:3x3
- 步长:2
- 输出尺寸: 55 − 3 2 + 1 = 27 \frac{55 - 3}{2} + 1 = 27 255−3+1=27x27x96
第2个卷积层
- 卷积核数量:256
- 卷积核大小:5x5
- 步长:1
- 填充:2(维持输出尺寸不变)
- 输出尺寸:27x27x256
第2个池化层
- 输出尺寸: 27 − 3 2 + 1 = 13 \frac{27 - 3}{2} + 1 = 13 227−3+1=13x13x256
第3个卷积层
- 卷积核数量:384
- 卷积核大小:3x3
- 步长:1
- 填充:1
- 输出尺寸:13x13x384
第4个卷积层
- 卷积核数量:384
- 卷积核大小:3x3
- 步长:1
- 填充:1
- 输出尺寸:13x13x384
第5个卷积层
- 卷积核数量:256
- 卷积核大小:3x3
- 步长:1
- 填充:1
- 输出尺寸:13x13x256
第3个池化层
- 输出尺寸: 13 − 3 2 + 1 = 6 \frac{13 - 3}{2} + 1 = 6 213−3+1=6x6x256
全连接层
在进入全连接层之前,我们需要将最后一个卷积层的输出展平为一维向量。
- 展平后的尺寸:6x6x256 = 9216
- 第1个全连接层:将9216维的向量映射到4096维
- 输出尺寸:4096
第2个全连接层
- 输出尺寸:4096
第3个全连接层(输出层)
- 输出尺寸:1000(对应ImageNet的1000个类别)
结论
通过上述分析,我们可以看到输入图像在AlexNet的每一层中的尺寸变化。从224x224x3的输入图像,经过卷积层、池化层和全连接层的处理,最终转化为1000维的输出向量,代表不同的类别概率。这种维度的连续变化是深度神经网络能够有效学习图像特征的关键。
参考文献
- Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems (pp. 1097-1105).
- AlexNet论文