Neural network 为什么神经网络的隐藏层通常包含64128256个神经元?

Neural network 为什么神经网络的隐藏层通常包含64128256个神经元?,neural-network,Neural Network,当我在网上寻找经典的神经网络架构时,我发现神经网络的隐藏层通常包含32、64、128、256。。。神经元 这是有原因的吗?通常,隐藏神经元的数量要么通过实验挑选,要么作为模型选择算法的一部分进行某种网格搜索。你给出的数字都是二的幂,我从来没有见过任何研究表明二的幂比另一个数字更有效地作为一个隐藏的神经元计数。我认为这只是一个程序员选择方便对齐的内存块的问题,如果您刚好到达页面边界,这可能会提高一些处理能力 您经常看到C/Java/C#代码中有这样的代码 字符缓冲区[1024] 除了内存对齐之外,

当我在网上寻找经典的神经网络架构时,我发现神经网络的隐藏层通常包含32、64、128、256。。。神经元


这是有原因的吗?

通常,隐藏神经元的数量要么通过实验挑选,要么作为模型选择算法的一部分进行某种网格搜索。你给出的数字都是二的幂,我从来没有见过任何研究表明二的幂比另一个数字更有效地作为一个隐藏的神经元计数。我认为这只是一个程序员选择方便对齐的内存块的问题,如果您刚好到达页面边界,这可能会提高一些处理能力

您经常看到C/Java/C#代码中有这样的代码


字符缓冲区[1024]

除了内存对齐之外,还有一种基于硬件的推理方法可供选择。矩阵乘法是深入学习计算的基础。现代CPU通过AVX等扩展支持SIMD操作,AVX以2的幂处理批量大小的数字