Truncated Normal Distribution とNeural Network(ニューラルネットワーク)の初期化(Initialization)
Tensorflowを利用してもらった初めてに、どうしてもニューラルネットワークの初期化を迷っていることが避けない。
実はルールがあります、そしてやり方は簡単し、ご注意のところが薄がって、なんの困りがありませんはずだ。
まずコードの欠片を見せてください!
インポート
tensorflow としてTF DEF get_conv_weights (W 、H 、chn_in 、chn_out ):DIM = [ W 、H 、chn_in 、chn_out ] init_op = TF 。truncated_normal (DIM 、平均値= 0.0 、STDDEV = 0.1 )戻りTF 。get_variable (名前= '重み' 、初期化子
=
init_op
)
DEF get_fc_weights (chn_in 、chn_out ):DIM = [ chn_in 、chn_out ] init_op = TF 。truncated_normal (DIM 、平均値= 0.0 、STDDEV = 0.1 )戻りTF 。get_variable (名前= '重み' 、初期化子= init_op )
ここに書いてあるものはパラメーターの初期化です。stddevはその一番重要なセットだ。普通には0.1ー0.2に限定している。この範囲以外のセットはダメだ。
なぜダメだろうか、実際に運転すればすぐ分かるぞ。
とくにsoftmax-cross-entrophy lossとのお使い場合には立派な程度で役に立つ。