美文网首页
Dropout理解

Dropout理解

作者: Max_7 | 来源:发表于2018-11-30 15:01 被阅读0次

    概述

    Dropout,是指在神经网络中,随机失活部分隐层的神经元。是深度学习中一种针对过拟合的解决方法。

    流程

    1 对于隐层神经元,先随机使一部分神经元失活(临时删除)。如果图所示 dropout

    2 通过子网络(临时删除隐层神经元后的网络)进行前向传播,再通过BP算法来更新没有被删除的隐层神经元的参数。
    3 将第一步中临时删除的神经元恢复,再一次重复1,2两个步骤。

    解决过拟合

    在网上查找了一下,并没有发现一个非常系统的数学证明来证明dropout可以解决过拟合,但是有直观的解释。
    1 对于每一次的drop,都可以看成是一个独立的神经网络。 多次dropout可以看成是训练了若干个神经网络。那么对于整个数据集而言,经过dropout后,隐层神经元的参数可以看成是多个不同神经网络的平均值。通过取平均值可以消除个别模型中的过拟合的部分。
    这个过程其实和机器学习中的bagging思路比较类似,每一个batch对应着不同取样的数据,然后训练处对应的模型,最后将所有模型结合取平均。
    2 dropout可以降低不同神经元之间的依赖关系。促使模型去学习更具有泛化性的特征。因为每次dropout保留的神经元不同,可能某些具有特例性的特征神经元没有被保留,这时模型会继续学习其他特征来提高模型的准确度。不同神经元之间的依赖程度降低,也间接说明整个模型的复杂程度降低了。从而起到了减少过拟合的作用。

    相关文章

      网友评论

          本文标题:Dropout理解

          本文链接:https://www.haomeiwen.com/subject/ahdhcqtx.html