AlexNet的参数个数如何计算?

How to calculate the number of parameters of AlexNet?

我还没有找到 AlexNet 的参数(权重 + 偏差)的计算,所以我尝试计算它,但我不确定它是否正确:

conv1: (11*11)*3*96 + 96 = 34944

conv2: (5*5)*96*256 + 256 = 614656

conv3: (3*3)*256*384 + 384 = 885120

conv4: (3*3)*384*384 + 384 = 1327488

conv5: (3*3)*384*256 + 256 = 884992

fc1: (6*6)*256*4096 + 4096 = 37752832

fc2: 4096*4096 + 4096 = 16781312

fc3: 4096*1000 + 1000 = 4097000

这导致总共有 62378344 个参数。这样计算对吗?

本演示文稿中的幻灯片 8 指出它有 60M 个参数,因此我认为您至少在大概范围内。 http://vision.stanford.edu/teaching/cs231b_spring1415/slides/alexnet_tugce_kyunghee.pdf

根据他们论文中的图表,一些层使用了分组。因此,并非一层的所有特征都与下一层通信。这意味着例如对于 conv2,您应该只有 (5*5)*48*256 + 256 = 307,456 个特征。

我不确定是否所有较新的实现都包括分组。这是他们用来让网络在两个 GPU 上并行训练的优化,但现代 GPU 拥有更多的训练资源,无需分组即可轻松适应网络。

你的计算是正确的。我们在写 this blog post 时独立得出了完全相同的数字。我还添加了 post

中的最后一个 table