14

mxnet を使用して 11 クラスの画像分類器をトレーニングしています。奇妙な動作のトレーニング精度がゆっくりと増加し、最大 39% になり、次のエポックでは 9% に低下し、残りのトレーニングでは 9% 近くにとどまることが観察されています。保存したモデル (39% のトレーニング精度) を使用してトレーニングを再開し、他のすべてのパラメーターを同じに保ちました。現在、トレーニングの精度は再び向上しています。ここでの理由は何ですか?理解できません。また、トレーニングの精度値を常に確認する必要があるため、この方法でモデルをトレーニングすることは難しくなっています。

学習率は0.01で一定

4

5 に答える 5

16

ご覧のとおり、後半の精度はランダムに近いものです。この種のケースには 2 つの一般的な問題があります。

  • あなたの学習率は高いです。下げてみてください
  • 使用しようとしているエラー (またはエントロピー) が NaN 値を与えています。ログ関数でエントロピーを使用しようとしている場合は、それらを正確に使用する必要があります。
于 2016-05-05T08:53:32.810 に答える
0

私は同じ問題に直面しました。そして、クロスエントロピー関数の代わりに (ya)^a 損失関数を使用して解決しました (log(0) のため)。この問題に対するより良い解決策があることを願っています。

于 2017-08-30T06:40:25.640 に答える
-2

おそらく 0log0 が NaN を返すために発生しました。

次の方法で回避できます。

cross_entropy = -tf.reduce_sum(labels*tf.log(tf.clip_by_value(logits,1e-10,1.0)))

于 2016-05-11T21:59:58.870 に答える