前言
Dropout是一种常用的正则化方法,可以缓解网络的过拟合问。题在Train网络的时候经常会遇到过拟合现象,而Dropout 操作是最常见的解决过拟合的方式。Dropout 操作也是面试提问中经常会问到的,这里我们将讲述下Dropout 为什么可以缓解过拟合问题。
如下图所示为Dropout操作是指在网络的训练阶段的示意图,从图中我们可以得到如下信息:每次迭代时会从基础网络中随机 丢弃一定比例的神经元,然后在修改后的网络上进行数据的前向传播和 误差的反向传播
分析
从上述的Dropout操作图中可以看出该方法可以能够减少神经元之间复杂的共适应关系。由于Dropout每次丢弃的神经元是随机选择的,所以每次保留下来的网络会包含着不同的神经元,这样在训练过程中,网络权值的更新不会依赖于隐节点之间的固定关系。换句话说就是,网络中每个神经元不会对另一 个特定神经元的激活非常敏感,这使得网络能够学习到一些更加泛化的特征
Dropout可以看作是集成了大量神经网络的Bagging方法(示意图如下所示:)。 Bagging是指用相同的数据训练几个不同的模型,通过投票或平均这些模型得到最终的预测结果。在训练阶段,Dropout通过在每次迭代中随机丢弃一些神经元来改变网络结构,以达到训练不同结构神经网络的目的;在测试阶段,Dropout将使用所有的神经元,这相当于之前训练的不同结构的网络都参与了最终结果的投票,从而获得更好的结果。Dropout提供了一种强大、快速、容易实现的近似Bagging方法。需要注意的是,在原来的Bagging中,所有的模型都是相互独立的,Dropout是不同的。在这里,不同的网络实际上共享参数。
结束
以上的分析是两种思路回答了Dropout 为什么可以缓解过拟合问题,希望可以帮助大家在项目中对该操作的理解或在面试过程中回答面试官的提问回答。

