两个卷积层之间的互连

时间:2017-03-05 23:26:04

标签: deep-learning conv-neural-network

我对CNN中两个卷积层之间的互连有疑问。例如,假设我有这样的架构:

输入:28 x 28

conv1:3 x 3过滤器,没有。过滤器:16

conv2:3 x 3过滤器,没有。过滤器:32

在conv1之后,假设图像的尺寸没有减小,我们得到的输出为16 x 28 x 28。所以我们有16个功能图。在下一层中,如果我们将每个特征图(28 x 28)视为神经元,则每个特征图连接到下一层意味着每个神经元将连接到所有32个过滤器意味着总数 (3 x 3 x 16)x 32参数。这两层是如何堆叠或互连的?在人工神经网络的情况下,我们在两层之间具有权重。 CNN中还有这样的东西吗?如何将一个卷积层的输出馈送到下一个卷积层?

1 个答案:

答案 0 :(得分:0)

n要素图之后带有k×k大小为f的过滤器的卷积层的参数数量

n ⋅ (f ⋅ k ⋅ k + 1)

+1来自偏见。

因此,每个f过滤器的形状k×k×1不是形状k×k×f

  

如何将一个卷积层的输出馈送到下一个卷积层?

就像输入被送到第一个卷积层一样。没有区别(功能图的数量除外)。

一个输入要素图上的卷积

图片来源:https://github.com/vdumoulin/conv_arithmetic

另请参阅:another animation

多输入要素图

它的工作原理相同:

  • 滤镜的深度与输入相同。在它是1之前,现在它更多。
  • 您仍然可以将滤镜滑过所有(x,y)位置。对于每个位置,它给出一个输出。

你的例子

  • 第一转换层:160 = 16 *(3 * 3 + 1)
  • 第二转换层:4640 = 32 *(16 * 3 * 3 + 1)