Tensorflowでつまづいた点のメモです。とりあえず状況が進展した対策を記載してある状態ですので、もっと良い方法をご存知の方は教えてください。
多層にするとバイアス以外学習が進まなくなる
原因1:モデルを0で初期化していると、学習できなくなるケースが存在する
下記のような1階層しかない状態では正常に学習できるのに、中間層を増やすと学習できなくなるケースが存在しました。
色々試してみた結果、どうやらモデル生成時に0で初期化していると学習が進まないことがあるようです。そのため、下記のようにrandomで生成するようにしました。
ソースコード全文はここに公開してあります。
loss関数(損失関数)がnanになってしまう
原因1:モデルの計算結果がnanになっている
こちらはちょうどよいサンプルコードが存在しないのですが、モデルの計算結果がnanになり、損失関数を計算できなくなるケースが存在するようです。モデルの最後に「tf.nn.relu」を追加したところ、nanを出すことはなくなりました。
0 件のコメント :
コメントを投稿