Truncated Normal Distribution とNeural Network(ニューラルネットワーク)の初期化(Initialization)

Truncated Normal Distribution とNeural Network(ニューラルネットワーク)の初期化(Initialization)

Tensorflowを利用してもらった初めてに、どうしてもニューラルネットワークの初期化を迷っていることが避けない。
実はルールがあります、そしてやり方は簡単し、ご注意のところが薄がって、なんの困りがありませんはずだ。

まずコードの欠片を見せてください!

import tensorflow as tf def get_conv_weights ( w , h , chn_in , chn_out ): dim = [ w , h , chn_in , chn_out ] init_op = tf . truncated_normal ( dim , mean = 0.0 , stddev = 0.1 ) return tf . get_variable ( name = 'weights' , initializer = init_op ) def get_fc_weights ( chn_in , chn_out ): dim = [ chn_in , chn_out ] init_op = tf . truncated_normal ( dim , mean = 0.0 , stddev = 0.1 ) return tf . get_variable ( name = 'weights' , initializer = init_op )

ここに書いてあるものはパラメーターの初期化です。stddevはその一番重要なセットだ。普通には0.1ー0.2に限定している。この範囲以外のセットはダメだ。
なぜダメだろうか、実際に運転すればすぐ分かるぞ。
とくにsoftmax-cross-entrophy lossとのお使い場合には立派な程度で役に立つ。

你可能感兴趣的:(Truncated Normal Distribution とNeural Network(ニューラルネットワーク)の初期化(Initialization))