卷积网络中的最佳过滤器数量

Optimal number of filters in a Convolutional network

我正在构建一个卷积网络图像分类目的,我的网络受到 VGG conv 网络的启发,但我改变了层数和每层的过滤器,因为我的图像数据集非常简单。

尽管如此,我想知道为什么 VGG 中的拟合器数量总是 2 的幂:64 -> 128 -> 256 -> 512 -> 4096

我猜这是因为每个池将输出大小除以 2 x 2,因此需要将过滤器的数量乘以 2。

但我仍然想知道这个选择背后的真正原因是什么;这是为了优化吗?分配计算更容易吗?我应该在我的网络中保留这个逻辑吗?

是的,主要是为了优化。如果网络要在 GPU 上 运行,GPU 中的线程会以组和块的形式出现,通常一个组有 32 个线程。

粗略地说,如果您有一个包含 40 个过滤器的图层,您将需要 2 个组 = 64 个线程。那么为什么不利用其余线程并制作可以并行计算的 64 个过滤器层。