Advanced Deep Learning [9]: 生成ネットワークに対する GAN の概要、代表的なバリアント モデル、トレーニング戦略、コンピューター ビジョン アプリケーションと共通データ セットにおける GAN の導入、および最先端の問題解決

ここに画像の説明を挿入
活性化関数、最適化戦略、損失関数、モデルチューニング、正規化アルゴリズム、畳み込みモデル、シーケンスモデル、事前学習モデル、敵対的ニューラルネットワークなどを含む【高度なディープラーニング入門】必見シリーズ。

ここに画像の説明を挿入
活性化関数、最適化戦略、損失関数、モデルチューニング、正規化アルゴリズム、畳み込みモデル、シーケンスモデル、事前学習モデル、敵対的ニューラルネットワークなどをコラムで詳しく紹介する【高度なディープラーニング入門】必見シリーズ

このコラムは主に初心者が関連知識を素早く理解できるようにすることを目的としています。フォローアップでは、誰もがプロジェクトを実践しながら知識を確保し、それが何であるか、なぜそうなるのか、なぜそうなるのかを知ることができるように、ディープラーニングに含まれる知識原則の分析を継続していきます。

免責事項: 一部のプロジェクトは誰もがすぐに学べるオンラインの古典的なプロジェクトであり、実用的なリンク (コンテスト、論文、実践的なアプリケーションなど) が将来追加される予定です。

コラムの購読:ディープラーニングの高度なコラムの紹介

敵対的生成ネットワーク (GAN) に関する調査

1. 世代と差別

1.1 モデルの生成

いわゆる生成モデルとは、確率モデルに属する、生成されたデータとして説明できるモデルを指します。Wikipedia での定義は次のとおりです。 確率と統計の理論では、生成モデルとは、特に特定の隠れパラメータの条件下で、観測データをランダムに生成できるモデルを指します。これは、観測値とラベル付きデータ シーケンスの同時確率分布を指定します。機械学習では、生成モデルを使用してデータ (変数の確率密度関数に従ったサンプリング データなど) を直接モデル化することも、変数間の条件付き確率分布を確立するために使用することもできます。条件付き確率分布は、ベイズの定理に従って生成モデルによって形成できます平たく言えば、このモデルを通じて、トレーニング データ セットに含まれていない新しいデータを生成できます。たとえば、図1に示すように、生成モデルを通じて馬の画像を学習し、そこから馬の外観を学習するために、馬の画像を大量に用意します。生成モデルは、非常によく似た馬の画像を生成できます。本物ですが、この画像はトレーニングに属していません。

図1 モデル生成処理のフローチャート

そして、私たちの共通モデルは一般に識別モデルです。図 2 に示すように、判別モデルは単純に分類として理解できます。たとえば、図 2のように、画像を猫か犬かその他に分割するには、データ内の絵画の特徴を言及して分類する判別モデルをトレーニングして、それがゴッホの絵画であるかどうかを区別します。どれがゴッホの作なのか区別できるようにセットされています。

したがって、生成モデルと判別モデルの違いは次のとおりです。

  1. 生成モデルのデータセットには、判別モデルのようなラベルはありません(つまり、ラベル情報、生成モデルもラベルを持つことができ、生成モデルはラベルに従って対応するカテゴリの画像を生成できます)。生成モデルは教師なし学習の一種で、判別モデルは教師あり学習の一種です。

  2. 数学的表現:

    判別モデル: p(y|x) は、特定の観測値 x に対して y を取得する確率です。

    生成モデル: p(x) は x を観測する確率です。ラベルがある場合は、次のように表されます。 p(x|y) は、ラベル y が x を生成する確率を指定します。

図2 判別モデルの処理フローチャート

GANモデルの誕生は、生成モデルの特性と判別モデルの特性を組み合わせ、動的対立を通じて訓練し、準同型バランスで最適解を見つけることです。

2.GANとは何ですか?

2.1 思考との戦い

GAN の主なアイデアは敵対的アイデアです。敵対的アイデアは、機械学習、人工知能、コンピューター ビジョン、自然言語処理などの多くの分野でうまく適用されています。最近、世界トップレベルの人間プレイヤーが AlphaGo に敗北したことにより、人工知能に対する一般の関心が高まりました。AlphaGo の中間バージョンは、2 つの競合するネットワークを使用します。敵対的な例とは、実際の例とは大きく異なるが、自信を持って実際のカテゴリに分類される例、または実際の例とはわずかに異なるが、誤ったカテゴリに分類される例です。これは最近非常に注目されている研究テーマです。

敵対的機械学習はミニマックス問題です。防御側は、正しく動作させたい分類器を構築し、パラメータ空間を検索して分類器のコストを可能な限り削減するパラメータを見つけます。同時に、攻撃者はコストを最大化するためにモデルの入力を検索します。敵対的アイデアは、敵対的ネットワーク、敵対的学習、敵対的例の中に存在します。

対立的思考の理論的背景はゲーム理論です。ゲーム理論、ゲーム理論などとしても知られるゲーム理論は、現代数学の新しい分野であるだけでなく、オペレーションズ リサーチの重要な主題でもあります。ゲーム理論は主に定型的なインセンティブ構造間の相互作用を研究し、闘争や競争の性質を持つ現象を研究するための数学的理論および方法です。ゲーム理論は、ゲーム中の個人の予測された行動と実際の行動を考慮し、その最適化戦略を研究します。生物学者はゲーム理論を使用して、進化の特定の結果を理解し、予測します。(ゲーム理論と関連概念)

2.2 敵対的生成ネットワーク(GAN)

GANはその名の通り、生成し対立するニューラルネットワークです。一般に、GAN ネットワークは生成器 (Generator) と識別器 (Discriminator) で構成されます。ジェネレーターは、要件に従って実際のラベルにどんどん近づくデータを継続的に生成するために使用され、ディスクリミネーターは、ジェネレーターの生成結果と実際のラベルの間の差異を継続的に区別するために使用されます。たとえば、画像の超解像問題の場合、一般的なニューラル ネットワークは損失関数を使用して、生成された画像と実際のラベルの違いをさまざまな角度 (ピクセル、特徴マップなど) から監視し、モデルを見つけます。最適化による損失関数の最小値に対応するパラメータ。GAN ネットワーク モデルは、ジェネレーターによって画像を生成し、生成された画像と実際の画像の違いをディスクリミネーターによって動的に識別します。以下の図に示すように、コントラストのために、左目には元の画像が表示され、右目には GAN ネットワークを通過した後の画像が表示されます。明らかに、GAN ネットワークにより、元のぼやけた画像がより鮮明になり、詳細なテクスチャがより際立ちます。

図4 画像超解像に対するGANモデル効果の例

もちろん、GAN ネットワークは画像の超解像度タスクだけに使用されるわけではなく、画像変換、画像理解、画像の塗りつぶしなどのタスクでも GAN を使用できます。

他の生成アルゴリズムと比較して、GAN は他の生成アルゴリズムの欠点を克服するために提案されています。敵対的学習の背後にある基本的な考え方は、ジェネレーターがディスクリミネーターを騙すためにできるだけ現実的な例を作成しようとするというものです。識別子は、偽の例と本物の例を区別しようとします。ジェネレーターとディスクリミネーターは両方とも、敵対的学習を通じて改善されます。この敵対的なプロセスにより、GAN は他の生成アルゴリズムに比べて大きな利点を得ることができます。より具体的には、GAN には他の生成アルゴリズムに比べて次のような利点があります。

  • GAN は、他の生成アルゴリズムでは不可能な並列生成が可能です。
  • 発電機の設計に制限はありません。
  • 人々は主観的に、GAN が他の手法よりも優れたサンプルを生成すると信じています。

下の図は、古典的な GAN ネットワーク モデルです。まず、GAN の 2 つのモデルが何をするのかを理解しましょう。1つ目は判別モデルであり、図の右半分のネットワークである 図中のDiscriminatorの部分が前述の判別モデルであり、一般的にはVGGやResNetなどの一般的なニューラルネットワーク構造が本体として使用される構造。画像を入力します ( X real 、X fake X_{real}、X_{fake}など)バツ本当に_ _バツファック_ _)、真偽の判定に使用する確率値を出力します(確率値が 0.5 より大きい場合は真、0.5 より小さい場合は偽)。ただし、真と偽は人が定義した確率にすぎません。2つ目は生成モデル(Generator部分)で、こちらも古典的なネットワークモデルをベースに構築されており、畳み込み層やプーリング層などが問題に合わせて追加、削除、修正されています。ジェネレーターの入力は一連の乱数 Z であり、画像が出力されます。図からわかるように、本物のデータセットと偽のデータセットの 2 つのデータセットがあり、このデータセットは生成ネットワークによって作成されたデータセットです。この図に従って、GAN の目標をもう一度理解しましょう。

  • 判別ネットワークの目的: それが属する画像が本物のサンプル セットからのものであるか、偽のサンプル セットからのものであるかを区別できるようにすること。入力が本物のサンプルの場合、ネットワーク出力は 1 に近くなり、入力が偽のサンプルの場合、ネットワーク出力は 0 に近くなり、良好な識別の目的が達成されます。

  • 生成されたネットワークの目的: 生成されたネットワークはサンプルを作成することであり、その目的は、サンプルを作成する能力を可能な限り強力にすることで、判別ネットワークがサンプルが本物のサンプルであるか偽のサンプルであるかを判断できないようにすることです。

