時空間データでの GAN のトレーニング: 実践ガイド (パート 01/3)

パート 1: GAN トレーニングにおける最も悪名高い不安定性を詳しく見ていきます。

1. 説明

        GAN は、画像生成タスクで最近素晴らしい結果をもたらしていることが主な理由で、最も人気のある深層生成モデルです。ただし、GAN の基本設計には多くの不安定性があるため、GAN をトレーニングするのは簡単ではありません。MNIST 以外のもので GAN をトレーニングしようとしたことがあるなら、GAN のトレーニングの苦痛 (およびこの問題を解決しようとしている関連研究分野) に関するすべての話が問題を誇張しているわけではないことがすぐにわかるでしょう。

2. GANの不安定性

        この本のほぼすべてのトリックを徹底的に試した後、実験で経験的にうまく機能することがわかった、これらの悪名高い不安定性の原因と解決策を体系的に取り上げます。この3 部構成のシリーズは、時空間データ生成に焦点を当てた GAN トレーニングの実践的なガイドであり、次のように構成されています。

1. パート 1: GAN トレーニングにおける最も悪名高い不安定性を詳しく見てみましょう

2. パート 2:パート 1 で説明した一般的な落とし穴に対する考えられる解決策

3. パート 3:時空間データで GAN をトレーニングする特殊なケース - 追跡するメトリクス、固有の複雑性、およびその解決策

        このシリーズで説明する不安定性と解決策は、モデルやユースケースに依存しませんが、時空間的な状況にも依存します。これらは、GAN トレーニング演習の良い出発点となります。この記事では、GAN トレーニングにおける最も悪名高い不安定性について詳しく説明することで、GAN のトレーニングが非常にとらえどころのない理由について説明します。私たちは、a) ディスクリミネーター (D) トレーニングとジェネレーター (G) トレーニングの不均衡がどのようにして勾配の消失によるモード崩壊とサイレント学習を引き起こす可能性があるか、b) ハイパーパラメーターに対する GAN の感度、c) モデルにおける誤解を招く GAN 損失を研究します。パフォーマンス。

        [注: この記事の読者は GAN の基本に関する前提知識を持ち、ある時点で GAN をトレーニングした経験があることを前提としています。このため、「GAN とは何ですか?」は省略し、簡単に復習するためにこの記事を参照してください。]

3. GAN のトレーニングが非常にわかりにくいのはなぜですか?

        このセクションでは、GAN トレーニングにおける最も悪名高い不安定性のいくつかを詳しく説明し、実験で実際にうまく機能した考えられるすべての解決策を詳しく説明します。そうは言っても、最初の数回の反復はバニラ設定で実行して、当面のアーキテクチャとタスクで次のどの落とし穴が観察されるかを検出することをお勧めします。その後、上記のソリューション (経験に基づく複雑さと有効性に応じて順序付け) を繰り返し実装して、トレーニングをさらに安定させることができます。これらのヒントは方向性の出発点としてのみ意図されており、1 回限りの解決策の完全なリストではないことに注意してください。読者は、最適な結果を得るために、そのアーキテクチャとトレーニングのダイナミクスをさらに調査することをお勧めします。

3.1. 生成器と弁別器の間の不均衡

        ゴッホの絵かどうかを見分けるのは簡単ですが、実際に絵を描くのは非常に難しいです。したがって、G のタスクは D のタスクよりも難しいと考えられます。同時に、現実的な出力を生成することを学習する G の能力は、D がどれだけよく訓練されているかに依存します。最適な D は、G に豊富な信号を与え、その生成を学習して改善します。したがって、最適な学習条件を得るには、G と D のトレーニングのバランスを取ることが重要です。

        GAN はゼロサムの非協力ゲームに基づいており、ナッシュ均衡の達成を試みます。ただし、一部のコスト関数は、特に非凸ゲームの場合、勾配降下法では収束しないことが知られています。これにより、G トレーニング ステップと D トレーニング ステップがミニマックス ゲームでアンバランスになり、最適ではない学習勾配が生じるため、GAN トレーニングに多くの不安定性が生じます。これらの不安定性については以下で説明します。

        1. グラデーションが消えます。

        最適な GAN トレーニングのために D が G よりも優れているべきか、あるいはその逆であるべきかは、次のパラメーターを確認することで答える必要があります。

a) D があまりにも早く良くなりすぎると、G の勾配がなくなり、追いつくことができなくなります。

b) 一方、D が最適ではない場合、D の予測パフォーマンスが低いため、G は意味不明な言葉で簡単にそれをだますことができます。この場合も、学習する勾配がなくなり、G 出力は改善されません。

        したがって、理想的には、G と D が定期的に他よりも優れている必要があります。これらの損失のいずれかが任意の方向に単調に移動している場合は、GAN トレーニングが壊れている可能性が高くなります。

        2. モード崩壊: G が不釣り合いにさらにトレーニングされると、同じ出力を繰り返し生成するように収束するため、サンプルの多様性に焦点を当てるインセンティブがなくなり、D がうまく騙されます。

