4

回帰タスクにCNNを使用しています。私はTensorflowを使用し、オプティマイザはAdamです。ネットワークは、検証エラーとともに突然損失が増加する1つのポイントまで完全に細かく収束しているようです。ここで私は体重正則のためにもラベルのL2損失を使用 label loss weight lossTensorflowのAdam Optimizerで突然損失が発生する

ラベルの損失プロットと分離量(オプティマイザは、それらの合計値上で実行される)があります。トレーニングデータにランダム性を適用します。私は現在、動作が変化するかどうかを確認するためにRSMPropを試していますが、エラーを再現するには少なくとも8時間かかります。

これがどうなるか理解したいと思います。あなたが私を助けてくれることを願います。

+0

学習率を下げますか? –

+0

通常はアダムのために、トレーニング中に学習率を下げる必要はありません。学習率が高すぎると、ネットワークはより悪い損失値に収束するはずです。 RMSPropを実行した後、私はより低いインタルレートを試すことができますが、これは私が考えるようにこれ以上の時間がかかることを意味します... –

+0

待って、最初のプロットは何ですか?それは訓練損失の権利ですか?しかし、それはダウンしている?問題はどこにありますか?説明できますか?あなたが体重正統化(それは私がそれをどのように解釈するか)によって支配される統合損失について話しているなら、おそらく2つの損失コンポーネントの規模を設定しているいくつかのアルファで遊ぶかもしれません。 – sascha

答えて

4

私の過去数ヶ月の経験は、次のとおりです。 アダムは非常に使いやすいです。なぜなら、初心者の学習率が非常に高くなくてもほとんど効果があるからです。しかし、コンバージェンスに来るとき、Adamは実際には解決策に酔っているのではなく、より高い反復で動き回ります。 SGDはほぼ完全に形作られた損失プロットを示し、より高い反復でははるかによく収束しているようです。 しかし、セットアップのリットル部分を変更するには、SGDのパラメータを調整する必要があります。そうしないとNaNになりません...アーキテクチャや一般的なアプローチの実験では、Adamが好きです。しかし、 SGDを使用し、少なくともソリューションを比較してください。

私は、初期のSGD設定(学習率、減量など)がAdamを使用するのと同じくらい速く収束していることに気づきました。 これはあなたのお手伝いをしますように!

編集:私の最初の質問の効果はではないことに注意してください。アダムでさえも正常ではありません。私はバグがあったように見えますが、そこの問題は本当に覚えていません。

関連する問題