生成的敵対的ネットワークに関するレビュー:アルゴリズム、理論、およびアプリケーション

紙のアドレス:https//arxiv.org/pdf/2001.06937.pdf

近年、Generative Adversarial Networks(GAN)が注目されている研究トピックです。2014年以来、人々はGANについて広範な研究を行い、多数のアルゴリズムを提案してきました。ただし、さまざまなGANバリアント間の関係とそれらが進化する方法を説明する包括的な研究はほとんどありません。この記事では、アルゴリズム、理論、およびアプリケーションの観点から、さまざまなGANメソッドを確認します。最初に、ほとんどのGANアルゴリズムの研究動機、数学的表現、およびアーキテクチャを詳細に紹介しました。さらに、GANは、半教師あり学習、転移学習、強化学習など、一部の特定のアプリケーションで他の機械学習アルゴリズムと組み合わされています。この記事では、これらのGANメソッドの類似点と相違点を比較します。次に、GANに関連する理論上の問題を調査しました。第3に、画像処理とコンピュータービジョン、自然言語処理、音楽、音声と音声、医学、データサイエンスにおけるGANの典型的なアプリケーションについて説明しました。最後に、GANの将来の未解決の研究課題をいくつか指摘しました。
 

アルゴリズム

このセクションでは、最初に最も原始的なGANを紹介します。次に、その代表的なバリアント、トレーニングと評価の方法、およびタスク駆動型GANを紹介します。

生成的敵対的ネットワーク

モデルがすべてニューラルネットワークである場合、GANアーキテクチャは非常に直感的に実装できます。データxでのジェネレータの分布p_gを学習するには、最初に入力ノイズ変数に関する事前分布p_z(z)[3]を定義します。ここでzはノイズ変数です。次に、GANは、ノイズ空間からデータ空間G(z、θ_g)へのマッピングを表します。ここで、Gは、パラメーターがθ_gのニューラルネットワークによって表される微分可能関数です。Gに加えて、別のニューラルネットワークD(x、θ_d)もパラメーターθ_dによって定義され、D(x)の出力はスカラーです。D(x)は、xがジェネレーターGからではなく、実際のデータから取得される確率を表します。識別器Dをトレーニングして、トレーニングデータとジェネレーターGによって生成された偽のサンプルに正しいラベルを提供する確率を最大化します。同時に、log(1-D(G(z)))を最小化するようにGをトレーニングします。

  • 目的関数

GANは、さまざまな目的関数を使用できます。

  • 最も原始的なミニマックスゲーム

GAN [3]の目的関数は次のとおりです。

ここで、D(x)は[1、0] ^ Tと[D(x)、1-D(x)] ^ Tの間のクロスエントロピーです。同様に、log(1-D(G(z)))は、[0、1] ^ Tと[D(G(z))、1-D(G(z))] ^ Tの間のクロスエントロピーです。固定Gの場合、最適な弁別子Dは[3]に示されています。

(1)式のミニマックスゲームは次のように再定式化できます。

2つの確率分布p(x)とq(x)の間のKL発散とJS発散は、次のように定義されます。

したがって、(3)は

したがって、GANとKLの発散の目的関数は、JSの発散に関連しています。

  • 不飽和ゲーム

実際、式(1)は、Gが十分に学習するのに十分な大きさの勾配を提供しない場合があります。一般的に、学習プロセスの初期段階でのGのパフォーマンスは非常に低く、生成されたサンプルはトレーニングデータとは大幅に異なります。したがって、DはGによって生成されたサンプルを高い信頼性で拒否できます。この場合、log(1-D(G(z)))は飽和しています。log(1-D(G(z)))を最小化する代わりに、log(D(G(z)))を最大化するようにGをトレーニングできます。発電機の損失は次のようになります

この新しい目的関数は、トレーニングプロセス中にDとGを同じ固定点に到達させることができますが、学習の初期段階ではるかに大きな勾配を提供します。不飽和ゲームはヒューリスティックであり、理論主導ではありません。ただし、Gのトレーニングに使用される数値勾配の不安定性など、不飽和ゲームには他の問題があります。最適なD * _Gの下には、

したがって、E_(x〜p_g)[-log(D * _G(x))]は次のようになります。

(3)と(6)によると、

