第一密集层的尺寸为何不必等于CNN中Flatten()的尺寸?

时间:2019-04-10 10:28:18

标签: neural-network conv-neural-network

根据我对CNN的理解,Flatten用于从2D到1D,以便您可以使用Dense图层执行分类。同样,根据我的理解,展平会导致滤镜尺寸乘以滤镜​​数量。

为什么在展平之后,第一密集层不必具有与展平结果相同的尺寸(这将是滤光片*滤光片的暗淡程度)? CNN中第一个密集层的节点少于或小于扁平化节点的CNN都可以使用,但我不知道为什么。不应该拼合为您提供密集层的输入吗?

1 个答案:

答案 0 :(得分:1)

Flatten实际上确实将您的输出展平为一维。

但是,它送入的密集层可以是任何大小。密集层中神经元的数量不取决于它们接收的输入数量。这是传统神经网络(多层感知器)的功能,与事先的卷积操作或层无关。

网络中完全连接的部分(密集层所在)的设计没有确定的解决方案,但是可以遵循rules-of-thumb