0

我读了很多关于 convnets 的文章,但我仍然错过了一个重要的部分。

假设我们有一个带有 32 个过滤器的 conv2D 层:

我知道这些过滤器的权重在开始时是随机初始化的,并且在训练过程中这些过滤器是形成的。所以在第一层他们开始检测边缘。

现在在池化之后,我们有另一个卷积层(让我们再次说 32 个过滤器),它将对前一层的结果应用过滤器。

因此,第 2 层将对来自第一层的这 32 个输出中的任何一个应用 32 个过滤器。 我看到了很多这些特征图的例子:第一层产生边缘图片,下一层图片是形状、耳朵、鼻子等。我的问题是这怎么可能?

如果第 2 层对第 1 层结果应用过滤器,而第 1 层结果是边,那么如何从边获取表单?

我显然在这里遗漏了一些东西,请帮助我理解 conv 网络中的每个下一层如何产生更丰富的特征,如表格、眼睛、面部,以防它使用前一层的生产,其中特征只是线条和边缘?

在我丢失的过程中是否有一些信息合并或更多?

提前致谢

4

1 回答 1

2

简单示例:假设您尝试区分简单的几何形式。例如,由钻石制成的矩形。

在第一层,您有各种边缘检测器。有些在检测到水平边缘时触发,有些在检测到垂直边缘时触发,有些在看到对角边缘时触发。

第二层现在可以将这些输入组合成更复杂的形状。因此,如果在第一层检测到垂直和水平边缘,则会触发一个过滤器/检测器。这是矩形的过滤器。

当第一层告诉它检测到对角线边缘时,另一个过滤器将被触发。这是钻石的过滤器。

您可能会让自己熟悉卷积层的输入和输出维度。

Input = W1xW1xD1

Output:
W2 = (W1 - F + 2P)/S + 1
D2 = K

Terminology: K = Number of Filters, F= Spatial Size of Filter, P=ZeroPadding, S=Stride

您可能会发现这很有帮助:

https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/

http://cs231n.github.io/convolutional-networks/

于 2019-02-07T09:34:23.287 回答