GAN ネットワークは主に生成ネットワークと識別ネットワークの 2 つの部分で構成されており、隠れ変数 $ z $ (通常はガウス分布に従うランダム ノイズ) はジェネレーターを通じて $ X_{fake} $ を生成し、識別器はその役割を果たします入力データが生成されたサンプル $X_{fake}$ であるかどうかを識別するため、依然として本物のサンプル $X_{real}$ です。

図5 GANモデル構造の模式図

損失額は以下の通りです。

min ⁡ G max ⁡ DV ( D , G ) = min ⁡ G max ⁡ DE x 〜 pdata ( x ) [ log ⁡ D ( x ) ] + E z 〜 pz ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] {\min _G}{\max _D}V(D,G) = {\min _G}{\max _D}{E_{x \sim {p_{data}}(x)}}[ \log D(x)] + {E_{z \sim {p_z}(z)}}[\log (1 - D(G(z)))]GDマックスV ( D G )=GDマックスEx pダタ_ _ _( x )[ログ_D ( × )]+Ez pz( z )[ログ( 1 _D ( G ( z )))]

識別器 D の場合、これは 2 カテゴリー問題であり、V(D,G) は 2 カテゴリー問題における一般的なクロスエントロピー損失です。生成器 G にとって、D をできるだけ欺くためには、生成されるサンプルの判別確率 D(G(z)) を最大化する、つまり $ \log (1 - D(G( z))) $ (注: $ \log D(x) $ はジェネレーター G とは何の関係もないので、無視できます。)

実際のトレーニングでは、ジェネレーターとディスクリミネーターは交互トレーニングを採用します。つまり、最初にトレーニング D、次にトレーニング G を継続的に往復します。ジェネレーターの場合、${\max _D}V(D,G)$ を最小化する、つまり $V(D,G)$ の最大値を最小化することに注意してください。V(D,G) が最大値に達することを保証するために、通常、識別器を k 回反復してトレーニングし、次に生成器を 1 回反復します (ただし、実際には k は通常 1 であることがわかります)。生成器 G が固定されている場合、V(D,G) を導出して最適な識別子 $ {D^ * }(x) $ を見つけることができます。

D ∗ ( x ) = pdata ( x ) pg ( x ) + pdata ( x ) {D^ * }(x) = \frac{ { { p_ {data}}(x)}}{ { { p_g}(x) ) + {p_{data}}(x)}}D (×)=pg( × )+pダタ_ _ _( × )pダタ_ _ _( x )

最適な識別器を上記の目的関数に代入すると、最適な識別器の下では、ジェネレーターの目的関数は ${p_{data}}(x), {p_g}(x) を最適化するのと同等であることがさらにわかります $ JS ダイバージェンス (JSD、ジェンソン シャノン ダイバージェンス)。G と D の容量が十分であれば、モデルは収束し、両者はナッシュ均衡に達することが証明できます。このとき、識別子が ${p_{data}}(x)$ サンプル用か ${p_g}(x)$ サンプル用かに関係なく、 ${p_{data}}(x) = {p_g}(x) $ となり、予測される確率は $ \frac{1}{2} $ です。つまり、生成されたサンプルは実際のサンプルと区別できません。

3. GANの開発

情報技術の革新とハードウェア機器の計算能力の継続的な置き換えにより、情報社会では人工知能が隆盛を極めており、生成モデルに代表される機械学習の分野は研究者の注目を集め続けています。画像生成やビデオ生成などのコンピュータビジョンの分野、情報ステガノグラフィーやテキスト生成などのタスクに代表される自然言語処理の方向、オーディオ分野における音声合成の方向、これらのタスクでは、モデルは驚くべき結果を示しました。現在、コンピュータビジョン、医学、自然言語処理などの分野でGANの研究が活発に行われています。さらに、GAN モデルの研究作業は、主に次の 2 つの側面に焦点を当てています。1 つは、GAN の安定性を向上させ、トレーニング問題を解決するための理論的な手がかりに焦点を当てること、またはさまざまな視点 (情報理論など) を検討することです。 、モデル効率などの側面)その構造を強化すること、2つ目は、さまざまなアプリケーション分野における敵対的生成ネットワークのバリアント構造とアプリケーションシナリオに焦点を当てることです。画像合成に加えて、GAN は画像超解像度、画像記述、画像復元、テキストから画像への変換、セマンティック セグメンテーション、オブジェクト検出、敵対的生成攻撃、機械翻訳、画像などの他の方向にも適用されて成功しています。フュージョンとノイズ除去。

2014 年に、Ian GoodFellow は GAN モデルを提案しました。GAN が提案されて以来、生成対立ネットワークはすぐに最も人気のある生成モデルになりました。急速に成長する思春期において、GAN は DCGAN、StyleGAN、BigGAN、StackGAN、Pix2pix、Age-cGAN、CycleGAN などの多くの人気のあるアーキテクチャを生み出しました。これは、敵対的生成ネットワーク ファミリのグラフです。左側の部分は主に、画像変換、テキストから画像への変換、画像生成、ビデオ変換などの実際の問題を解決するためにモデルを改善することであり、右側の部分は主に GAN フレームワーク自体に存在するいくつかの問題を解決することです。従来の生成モデルは、1980 年代の RBM と、ディープ ニューラル ネットワークで段階的にパッケージ化された AutoEncoder にまで遡ることができます。次に、最も人気のある生成モデル GAN があります。

図6 古典的なGANモデルの開発の概略図

4. 古典的な GAN モデルの紹介

表 1 さまざまな種類の GAN の分類

表 1は、アルゴリズムベースの GAN 手法をまとめたもので、既存の GAN 手法を GAN のトレーニング戦略、構造変化、トレーニング技術、および監視タイプの側面から分類しています。この文書では、説明するために古典的なモデルと手法を選択します。

4.1 GANの代表的な亜種

4.1.1 InfoGAN

原理は非常に単純で、info GAN では入力ベクトル z を c と z' の 2 つの部分に分割します。c は解釈可能な隠れ変数として理解でき、z は非圧縮ノイズとして理解できます。c と出力の関係を制約することで、c の次元が出力の意味的特徴 (手書きの数字を例に挙げると、ストロークの太さ、傾きなど) に対応することが期待されます。c を導入するために、著者は相互情報量を通じて c を制約します。これは自己符号化のプロセスとしても理解できます。具体的な操作は、ジェネレーターの出力が分類子を通過して c が取得できるかどうかを確認することです。実際には、アントエンコーダの逆のプロセスとみなすことができます。ディスクリミネーターの残りの部分は通常の GAN と同じです。

図7 InfoGANの構造の模式図

実際のプロセスでは、分類器と識別器はパラメータを共有します。最後の層のみが異なり、分類器の出力はベクトル、識別器の出力はスカラーです。

損失関数の観点から見ると、infoGAN の損失関数は次のようになります:
min ⁡ G max ⁡ DVI ( D , G ) = V ( D , G ) − λ I ( c ; G ( z , c ) ) {\min _G } {\max _D}{V_I}(D,G) = V(D,G) - \lambda I(c;G(z,c))GDマックスV( D G )=V ( D G )λ I ( c ;G ( z ,c ))
元の GAN と比較すると、追加の $ \lambda I(c;G(z,c)) $ があり、これは c とジェネレーターの出力の間の相互情報を表します。この項目が大きいほど、c が出力する関連性が高くなります。

なぜinfo GANが有効なのでしょうか? 直観的に理解すると、c の各次元が出力に明確な影響を与える場合、分類器は x に従って元の c を返すことができるということです。c が出力に目立った影響を与えない場合、分類子は元の c を返すことができません。以下はinfo GANの結果です。カテゴリ変数を変更すると異なる数値が生成され、連続変数を変更すると傾きとストロークの太さが変更されます。

図 8 InfoGAN の結果

4.1.2 条件付き GAN (cGAN)

弁別器と生成器の両方が何らかの追加情報に依存する場合、GAN は条件付きモデルに拡張できます。条件付き GAN の目的関数は次のとおりです。

min ⁡ G max ⁡ DV ( D , G ) = E x 〜 pdata ( x ) [ log ⁡ D ( x ∣ y ) ] + E z 〜 pz ( z ) [ log ⁡ ( 1 − D ( G ( z ∣ y ) ) ) ) ] {\min _G}{\max _D}V(D,G) = {E_{x \sim {p_{data}}(x)}}[\log D(x|y)] + { E_{z \sim {p_z}(z)}}[\log (1 - D(G(z|y)))]GDマックスV ( D G )=Ex pダタ_ _ _( x )[ログ_D ( x y )]+Ez pz( z )[ログ( 1 _D ( G ( z y )))]

