神经网络非常擅长学习功能。我们通过通用逼近定理知道,理论上,它们可以采用几乎任何函数的形式——实际上,它们似乎特别适合学习正确的参数。然而,我们在训练神经网络时经常不得不解决的问题是过度拟合——复制训练数据而不是推广到验证集。过度拟合的解决方案通常是简单地添加更多数据,合理化是在某一点上,神经网络几乎别无选择,只能学习正确的函数。
但这对我来说从来没有多大意义。没有理由,就损失而言,神经网络应该更喜欢一个泛化好的函数(即你正在寻找的函数)而不是一个在训练数据上表现得非常好的并且在其他任何地方都失败的函数。事实上,过拟合通常有损失优势。同样,有无数个函数可以拟合训练数据,但除此之外都没有成功。
那么为什么神经网络几乎总是(尤其是对于更简单的数据)偶然发现我们想要的函数,而不是无限的其他选项之一?为什么神经网络在没有激励的情况下擅长泛化?