2017-03-18 13 views
2

hereというKerasのcifar10の例を使って遊んでいます。モデルを再作成しました(つまり、同じファイルではありませんが、他のすべてはほぼ同じです)。hereを見つけることができます。Keras cifar10の例検証とテストの損失がトレーニングの損失よりも低い

モデルは同じで、50,000イメージトレーニングセットで0.2個の検証分割を使って30エポックのモデルを訓練します。私は私が得た結果を理解することができません。 、私のプロットを見ると

     Loss  Accuracy 
    Training   1.345   0.572 
Validation   1.184   0.596 
     Test   1.19   0.596 

Model Training and Validation loss and accuracy

:私の検証とテストの損失が少ないトレーニング(逆に、トレーニングの精度検証とテストの精度に比べて低くなっている)よりも小さいですなぜトレーニングのエラーが再びひどく増え始めるのか分からない。私は訓練するエポックの数を減らす必要がありますか、あるいは早期停止を実装する必要がありますか?異なるモデルアーキテクチャが役立つでしょうか?もしそうなら、良い提案は何でしょうか?

ありがとうございました。

答えて

2

これはまれな現象ですが、時々起こります。このようなケースかもしれないいくつかの理由があります:

  • 小さいデータセットが小さい固有の分散はそう、これはあなたのモデルが正しくデータの内のパターンをキャプチャし、列車がエラーが大きいことを意味していいうだけの理由で、内側の分散トレーニングセットは、検証セットより大きい。
  • 簡単な事故 - これも起こる可能性があります。スプリットはそのような動作に適しています。
+0

ありがとうございました。 (1)CIFAR10は小さなデータセットと見なされますか?プロットから、私は7エポック前後で良いパフォーマンスが得られるようですが、私に不平を感じるのは、トレーニングエラーが増え続けるということです。 (2)これを何度も実行して、同様の結果を得ました。私は不幸ではないと思います。 – shaun

関連する問題