Dropout浅层理解学习笔记

版权声明: https://blog.csdn.net/Dorothy_Xue/article/details/79854737

Dropout在网络前向传递过程中,关闭一些神经元和它的连接。这么做是为了:
1. 为了防止过拟合;
2. 为了提高神经元的学习能力。

一、形象化理解:
每次做完Dropout,相当于从原始的网络中找到一个更“瘦” 的网络,如下图所示

对于一个有N个节点的神经网络,有了dropout后,就可以看做是2 n 个模型的集合了,但此时要训练的参数数目却是不变的,解决了费时的问题。
二、实现方法:

Dropout说的简单点就是我们在前向传递的过程中,让某个神经元的激活值,以概率p停止工作。
以前我们网络的计算公式是
采用Dropout后,计算公式为:

上面公式中Bernoulli函数,是为了以概率p,随机生成一个0、1的向量。
让某个神经元以概率p停止工作,其实就是让它的激活值以概率p变为0。比如我们某一层网络神经元的个数为1000个,其激活值为x1,x2...x1000,我们令dropout概率值为0.4,那么这一层神经元经过drop之后,x1...x1000神经元中约有400个的值被置为0。

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/79854737