tf.layers.dropoutの使い方

2374 ワード

dropout:ニューラルネットワークのオーバーフィットを防止する手段.
ネットワーク内のニューロンの一部をランダムに取り除くことで,W重みへの依存性を低減し,オーバーフィットを低減する効果を達成した.
注意:dropoutはトレーニングでしか使えません.テスト時にdropoutはできません.完全なネットワークでテストしてください.
tf.layers.dropout(
    inputs,
    rate=0.5,
    noise_shape=None,
    seed=None,
    training=False,
    name=None
)

Arguments:

inputs : Tensor input. rate : The dropout rate, between 0 and 1. E.g. "rate=0.1"would drop out 10% of input units.
訓練中にどれだけのニューロンを取りたいかを比例して計算します.0はdropoutがなく、1はレイヤ全体がなくなった(報告が間違っている). noise_shape : 1D tensor of type  int32  representing the shape of the binary dropout mask that will be multiplied with the input. For instance, if your inputs have shape  (batch_size, timesteps, features) , and you want the dropout mask to be the same for all timesteps, you can use  noise_shape=[batch_size, 1, features] . seed : A Python integer. Used to create random seeds. See tf.set_random_seed  for behavior. training : Either a Python boolean, or a TensorFlow boolean scalar tensor (e.g. a placeholder). Whether to return the output in training mode (apply dropout) or in inference mode (return the input untouched). name : The name of the layer (string).