したがって、E_(x〜p_g)[log ^(1-D * _G(x))]は次のようになります。

式(11)を式(9)に代入すると、次のようになります。

式(12)から、不飽和ゲームでの代替G損失関数の最適化は矛盾していることがわかります。これは、最初の目的が生成された分布と実際の分布の差をできるだけ小さくすることであり、負の符号2番目の目標は、これら2つの分布の差をできるだけ大きくすることです。これにより、Gをトレーニングするための不安定な数値勾配が発生します。さらに、KL発散は非対称メトリックであり、次の2つの例に反映されます。

Gの2つのエラーに対するペナルティは完全に異なります。最初のタイプのエラーは、Gが非現実的なサンプルを生成し、対応するペナルティが非常に大きいことです。2番目のタイプのエラーは、Gが実際のサンプルを生成できず、ペナルティが小さいことです。最初のタイプのエラーは、生成されたサンプルが不正確であるということであり、2番目のタイプのエラーは、生成されたサンプルが十分に分散されていないということです。この原理に基づいて、Gは、異なるが安全でないサンプルを生成するリスクを冒すのではなく、繰り返されるが安全なサンプルを生成する傾向があり、モードの崩壊の問題につながります。

  • 最尤ゲーム

GANでは、式(1)を近似する方法はたくさんあります。弁別器が最適であると仮定して、最小化したい

GANフレームワークで最尤法に近づくための他の可能な方法があります[17]。図1は、元のゼロサムゲーム、不飽和ゲーム、最尤ゲームの比較を示しています。

図1から3つの観察結果を得ることができます。

まず、サンプルがジェネレーターからのものである場合、つまりグラフの左端にある場合、最尤ゲームと元のミニマックスゲームの両方が勾配分散の影響を受けますが、ヒューリスティックな不飽和ゲームにはこの問題はありません。

第2に、最尤法ゲームにはまだ問題があります。つまり、ほとんどすべての勾配が曲線の右端から来るため、各ミニバッチのサンプルのごく一部だけが勾配の計算を支配します。これは、サンプルの分散を減らす方法が、最尤ゲームに基づいてGANのパフォーマンスを改善するための重要な研究の方向性である可能性があることを示しています。

第三に、ヒューリスティックベースの不飽和ゲームのサンプル分散は低く、これが実際のアプリケーションでより成功したアプリケーションの考えられる理由である可能性があります。

M.Kahng et al。[124]は、GANラボを提案しました。これは、非専門家がGANを学習し、実験を行うためのインタラクティブな視覚化ツールを提供します。Bau et al。[125]は、GANを視覚化して理解するための分析フレームワークを提案しました。

代表的なGANバリアント

CSGAN [132]やLOGAN [133]など、GAN [126]-[131]に関連する論文はたくさんあります。このセクションでは、いくつかの代表的なGANバリアントを紹介します。

  1. InfoGAN
  2. ConditionalGAN(cGAN)
  3. CycleGAN
  4. f-GAN
  5. IntegralProbabilityMetrics(IPM)
  6. LossSensitiveGAN(LS-GAN)

