ディープラーニングで学習時に起きた問題(出力が全部同じ)

python の tensorflow でクラス分類をさせようと思ってトレーニングをさせていて、出力(出力値はクラスを表すベクトル)を見ているとおかしなことに気がついた。

何故かバッチ全体の出力がバッチの先頭の出力ベクトルとほぼ同じ値になってしまうのである。

具体的に、

クラス数5のNNの場合、

ミニバッチ入力の先頭データのクラスが1と判断されたら、バッチ内のほとんどの出力はそれによってしまう。

解決策として、バッチサイズを上げることで解決したこともあったが、時と場合に依るようだ。

現在使っている時系列データの場合、あまりその効果が得られないので、現状お手上げ状態。

どなたか詳しい理由をご教授願います。涙

コメント

タイトルとURLをコピーしました