dropout的实现方法

dropout详解

dropout的实现方法

算法实现概述:

1、其实Dropout很容易实现,源码只需要几句话就可以搞定了,让某个神经元以概率p,停止工作,其实就是让它的激活值以概率p变为0。比如我们某一层网络神经元的个数为1000个,其激活值为x1,x2……x1000,我们dropout比率选择0.4,那么这一层神经元经过drop后,x1……x1000神经元其中会有大约400个的值被置为0。

2、经过上面屏蔽掉某些神经元,使其激活值为0以后,我们还需要对余下的非0的向量x1……x1000进行rescale(扩大倍数),也就是乘以1/(p)。如果你在训练的时候,经过置0后,没有对x1……x1000进行rescale,那么你在测试的时候,就需要对权重进行rescale:

在训练时,每个神经单元都可能以概率 p 去除;
在测试阶段,每个神经单元都是存在的,权重参数w要乘以p,成为:pw。
 

 

你可能感兴趣的:(NLP)