计算 AlexNet 每层的参数量,核心在于掌握卷积层和全连接层的计算公式。为了方便理解,我们以 AlexNet 最经典的输入尺寸 224×224×3 为例进行推导。
1. 参数量计算公式
- 卷积层 (Conv):
参数量 = (卷积核宽 × 卷积核高 × 输入通道数 + 1) × 卷积核个数
(注:公式中的+1代表偏置项 bias,如果不加 bias 则去掉) - 全连接层 (FC):
参数量 = (输入特征数 + 1) × 输出神经元个数
2. AlexNet 各层参数详细计算
Conv1:输入 224×224×3,卷积核 11×11×3,个数 96
- 权重:11 × 11 × 3 × 96 = 34,848
- 偏置:96
- 本层总参数:34,944
Conv2:输入 55×55×96,卷积核 5×5×96,个数 256
- 权重:5 × 5 × 96 × 256 = 614,400
- 偏置:256
- 本层总参数:614,656
Conv3:输入 27×27×256,卷积核 3×3×256,个数 384
- 权重:3 × 3 × 256 × 384 = 884,736
- 偏置:384
- 本层总参数:885,120
Conv4:输入 13×13×384,卷积核 3×3×384,个数 384
- 权重:3 × 3 × 384 × 384 = 884,736
- 偏置:384
- 本层总参数:885,120
Conv5:输入 13×13×384,卷积核 3×3×384,个数 256
- 权重:3 × 3 × 384 × 256 = 884,736
- 偏置:256
- 本层总参数:884,992
FC6:输入特征数 256 × 6 × 6 = 9216,输出神经元 4096
- 权重:9216 × 4096 = 37,748,736
- 偏置:4096
- 本层总参数:37,752,832
FC7:输入特征数 4096,输出神经元 4096
- 权重:4096 × 4096 = 16,777,216
- 偏置:4096
- 本层总参数:16,781,312
FC8 (输出层):输入特征数 4096,输出神经元 1000 (以 ImageNet 1000类为例)
- 权重:4096 × 1000 = 4,096,000
- 偏置:1000
- 本层总参数:4,097,000
3. 参数汇总与结论
将上述各层参数相加:
34,944 + 614,656 + 885,120 + 885,120 + 884,992 + 37,752,832 + 16,781,312 + 4,097,000 ≈ 61,985,976
核心结论:
- AlexNet 的总参数量约为 6000万(60M)。
- 全连接层是参数大户:FC6、FC7、FC8 三层的参数量加起来约 5860万,占整个网络参数的 94%以上。
- 卷积层参数极少:5个卷积层加起来只有约 330万参数,仅占 5% 左右。这也是为什么现代深度学习逐渐抛弃全连接层,全面采用卷积(如 1x1 Conv)或全局平均池化(GAP)来替代的原因。

6924

被折叠的 条评论
为什么被折叠?



