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

时间:2017-07-02 19:02:55

标签: machine-learning neural-network deep-learning conv-neural-network

我有点理解我们如何根据cs231n将完全连接转换为卷积层:

  

FC-> CONV转换。在这两次转换中,将FC层转换为CONV层的能力在实践中特别有用。考虑采用224x224x3图像的ConvNet架构,然后使用一系列CONV层和POOL层将图像缩小为7x7x512的激活卷(在我们稍后将看到的AlexNet架构中,这是通过使用5个汇集层,每次在空间上对输入进行下采样,使最终空间大小为224/2/2/2/2/2 = 7)。从那里开始,AlexNet使用两个大小为4096的FC层,最后使用1000个神经元来计算类别得分。我们可以将这三个FC层中的每一个转换为CONV层,如上所述:...

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

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

2 个答案:

答案 0 :(得分:1)

第二种情况不是FC。对于完全连接层的卷积表示,卷积内核应具有与输入相同的形状。在cs231的情况下,输入7x7x512与形状7x7x512的内核进行卷积,并且有4096个这样的内核,因此输出为1x1x4096。在第二种情况下,它只是正常的卷积:12x12x1283x3x128内核(带填充)进行卷积,并且512这样的内核给出了大小为12x12x512的输出。 / p>

答案 1 :(得分:0)

你是对的,这很令人困惑。他们标记为“FC”的图层实际上是1x1卷积图层。我认为术语的选择是由这些“FC”层在空间上最小的事实引导的。

或者,换句话说,如果你从带有FC层的回转网开始,将其转换为纯卷积网,如上所述,然后在空间上扩展其输入,你以前的FC层看起来就像上面的“FC”:它们将对应于具有最小空间维度的层。