バックプロパゲーションを使用して、分類用のディープニューラルネットワークをトレーニングしようとしています。具体的には、Tensor Flowライブラリを使用して、画像分類に畳み込みニューラルネットワークを使用しています。トレーニング中に私は奇妙な行動を経験しており、これが典型的であるのか、それとも私が何か間違ったことをしているのかと思っています。
したがって、私の畳み込みニューラルネットワークには8つのレイヤーがあります(5つの畳み込み、3つが完全に接続されています)。すべての重みとバイアスは、小さな乱数で初期化されます。次に、ステップサイズを設定し、Tensor FlowのAdam Optimizerを使用して、ミニバッチでトレーニングを進めます。
私が話している奇妙な振る舞いは、私のトレーニングデータの最初の約10ループでは、トレーニング損失は一般に減少しないということです。ウェイトは更新されていますが、トレーニングロスはほぼ同じ値のままで、ミニバッチ間で上昇または下降する場合があります。しばらくこのままで、損失は減らないという印象を常に持っています。
その後、突然、トレーニングロスが劇的に減少します。たとえば、トレーニングデータの約10ループ内で、トレーニングの精度は約20%から約80%になります。それ以降、すべてがうまく収束します。トレーニングパイプラインを最初から実行するたびに同じことが起こります。以下は、実行例を示すグラフです。
だから、私が疑問に思っているのは、これがディープニューラルネットワークのトレーニングによる通常の動作であり、「キックイン」に時間がかかるかどうかです。それとも、この遅延を引き起こしている何か間違っていることがあるのでしょうか?
どうもありがとう!