当在网上寻找经典的神经网络架构时,我发现很多时候神经网络的隐藏层包含32,64,128,256 ......神经元。
这是否有原因?
答案 0 :(得分:1)
通常,隐藏神经元的数量可以通过实验选择,也可以作为进行某种网格搜索的模型选择算法的一部分。你给出的数字都是2的幂,我从未见过任何研究表明2的幂比其他数字更有效作为隐藏的神经元计数。我认为这只是一个程序员选择方便对齐的内存块的问题,如果你恰到好处地触及页面边界,可能会提供一些小的处理能力。
你多久见过这样的C / Java / C#代码。
char buffer [1024];
答案 1 :(得分:0)
除内存对齐方式外,还可以使用基于硬件的推理。矩阵乘法是深度学习计算的heart。现代CPU通过诸如AVX之类的扩展来支持SIMD操作,该扩展以批处理大小处理数字,即2的幂。