「TheGANZoo」(https://github.com/hindupuravinash/the-gan-zooというWebサイトがあり、GANのさまざまなバリエーションがリストされています。詳細については、このWebサイトをご覧ください。

GANトレーニング

理論的には独自の解決策がありますが、多くの理由で[29]、[32]、[179]、GANトレーニングは難しく、しばしば不安定です。難しさの1つは、GANの最適な重みが、最小点ではなく、損失関数の鞍点に対応するという事実に起因します。

GANトレーニングに関する多くの論文があります。Yadav et al。[180]は、予測手法を使用してGANトレーニングをより安定させました。[181]独立した学習率を使用することにより、モデルが安定したローカルナッシュ均衡に収束できることを保証するために、ディスクリミネーターとジェネレーターに対して2つのタイムスケール更新ルール(TTUR)が提案されます。Arjovsky [179]は、GANのトレーニングダイナミクスを完全に理解するための理論的研究を実施し、GANのトレーニングが難しい理由を分析し、GANをトレーニングする際の損失関数の飽和と不安定性を研究して厳密に証明し、解決策を提案しました。実用的かつ理論的な方向性そのような問題のために、そしてそれらを研究するために新しいツールが導入されます。Liang et al。[182]は、GANトレーニングは継続的な学習問題であると信じています[183]​​。

GANトレーニングを改善する1つの方法は、トレーニング中に発生する可能性のある経験的な「症状」を評価することです。これらの症状には、ジェネレーターが崩壊して、異なる入力に対して非常に類似したサンプルしか生成できない[29]、ディスクリミネーターの損失がすぐにゼロに収束する[179]、ジェネレーターの勾配更新を提供できない、ジェネレーターを作成する、弁別器は同じであるモデルが収束することは困難です[32]。

3つの観点からGANトレーニングを紹介します。

  1. 目的関数
  2. トレーニングスキル
  3. 建築

GAN評価指標

このセクションでは、GAN [215]、[216]のいくつかの評価指標について説明します。

  1. InceptionScore(IS)
  2. モードスコア(MS)
  3. FrechetInceptionDistance(FID)
  4. マルチスケール構造類似性(MS-SSIM)

GANの適切な評価指標をどのように選択するかは、依然として難しい問題です[225]。Xu et al。[219]は、GAN評価指標に関する実証的研究を提案しました。Karol Kurach [224]は、GANの正則化と正規化に関する大規模な研究を実施しました。[226]など、GANに関する他の比較研究があります。参考文献[227]は、定量的評価指標を選択する際に研究者を導くためのメタメトリックとしていくつかのメトリックを提案しています。適切な評価指標は、実際のサンプルと生成された偽のサンプルを区別し、モードの低下またはモードの崩壊を検証し、過剰適合を検出する必要があります。将来、GANモデルの品質を評価するためのより良い方法があることを願っています。

タスク駆動型GAN

この記事では、GANモデルに焦点を当てます。現在、特定のタスクを含む密接に関連する分野に関する文献がたくさんあります。

  1. 半教師あり学習
  2. 転移学習
  3. 強化学習
  4. マルチモーダル学習

GANは、特徴選択[277]、ハッシュ[278]-[285]、メトリック学習[286]などの特徴学習の分野で使用されてきました。MisGAN [287]は、GANを介して不完全なデータから学習できます。Evolutionary GAN(Evolutionary GAN)は[288]で提案されました。Ponce et al。[289]は、GANと遺伝的アルゴリズムを組み合わせて、視覚ニューロンの画像を進化させました。GANは、アクティブラーニング[291]、[292]、オンライン学習[293]、アンサンブル学習[294]、ゼロサンプル学習[295]、[296]、マルチなどの他の機械学習タスク[290]にも使用されます。 -タスク学習[297]。

理論

最尤推定(MLE)

すべての生成モデルがMLEを使用するわけではありません。一部の生成モデルはMLEを使用しませんが、MLEを使用するように変更できます(GANはこのカテゴリに分類されます)。p_data(x)とp_g(x)の間のKLダイバージェンス(KLD)を最小化することは、サンプル数mが増加したときに対数尤度を最大化することと同等であることを簡単に証明できます。

シンボルの一貫性を確保するために、モデルの確率分布p_θ(x)はp_g(x)に置き換えられます。MLEおよびその他の統計的推定量の詳細については、[298]の第5章を参照してください。

モデルの崩壊

GANはトレーニングが難しく、[26]、[29]では、ジェネレータが少数のデータ分布のみに基づいてサンプルを生成することを学習するモード崩壊[299]、[300]の影響を受けることがよくあります。他の多くのパターン(トレーニングデータ全体に欠落しているパターンからのサンプルがある場合でも)。最悪の場合、ジェネレーターは単一のサンプル(完全に折りたたまれた状態)のみを生成します[179]、[301]。

このセクションでは、最初にGANモデルの崩壊に関する2つのビュー、発散ビューとアルゴリズムビューを紹介します。次に、目的関数ベースの方法やアーキテクチャベースの方法など、新しい目的関数または新しいアーキテクチャを提案することにより、モデルの崩壊を解決する方法を紹介します。

その他の理論的問題

その他の理論上の問題は次のとおりです。

1. GANは本当に分布を学びましたか?

2.発散/距離

3.逆マッピング

4.数学的観点(最適化など)

5.メモリ

応用

前述のように、GANは、ランダムベクトルzから現実的なサンプルを生成できる強力な生成モデルです。明示的な真のデータ分布を知る必要も、他の数学的仮定をする必要もありません。これらの利点により、GANは、画像処理やコンピュータービジョン、シーケンスデータなど、多くの分野で広く使用できます。

画像処理とコンピュータビジョン

GANの最も成功したアプリケーションは、画像の超解像、画像の生成と操作、ビデオ処理などの画像処理とコンピュータービジョンです。

  1. 超解像
  2. 画像の構成と操作
  3. テクスチャ合成
  4. ターゲット検出
  5. ビデオアプリケーション

シーケンスデータ

GANは、自然言語、音楽、音声、音声[376]、[377]、時系列[378] – [381]などのシーケンスデータでも一定の成果を上げています。

オープンリサーチクエスチョン

GAN分野にはまだ多くの未解決の研究課題があります。

離散データにGANを使用する: GANは、生成されたサンプルに関して完全に微分可能な生成パラメーターに依存しています。したがって、GANは、ハッシュコードやワンホットベクトルなどの離散データを直接生成することはできません。このような問題を解決することは、自然言語処理とハッシュ計算におけるGANの可能性を解き放つことができるため、非常に重要です。Goodfellowは、この問題を解決するために3つの方法を提案しました[103]:ガンベルソフトマックス[448]、[449]または離散分布[450]を使用します;強化アルゴリズム[451]を使用します;離散値に変換できるサンプルにジェネレータをトレーニングします連続値(たとえば、単語の埋め込みベクトルを直接サンプリングする)。

この研究の方向に進むには他の方法があります。Song et al。[278]は、連続関数を使用してハッシュ値の符号関数を近似しました。Gulrajani et al。[19]は、連続ジェネレーターを使用して離散データをモデル化しました。Hjelm et al。[452]は、離散データを使用してGANをトレーニングするアルゴリズムを導入しました。このアルゴリズムは、弁別器から推定された差分メトリックを使用して、生成されたサンプルの重要度の重みを計算し、それによってジェネレーターをトレーニングするための戦略勾配を提供します。他の関連する作品は[453]、[454]にあります。この興味深い分野では、さらに多くの作業が必要です。

新しい発散:研究者は、Fisher GAN [455]、[456]、GAN(McGan)[457]およびSobolev GAN [458]に一致する平均および共分散特徴など、GANをトレーニングするための一連の新しい積分確率測度(IPM)を提案しました。 。他に興味深い分岐カテゴリはありますか?これはさらに調査する価値があります。

推定される不確実性:一般的に言えば、データが多いほど、推定される不確実性は小さくなります。GANは、生成されたトレーニングサンプルの分布を提供しませんが、GANは、トレーニングサンプルと同じ分布で新しいサンプルを生成したいと考えています。したがって、GANには尤度も明確に定義された事後分布もありません。ベイジアンGAN [459]のように、この方向を研究するための予備的な試みがありました。GANを使用してデータを生成することはできますが、訓練された発電機の不確かさを測定するにはどうすればよいですか?これは、将来の研究に値するもう1つの興味深い質問です。

理論:一般化問題に関して、Zhang et al。[460]は、異なる評価指標の下での真の分布と学習された分布の間の一般化境界を提案しました。神経距離を評価する場合、[460]の一般化境界は、仮説セットまたはジェネレータセットのサイズに関係なく、弁別子のセットが十分に小さい限り、一般化が保証されることを示しています。Arora et al。[306]は、離散確率の「誕生日のパラドックス」を使用してサポートセットのサイズを推定する新しいテスト方法を提案し、画像の視覚品質が高くても、GANはモード崩壊の影響を受けることを示しました。より詳細な理論的分析は研究する価値があります。一般化を経験的にテストするにはどうすればよいですか?有用な理論は、モデルのタイプ、容量、およびアーキテクチャーを選択できる必要があります。これは、今後の作業でさらに研究する価値のある興味深い質問です。

その他: GAN分野には、評価方法(詳細はセクション3.4を参照)やモデルの崩壊(詳細はセクション4.2を参照)など、他にも多くの重要な研究課題があります。

おすすめ

転載: blog.csdn.net/a493823882/article/details/106949345