如何计算AlexNet的参数数量?

时间:2016-10-15 15:36:00

标签: computer-vision conv-neural-network

我还没有找到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的参数。这个计算对吗?

3 个答案:

答案 0 :(得分:3)

本演示文稿中的幻灯片8表示它有60M参数,所以我认为你至少在球场。 http://vision.stanford.edu/teaching/cs231b_spring1415/slides/alexnet_tugce_kyunghee.pdf

答案 1 :(得分:2)

您的计算是正确的。在编写this blog post时,我们独立地得出了完全相同的数字。我还从帖子中添加了最终表格

enter image description here

答案 2 :(得分:1)

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

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