dropout(随机失活): 是为了解决深度神经网络的过拟合(overfitting)和梯度消失(gradient vanishing)而被提出的优化方法。
dropout是通过遍历神经网络每一层的节点,然后通过对该层的神经网络设置一个keep_prob(节点保留概率),即该层的节点有keep_prob的概率被保留,keep_prob的取值范围在0到1之间。通过设置神经网络该层节点的保留概率,使得神经网络不会去偏向于某一个节点(因为该节点有可能被删除),从而使得每一个节点的权重不会过大。
简单来说:随机失活就是让神经元以超参数keep_prob的概率被激活或者被设置为0。
dropout(
x,
keep_prob,
noise_shape=None,
seed=None,
name=None
)
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
x | 是 | tensor | 输出元素是 x 中的元素以 keep_prob 概率除以 keep_prob,否则为 0 |
keep_prob | 是 | scalar Tensor | dropout 的概率,一般是占位符 |
noise_shape | 否 | tensor | 默认情况下,每个元素是否 dropout 是相互独立。如果指定 noise_shape,若 noise_shape[i] == shape(x)[i],该维度的元素是否 dropout 是相互独立,若 noise_shape[i] != s |