2017-04-11 9 views

答えて

1

あなたの質問は私の意見はあなたが訓練損失が非常に低いことがわかりますように、ネットワークは、トレーニングデータセットにフィッティングの上にあるということです、少しあまりにも汎用的ですが、エポックの後に50検証の損失はもはや改善されていません。

私は紙を深く読んでいないので、どのように問題を解決したのか分かりませんが、正則化を増やすと役立つかもしれません。

ニューラルネットワークを訓練するために

概要::私は、テキストの要約をコピーの下に次のリンクは右方向http://cs231n.github.io/neural-networks-3/

であなたを指します

  • グラデーションチェックあなたデータの小規模なバッチで実装し、落とし穴に気づいてください。健全性チェックとして
  • 、あなたの最初の損失が合理的である、とあなたはトレーニングの間 データ
  • の非常に小さな部分に100%のトレーニング精度を達成できることを確認し、損失を監視し、訓練/検証精度、あなたが気に入っているなら、 のパラメータ値(〜1e-3であるべき)に関する更新の規模、およびConvNetsを扱うときには、第1層の重みである を更新します。
  • 使用する2つの推奨アップデートは、SGD + Nesterov MomentumまたはAdamです。
  • トレーニング期間中の学習率を低下させます。たとえば、一定のエポック数の後に学習率を半分にするか、妥当性検査の精度が上がるたびに になるようにします。
  • ランダム検索(グリッド検索ではありません)を使用して、優れたハイパーパラメータを検索します。余分なパフォーマンスを微、(狭いレンジャー、 より多くのエポックのための研修)
  • フォームモデルアンサンブルをお使いの粗いから検索(ワイドハイパー範囲、1-5エポックのための唯一の 訓練を)ステージ
1

私は、データの前処理の違いがパフォーマンスの違いをもたらすと主張します。彼は本質的に訓練サンプルの量を増やし、汎化誤差を減少させるパディングとランダム作物を使用しています。また、以前のポスターでは、減量などの正規化機能が欠けていると述べています。

用紙をもう一度見て、そのようにすべてを実装するようにしてください。

+0

正規化を使用する方がよい層はありますか? –

関連する問題