GAN には 2 つの別々にトレーニングされたネットワークが含まれているため、トレーニング アルゴリズムでは 2 つの複雑な問題に対処する必要があります。
- GAN は、2 種類のトレーニング(ジェネレータと弁別子)を同時に行う必要があります。
- GAN の収束は特定が困難です。
交互トレーニング
生成者と識別子には異なるトレーニング プロセスがあります。それでは、GAN 全体をどのようにトレーニングすればよいでしょうか。
GAN のトレーニングは、次の期間を交互に繰り返して行われます。
- ディスкриминエータは 1 つ以上のエポックでトレーニングします。
- 生成ツールは 1 つ以上のエポックをトレーニングします。
- 手順 1 と 2 を繰り返し、ジェネレータ ネットワークと弁別子ネットワークのトレーニングを続けます。
弁別子のトレーニング フェーズでは、ジェネレータを一定に保ちます。ディスクリミネータのトレーニングでは、実際のデータと偽のデータの区別方法を把握しようとするため、生成ツールの欠陥を認識する方法を学習する必要があります。これは、ランダムな出力を生成するトレーニングを受けていない生成ツールとは異なる問題です。
同様に、ジェネレータのトレーニング フェーズ中は弁別子を一定に保ちます。そうしないと、ジェネレータは動くターゲットを狙うことになり、収束しない可能性があります。
このやり取りにより、GAN は、他の方法では解決できない生成問題に取り組むことができます。はるかに単純な分類問題から始めることで、困難な生成問題に足がかりを得ます。逆に、最初のランダム ジェネレータの出力に対しても、実際のデータと生成されたデータの違いを区別するように分類子をトレーニングできない場合、GAN のトレーニングを開始できません。
融合
トレーニングによって生成元が改善されると、ディスкриминエータは本物と偽物の違いを簡単に区別できなくなるため、ディスкриминエータのパフォーマンスは低下します。生成器が完全に成功した場合、識別器の精度は 50% です。つまり、ディスкриминエータはコイントスをして予測を行います。
この進行は、GAN 全体の収束に問題を引き起こします。時間の経過とともに、識別子フィードバックの意味が薄れていきます。GAN が、ディスкриминエータが完全にランダムなフィードバックを返すポイントを超えてトレーニングを継続すると、ジェネレータはジャンク フィードバックでトレーニングを開始し、その品質が低下する可能性があります。
GAN の場合、収束は安定した状態ではなく、しばしば一時的な状態です。