如果您参考具有16层的VGG网络(表1,列D),则 138M 指的是该网络的 total number of parameters ,即包括所有卷积层,但也包括完全连接的层 .
观察由3 x conv3-256 层组成的第3个卷积阶段:
第一个有N = 128个输入平面,F = 256个输出平面,
另外两个有N = 256个输入平面和F = 256个输出平面 .
对于这些层中的每一层,卷积核为3x3 . 在参数方面,这给出了:
128x3x3x256(权重)256(偏差)=第一个参数295,168,
256x3x3x256(权重)256(偏差)=另外两个参数的590,080个参数 .
如上所述,您必须对所有层执行此操作,但也必须对完全连接的层执行此操作,并将这些值相加以获得最终的138M数 .
UPDATE :各层之间的细分给出:
conv3-64 x 2 : 38,720
conv3-128 x 2 : 221,440
conv3-256 x 3 : 1,475,328
conv3-512 x 3 : 5,899,776
conv3-512 x 3 : 7,079,424
fc1 : 102,764,544
fc2 : 16,781,312
fc3 : 4,097,000
TOTAL : 138,357,544
特别是对于完全连接的层(fc):
fc1 (x): (512x7x7)x4,096 (weights) + 4,096 (biases)
fc2 : 4,096x4,096 (weights) + 4,096 (biases)
fc3 : 4,096x1,000 (weights) + 1,000 (biases)
(x)参见本文第3.2节:首先将完全连接的层转换为卷积层(第一个FC层转换为7×7转换层,最后两个FC层转换为1×1转换层) .
Details about fc1
如上所述,在馈送完全连接的层之前的空间分辨率是7x7像素 . 这是因为这个VGG Net在卷积之前使用了空间填充,详见本文第2.1节:
[...] conv的空间填充 . 层输入使得在卷积之后保留空间分辨率,即,对于3×3转换,填充是1个像素 . 层 .
使用这样的填充,并使用224x224像素输入图像,分辨率随着以下层逐渐减少:112x112,56x56,28x28,14x14和7x7在具有512个特征映射的最后卷积/池化阶段之后 .
这给出了一个传递给 fc1 的特征向量,其维数为:512x7x7 .