优化和泛化之间的联系

数据挖掘 机器学习 神经网络 深度学习 优化 概括
2021-09-28 05:04:36

梯度下降或粒子群等优化算法可以找到函数中的最小值。

另一方面,反向传播等学习方法将学习定义为优化问题,并用于学习深度神经网络中的权重等。

我们知道 DL 模型基本上可以学习/记忆训练数据 [2] 中的任何内容,甚至是随机噪声,这给我们带来了如何实现泛化的问题(如 [5] 中所定义)*

在 [7, 1, 3] 中,作者试图展示泛化与损失情况(锐化最小值/平坦最小值)之间的联系,以及它对批量大小的影响。

[4] 中研究的训练数据对泛化的影响表明,受更多数据点影响的模型比依赖/影响较少数据点的模型具有更好的泛化能力。

另一方面,[6] 从神经科学的角度阐明了模型参数在神经元泛化效应方面的作用(泛化更好的网络更难因神经元删除而中断。)。

尽管所有这些论文都在一定程度上研究了泛化,但学习算法中使用的优化对泛化的影响尚不清楚。

有没有这方面的研究?这方面可能的相关工作是什么?或者你有这个问题的答案吗?

*:让我指出,尽管许多人认为显式正则化对于泛化至关重要,但 [2] 已经解释了显式正则化(l1/l2/dropout)在泛化中没有发挥重要作用。许多被称为泛化器的技巧被证明是一个神话。他们还表明,有趣的是,SGD 可以作为隐式正则化器,这可能与优化算法的效果有关。到泛化。

[1]:李浩,等。“可视化神经网络的损失情况。” arXiv 预印本 arXiv:1712.09913 (2017)。

[2]:张志远,等。“理解深度学习需要重新思考泛化。” arXiv 预印本 arXiv:1611.03530 (2016)。

[3]:Keskar、Nitish Shirish 等人。“关于深度学习的大批量训练:泛化差距和尖锐的最小值。” arXiv 预印本 arXiv:1609.04836 (2016)。

[4]:Koh、Pang Wei 和 Percy Liang。“通过影响函数理解黑盒预测。” arXiv 预印本 arXiv:1703.04730 (2017)。

[5]:川口、健二、Leslie Pack Kaelbling 和 Yoshua Bengio。“深度学习中的泛化”。arXiv 预印本 arXiv:1710.05468 (2017)。

[6]:Ari S. Morcos、David GT Barrett、Neil C. Rabinowitz、Matthew Botvinick,“论单一方向对于泛化的重要性。” arXiv 预印本 arXiv:1803.06959 (2018)。https://deepmind.com/blog/understanding-deep-learning-through-neuron-deletion/

[7]:丁、洛朗等人。“尖锐的最小值可以推广到深度网络。” arXiv 预印本 arXiv:1703.04933 (2017)。

1个回答

优化算法的哪一部分。(Grad. Descent)在学习算法的泛化中起什么作用?

实际上,为了概括,您必须找到一个不会过度拟合训练数据的模型。为此,有许多方法,例如 L1/L2 正则化,它向成本函数添加噪声,并以某种方式使用权重来禁止网络具有可能导致过度拟合的大权重。看看这里. 其他技术是 drop-out,它为激活添加噪声以帮助网络不依赖于特殊节点。这些技术向网络的不同部分添加了一些噪声,从而导致具有高误差值的成本函数。在找到错误返回道具技术后,尝试设置参数/权重以降低成本函数。这些技术有助于算法不会过度拟合,这意味着构建的模型将能够泛化,尽管您必须使用交叉验证数据和测试数据对其进行测试。最后,优化技术本身总是试图减少错误的数量,并且它们总是会导致过度拟合,因为它们试图降低成本,这是正则化技术和其他变体,必须用于构建成本函数,其最佳点不导致过拟合。链接也可以帮助你。

还是数据[4]的影响起了更重要的作用?尽管 [6] 从神经科学的角度阐明了模型参数在神经元泛化效应方面的作用,但如何学习此类模型的问题仍未解决。

数据是学习过程中最重要的部分。您的数据必须具有足够的代表性。深度学习问题被认为是如果他们的训练数据增加可能会有更好的结果的问题。如果模型应该能够泛化,那么使用来自真实分布的数据至关重要。这只是为了训练。您可以使用一些技术来避免过度拟合使用您的训练数据集的数据。通常会在输入中添加小噪声以使模型很好地泛化。通过平移、旋转甚至扭曲图像输入来转换数据是向输入添加噪声以避免过度拟合的示例。尽管更改数据是危险的,因为它可能会改变真实人口的分布。所以,

那么,考虑到上述不同因素,我们如何才能真正更好地理解泛化呢?

泛化技术用于使网络很好地泛化。惯用的方法是:

  • 辍学
  • L1/L2 正则化
  • 提前停止
  • 添加噪声和数据增强

应该考虑的是,在输入中添加噪声应该不会改变分布。信噪比也不应该小,因为信息可能会完全丢失。根据您的问题,它们每个都可以很好地工作,但我想没有共识哪个是最好的,但在深度学习中,第一个非常有用。

优化和泛化(如 [5] 中定义)之间有什么联系?

我所说的都是基于我的经验。优化本身总是会导致过度拟合。您必须使用泛化技术来避免这种情况。为了帮助您解决问题,假设深度学习算法能够学习所有功能。如果你向他们提供相对较少的数据,他们会记住一个假设,而他们不会学习这个问题。