根据我对CNN的理解,Flatten用于从2D到1D,以便您可以使用Dense图层执行分类。同样,根据我的理解,展平会导致滤镜尺寸乘以滤镜数量。
为什么在展平之后,第一密集层不必具有与展平结果相同的尺寸(这将是滤光片*滤光片的暗淡程度)? CNN中第一个密集层的节点少于或小于扁平化节点的CNN都可以使用,但我不知道为什么。不应该拼合为您提供密集层的输入吗?
答案 0 :(得分:1)
Flatten实际上确实将您的输出展平为一维。
但是,它送入的密集层可以是任何大小。密集层中神经元的数量不取决于它们接收的输入数量。这是传统神经网络(多层感知器)的功能,与事先的卷积操作或层无关。
网络中完全连接的部分(密集层所在)的设计没有确定的解决方案,但是可以遵循rules-of-thumb。