一、工作原理
1. 正则化网络
dropout 将遍历网络的每一层,并设置消除神经网络中节点的概率。
-
1. 每个节点保留/消除的概率为0.5:
-
2. 消除节点:
-
3. 得到一个规模更小的神经网络:
2. dropout 技术
最常用:反向随机失活 "Inverted dropout"
以三层网络 (l=3) 为例:
keep-prob = 0.8 #保留某个隐藏单元的概率 #生成随机矩阵,每个单元对应值为1的概率是0.8,用于决定第三层哪些元素应该归零 d3 = np.random.rand(a3.shape[0], a3.shape[1]) < keep-prob #元素相乘,从第三层获取激活函数,过滤d3中所有等于0的元素 a3 = np.multiply(a3,d3) a3 /= keep-prob #dropout方法:修正,使得a3期望值不变
Inverted dropou