优化神经元和神经层大小以提高准确性和效率

Optimum neuron and neural layer size for accuracy and efficiency

我正在研究深度神经网络,想知道以下问题:

通常最佳精度的最佳层数和每层神经元数是多少?

如图所示:

最佳数量是否等于特征大小,以便考虑到每个特征对彼此特征集的影响?

此外,如果我们正在寻找 最佳准确性和效率,答案会有所不同吗?

谢谢,如有任何见解,我们将不胜感激!

编辑:

这些答案内容丰富。我仍然觉得他们没有专门解决我问题的第一部分。澄清一下:是否有最大数量的神经元和层在应用时对数据具有相同的粒度,因此添加更多的神经元或层将是多余的?我假设 3 个特征数据集的无限层在某些时候会变得不必要。再次感谢所有阅读和回复!

您的问题没有通用的答案。这些数量被称为超参数,它们的选择是一个悬而未决的问题,也是机器学习艺术的重要组成部分。 Here 是关于 Quora 上的话题的讨论。

有关神经网络及其内部工作原理的详细介绍,请参阅 improving the way neural networks learn

为了获得选择此类超参数和构建网络架构的直觉,明智的做法是研究已知的成功模型:

LeNet : 卷积网络的第一个成功应用是由 Yann LeCun 在 1990 年代开发的。其中,最著名的是用于读取邮政编码、数字等的 LeNet 架构。

AlexNet : 第一个在计算机视觉中推广卷积网络的工作

GoogleNet : ILSVRC 2014 冠军

研究它们是如何针对正在解决的问题的细节设计的。

来自 Is there any method for choosing the number of layers and neurons?:

没有直接的方法可以找到它们的最佳数量:人们凭经验尝试看看(例如,使用 cross-validation)。最常见的搜索技术是随机搜索、手动搜索和网格搜索。

存在更高级的技术,例如

1) 高斯过程。示例:

2) Neuro-evolution。示例:

也相关:To design a Multilayer Perceptron, should I use more units per layer and less layers or more layers and less units, which is better?

没有通用的答案question.But通过改变这些参数就能达到最优解。

  • 输入数据的格式,
  • 层数和大小,
  • 空间池化量,
  • 过滤维度,
  • 学习超参数(学习率、动量、batch size、dropout 概率,应用的正则化量)