Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Adam Optimizerを使用してRNN-Gansで使用される典型的な損失関数は何ですか


Adam Optimizerを使用してRNN-Gansで使用される典型的な損失関数は何ですか


再発性ニューラルネットワークベースの生成敵ネットワーク(RNN-GANS)は、RNNの時間モデリング能力とGANSの敵対的な訓練原則を組み合わせています。 RNN-gansで使用される損失関数は、通常、このフレームワーク内の発電機と判別器の両方の目的を最適化するように設計されており、Adam Optimizerと組み合わせると、その動作と収束は、その特徴的な適応学習率のプロパティの影響を受けます。

RNN-gansの典型的な損失関数

RNN-gansは、元のGAN製剤に基づいて損失関数のバリエーションを使用します。関係する最も一般的な損失関数は次のとおりです。

- バイナリクロスエントロピー損失(BCE損失):これは、識別子が実際のシーケンスと区別しようとし、発電機が現実的なシーケンスを生成して識別子を欺こうとする判別器と発電機の一般的な選択です。 BCEの損失は、予測された確率とグラウンドトゥルースラベルの間の距離を測定します(Real = 1、fake = 0)。

- 敵対的な損失(ミニマックス損失):元のGan損失は、ジェネレーター$$ g $$と識別者$$ d $$の間のミニマックスゲームを解決することを目的としています。識別子は、実際のサンプルと偽のサンプルを正しく分類する確率を最大化しますが、発電機は差別者が偽物を正しく分類する確率を最小限に抑えます。
$$
\ min_g \ max_d v(d、g)= \ mathbb {e} _ {x \ sim p_ {data> [\ log d(x) + \ mathbb {e} _ {z \ sim p_z} [\ log(z)]]
$$
ここで、$$ x $$は実際のシーケンスであり、$$ z $$は発電機へのノイズ入力です。この損失は、実装に応じて、各タイムステップまたは完全なシーケンス出力に適用されます。

- 最小二乗損失(LSGAN):トレーニングを安定させるために、最小二乗損失はBCEの損失に取って代わります。決定境界からの距離に基づいてサンプルを罰し、実際のデータに近い出力を奨励します。
識別子の場合:
$$
\ frac {1} {2} \ mathbb {e} _ {x \ sim p_ {data> [(d(x))-1)^2] + \ frac {1} {2} \ mathbb {e} _ {z \ sim p_z} [D(Z)^2]
$$
ジェネレーターの場合:
$$
\ frac {1} {2} \ mathbb {e} _ {z \ sim p_z} [(d(g(z)) - 1)^2]
$$
この損失は、勾配の消失を避けるために、RNNガンを含むシーケンスベースのガンでしばしば好まれます。

-Wasserstein Loss(WGAN):一部のRNN-GANモデルは、トレーニングの安定性と解釈性を改善するために、WasserSteinの損失を使用しています。この損失は、地球のムーバーの距離を、批評家(差別装置の代わりに)との基準として使用します。
$$
\ min_g \ max_ {d \ in \ mathcal {d> \ mathbb {e} _ {x \ sim p_ {data> [d(x)] - \ mathbb {e} _ {z \ sim p_z} [d(z)]]
$$
ここで、$$ \ mathcal {d} $$は1-lipschitz関数のセットです。この損失は、飽和勾配の飽和を回避します。これは、シーケンシャルデータにとって重要です。

- シーケンスレベルの損失:敵対的な損失に加えて、最尤推定(MLE)や教師の強制損失などのシーケンス固有またはタスク固有の損失を敵対的損失と組み合わせて、発電機トレーニングをシーケンスでより効果的に導く可能性があります。

RNN-GansのAdam Optimizerの使用

Adam Optimizerは、複雑な敵対的訓練に利益をもたらす適応モーメント推定のために、RNNガンを含むGANSで広く採用されています。 Adamは、トレーニング中の勾配の最初(平均)および2番目の(分散)モーメントの推定に基づいて、各パラメーターの学習率を個別に調整します。

通常、RNN-GANトレーニングで使用されるAdamの重要なパラメーターは次のとおりです。

- 学習率($$ \ alpha $$):安定したGANトレーニングのために、通常、小さい(0.0001〜0.001など)。
- 最初の瞬間の推定値の指数減衰率($$ \ beta_1 $$):一般に0.5〜0.9前後に設定します。 GANトレーニングの振動を減らすための標準0.9よりも低い。
- 2番目のモーメントの推定値の指数減衰率($$ \ beta_2 $$):通常0.999に保持されます。
-Epsilon($$ \ epsilon $$):数値の安定性を維持するための$$ 10^{-8} $$のような小さな定数。

アダムの勢いと適応学習率のバランスは、特に勾配が不安定またはまばらなRNNを使用したシーケンスモデリングで、非定常敵対的損失の問題を克服するのに役立ちます。

Common Practiceセットアップの例

実際のRNN-GANセットアップでは、通常、次のようなものが表示されます。

- バイナリ交差エントロピー損失またはそのバリアントで別々に最適化された判別器と発電機。
- $$ \ beta_1 = 0.5 $$、$$ \ beta_2 = 0.999 $$、および$$ 10^{-4} $$前後の学習率でAdam Optimizerを使用して、バランスの取れた更新を確保します。
- トレーニングには、各トレーニングステップまたはミニバッチでのそれぞれの損失に基づいて、判別器とジェネレーターの間の更新を交互にすることが含まれます。

###さらなるバリエーションと研究

GANの損失関数に関する研究は進化し続けています。いくつかの研究では、パラメーター化または一般化された損失関数(例えば、Rã©nyiの発散やピアソンの発散に基づいて)を導入して、安定性とパフォーマンスを向上させます。これらをRNN-gansに適用するには、それに応じて判別器とジェネレーターの目標を変更することが含まれます。

さらに、敵対的損失と再建または分類損失を組み合わせた自己正規化と複合損失は、テキスト生成や時系列合成など、タスクに応じて採用されることがあります。

### まとめ

Adam Optimizerを使用した典型的なRNN-GAN損失関数は、バイナリ交差エントロピー、最小二乗、またはシーケンシャルデータに適応されたワッシャースタイン損失を含む、元のGANに触発された敵対的損失を使用します。 Adamのパラメーター設定は、GAN安定性のために特別に調整されています。シーケンス固有の損失との組み合わせは、時間パターンに関する発電機トレーニングをよりよくガイドするためにも共通です。このアンサンブルは、シーケンスを効果的に生成またはモデリングする敵対的なRNNモデルのトレーニングを容易にします。

この情報の参照は、Ganの基礎文献、RNN-GANアプリケーション、およびオプティマイザーの使用パターンに由来します。