tf.nn.dropout(x, keep_prob, noise_shape = None, seed = None, name = None)
解释:一个神经元将以概率keep_prob决定是否被激活,如果不被激活,那么该神经元的输出将是0,如果该神经元被激活,那么该神经元的输出值将被放大到原来的1/keep_prob倍。
这里的放大操作是为了保持神经元输出总和不变。默认情况下,每个神经元是否被激活是相互独立的。
但是,如果noise_shape被修改了,比如 shape(x) = [k, l, m, n], noise_shape = [k, 1, 1, n] ,那么每个批和通道都是相互独立的,但是每行和每列的数据都是关联的,即要不都为0,要不都还是原来的值。