InfoGAN のジェネレーターは CGAN のジェネレーターと似ていることがわかります。ただし、InfoGAN の潜在的なエンコーディングは不明であり、トレーニングを通じて発見されます。さらに、InfoGAN には追加のネットワーク Qto 出力条件変数 $Q(c|x)$ があります。

CGAN に基づいて、クラス ラベル、テキスト、境界ボックス、キーポイントに関するサンプル条件を生成できます。スタック型敵対的生成ネットワーク (SGAN) を使用した、テキストからフォトリアリスティックな画像への合成。CGAN は、畳み込み顔の生成、顔の老化、画像変換、特定のシーン属性を持つ屋外画像の合成、自然な画像の記述、および 3D 対応のシーン操作に使用されています。Chrysos らは、ロバストな CGAN を提案しました。Kumparampil らは、ノイズの多いラベルに対する条件付き GAN の堅牢性について議論しています。条件付きサイクル ルートは、サイクルの一貫性を備えた CGAN を使用します。モード探索 GAN (MSGAN) は、CGAN のモード崩壊の問題に対処するための、シンプルだが効果的な正則化項を提案しています。

元のソース [3] で識別子をトレーニングして、正しいソースへの割り当ての対数尤度を最大化します。

L = E [log ⁡ P ( S = 実数 ∣ X 実数 ) ] + E [ log ⁡ ( P ( S = 偽 ∣ X 偽 ) ) ] L = E[\log P(S = 実数|{X_{実数}} })] + E[\log (P(S = fake|{X_{fake}}))]L=E [ログ_P ( S=現実X _ _本当に_ _)]+E [ログ( P ( S _=フェイクX _ _ファック_ _))]

補助分類器 GAN (AC-GAN) の目的関数には、正しいソースの対数尤度 LS と正しいクラス ラベルの対数尤度 LC の 2 つの部分があります。

L c = E [log ⁡ P ( C = c X real ) ] + E [ log ⁡ ( P ( C = c ∣ X fake ) ) ] {L_c} = E[\log P(C = c{X_{real }})] + E[\log (P(C = c|{X_{fake}}))]Lc=E [ログ_P ( C=cX _本当に_ _)]+E [ログ( P ( C _=c Xファック_ _))]

図 9 cGAN 結果の模式図

pix2pix の図: 条件付き GAN をトレーニングしてグレースケールをマッピング → カラー弁別器は、真のグレースケール、カラー タプル、および偽のグレースケール (ジェネレーターによって合成された) を分類することを学習します。ジェネレーターとディスクリミネーターの両方が入力グレースケール画像を観察するオリジナルの GAN とは異なり、pix2pix ジェネレーターにはノイズの多い入力がありません。

図 10 ジェネレータとディスクリミネータの概略図

ネットワーク全体の構造は上の図に示されています。ここで、z は生成ネットワークのランダム入力、y は条件、x は実際のサンプルです。トレーニング プロセスは依然として GAN と同様で、最初にディスクリミネーターをトレーニングし、次にジェネレーターをトレーニングし、クロスします。ディスクリミネーターが実際のサンプルと生成されたサンプルを区別できなくなるまで、交互に続行します。トレーニング プロセスの違いは、識別子 D が次の 3 つのタイプを区別する必要があることです。

  1. 条件とその条件に一致する実際の画像。期待される出力は 1 です。

  2. 条件と条件に一致しない実際の画像の場合、期待される出力は 0 です。

  3. 条件付き生成ネットワークによって生成された出力。期待される出力は 0 です。

    cGAN の論文では、MNIST データセットがテストされました。このテストでは、追加された条件は各画像のラベルです。つまり、ジェネレータ G の入力は、ランダム ベクトルと、生成されるピクチャの対応するラベルです。識別器Dの入力は、実際の画像、実際の画像に対応するラベル、および生成された画像である。以下の写真は生成された写真の一部です

図11 cGAN生成結果の模式図

GAN をトレーニングする場合、数字 0 の画像のみが実際のサンプルとして GAN トレーニングに入力されます。GAN は、数字の画像 (数字の 0 の画像など) を生成し、それに対応するすべての画像を生成できます。 0-9、10 個の異なる GAN をトレーニングする必要がありますが、条件、つまり各画像サンプルに対応するラベルを追加するとき、10 個のデジタル サンプルと対応するラベルをこのネットワークに同時に入れることができ、 GAN ネットワークは 0 ~ 9 の 10 個の数字の画像を生成します

4.1.3 サイクルGAN

CycleGAN は本質的に、リング ネットワークを形成する 2 つの鏡像対称 GAN です。2 つの GAN は 2 つのジェネレーターを共有し、それぞれにディスクリミネーターが 1 つあります。つまり、2 つのディスクリミネーターと 2 つのジェネレーターがあります。一方向 GAN には 2 つの損失があり、合計で 2 つまたは 4 つの損失があります。

図 12 サイクル整合性の損失

この論文では、最終的に平均二乗誤差損失を使用して以下を表現しています。

