有人可以向我解释为什么第一个卷积层中VGG16网络的宽度为64?据我所知,这些图层在网络上的大小加倍,但我不确定64在开始时是如何确定的。
答案 0 :(得分:1)
VGG16中第一个卷积层的输入是大小为224x224x3的图像。第一卷积层的输出体积具有224x244x64的形状(输入图像中每个通道的x3)。值64是新卷上的深度(或通道 - 它们称之为宽度,这使IMO感到困惑)作为在输入体积(图像)上的64个滤波器中的每一个上的卷积操作的结果 - 考虑每个过滤将新图层堆叠到卷上。 conv1_1中64个滤波器的选择是一个设计决策,它们没有解释,但与管理可训练参数的数量有关。
滤波器数量加倍(64,128,256 ......)也是一个设计决定。有人说经验法则是在汇集层的下采样操作中通过乘数的倒数来增加滤波器的数量。在VGG16架构中,他们在池化层中使用了2的步幅。因此,根据这个粗略的等式(宽度和高度相等),他们粗略地将输入体积的WxH下采样50%:
宽度输出 =(宽度输入 - FilterSize + 2 *填充)/ Stride +1
在VGG16 pool1输出中:
宽度输出 =(224 - 3 + 2 * 0)/ 2 +1 =111.5≅112
将下采样汇集50%(224/2),所以让下一个卷积层中的滤波器加倍(64 * 2)