CNN 中局部层和密集层的区别

Difference between local and dense layers in CNNs

卷积神经网络中的 "Local" 层和 "Dense" 层有什么区别?我试图理解 TensorFlow 中的 CIFAR-10 代码,我看到它使用 "Local" 层而不是常规的密集层。 TF中有没有支持实现"Local"层的class?

我在问题下引用 user2576346 的评论:

As I understand, either it should be densely connected or be a convolutional layer ...

不,这不是真的。更准确地表达该陈述的方式是层完全连接(密集)或局部连接。

卷积层是局部连接层的一个例子。通常,局部连接层是其中每个单元仅连接到输入的局部部分的层。卷积层是一种特殊类型的局部层,它表现出空间平移不变性,因为每个卷积特征检测器在局部感受器 windows 中跨过整个图像,例如例如尺寸为 3x3 或 5x5。

引用自cuda-convnet

Locally-connected layer with unshared-weight: This kind of layer is just like a convolutional layer, but without any weight-sharing. That is to say, a different set of filters is applied at every (x, y) location in the input image. Aside from that, it behaves exactly as a convolutional layer.

在TensorFlow CIFAR-10的例子中,虽然这两个层被命名为local3local4,但它们实际上是fully-connected层,而不是指定的locally-connected层在 cuda-convnet 中(您可以看到 pool2 的输出被展平到 local3 层的输入中)。