LLSGAN ( G , DY , X , Y ) = E y 〜 pdata ( y ) [ ( DY ( y ) − 1 ) 2 ] + E x 〜 pdata ( x ) [ ( 1 − DY ( G ( x ) ) ) 2 ] {L_{LSGAN}}(G,{D_Y},X,Y) = { { \rm E}_{y \sim {p_{data}}(y)}}[{({D_Y}(y) - 1)^2}] + { {\rm E}_{x \sim {p_{data}}(x)}}[{(1 - {D_Y}(G(x)))^2}]LLSGAN _ _ _( G D× =Ey pダタ_ _ _( y )[ ( D( y )1 )2 ]+Ex pダタ_ _ _( x )[ ( 1D( G ( x )) )2 ]

CycleGAN のネットワーク アーキテクチャを図に示します。

図13 CycleGANの構造の模式図

Pixel2Pixel と比較した CycleGAN の典型的な利点は、ペアリングなしで 2 つの画像セットのトレーニングを達成できることです。ただし、入力画像と生成画像の間に意味のある関係があること、つまり入力と出力がいくつかの特徴を共有していることを確認するために、トレーニングを通じてこのマップを作成する必要があります。

簡単に説明すると、このモデルはドメイン DA から入力画像を取得することによって機能し、入力画像が最初のジェネレーター GeneratorA→B に渡されます。GeneratorA→B のタスクは、指定された画像をドメイン DA からターゲット ドメイン DB の画像に変換することです。次に、この新しく生成された画像は、別のジェネレーター GeneratorB→A に渡されます。そのタスクは、元のドメイン DA 内の画像 CyclicA に変換して戻すことです。これは、ここでのオートエンコーダーと比較できます。ペアになっていないデータセットには元々存在しなかった意味のあるマッピングを定義するには、この出力画像は元の入力画像に似ている必要があります。

4.2 GAN のトレーニング戦略

理論的には独自のソリューションが存在しますが、GAN はトレーニングが難しく、多くの理由で不安定になることがよくあります。1 つの問題は、GAN の最適な重みが最小値ではなく、損失関数の鞍点に対応することです。特定のモデルのトレーニングについては、ここを参照してください

GAN のトレーニングに関する論文は数多くあります。Yadav らは、予測手法を使用して GAN を安定化しました。独立した学習率を使用することにより、モデルが安定した局所ナッシュ均衡に確実に収束できるように、識別器と生成器に対して 2 つのタイムスケール更新ルール (TTUR) が提案されます。アルジョフスキーは、GAN のトレーニングを完全に理解するために多くの理論的研究を行い、GAN のトレーニングが難しい理由を分析し、トレーニングにおける飽和と不安定性の問題を厳密に研究および実証し、これらの問題を軽減するための実践的および理論的方向性を研究しました。 . そして新しい研究ツールを導入します。Liangらは、GANのトレーニングは継続的な学習の問題であると考えている。GAN のトレーニングを改善する 1 つの方法は、トレーニング中に発生する可能性のある経験的な「症状」を評価することです。これらの症状には、生成モデルのクラッシュ、異なる入力に対して非常に類似したサンプルの生成、弁別器の損失がすぐにゼロに収束し、生成器に勾配更新が提供されない、モデルの収束が困難などが含まれます。

4.2.1 入力と出力に基づいた改良された GAN モデル

入出力による改善とは、主にGの入力とDの出力による改善を指します。GAN の基本モデルでは、G の入力は隠れ空間の確率変数であるため、その改善は主に隠れ空間と隠れ変数の 2 点から行われます。潜在変数を改善する目的は、生成されたサンプルの詳細をより適切に制御できるようにすることであり、潜在空間を改善する目的は、さまざまな生成モードをより適切に区別することです。D によって出力される判別結果は真偽分類であり、目的関数で多分類に調整したり、ニューラル ネットワークのソフトマックス層を削除して特徴ベクトルを直接出力したりすることで、トレーニング プロセスを最適化し、半分類を実現できます。教師あり学習やその他の効果。

BiCoGAN モデルの支持者は、MIRZA によって提案されたモデルの入力 z と c が互いに絡み合っていると考えているため、識別器の出力から 2 つの入力への逆マッピングを学習するエンコーダー (E で示される) が追加されます。ジェネレーターの入力。より正確な c をエンコードして、モデルのパフォーマンスを向上させます。図 14 に示すように、z と c の連結 ( ^ z と表記) がジェネレータに入力されて出力 G(^z) が取得され、実サンプル x がエンコーダに入力されて出力 E(x) が取得されます。弁別器は G [(^z ) , ˆz] または [x, E(x)] を入力として受け取り、その入力はジェネレーターまたは実データのクラスからのものであると判断されます。実際のサンプル x のラベルは c と見なすことができ、E(x) は z' と c' に分割できるため、c と c' を可能な限り近づけることもモデル トレーニングの目標です。エンコーダ 逆マッピングについて学びます。この論文では、EFL (外部要因損失) を使用して 2 つの分布 pc と pc' の間の距離を測定することを提案し、式 (6) に示すような目的関数を提案します。

図 14 BiCoGAN モデル

IcGAN (可逆条件付き GAN) は MIRZA のモデルに基づいており、2 つの事前トレーニングされたエンコーダー E z と E y を追加します。E z は潜在空間での確率変数 z の生成に使用され、E y は潜在空間での確率変数 z の生成に使用されます。元の条件 y を cGAN の入力条件として y を y' に変更して、合成画像の詳細を制御します(図 15 を参照)。この記事では、y' を取得するために分布からサンプリングする 3 つの方法を提案しています: y がバイナリ ベクトルの場合、KDE ​​(カーネル密度推定) を使用して分布とサンプルを適合させることができます; y が実数ベクトルの場合、トレーニング セットは次のようになります。選択されたラベル ベクトルは直接補間されます。条件がすべてのトレーニング セットで一意でない場合、p データを直接サンプリングできます。

図 15 IcGAN モデル

DeLiGAN は、トレーニング データが小さく、種類が多いシナリオに適しています。DeliGANモデル図 16 に示します。Gurumurthy らは、GMM (混合ガウス モデル) を使用して隠れ空間をパラメータ化し、その後、再パラメータ化のためにガウス成分をランダムに選択し、指定されたガウス分布からサンプルを取得することを提案しましたが、このモデルは単純化された仮定として GMM を使用しているため、制限が生じます。より複雑な分布を近似する機能。

図 16 DeLiGAN モデル

NEMGAN (ノイズ エンジニアリング モード マッチング GAN) の提唱者は、トレーニング セット内のデータの不均衡の場合にパフォーマンスを向上させるパターン マッチング戦略を提案しました。生成されたサンプルによると、潜在空間内の対応する表現は、潜在的なデータを取得するためにトレーニングされます。事前分布では、生成されたサンプルの複数のモードが分離され、それらが実際のサンプルのモードと一致し、生成されたサンプルに複数の実サンプルのモードが確実に含まれるようになり、モード崩壊の問題が軽減されます。

FCGAN (完全条件付き GAN) は MIRZA のモデルに基づいており、追加情報 c をニューラル ネットワークの各層に接続します。これにより、条件付きでサンプルを生成する際に、生成されるサンプルの品質がある程度向上しますが、モデルはより複雑ですin c または ベクトルが大きいシーンでは計算効率が低くなります。

SGAN (半教師あり学習 GAN) は、データセットのラベル情報を再構成できる半教師ありモデルであり、そのモデル図 17 に示します。D を分類器と識別器の組み合わせに改良し、D の出力には N 種類の実サンプルと 1 種類の生成サンプルの合計 N+1 種類が含まれます。ラベルのないサンプルがモデルに入力され、弁別器がそれを実際のサンプルとして分類すると、弁別器の出力をサンプルのラベルとして使用できます。

図 17 SGAN モデル

AC-GAN(補助分類器GAN)は、MIRZAモデルとODENAモデルの両方の特徴を持ち、Gは確率変数と分類情報cを入力し、Dは誤ったサンプルと分類確率を出力するという手法で、次のような場合にサンプルを出力・生成することができます。生成される条件 サンプルが属するカテゴリ。

4.2.2 ジェネレーターに基づいた改良された GAN モデル

ジェネレーターに基づく改善された作業は、生成されるサンプルの品質を向上させ、モデルの崩壊の問題を回避することを目的としているため、モデルは複数のタイプのサンプルを生成でき、同じタイプ内のサンプルは多様です。改善のためのアイデアとしては、アンサンブル学習のアイデアを使用して複数の弱いジェネレーターによって学習されたパターンを合成すること、特定のパターンの学習に重点を置くように各ジェネレーターを設計すること、マルチジェネレーター アーキテクチャーを使用して、モデル全体に​​複数のパターンが含まれるようにすることなどがあります。マルチエージェント システムの考え方により、複数のジェネレータ間で競争と協力が行われます。

AdaGAN モデルの提唱者は、アンサンブル学習の考え方を組み込んだ反復トレーニング アルゴリズムを提案しました。シングルステップ反復プロセスでは、トレーニング サンプルと混合重みに従って弱いジェネレーターが取得され、弱いジェネレーターは重み付けされ、前の反復ラウンドで取得された弱いジェネレーターと混合されて、この反復の結果が得られます。数ラウンドの反復の後、ジェネレーターは複数の弱いジェネレーターによって学習されたモードを合成します。これにより、モードの欠如によって引き起こされるモード崩壊の問題が軽減され、より高品質のサンプルを生成できます。ただし、複数の生成ネットワークを混合すると、入力潜在空間が不連続になり、基本的な GAN モデルのように補間によって新しい隠れ変数を取得できなくなります。

MADGAN (マルチエージェント ダイバーシティ GAN) は複数のジェネレーターとディスクリミネーターで構成され、そのモデルを図 16 に示します。このうち、ディスクリミネータは、入力されたサンプルが本物のサンプルであるか生成されたサンプルであるかを判断する役割を担っており、生成されたサンプルである場合には、どのジェネレータによって生成されたかを判断する。各ジェネレーターは特定のパターンの学習に重点を置き、モデルにより複数のジェネレーターが独立して学習できるようになり、モデルの最終的に生成されたサンプルは、異なるパターンを学習した複数のジェネレーターから取得されます。これにより、生成されたサンプルの多様性が明示的に保証され、パターン クラッシュの問題が軽減されます。 。

図 18 MADGAN モデル

モード崩壊問題を軽減するという MGAN の考え方は HOANG らの考え方と似ており、そのモデル図 9 に示します。このモデルは、識別器の重みを共有しますが、生成されたサンプルが属するジェネレーターを判断するために使用されるソフトマックス層を削除した分類器を設計します。識別器は、サンプルが実際のサンプルであるか生成されたサンプルであるかを区別することのみを担当します。

図 19 MGAN モデル

MPMGAN (メッセージ パッシング マルチエージェント GAN) モデルは、メッセージ パッシング メカニズムを導入したマルチジェネレーターであり、ジェネレーターの出力は他のジェネレーターに渡されるメッセージとして使用されます。メッセージ共有メカニズムの作用により、すべてのジェネレーターは協力目標と競争目標の 2 種類の目標を持ちます。協調的目標は、他のジェネレータが生成したサンプルが自身のジェネレータよりも優れていることを奨励し、競争的目標は、自身が生成したサンプルが他のジェネレータのサンプルよりも優れていることを奨励します。両方の目的が連携して、生成されるサンプルの品質を最適化します。

図 20 MPMGAN モデル

4.2.3 弁別器に基づいた改良された GAN モデル

GAN モデルのトレーニング プロセス中、最初に生成されるサンプルの品質は低く、ディスクリミネーターはサンプルを簡単に区別できるため、ジェネレーターの初期トレーニング速度が遅くなります。ジェネレーターの現在の機能に合わせてディスクリミネーターを改善すると、トレーニングの速度が向上し、複数のパターンを認識できるようにすることでモード崩壊の問題を軽減できます。改善のアイデアとしては、1 つのディスクリミネーターでより多くのパターンを認識できるようにすることや、複数のディスクリミネーターのそれぞれが特定のパターンの認識に集中できるようにすることが含まれます。

PacGANモデルを図 21 に示します。PacGAN は、同じクラスの複数のサンプルを「パッケージ化」し、それらを一緒にディスクリミネーターに入力して、ディスクリミネーターによって入力されるサンプルが毎回多様になるようにします。弁別器は入力を受け入れるたびにサンプルの多様性を認識できるため、生成器が弁別器を欺こうとするときは、生成されるサンプルの多様性を保証する必要があり、これはモード崩壊の問題を軽減するのに役立ちます。

図 21 PacGAN モデル

GMAN (Generative multi-adversarial network-works) モデルの提案者は、識別器を改善しすぎると目的関数が厳しくなり、生成器の学習が阻害されると考え、アンサンブル学習を組み合わせる方法を提案しています。複数の識別器を設定することで、ジェネレーターは複数の識別器の集計結果から学習し、ネットワークの収束を加速します。GMANモデルを図 22 に示します。

図 22 GMAN モデル

DropoutGAN は一連の識別子を設定し、サンプルトレーニングの各バッチの終了時に、結果が一定の確率で削除され、残りの結果が集計されてジェネレーターにフィードバックされるため、ジェネレーターは不正行為に限定されません。特定の識別子。DropoutGAN モデルの支持者は、モード崩壊の問題は、特定の弁別器または静的統合弁別器に対するジェネレーターの過剰適合であると考えています。つまり、ジェネレーターは、サンプルを学習する代わりに、弁別器が真の値を出力する特別な条件を学習します。の構造では、識別器のセットは動的に変化しており、ジェネレータは識別器を欺くための特別な条件を学習することができないため、ジェネレータはさまざまなサンプル パターンを学習でき、モードの問題を軽減するのに役立ちます。崩壊。DropoutGANモデルを図 23 に示します。

図 23 DropoutGAN モデル

D2GAN (デュアルディスクリミネーター GAN) は、順方向 KL 発散と逆方向 KL 発散をそれぞれ使用して 2 つのディスクリミネーター D 1 と D 2 を設定し、2 つの相補的な統計的特性を最大限に活用します。このうち、D 1 はサンプルが実際のサンプル分布からのものであると正しく判断することで報酬を獲得し、D 2 はサンプルが生成されたサンプル分布からのものであると正しく判断することで報酬を獲得します。ジェネレーターは両方のディスクリミネーターを同時に騙して、生成されるサンプルの品質を向上させます。D2GANモデルを図 24 に示します。

図 24 D2GAN モデル

StabilizingGAN モデルの支持者は、実際のサンプルは空間に集中しているのに対し、生成されたサンプルは最初は空間に分散しているため、識別器はトレーニングの初期段階で生成されたほぼすべてのサンプルを正確に判断できると考えています。無効な勾配では、ジェネレーターのトレーニングが遅くなります。そこで彼らは、視野角が制限された一連の識別器を同時にトレーニングすることを提案しています。各識別器は空間内の投影の一部に焦点を当て、生成器はすべての識別器の制約を徐々に満たしてトレーニングを安定させ、品質を向上させます。生成されたサンプル。

EBGAN (エネルギーベースの GAN) モデル(図 25 に示すように) では、エネルギー関数法が導入されており、物事の差が大きいほどエネルギーが高くなるため、実際の分布に近いサンプルのエネルギーは低くなります。その研究者らは、生成されたサンプルと実際のサンプルの間の差をエネルギー関数として測定するために MSE (平均二乗誤差) を使用する、エンコーダーとデコーダーで構成される弁別器を設計しました。生成器の目標は、生成されたサンプルを生成することです。エネルギーを最小限に抑えます。BEGAN (境界平衡 GAN) は、ZHAO らによって提案されたモデルの弁別器をオートエンコーダーで置き換えます。

図 25 EBGAN モデル

4.2.4 マルチモジュールの組み合わせに基づいた改良された GAN モデル

実際のサンプル分布をより良く適合させることに加えて、ネットワークの収束速度の向上、生成された画像の明瞭さの向上、および半教師あり学習への適用も、GAN モデルを改善する方向性です。このタイプの研究作業では、モデルが特定の目的を達成できるように、モジュール構造を調整し、さまざまな影響要因を最適化します。

GRAN (Generative Recurrent Adversarial Networks) は、前の状態に条件付けされた出力を繰り返し生成し、最終的に人間の直感により近い生成サンプルを取得する再帰的生成モデルです。

StackGAN は、MIRZA モデルに基づいて 2 段階のモデルを構築します(図 26 を参照)。テキストによる説明を追加情報として使用し、ステージ 1 で低解像度の画像を生成してステージ 2 に出力し、ステージ 2 で高解像度の画像を出力することで、生成される画像の解像度を高めます。

図 26 StackGAN モデル

ProgressGAN モデルの支持者は、小規模な画像であれば細部を失うことなく多様性を確保できると考えており、複数の徐々に増加する WGAN-GP ネットワークを使用して徐々にトレーニングし、最終的に高解像度の画像を生成します。

TripleGAN は分類子ネットワークを追加することで実際のサンプルのラベルを生成し、ジェネレーターは実際のラベルのサンプルを生成し、識別器は受信したサンプル ラベルのペアが実際のラベルを持つ実際のサンプルであるかどうかを判断します。これにより、より優れた分類子とジェネレーターを同時にトレーニングすることができます。ラベルのないサンプルにラベルを付ける GAN の機能。TripleGANモデルを図 27 に示します。

図 27 TripleGAN モデル

ControlGAN モデルの支持者は、MIRZA モデルの識別器が実際のサンプルの分類と真と偽のサンプルの識別という 2 つのタスクを同時に担当すると考えているため、独立した分類器と識別器に分割され、生成時に条件付きサンプル 生成されたサンプルの特性をきめ細かく制御します。ControlGANモデルを図 28 に示します。

図 28 ControlGAN モデル

SGAN (複数のローカル ペア GAN) は、複数のローカル ネットワーク ペアのセットとグローバル ネットワーク ペアのセットを使用し、ネットワーク ペアの各セットにはジェネレーターとディスクリミネーターがあります。ローカル ネットワーク ペアは、固定ペア ネットワークを使用してトレーニングされます。異なるローカル ネットワーク ペア間では情報のやり取りはなく、グローバル ネットワークはローカル ネットワークを使用してトレーニングされます。各ローカル ネットワーク ペアはパターンを学習できるため、ローカル ネットワーク ペアを使用してグローバル ネットワーク ペアを更新した後、グローバル ネットワーク ペアが複数のパターンを確実に合成できるため、モード崩壊の問題が軽減されます。SGANモデルを図 29 に示します。

図 29 SGAN モデル

MemoryGAN モデルの提案者は、隠れ空間は連続的な分布を持つが、さまざまな種類の構造には不連続性があると考えているため、ジェネレータとディスクリミネータがアクセスするネットワークにストレージ ネットワークが追加され、ジェネレータとディスクリミネータがアクセスできるようになります。 discriminator は、この問題を最適化するためにデータの集計とクラスの分散を学習します。

4.2.5 モデルクロスオーバーの考え方に基づいて改良されたGANモデル

他の生成モデルのアイデアと他のドメインのアイデアを組み合わせて GAN モデルを改善すると、モデルのパフォーマンスを最適化したり、モデルのアプリケーション シナリオを拡張したりすることもできます。

DCGAN は、基本 GAN モデルの多層パーセプトロンを、プーリング層を削除する CNN (畳み込みニューラル ネットワーク) に置き換え(図 30 を参照)、完全接続層の代わりにグローバル プーリング層を使用して、データ量を削減します。計算と生成の改善 サンプルの品質により、不安定なトレーニングの問題が最適化されます。

図 30 DCGAN モデルの CNN

CapsuleGAN は、ディスクリミネーターのフレームワークとしてカプセル ネットワークを使用します(図 31 を参照)。カプセル ネットワークは、ノード出力を値からベクトルに変換するためにニューロンを置き換えるために使用できます。ニューロンは特定のパターンを検出するために使用され、カプセル ネットワークは特定のタイプのパターンを検出して、弁別器の一般化能力を向上させることができます。生成されたサンプルの品質を向上させるため。

図 31 CapsuleGAN の基本原理

VAEGAN は GAN を使用して、VAE によって生成されたサンプルの品質を向上させます。その考え方は、VAE では、エンコーダーが実分布を潜在空間にエンコードし、デコーダーが潜在空間を実分布に復元するというものです。デコーダだけを生成モデルとして使用することもできますが、生成されたサンプルの品質が低いため、ディスクリミネータに入力されます。

DEGAN (デコーダエンコーダ GAN) モデルの提案者は、入力確率変数がガウス分布に従うと考えているため、生成器はガウス分布全体を画像にマッピングする必要があり、実際のサンプル分布を反映することはできません。したがって、VAE のアイデアを利用して、事前トレーニングされたエンコーダーとデコーダーを GAN に追加し、確率変数を実際のサンプル分布情報を含む変数にマッピングしてから GAN に渡すことで、収束を加速し、生成品質を向上させます。

AAE (adversarial auto-encoder) は、AE (auto-encoder) の隠れ層での対決のアイデアを追加することにより、AE と GAN を組み合わせたものです。ディスクリミネーターは、データが隠れ層から来たのか、実際のサンプルから来たのかを判断することにより、エンコーダーの分布を実際のサンプルの分布に近づけます。

BiGAN は、エンコーダーを使用して実際のサンプルの特徴を抽出し、デコーダーを使用してジェネレーターを模倣し、ディスクリミネーターを使用して特徴サンプルのペアをエンコーダーまたはデコーダーから区別し、最終的にエンコード方法とデコード方法を近づけます。ランダム変数が実際のデータにマッピングされること。ALi と BiGAN は本質的に同じですが、わずかな違いがあります。BiGANモデルを図 32 に示します。

図 32 BiGAN モデル

MatAN (敵対的マッチング ネットワーク) は、ジェネレーターの目的関数で正しいラベルを考慮するために、識別子をシャム ネットワークに置き換えます。シャム ネットワークは、実際のデータと生成されたデータの類似性を測定するために使用されます。この方法は、ジェネレータのトレーニングを高速化するのに効果的です。

SAGAN (セルフアテンション GAN) モデルの提唱者は、GAN は合成構造上の制約が少ない型でより優れたパフォーマンスを発揮しますが、複雑なパターンを捕捉するのが難しいと考えており、この問題はネットワークにセルフアテンション メカニズムを導入することで解決されます。

KDGAN は、KD (知識蒸留) のアイデアを使用しています。モデルには、生徒ネットワークとして軽量な分類器、大規模で複雑な教師ネットワーク、および識別器が含まれています。そのうち、分類器と教師ネットワークの両方がラベルを生成し、この 2 つは相互蒸留出力を通じて相互に学習し、知識を獲得し、最終的にはパフォーマンスの優れた軽量の分類器をトレーニングすることができます。

IRGAN は、GAN を使用して、IR (情報検索) 分野の生成検索モデルと判別検索モデルを組み合わせ、ポリシー勾配に基づいた強化学習でジェネレーターをトレーニングして、一般的な情報検索タスクでより良い結果を達成します。 . 良いパフォーマンス。IRGANモデルを図 33 に示します。

図 33 IRGAN モデル

LapGAN は画像処理分野のアイデアを使用し、3 つのグループの cGAN を同時に使用して、ガウス ピラミッド パターンに従って段階的に画像をダウンサンプリングしてネットワークをトレーニングし、次に従って段階的に画像をアップサンプリングします。ぼやけた画像を実現するためのラプラシアン ピラミッド パターン。媒体内の高解像度画像を再構成する目的。

QuGAN は GAN の考え方と量子コンピューティングの考え方を組み合わせたもので、ジェネレータは生成回路に、ディスクリミネータは識別回路に相当します。生成された回路は実際の回路の波動関数を可能な限り模倣し、識別回路は補助ビットによってのみ測定され、入力波動関数が生成されたラインからのものであるか実際のラインからのものであるかを決定します。

BayesianGAN モデルの作成者は、GAN の暗黙的な学習分布を明示的にモデル化することは難しいと考えているため、確率的勾配ハミルトニアン モンテカルロ法を使用して 2 つのニューラル ネットワークの重みを周辺化して、データ表現が解釈可能になるようにすることを提案しています。 。

5. GANの応用

GAN は、ランダム ベクトルを使用して現実的なサンプルを生成できる強力な生成モデルです。実際のデータの正確な分布を知る必要も、数学的な仮定を行う必要もありません。これらの利点により、GAN は画像処理、コンピュータ ビジョン、シーケンス データなどの分野で広く使用されています。上の図は、画像の超解像度、画像の合成と処理、テクスチャ合成、ターゲット検出、ビデオ合成、オーディオ合成、マルチモーダル変換などを含む、GAN の実際のアプリケーション シナリオに基づいてさまざまな GAN を分類しています。

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

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

5.1.1 超解像 (SR)

画像超解像技術は、主に低解像度の画像を歪みなく高解像度の画像に変換するという問題を解決するものであり、精度と速度の面で優れた性能を維持する必要があるほか、医療などの問題も解決できます。診断、ビデオ監視、衛星リモートセンシングなどのシナリオにおける一部の業界の問題点については、このテクノロジーの適用によって生み出される実際の社会的価値は計り知れません。深層学習に基づく画像超解像技術は、教師あり、教師なし、特定応用分野の3種類に分類できます。SR-GAN モデルは、生成器をパラメータ化された残差ネットワークに置き換え、弁別器は VGG ネットワークを使用します。その損失関数は、コンテンツ損失と対立損失の重み付けされた組み合わせです。深層畳み込みネットワークなどの他のモデルと比較して、超解像度は、精度 速度と速度が向上し、画像テクスチャの詳細の学習と表現がより優れているため、超解像度の分野で良い結果を達成しました。

5.1.2 画像の合成と処理

人間の顔

  • ポーズ相関: ポーズ不変の顔認識のために、解絡表現学習 GAN (DR-GAN) が提案されています。Huangらは、局所的な詳細と全体的な構造を同時に認識することにより、写真のようにリアルな正面図を合成するための2パスGAN(TP-GAN)を提案しています。Maらは、新しいポーズと人物の画像に基づいて任意のポーズの人物の画像を合成する、新しいポーズガイド付き人物生成ネットワーク(PG2)を提案している。Cao らは、GAN ベースの高解像度の顔の前面化のための高忠実度ポーズ不変モデルを提案しました。Siarohin et al.は、ポーズベースの人間の画像生成のための変形可能な人間の器官を提案しています。カスタム メイクアップ転送のためのポーズロバストな SpatialWare GAN (PSGAN) が提案されています。
  • ポートレート関連: APDrawingGAN は、階層的な Gan を使用して顔写真から芸術的なポートレートを生成することを提案しています。APDrawingGAN には WeChat ベースのソフトウェアが搭載されています。GAN は、顔属性の変更やポートレート編集など、他の顔関連アプリケーションでも使用されます。
  • 顔の生成: GAN によって生成される顔の品質は年々向上しています。これについては、Sebastian Nowozin の GAN 講義資料 1 に記載されています。生の GAN に基づいて生成された顔は視覚的な品質が低く、概念実証としてのみ使用できます。Radford らは、より優れたニューラル ネットワーク構造、つまり顔を生成するための深層畳み込みニューラル ネットワークを使用しました。RothらはGANトレーニングの不安定性に対処し、ResNetなどのより大規模なアーキテクチャの使用を可能にしている。Karras らは、マルチスケール トレーニングを利用して、忠実度の高いメガピクセルの顔画像を生成します。顔によって生成される各オブジェクトは顔であり、ほとんどの顔データセットはカメラを直接見ている人物で構成される傾向があるため、比較的単純です。

一般的な目標

ImageNet には 1000 の異なるオブジェクト クラスがあり、それらの画像の品質は年々向上しているため、GAN を ImageNet のような分類データセットで動作させるのは少し困難です。

ほとんどの論文は GAN を使用して 2 次元画像を合成していますが、Wu らは GAN とボリュームコンボリューションを使用して 3 次元 (3-D) サンプルを合成しています。Wuらは、車、椅子、ソファ、テーブルなどの斬新な物体を合成した。Im らは、再帰的敵対的ネットワークを利用して画像を生成しています。Yangらは、画像生成のための階層化リカレントGAN(LR-GAN)を提案している。

画像修復

画像補完は、画像の欠けている部分や隠れている部分を埋めることを目的とした伝統的な画像修復処理タスクであり、現在の生産環境や生活環境で広く使用されています。ほとんどの補完方法は、低レベルのキューに基づいており、画像の隣接領域で小さなパッチを見つけて、そのパッチに似た合成コンテンツを作成します。この原理を利用して、Wang Haiyongらは部分オクルージョン下での高い認識効率での表情認識を実現した。合成用の補完ブロックを検索する既存のモデルとは異なり、関連する研究文献で提案されているモデルは、CNN に基づいて欠落領域のコンテンツを生成します。このアルゴリズムは、再構築損失関数、2 つの敵対的損失関数、およびセマンティック解析損失関数を使用してトレーニングされ、ピクセル品質とローカル/グローバル コンテンツの安定性を保証します。

人間と画像生成プロセスの間のインタラクション

人間と画像生成プロセスとの相互作用を伴うアプリケーションは数多くあります。リアルな画像操作は、画像をリアルに見せながらユーザー制御の方法で画像を変更する必要があるため、困難です。ユーザーが効果的な芸術的スキルを持っていない場合、編集時にさまざまな自然画像から逸脱しやすくなります。インタラクティブ GAN (IGAN) は、画像編集操作のクラスを定義し、その出力が常に学習された多様体上にあるように制約します。

5.1.3 テクスチャ合成

テクスチャ合成は、画像分野における古典的な問題です。マルコヴィアン GAN (MGAN) は、GAN に基づくテクスチャ合成手法です。マルコヴィアン パッチのテクスチャ データをキャプチャすることで、MGAN は様式化されたビデオや画像を迅速に生成し、リアルタイムのテクスチャ合成を可能にします。Spatial GAN (SGAN) は、完全教師なし学習による GAN をテクスチャ合成に初めて適用したものです。周期的空間 GAN (PSGAN) は、単一の画像または複雑な大規模なデータセットから周期的テクスチャを学習できる SGAN の変種です。

5.1.4 物体の検出

変形や遮蔽に対して不変な物体検出器をどのように学習すればよいでしょうか? 1 つのアプローチは、データ駆動型戦略を使用することです。つまり、さまざまな条件下でオブジェクトの例を含む大規模なデータセットを収集します。最終的な分類子がこれらの例を使用して不変性を学習できるようにしたいと考えています。データセット内のすべての変形とオクルージョンを表示することはできますか? 一部の変形や閉塞は非常にまれであるため、実際にはほとんど発生しませんが、この場合に不変な方法を学習したいと考えています。Wang らは GAN を使用して、変形とオクルージョンを備えたインスタンスを生成しています。攻撃者の目標は、オブジェクト検出器が分類するのが難しいインスタンスを生成することです。Segan は、カッターと GAN を使用して、画像内で他のオブジェクトによって遮られているオブジェクトを検出します。小さなオブジェクトの検出問題を解決するために、Li らは知覚 GAN を提案し、Bai らはエンドツーエンドのマルチタスク GAN (MTGAN) を提案しました。

5.1.5 ビデオ

Villegas らは、GAN を使用して自然ビデオ シーケンス内の将来のフレームを予測するためのディープ ニューラル ネットワークを提案しています。Denton と Birodkar は、GAN に基づいてビデオからもつれのない画像表現を学習する、Disentangled Representation Network (DRNET) という名前の新しいモデルを提案しました。関連する研究文献では、敵対的生成学習の枠組みに基づいた新しいビデオ間合成方法 (video2video) が提案されています。MoCoGan は、モーションとコンテンツを分解してビデオを生成することを提案します。GAN は、ビデオ予測やビデオ リターゲティングなどの他のビデオ アプリケーションでも使用されています。

ビデオはフレームごとに分解することで複数の画像の組み合わせとして理解できるため、GAN で生成された画像に基づいてビデオの生成と予測が実現されます。一般に、ビデオは比較的静的な背景色と動的なオブジェクトの動きで構成されます。VGAN はこれを考慮し、2 ストリーム ジェネレーターを使用して 3D CNN の移動前景ジェネレーターで次のフレームを予測し、2D CNN の静的な背景生成を使用して次のフレームを予測します。背景を静止させます。Pose-GAN は、VAE と GAN のハイブリッド方式を採用しており、VAE 方式を使用して、現在のオブジェクトのポーズと過去のポーズの隠蔽表現で将来のオブジェクトの動きを推定します。

ビデオベースの GAN では、空間モデリングだけでなく、時間モデリング、つまりビデオ シーケンス内の隣接する各フレーム間の動きも考慮する必要があります。MoCoGAN は、画像の潜在空間をコンテンツ空間とモーション空間に分割する教師なしの方法でモーションとコンテンツを学習することが提案されています。DVD-GAN は、スケーラブルなビデオ固有のジェネレーターおよびディスクリミネーター アーキテクチャを導入しながら、BigGAN アーキテクチャに基づいて、より長く高解像度のビデオを生成できます。

5.1.6 その他の画像および視覚アプリケーション

GAN は、オブジェクトの変形、セマンティック セグメンテーション、視覚的顕著性の予測、オブジェクトの追跡、画像の整理、自然な画像のマット化、画像の修復、画像の融合、画像の補完、画像の分類など、他の画像処理やコンピューター ビジョンのタスクでも使用されています。

5.2 時系列データ

GAN は、自然言語、音楽、音声、音声、時系列などの逐次データでも成功を収めています。

5.2.1 自然言語処理

画像に対する GAN のパフォーマンスにより、多くの研究者がテキスト生成の分野で GAN に基づくいくつかのモデルを提案するようになりました。SeqGANと強化学習を組み合わせることで、一般的なGANモデルが離散系列を生成できないことを回避し、離散データ生成時にモデルの勾配値を返すことができるため、音声データの生成や機械翻訳などのシナリオに利用できます。MaskGAN モデルには、コンテキスト コンテンツに基づいて不足しているテキスト情報を埋めるための Actor-Critic アーキテクチャが導入されています。

画像生成テキストの応用に加え、文献StackGANはテキスト情報を入力することで、対応するテキストで記述された画像を実現でき、画像の解像度が高く、インタラクティブなテキストと画像の生成を実現するモデルです。さらに、CookGANは、画像因果連鎖の観点から、テキストに基づいて画像メニューを生成する手法を実現します。TiVGAN は、テキストを通じて連続的なビデオ シーケンスを生成するというアイデアを実現します。

5.2.2 音楽

Continuous RNN-GAN (C-RNN-GAN)、Continuous RNN-GAN (Organ)、SeqGAN などの GAN は、音楽の生成に使用されます。

5.2.3 音声と音声

GAN は、合成、強化、認識などの音声および音声の分析に使用されています。

5.3 その他のアプリケーション

5.3.1 医療分野

一般に、医用画像処理で GAN を使用するには 2 つのアプローチがあります。1 つ目は生成フェーズに焦点を当て、リアルな画像を作成するためのトレーニング データの基本構造を実現するのに役立ち、GAN がデータ不足、セクシュアリティ、患者のプライバシーの問題をより適切に処理できるようにします。2 つ目は、弁別段階に焦点を当てています。弁別器は、未処理の画像で事前に学習されたものと考えることができ、擬似生成された画像の検出器として機能します。

生成フェーズ: Sandfort らは、CT セグメンテーションの一般化を改善するために、CycleGAN に基づくデータ拡張モデルを提案しています。Han らは、MRI スキャンにおける教師なし異常検出のための GAN ベースの 2 段階の方法を提案しました。

識別段階: Tang らは、重ね合わせ生成対立ネットワークに基づく CT 画像セグメンテーション法を提案しました。ネットワークの最初の層は CT 画像のノイズを低減し、2 番目の層は境界が強調された高解像度画像を作成します。Douらは、教師なしの方法でソースドメインとターゲットドメインの特徴空間をサポートすることで効率的なドメイン転送を処理するMRIおよびCT用のGANを提案した。

5.3.2 3D 再構成

GAN は、3 次元空間内の物体の 3 次元形状を補完または再構築するものであり、3 次元再構築技術の改良と拡張です。Wang らは、再帰畳み込みネットワーク (LRCN) の 3D-ED-GAN モデルを使用したハイブリッド構造を提案しました。Wu らは、ボリューメトリック畳み込みネットワークと敵対的生成ネットワークの最新の研究理論を利用して、確率空間で 3D オブジェクトを生成する 3D-VAE-GAN モデルを提案しました。関連する研究文献では、オブジェクトの詳細な 3D 形状を実現するための新しい GAN トレーニング モデルが紹介されています。モデルは、勾配ペナルティを伴う Wasserstein 正規化でトレーニングされており、画像のリアリズムが向上します。このアーキテクチャでは、2D 画像から 3D 形状を再構築し、完全な形状を完成することもできます。

図 34 現実世界のアイテムスキャンの 3D

3D-RecGAN は、特定のオブジェクトの完全な 3D 構造をランダムに深度ビューで再構築するものです。このモデルは、GAN 構造上のエンコーダー/デコーダー 3D ディープ ニューラル ネットワークであり、3D オブジェクト再構築のための損失と修正された Wasserstein GAN 損失という 2 つの目的の損失を組み合わせています。3D オブジェクトのセマンティック部分編集、形状類似と形状ピンチ、および形状補完のための代数演算とディープ オートエンコーダー GAN (AE-EMD) も行われています。

5.3.3 データサイエンス

GAN は、データ生成、ニューラル ネットワーク生成、データ拡張、空間表現学習、ネットワーク埋め込み、異種情報ネットワーク、モバイル ユーザー評価に使用されています。

GAN は、マルウェア検出、チェス ゲーム、ステガノグラフィー、プライバシー保護、ソーシャル ロボット工学、ネットワーク プルーニングなど、他の多くの分野で広く使用されています。

6. 共通データセット

一般的に、画像ベースの GANs 手法で使用されるデータセットは、アップ (ダウン) サンプリング用の既存のデータ画像に基づいており、干渉処理が追加されます。処理された画像と元の画像は、GAN ネットワークのトレーニング用の画像のペアとして使用されます。ビデオ、テキストなどの他の側面も、既存のオープンソース (またはクローズドソース) データセットで前処理され、元のデータがネットワークトレーニングのラベルとして使用されます。ただし、この方法で作成されたデータセットは、現実を完全に表すことはできません。GAN のトレーニングに使用される 5 つのデータセットを以下に紹介します。

6.1抽象芸術データセット

このデータセットには、wikiart.org から収集した 2782 個の抽象アート画像が含まれています。このデータを使用して GAN を構築し、抽象芸術の合成画像を生成できます。データセットには、ゴッホ、ダリ、ピカソなどの本物の抽象芸術の画像が含まれています。

6.2 C. Elegens を使用したハイコンテンツ スクリーニング

これらのデータには、回虫 C. エレガンスを使用して新しい抗生物質を見つけるためのスクリーニングに対応する画像が含まれています。データには、腸球菌と呼ばれる病原体に感染した回虫の画像が含まれています。抗生物質であるアンピリンで治療されていない回虫の画像もあれば、アンピリンで治療された感染回虫の画像もあります。興味深い創薬問題に GAN を適用することに興味がある人にとって、これは始めるのに最適な場所です。

6.3肺胸部 X 線検査の異常

このデータセットには、放射線科医による臨床的にラベル付けされた胸部 X 線画像が含まれています。結核に相当する胸部 X 線画像が 336 枚、健康な人に相当する画像が 326 枚ありました。これは、医療画像データの合成に GAN を使用することに興味がある人にとって優れたデータ ソースです。

6.4偽の顔

これらのデータには、実際には GAN によって生成された人間の顔の合成画像が含まれています。これらの画像は Web サイトから取得したものです。この人物は存在しません。Web サイトは、ページを更新するたびに、GAN で作成された新しい偽の顔画像を生成します。これは、GAN で合成画像を生成するために開始するのに最適なデータ セットです。

6.5メガネまたはメガネなし

このデータセットには、メガネをかけた顔画像とメガネをかけていない顔画像が含まれています。これらの画像は GAN を使用して生成されましたが、他の合成画像を生成するためのトレーニング データとしても機能します。

7. フロンティア問題

GAN は深層学習の分野で広く普及しているため、最近その制限が改善されています。GAN については、未解決の研究課題がまだいくつかあります。

7.1 モードクラッシュの問題

既存の研究ではモード崩壊の問題を解決するために多くの試みが行われ、ある程度の進歩が見られましたが、モード崩壊の問題をどのように解決するかが依然として GAN が直面する主な課題です。

GAN のモード崩壊の理由について、いくつかの研究成果で説明が試みられています。多様体上の特定の点の接空間次元が N 未満である場合、ジェネレーターは N 次元多様体のパラメーター化された記述とみなされます。 , 結果として、点がいくつかの方向に沿って変化する場合、データの変化は無効であるため、ジェネレータは単一のデータを生成します; 最適伝達理論に基づいて、ジェネレータは潜在空間の分布を多様体上の分布は伝達マッピングであり、不連続点は不連続マッピングですが、ニューラル ネットワークは現時点では連続マッピングしか近似できないため、無意味な結果とモード崩壊が生成されます。モード崩壊が発生すると、弁別器ネットワークの重み行列の特異値は急激に減少します。これは次の式から取得できます。問題はモーダル クラッシュ問題を解決することから始まりました。

一般的なニューラル ネットワークの学習プロセスと比較して、GAN モデルではジェネレーター G とディスクリミネーター D の間にゲーム メカニズムが存在し、GAN モード崩壊の問題を複雑にしています。全体として、GAN モデル崩壊に関する研究作業はまだ初期段階にあり、研究はさまざまな角度から開始されており、問題を説明するための統一された枠組みは形成されていません。将来の研究が GAN のゲームメカニズムから開始し、ジェネレーターとディスクリミネーターの関連要素を統合できれば、この問題の解決に役立つでしょう。

7.2 トレーニングセットサンプルの効果

ニューラル ネットワークのパフォーマンスは主に、モデル自体の特性とトレーニングに使用される実際のサンプル セットに依存します。同様に、GAN モデルのトレーニングと学習の品質もトレーニング サンプル セットの影響を受けます。一方で、サンプルセットの固有のデータ分布は、GAN のトレーニング効率と生成品質に影響を与える可能性があります。たとえば、サンプルセットに対してクラス内距離セットとクラス間距離セットを定義し、サンプルの分離性を定量化するための距離ベースの分離性指標を提案し、異なるタイプのサンプルが混合された場合に、同じ分布、最も困難 このサンプル セットを教師あり学習に使用する場合、モデルのパフォーマンスを向上させるのは困難です。これは、GANのサンプル生成品質評価指標の設計において参考となる意義がある。一方で、GAN モデルの大きな特徴は実際のサンプル分布を学習することであるため、学習を適切に行うためには十分な実際のサンプルが必要であり、小規模なトレーニング セットを使用して、より優れた GAN モデル。GAN モデルにはトレーニング セットの品質についても高い要件があり、高品質のデータ セットを入手するのが難しい場合が多いため、どのデータがモデルのパフォーマンスに影響を与えるか、低品質による悪影響を回避する方法について研究する必要があります。サンプルを収集し、トレーニング セットの品質に対する高い要件を軽減することが、将来の研究の方向性となります。

さらに、トレーニング セットのサンプル サイズ要件を削減することに関するいくつかの研究が行われています。転移学習では、適切なサンプルを使用して事前学習済みの生成器ネットワークと弁別器ネットワークの微調整が行われますが、サンプルが著しく不足している場合や、サンプルが事前学習データと大きく異なる場合には、効果があまり良くありません。一部の研究者は、ネットワークの重みの特異値が生成されたサンプルのセマンティクスに関連していると考えているため、ネットワークの重みに対して特異値分解を実行し、事前トレーニングされたモデルの特異値を微調整することでトレーニングの目的を達成します。サンプルが少なくなります。GAN 上でメタ学習を使用すると、少数ショットのトレーニング問題でいくつかの結果が達成されました。再構成損失と三重項損失を使用して GAN の損失関数を変換することで、自己教師あり学習のアイデアが GAN に導入され、小規模サンプルのトレーニング問題でいくつかの結果が達成されました。

トレーニングセットにおけるサンプル品質への要求を減らすことに関するいくつかの研究が行われています。NRGAN は、モデル内に画像ジェネレーターとノイズ ジェネレーターを設定します。これらは、実際のサンプルのデータ分布とノイズ分布をそれぞれ学習するために使用され、ノイズ分布を予測することなく、ノイズの多いトレーニング セットからノイズのないサンプルを生成します。

現時点では、トレーニング セット サンプルが GAN に及ぼす影響に関する研究はまだ初期段階にあり、トレーニング セットのサイズを縮小すると、複雑なパターンのサポートが不十分になることがよくありますが、トレーニング セット サンプルの品質要件を下げると、必要な品質が高くなりすぎます。仮定。フォローアップ作業では、これらの制限の理由をさらに調査し、アプリケーション シナリオをより現実的なものにするためのガイドとして使用する必要があります。

7.3 モデルの堅牢性問題に関する研究との交差

ニューラル ネットワークの堅牢性は、入力データ セットに小さな外乱が発生した場合でも、モデルが出力端での干渉に耐える能力を示すことができることを反映しています。GAN の研究と人工ニューラル ネットワークの堅牢性の研究は相互に補完し合い、密接に関連しています。一方で、GAN は敵対的な例を使用してネットワーク モデルをトレーニングし、モデルの堅牢性の向上に役立ちます。一方、ニューラル ネットワークの堅牢性に関する研究は、本質的に GAN の改善に関連しています。たとえば、ディープ ニューラル ネットワークの損失は、敵対的トレーニング後のピーク値付近でより滑らかになり、CNN でリプシッツ条件を使用すると、堅牢性と精度、この分野の関連研究は、特に生成された敵対的サンプルの品質の評価とターゲットに関する研究において、GAN の改善に一定の参考値を持っています。発生器。

研究者の中には、対立の頻度と対立の重大度という 2 つの側面から、データセットに対するニューラル ネットワークの堅牢性を説明する人もいます。このうち、対立の頻度はデータセットに対する敵対的な妨害の可能性を反映し、対立の重大度は妨害が発生した場合の出力の逸脱の程度を反映します。この方法は、GAN で生成された敵対的サンプル データセットの品質の評価において参考値があり、ジェネレーターのトレーニングの指針となる重要性を持っています。別の研究者は、記号線形緩和に基づくニューラル ネットワーク セキュリティ分析手法を提案しました, これは敵対的摂動をセキュリティ属性違反の特別なケースとして扱います. このフレームワークは 5 つの異なるセキュリティ属性制約を定義できます. 性的妨害の結果は洗練されています. これらの研究は、GAN ジェネレーターの設計目標の分類に貢献します。

8. まとめ

このペーパーでは、敵対的生成ネットワーク (GAN) の既存のモデル アプローチをさまざまな側面から調査します。まず、既存の GAN 手法をトレーニング戦略、構造変化、トレーニング技術、監視タイプなどに従って分類し、古典的なネットワークを例としてさまざまな GAN ネットワークの改善点を紹介します。次に,GANネットワークの基本構造を詳細に紹介し,より新しい生成的対立ネットワークの開発について述べる。最後に、実用的なアプリケーション シナリオに基づいて、古典的で一般的に使用される GAN モデルを紹介します。Kaggleからよく使われるGANデータセットを5つ選んでそれぞれ紹介しました。データセットのリンクは、それぞれデータセット名に配置されます。最後に、敵対的生成ネットワークの現在の最前線の問題が紹介されます。

参考文献

[1] GANネットワークとバリアントの配置

[2]敵対的生成ネットワークに関するレビュー: アルゴリズム、理論、および応用

[3]敵対的生成ネットワーク: 概要

[4]ネットワーキングにおける敵対的生成ネットワーク (GAN): 包括的な調査と評価

[5]敵対的生成ネットワークとその応用のレビュー

[6]生成対立ネットワーク研究のレビュー

おすすめ

転載: blog.csdn.net/sinat_39620217/article/details/130982913