【深度学习】丢弃法(dropout)

丢弃法

      在小虾的这篇文章中介绍了权重衰减来应对过拟合问题(https://blog.csdn.net/qq_33432841/article/details/107879937),下面在介绍一种应对过拟合问题的方法丢弃法。因为丢弃法有许多不同的变体,下面提到的丢弃法特指倒置丢弃法

方法:

      在“多层感知机”(https://blog.csdn.net/qq_33432841/article/details/107858405)中,描述了一个单隐藏层的多层感知机,其中输入个数为4,隐藏单元个数为5,且隐藏单元ℎ(=1,…,5)的计算表达式为

                                                                     

这里是激活函数,1,…,4是输入,隐藏单元的权重参数为1,…,4,偏差参数为。

     当对该隐藏层使用丢弃法时,该层的隐藏单元将有一定概率被丢弃掉。设丢弃概率为, 那么有的概率会被清零,有1−的概率会除以1−做拉伸。丢弃概率是丢弃法的超参数。具体来说,设随机变量为0和1的概率分别为1−p。使用丢弃法时我们计算新的隐藏单元

                                                                                   

由于()=1−,因此

                                                                             

即丢弃法不改变其输入的期望值。

       那么让我们对“多层感知机”中图的隐藏层使用丢弃法,一种可能的结果如下图所示。

                                                          【深度学习】丢弃法(dropout)_第1张图片

       在图中ℎ2和ℎ5被清零,这时输出值的计算不再依赖ℎ2和ℎ5,在反向传播时,与这两个隐藏单元相关的权重的梯度均为0。由于在训练中隐藏层神经元的丢弃是随机的,即ℎ1,…,ℎ5都有可能被清零,输出层的计算无法过度依赖ℎ1,…,ℎ5中的任一个,从而在训练模型时起到正则化的作用,并可以用来应对过拟合。

      在测试模型时,为了得到更加确定性的结果,一般不使用丢弃法。

你可能感兴趣的:(深度学习,深度学习,丢弃法)