3.2 勾配が消失する理由

        オリジナルの GAN ターゲットのジェネレーター (Ian Goodfellow、2014) は、次のように非飽和 JS 発散を最適化します。

この場合、ジェネレータが特定の分布パターンを見逃しているかどうか (つまり、 p(x ) > 0 であるが q(x) → 0 の場合にはペナルティが高くなります)、生成されたデータが非現実的に見えるかどうか (つまり、p の場合) を        簡単に確認できます。(x)  → 0 ですが q(x) > 0の場合、ペナルティは高くなります)。これにより、ジェネレーターは多様性を維持しながらより高品質の出力を生成する必要があります。

        ただし、この定式化では、弁別器が最適化に達すると、ジェネレータの勾配が消失します。これは、p とq がガウス分布であり、p の平均がゼロである以下の例から明らかです 。右の図は、JS 発散の勾配が q1からq3 に 消えることを示しています 。これにより、これらの領域の損失が飽和すると、GAN ジェネレーターの学習が非常に遅くなります (またはまったく学習しません)。この状況は、GAN トレーニングの初期段階で、pqが大きく異なり、G の近似が実際の分布からかけ離れているため、D のタスクが簡単になるときに現れます。

3.3  パターン折りに関する常識

        モード崩壊は、GAN をトレーニングする際に最も難しく、自明ではない問題です。モード崩壊については直観的な説明がたくさんありますが、実際にはそれに対する理解はまだ非常に限られています。これまで実践者に役立ってきた重要な直感的な説明は、D が十分に更新されないと、G が不釣り合いにトレーニングされてしまうというものです。ジェネレーターは最終的に収束して、D をほとんど騙す最良の画像 x*、つまり弁別者の観点から最も現実的な画像を見つけます。この場合、x* は z から独立します。つまり、z ごとに同じ画像が生成されます。

        最終的に、D は (再度トレーニングされたときに) このパターンの画像を偽の画像として破棄することを学習します。これにより、ジェネレーターは次の脆弱性ポイントを見つけて生成を開始するようになります。D と G の間のいたちごっこは続き、G は「不正行為」に集中するあまり、他のパターンを検出する能力さえ失ってしまいます。これは上の図で見ることができます。上の行は、G が従うべき理想的な学習プロセスを示しています。下の行はパターンの折り畳みのケースを示しています。G は 1 つのパターンを適切に生成することに重点を置き、他のパターンは無視します。

3.4 ハイパーパラメータに対する感度

        GAN はハイパーパラメータに非常に敏感です。適切なハイパーパラメータがなければコスト関数は機能しないため、最初からさまざまな損失関数を試すのではなく、まずハイパーパラメータを広範囲に調整することをお勧めします。ハイパーパラメータの調整には時間と忍耐が必要です。独自のハイパーパラメータ セットを導入する高度な損失関数の使用を開始する前に、アーキテクチャの基本的なトレーニング ダイナミクスを理解することが重要です。

4. GAN 損失と生成品質の相関関係

        通常の分類タスクでは、コスト関数はモデルの精度に関連します (損失が小さいほど誤差が小さいことは精度が高いことを意味します)。ただし、GAN の損失は、ミニマックス ゲーム (ジェネレーターとディスクリミネーター) で、あるプレーヤーが別のプレーヤーに対してどの程度優れたパフォーマンスを発揮するかを測定します。ジェネレータの損失は増加しますが、画質は向上するのが一般的です。したがって、不安定な GAN 損失は誤解を招くことが多いため、GAN をトレーニングする際の損失の「収束」と生成品質の間にはほとんど相関関係がありません。画像生成タスクで使用される非常に効果的で広く受け入れられている手法は、さまざまなトレーニング段階で生成された画像を目視検査することでトレーニングの進行状況を追跡することです。しかし、この主観的な評価から最適なモデルを選択することが困難になるため、モデルの比較がさらに困難になり、チューニング プロセスがさらに複雑になります。しかし、実験中に、GAN トレーニングのこの非常に重要な側面、つまり適切なメトリクスを使用して生成の進行状況を追跡することは、人々が GAN のトレーニングについて話すときに最も見落とされている側面の 1 つでもあることにすぐに気づきました。さらに、画像とは異なり、時空間データのトレーニングの進行状況を「直感的に」効果的に評価することはできません。したがって、モデルのパフォーマンスを客観的に示す時空間データに関連するメトリクスを設計して追跡することが重要になります。

        GAN トレーニングのいくつかの顕著な落とし穴について詳しく説明しましたが、次に生じる疑問は、それらをどのように検出して解決するかということです。このトピックについては、このシリーズの次のブログで詳しく説明します。この本のすべてのヒントを徹底的に試した後、それぞれに対して複数の解決策を考え出しました。実装の容易さとそれぞれの影響の順にリストを作成し、GAN トレーニングの反復的な強化を提案しますシャンタヌ・チャンドラ

·

おすすめ

転載: blog.csdn.net/gongdiwudu/article/details/132850693