Dropout浅见

神经网络中Dropout的理解

1、神经网络dropout的使用情况

在神经网络的训练过程中,对于神经网络单元,按照一定的概率将一部分的训练数据暂时性的抛弃,对于随机梯度下降来说,由于随机丢弃部分数据,因此,每一个mini-batch都在训练不同的神经网络。  

2、dropout的作用

       作用:在卷积神经网络(CNN)可以有效的防止过拟合,提高学习效率。使用方法过程,常见的做法在过完一个神经网络模型(LSTM/RNN/CNN)之后,然后经过一层dropout,有时候也会在经过一个词向量模型(nn.Embedding)之后,也会用一个dropout.

3、那么dropout是怎么起作用的的呢?

首先我们要明白大型的神经网络结构,大型的神经网络缺点很明显,第一就是耗时,是由于网络的层数以及数据导致用时比较长。 第二就是容易过拟合,所有机器学习方法都会遇到过拟合的问题,基于神经网络的深度学习方法同样不例外。

附注:解决过拟合的方法请参考:过拟合解决方法,知乎讨论的方法

接着讨论dropout防止过拟合:参考了一下这位仁兄的方法:dropout工作原理

Dropout浅见_第1张图片

每次经过model训练之后,经过一次dropout,都会把原始的神经网络进行一个简化(这里图样是一个全连接的神经网络)。因此,我们对于一个有N个节点的神经网络,有了dropout后,就可以看做是2n个模型的集合了,但此时要训练的参数数目却是不变的,这就解决了费时的问题。(上述链接博主原话,勿喷)。

4、小结

dropout能提高神经元和其他随机挑选出来的神经元共同工作的能力,消除了神经元节点的联合适应性,增强了泛化能力。





你可能感兴趣的:(自然语言处理)