|
|
1
66
如果您引用具有16层的VGG Net(表1,D列),则
查看由3 x
每个层的卷积核是3x3。就参数而言,这给出了:
如上所述,您必须对所有层(包括完全连接的层)执行此操作,并将这些值相加以获得最终的138M数。 - 更新 :各层之间的细分给出:
特别是对于完全连接的层(fc):
(x) 见本条第3.2节: 首先将完全连接的层转换为卷积层(第一个FC层转换为7 7对流层,最后两个FC层转化为1 1对流层)。
有关的详细信息
准确地说,在馈送完全连接的层之前,空间分辨率为7x7像素。这是因为VGG Net使用 空间填充 在卷积之前,如本文第2.1节所述: […]对流层输入的空间填充使得在卷积之后保持空间分辨率,即,对于33个对流层,填充是1个像素。 使用这样的填充,并使用224x224像素的输入图像,分辨率在最后一个卷积/合并阶段(具有512个特征图)之后沿层依次降低:112x112、56x56、28x28、14x14和7x7。
这会将一个特征向量传递给
|
|
|
2
48
VGG-16网络的计算也在 CS231n 课堂讲稿。
|
|
3
5
以下VGG-16架构位于 original paper as highlighted by @deltheil in (table 1, column D) ,我从那里引用
使用上述方法,以及
注:
Cin和Cout是您堆叠在一起以学习不同尺度的多个特征的过滤器数量,例如在第一层中,您可能希望学习垂直边缘,以及水平边缘和45度的边缘,等等!,64种可能的不同过滤器,每种过滤器具有不同类型的边缘!!
最后,如果您将最后一列中计算的所有权重相加,那么您将得到138357544(1.38亿)个参数,以训练VGG-15! |
|
|
4
2
以下是如何计算每个cnn层中的参数数量:
|
|
|
5
1
我知道这是一篇旧帖子,但我认为@deltheil接受的答案包含错误。如果没有,我很乐意被纠正。卷积层不应有偏差。 即 128x3x3x256(重量)+256(偏置)=295168 应该是 128x3x3x256(重量)=2949112 谢谢 |