在神经网络中将批量大小或神经元数量作为 2 的幂的原因是什么?

Asu*_*nda 3 machine-learning neural-network deep-learning keras tensorflow

我已经看到很多教程这样做,我自己也一直坚持这个标准做法。

当谈到训练数据的批量大小时,我们以几何级数分配任何值,从 2 开始,如 2,4,8,16,32,64。

即使在选择隐藏层中的神经元数量时,我们也以相同的方式分配。其中任何一个 - 2,4,8,16,32,64,128,256,512,...

这背后的核心原因是什么?为什么神经网络在这样做时表现更好?

Ash*_*Ash 6

如果您使用 NVIDIA GPU(深度学习最流行的选择),则卷积和全连接层的通道大小选择主要与启用 Tensor 内核有关,顾名思义,这些内核用于高效的 Tensor 和矩阵运算(因此对于卷积)。引用NVIDIA 深度学习性能指南

选择可被 8 整除的输入和输出通道数以启用 Tensor Cores

给出了关于批量大小的类似指南,但其原因是量化。

  • 那么这意味着其他能被 8 整除的数字也有效吗?不一定是 2 的幂。所以 24、40、48 等也有效? (2认同)