是否有任何经验法则可以了解神经网络对于给定问题需要具备的能力?

人工智能 神经网络 计算学习理论 正则化 vc-维度 容量
2021-11-16 22:55:14

举个例子。让我们只考虑手写数字的 MNIST 数据集。以下是一些可能会影响最佳模型容量的因素:

  • 有 10 个输出类
  • 输入是 28x28 灰度像素(我认为这会间接影响模型容量。例如:如果输入是 5x5 像素,那么改变 8 的外观就没有太大空间了)

那么,有没有办法知道模型容量应该是多少?即使不准确?即使是对“如果X上升,那么Y下降”的类型的定性理解?

只是为了强调我说“不准确”时的意思:我已经可以看出 100 个变量的模型无法解决 MNIST,所以至少我有一个下限。我也很确定 1,000,000,000 个变量模型远远超出了需要。当然,知道比这更小的范围会更有用!

3个回答

理论结果

与其提供经验法则(可能会产生误导,所以我不是他们的忠实拥护者),我将提供一些理论结果(第一个结果也在论文How many hidden layers and nodes?中报道),从中根据您的问题等,您可能能够得出您的经验法则。

结果 1

论文Learning capacity and storage capacity of two-hidden-layer feedforward networks证明了一个2-hidden layer feedforward network (F) 和

2(m+2)NN
隐藏的神经元可以学习任何N不同的样本D={(xi,ti)}i=1N有一个任意小的误差,其中m是所需的输出神经元数。相反,一个FQ隐藏的神经元至少可以存储Q24(m+2)任何不同的数据(xi,ti)具有任何所需的精度。

他们建议在第一层应该有足够数量的神经元(+2)ñ+2ñ+2在第二层应该是ñ+2. 因此,例如,如果您的数据集有大小ñ=10你有=2输出神经元,那么你应该有大约 10 个神经元的第一个隐藏层和大约 4 个神经元的第二层。(我实际上没有尝试过这个!)

然而,这些界限适用于拟合训练数据(即过度拟合),这通常不是目标,即您希望网络泛化到看不见的数据。

该结果与通用逼近定理严格相关,即具有单个隐藏层的网络理论上可以逼近任何连续函数。

模型选择、复杂性控制和正则化

还有模型选择复杂度控制的概念,还有多种考虑到模型复杂度的相关技术。论文模型复杂性控制和统计学习理论(2002 年)可能有用。同样重要的是要注意正则化技术可以被认为是控制模型的复杂性 [ 1 ]。

进一步阅读

您可能还想查看这些相关问题

(我会更新这个答案,因为我发现更多的理论结果或其他有用的信息)

这听起来可能违反直觉,但却是深度学习中模型容量的最大经验法则之一:

它应该过拟合

一旦你得到一个过度拟合的模型,就更容易尝试正则化、模块替换等。但总的来说,它为你提供了一个良好的起点。

就个人而言,当我开始设计机器学习模型时,我会考虑以下几点:

  • 我的数据:如果我有简单的图像,例如 MNIST 图像,或者分辨率非常低的一般图像,则不需要非常深的网络

  • 如果我的问题陈述需要从每张图像中学习很多特征,比如人脸,我可能需要通过它们的组合来学习眼睛、鼻子、嘴唇、表情,那么我需要一个带有卷积层的深度网络。

  • 如果我有时间序列数据,LSTM 或 GRU 是有意义的,但是,当我的数据具有高分辨率、低计数数据点时,我也会考虑循环设置。

但是,上限可能取决于您用于训练的计算设备上的可用资源。

希望这可以帮助。