tf.layers.dropoutの使い方
2374 ワード
dropout:ニューラルネットワークのオーバーフィットを防止する手段.
ネットワーク内のニューロンの一部をランダムに取り除くことで,W重みへの依存性を低減し,オーバーフィットを低減する効果を達成した.
注意:dropoutはトレーニングでしか使えません.テスト時にdropoutはできません.完全なネットワークでテストしてください.
訓練中にどれだけのニューロンを取りたいかを比例して計算します.0はdropoutがなく、1はレイヤ全体がなくなった(報告が間違っている).
ネットワーク内のニューロンの一部をランダムに取り除くことで,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).