什么是“辍学”技术?

人工智能 深度神经网络 过拟合 表现
2021-11-05 21:22:54

“dropout”方法的作用是什么,它如何提高神经网络的整体性能?

4个回答

Dropout 意味着每个单独的数据点仅用于拟合神经元的随机子集。这样做是为了使神经网络更像一个集成模型。

也就是说,就像随机森林将许多单独决策树的结果平均在一起一样,您可以看到使用 dropout 训练的神经网络将许多单独神经网络的结果平均在一起(“结果”被理解为每一层的激活,而不仅仅是输出层)。

最初提出神经网络 dropout的论文1的标题是: Dropout: A simple way to prevent neural networks from overfitting这个标题几乎用一句话解释了 Dropout 的作用。Dropout 通过在训练阶段随机选择和移除神经网络中的神经元来工作。请注意,在测试期间不应用 dropout,并且生成的网络不会作为预测的一部分而 dropout。

这种神经元的随机移除/丢失防止了神经元的过度协同适应,从而降低了网络过度拟合的可能性。

训练过程中神经元的随机移除也意味着在任何时间点,只有原始网络的一部分被训练。这会导致您最终训练多个子网络,例如:

作为合奏者下降

正是来自子网络的这种重复训练,而不是整个网络,其中神经网络 dropout 的概念是一种集成技术。即子网络的训练类似于训练许多相对较弱的算法/模型并将它们组合成一种比单个部分更强大的算法。

参考:

1 : Srivastava, Nitish 等人。“Dropout:一种防止神经网络过拟合的简单方法。” 机器学习研究杂志 15.1(2014):1929-1958。

这里有一些很好的答案。我可以对 dropout 给出的最简单的解释是,它在训练时从网络中随机排除了一些神经元及其连接,以阻止神经元过度“共同适应”。它具有使每个神经元更普遍应用的效果,并且非常适合阻止大型神经网络的过度拟合。

我将尝试使用 Geoffrey Hinton 在辍学论文和他的 Coursera 课程中的想法来回答您的问题。

“辍学”方法的目的是什么?

具有大量参数的深度神经网络是非常强大的机器学习系统。然而,过度拟合在此类网络中是一个严重的问题。大型网络使用起来也很慢,因此很难通过在测试时结合许多不同大型神经网络的预测来处理过度拟合。Dropout是解决这个问题的一种技术。

因此,dropout 是一种解决过拟合问题的正则化技术。

它如何提高整体性能?如果“性能”是指“泛化”,那么正如我所说,它可以通过避免过度拟合来提高泛化能力。