关于将卷积层实现为全连接层的困惑

我大致了解如何根据cs231n将全连接层转换为卷积层:

FC到CONV的转换。在这两种转换中,将全连接层转换为卷积层的功能在实践中特别有用。考虑一个卷积神经网络架构,它接收一个224x224x3的图像,然后使用一系列的CONV层和POOL层将图像缩减到一个7x7x512大小的激活体积(在我们稍后将看到的AlexNet架构中,这是通过使用5个池化层来实现的,每次在空间上将输入下采样因子2,最终的空间大小为224/2/2/2/2/2 = 7)。从那里,AlexNet使用两个大小为4096的全连接层,最后一个全连接层有1000个神经元来计算类别得分。我们可以按照上述方法将这三个全连接层转换为卷积层:…

然而,我在阅读一篇使用全卷积回归网络预测密度图的论文时,在他们对架构的描述中,他们声称中间层(例如,最上面的行,A和B只是两种不同的模型)从12x12x128到12x12x512是全连接的,但实现为卷积:enter image description here

我不理解的是,在cs231n中,卷积实现的输出应该是一个维度为1x1x4096的向量,论文中如何将全连接作为卷积实现的输出维度为12x12x512?


回答:

第二种情况不是FC。对于全连接层的卷积表示,卷积核的形状应该与输入相同。在cs231的例子中,输入是7x7x512,与形状为7x7x512的核卷积,并且有4096个这样的核,因此我们得到1x1x4096的输出。在第二种情况下,这只是普通的卷积:12x12x1283x3x128的核(带填充)卷积,并且有512个这样的核,输出大小为12x12x512

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注