ディープニューラルネットワークのトレーニング時の勾配クリッピング


10

RNNまたはCNNをトレーニングするときに、いつ勾配クリッピングを実行したいですか?私は特に後者に興味があります。クリッピングの良い開始値は何でしょうか?(もちろん調整可能です)

回答:


4

グラデーションの消失またはグラデーションの爆発の問題が発生している場合は、グラデーションクリッピングを実行することをお勧めします。ただし、どちらのシナリオでも、より良い解決策があります。

  • グラデーションの爆発は、グラデーションが大きくなりすぎて数値のオーバーフローが発生したときに発生します。これは、ネットワークの重みをより小さい値に初期化することで簡単に修正できます。これが機能しない場合は、コードにバグがある可能性があります。

  • 勾配の消失は、最適化が鞍点で動かなくなると発生し、勾配が小さすぎて最適化を進めることができません。これは、運動量またはRMSプロップまたはその両方を使用した勾配降下法(Adamオプティマイザーとも呼ばれます)を使用して修正できます。

グラディエントクリッピングの上限の開始値は、変数が取り得る最大数よりも小さい値になります。下限については、それは問題固有のものだと思いますが、おそらく1e-10のようなものから始めます。


1
この回答のコンテキストがRNNを除外することになっているのかどうかはわかりませんが、そうでない場合、提案された両方のソリューションは、特にRNNの場合、勾配クリッピングよりも優れていません
Alex R.17年

申し訳ありませんが、CNNのコンテキストでもっと考えていました。自由に編集してください
ミゲル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.