神经网络是如何克服偏差/方差困境的



深度学习被视为神经网络的品牌重塑。

Stuart Geman在《神经网络与偏差/方差困境》一文中提出的问题在当今使用的架构中得到了解决吗?

我们学到了很多关于NN的知识,特别是:

  • 由于无监督/自回归学习的进步,我们现在可以更好地学习表示,例如限制boltzman机器、自动编码器、去噪自动编码器、变分自动编码器,它们有助于稳定过程,从合理的表示中学习
  • 我们有更好的先验-在严格的概率意义上不是必要的,但我们知道,例如,在图像处理中,一个好的架构是卷积架构,因此我们有一个较小的(就参数而言),但更适合问题模型。因此,我们不太容易过度拟合
  • 我们有更好的优化技术和激活函数,这有助于我们克服不足(我们可以学习更大的网络),特别是我们可以学习更深层次的网络。为什么深往往比宽好?因为这又是另一个先验,即表示应该是分层的假设,对于许多现代问题来说,这似乎是有效的先验(即使不是所有问题)
  • 丢弃和其他技术带来了更好的正则化方法(比以前已知的和使用简单的权重先验)-这再次限制了过拟合(方差)的问题

还有更多的事情发生了变化,但总的来说,我们只是能够找到更好的架构,更好的假设,因此我们现在搜索更窄的假设类别。因此,我们过度填充(方差)较少,不足填充(偏差)较少,但仍有很多工作要做!

正如@david所指出的,接下来就是数据量。我们现在有庞大的数据集,我们经常可以访问更多的数据,这些数据可以在合理的时间内处理,显然,更多的数据意味着更少的方差——即使是高度过拟合的模型也开始表现良好。

最后,但并非最不重要的是硬件。这是每一位深度学习专家都会告诉你的事情——我们的计算机变得更强大了。我们仍然使用相同的算法,相同的架构(有很多小的调整,但核心是相同的),但我们的硬件速度是指数级的,这会发生很大的变化。

@lejlot给出了一个很好的概述。我想指出整个过程的两个具体部分。

首先,神经网络是通用逼近器。这意味着,原则上他们的偏差可以任意地小。人们认为比较严重的问题是过度拟合——方差太大。

现在,机器学习中处理过大方差的一种常见且成功的方法是对许多不同的预测进行"平均"——这些预测应该尽可能不相关。例如,这在随机森林中起到了作用,通过这种方式,我也倾向于理解当前的神经网络(特别是maxout+dropout的东西)。当然,这是一个狭隘的观点——还有整个表征学习的东西,不解释的性质,等等——但我认为这适合你关于偏差/方差权衡的问题。

第二点:没有比拥有大量数据更好的方法来防止过度拟合了。目前我们正在收集大量数据。

最新更新