私は深層学習が初めてで、RNN (2 つの GRU レイヤーを使用) を実装しようとしています。最初は、ネットワークは非常にうまく機能しているように見えます。ただし、現在、損失と精度の曲線を理解しようとしています。以下の写真を添付しました。濃い青色の線はトレーニング セットで、シアンの線は検証セットです。50 エポックの後、検証の損失が増加します。私の推測では、これはオーバーフィッティングを示しています。ただし、検証平均絶対誤差が依然として減少する理由はわかりません。アイデアはありますか?
私が念頭に置いていた 1 つの考えは、これは私のデータセット内のいくつかの大きな外れ値によって引き起こされる可能性があるということでした. したがって、私はすでにそれをきれいにしようとしました。また、適切にスケーリングしようとしました。また、さらに正則化するためにいくつかのドロップアウト レイヤーを追加しました (レート = 0.2)。ただし、cudnn は tensorflow からの recurrent_dropout をサポートしていないように見えるため、これらは単なる通常のドロップアウト レイヤーです。
備考: 負の対数尤度を損失関数として使用し、テンソルフロー確率分布を出力密層として使用しています。
何を調査すべきかヒントはありますか?前もって感謝します
編集:コメントで推奨されている非確率プロットも添付しました。ここでは、平均絶対誤差が正常に動作しているようです (常に改善されるわけではありません)。