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

1. GAN (敵対的生成ネットワーク)とは [概要]

GAN (敵対的生成ネットワーク) とは,敵対的学習(Adversarial Training)を用いて深層生成モデルの学習を行う,生成器Gと識別器Dのネットワークペアである [Goodfellow et al., 2014].敵対的学習を行うことで,学習データ分布とそっくりな本物らしいデータを生成可能な生成器Gを,データ群のみから教師なし学習できるのが,GANの一番の特徴および利点である.

この記事では,GANの学習原理(2節)と,初期の基本的な応用(3,4節)について紹介する.

GANは最初の画像生成GANは,MNISTの小画像までしか生成できないモデルであったが,DCGAN [Radford et al., 2015] で,GANがCNN化されたり,GANの安定的な学習が発展していき,大きくて高画質な画像の生成モデルを,GANで学習できるようになっていった.

また,画像対画像変換や,TTS(Text-to-Speech)などにおいて,Encoder-Decoderネットワークで変換した後のデータが,本物らしいデータに近づくよう正則化ロスとしてGANのロス関数が活用される.

※ 管理人としては,ほんとは「生成敵対ネットワーク」と,元の英語名での2語の順(generative adversarial)どおりの翻訳をしたい.しかし,この記事では,日本語圏で定着した「敵対的生成ネットワーク」を訳語として用いることにした.

1.1 記事の構成

2節以降では,以下の構成でGANとその応用に関する基本的内容を紹介する:

  • 2節:GANの基本モデルと敵対的学習
  • 3節:GANの発展モデル
  • 4節:GANを用いたコンピュータビジョンの応用
  • 5節:まとめ

1.2 GANの登場および提案後の発展

敵対的学習では,生成器(Genarator)ネットワークを学習するために,生成器が生成するサンプルの「本物らしさ」を鑑定する2値識別モデルの識別器(Discriminator)ネットワークを学習の補助として用意する.識別器ネットワークは,サンプル入力から「本物(real) or 偽物(fake)」を判定し,2値ラベルのいずれかを出力する.そして,生成器と識別器の2つのネットワークを競わせるミニマックスゲームを実行することで,徐々に相手のネットワークの(逆)スコアを良くしながら最適化を行うことを繰り返す.最終的に敵対的学習の結果,得られた生成器を用いると,本物学習データと似通った本物らしいサンプル(画像など)を生成できるようになる.

原論文 [Goodfellow et al., 2014] では,まずMNISTデータセットの「手書き数字画像データ」で,敵対的学習が試された.その後,画像以外の音響データやテキストデータも対象にして,幅広いデータを対象にGANの応用が研究されている.

GAN(やVAE)登場以前の確率的グラフィカルモデルで構成される生成モデルでは,ベイズ推論などに頼る必要があるので,共役事前分布関係を作れる潜在変数分布からしかデータを生成できず,最適化もモンテカルロサンプリングを用いるので計算が重くなり,高次元入力データに対してモデルをスケールしづらかった.それがGANでは,データの分布の複雑さや種類などは何も気にしなくてよいだけでなく,グラフィカルモデル設計の煩わしさからも解放された形で,高次元データ(画像など)から簡単にお任せで生成モデルを学習できてしまう.これは,生成モデルにおける大きなパラダイムシフトとなった.ただし,初期のGANは収束が不安定で学習の成功しづらさがあった(2.3節).

当初は画像生成の目的で提案されたGANであったが,その後は音声合成モデルやText-to-Speechなどでも応用され「本物らしいデータを生成する問題」が一挙に発展するきっかけとなった.また,画像対画像変換や画像復元,ドメイン適応など,他の画像系タスクでも広く活用されている(4節).

2. GANの基本モデル と 敵対的学習

2.1 キーアイデア:敵対的学習

GANのキーとなるアイデアは,敵対的学習(Adversarial Training)とよばれる『2つのニューラルネットワーク$G$と$D$の対を,お互いがもう片方の評価をして競い合い交互学習させる』という仕組みにある.敵対的学習は,ゲーム理論の「2プレイヤー間による minimaxゲーム」にインスパイアされて考案された,生成ニューラルネット$G$の学習方法である.

GANのネットワークペアは,以下の2つのニューラルネットワークから構成される(図1:):

  • 生成器(Generator) $G$:
    • ランダムノイズ変数$\bm{z}$を入力として,学習データにそっくりなデータを$\bm{\hat{x}}=G(\bm{z})$と生成する
    • $\bm{z}$はランダムノイズである.正規分布などの分布のPriorを仮定していないので注意.
  • 識別器(Discriminator)$D$:
    • 生成器が生成したデータ$\bm{\hat{x}}=G(\bm{z})$が,教師データである$\bm{x}$と同じクラスラベルかどうかを識別する(学習時のみ使用).
    • $y=D(\bm{\hat{x}})$で,バイナリーラベルの$y$を1(真) or 0(偽)で予測する.

GANでは敵対学習のおかげで,高解像度の画像入力に対しても,綺麗でディテール本物らしいサンプルを生成できる生成器を学習できる.古典的な画像生成モデル(オートエンコーダやPCAなど)では,低画質の画像の生成(Decoding)まで行えたが,GANのように,高解像度画像を細かい部分まで綺麗にしつつ生成することは実現できていなかった.

旧来の「潜在変数付き生成モデル」では,ベイズ確率理論に従った「最大尤度を目的関数に使用した最適化」が主流であった.しかし,そうした尤度関数によるモデル表現の場合,実データとモデルが生成するデータ間の近さを精密に表現するのに(この当時は)限界があった.

それに対して,GANの敵対学習では,ディープニューラルネットワークをSGDで学習可能である敵対学習を用いることで,低次元潜在ベクトル$\bm{z}$から高次元の本物らしい画像を直接生成する(implicitな)深層生成ネットワークを,大量データから学習可能となった.

2.2 GAN ネットワーク構造と目的関数

GAN (敵対的生成ネットワーク) の敵対的学習(Adversarial Training)
図1. 敵対的生成ネットワーク(GAN)の敵対的学習(Adversarial Training)

図1はGANの敵対的学習 [Goodfellow et al., 2014]の様子を図示したものである.敵対的学習では,以下の価値関数$V(D,G)$を目的関数に用いて,$G$と$D$間のminimaxゲームによる交互最適化を行う:

\begin{equation}
\min_{G}\max_{D} \mathcal{V}(D,G) =
\underbrace{\mathbb{E}_{\bm{x} \sim p_{data(\bm{x})}} [\log (D(\bm{x}))]}_{\text{正解データをよく識別できるようにする項}} +
\underbrace{\mathbb{E}_{z \sim p_z(\bm{z})} \log [1-D(G(\bm{z})))]}_{\text{生成データをよく識別できるようにする項}} \tag{2.1}
\end{equation}

ここで$p_z(\bm{z})$は潜在変数$\bm{z}$を生成するランダムノイズ分布であり,$p_{data(\bm{x})}$はデータセット全体からランダムにミニバッチを生成する際の分布を示す.

敵対的学習では,以下の(A) 式(2.2)の損失関数(ゲーム理論で言うと価値関数)による識別器$D$の最適化と,(B) 式(2.3)の損失関数による生成器$G$の最適化を,交互に繰り返していく:

(A) 識別器$D$の最適化 (生成器$G$の重みは固定).

  • 正解データセットからm個サンプリングして$\bm{x}$のミニバッチを用意.$\bm{x}$には,全てラベルを1(真)に設定.
  • ランダムノイズから$\bm{z}$をm個サンプリングし,m個の$\hat{\bm{x}} = G(\bm{z})$を生成.$\hat{\bm{x}} $には,全てラベルを0(偽)に設定.
  • 以下の2値交差エントロピー損失を用いて,SGAで$D$を学習($D(\hat{\bm{x}})$を0に近づける):

\begin{equation}\max_D \mathcal{V}(D) =
\mathbb{E}_{\bm{x} \sim p_{data}(\bm{x})}[\log D(\bm{x})]+ \mathbb{E}_{\bm{z} \sim p_z(\bm{z})} [\log (1-D(\hat{\bm{x}})] \tag{2.2}
\end{equation}

(B) 生成器$G$の最適化 (識別器$D$の重みは固定):

  • ランダムノイズから$\bm{z}$をm個サンプリングし,m個の$\hat{\bm{x}} = G(\bm{z})$を生成.全てラベルを1(真)に設定.
  • 以下のJensen-Shannon divergence(= 対称KL divergence)を損失に用いて,SGDで$G$を学習($D(\hat{\bm{x}})$を1に近づける):

\begin{align}\min_G \mathcal{V}(G)
&=
\underbrace{
\mathbb{E}_{\bm{x} \sim p_{data}(\bm{x})}[\log D(\bm{x})]
}_{\text{正解データは使わないので要らない項}}+
\mathbb{E}_{\bm{z} \sim p_z({\bm{z}}) }[\log (1-D(\hat{\bm{x}}))]\\
&= \mathbb{E}_{\bm{z} \sim p_z({\bm{z}}) }[\log (1-D(\hat{\bm{x}}))] \tag{2.3}
\end{align}

この2つの,最適化(A)と最適化(B)を交互に繰り返す様子を,式(2.1)の1つだけでまとめて書く場合,(2.1)式の最小化 (= (2.2)式の最小化)と,(2.1)式の最大化(= (2.3)の最小化)を交互に繰り返すと解釈できる ($\mathcal{V}_G(G,V) = \textcolor{red}{-}\mathcal{V}_D(G,D)$になっている).

(A)と(B)を繰り返す中で,$D$と$G$が双方とも十分に学習が進んでいくと,最終的にはナッシュ均衡とよばれる状態に到達し,これがminimaxゲームの解となる.$G(\bm{z})$が生成したデータが十分本物らしくなり,$D$も1(True)としか判定しなくなる.これにてGANの学習は終了である.

2.3 GANにおけるチャレンジ

GANは,2つのネットワーク間を競わせて,双方少しずつ学習させる必要があるゆえ,2者間の学習進捗度のバランスの取りづらさが起こりやすい.

ここではそれに伴う,「最適化の難しさ」(2.3.1節)と,敵対的学習で起きやすい「モード崩壊」(2.3.2節)について取り上げる.

2.3.1 GANの最適化を行う難しさ

GANの目的関数の式(2.1)を眺めると,GANで2つのネットワークを最適化する上での難しさは「正解データの分布$p_{data(\bm{x})}$と,生成データの分布$p_z(\bm{z})$の2分布間の距離を,どのように計量して,なおかつどのように最小化するか」にある.

元の提案 [Goodfellow et al., 2014]では,GANは理論的に完成したものでなく,不明点も多かった.生成器は2プレイヤーのやりとりで複雑なモデルを徐々に生成していくのに対し,識別器は早めに収束状態に突入してしまい勾配消失・勾配爆発が生じ易い.よって,そういった課題に対応するテクニックや,提案した敵対的損失に関する正式な収束理論などは用意されていないまま,「とりあえず基本的なデータセットでは,うまく深層生成モデルがつくれたようだ」というのが元の論文での提案であった [Goodfellow et al., 2014].

また,この元の提案ではオートエンコーダ的なネットワークによるMNISTでの小規模ネットワークでの実験である.よって,CNNではないので,大きな画像のデータセットや,画像中に写っている様子が複雑なシーン画像の場合は良い生成モデルは学習できず,しばらくはMNISTを用いた基礎研究が続き,CNN化による大きな画像からの生成は,DCGAN (3.2.1節)まで待つこととなる.

こうした中,GANの学習の不安定さを緩和したり克服するために,GAN向けの新しい目的関数の提案や,新しいネットワーク構造の提案が行われていく.(各研究例は,3.1節と3.2節で代表例だけ手短に触れる)

代表的なGANのチャレンジのうち,この記事では次節の「モード崩壊(2.3.2)」 についてのみフォーカスを当てて述べたい. 

2.3.2 モード崩壊への対策

GANの大きな問題として,生成器が学習の過程で「生成サンプルの多様性を失ったネットワーク」ができあがり,数のモードしか生成できなくなってしまうモード崩壊(mode collapse)が挙げられる.敵対的学習においては,生成器は必ずしもデータセット全体の画像を生成できる必要はない.例えば,敵対的学習中に,学習データのうち5枚だけ生成できるモデルが学習されたとしても,識別器を十分騙せてしまうのであれば,生成モデルが良い出来になってしまうと敵対学習がそのまま完了(収束)してしまう.この現象をモード崩壊と呼ぶ.

モード崩壊した結果の生成器は,$\bm{z}$のうち多くが,同一の少数サンプルばかりに変換されてしまい,ほぼ同じような生成画像ばかり生成されてしまうので,データゼット全体の多様性を捉えきれていない.このモード崩壊を防ぐための初期の提案として,例えば次の段落から述べるような手法が提案されていた.

Improve training of GAN” [Salimans et al., 2016] は,敵対的学習の安定化を助けるテクニックを複数提案したTips集である.その1つとして,モード崩壊対策のテクニックであるミニバッチ識別(minibatch discrimination)が提案された.通常は識別器は単一サンプルごとにTrue or Falseの識別を行う.それに対してミニバッチ識別 [Salimans et al., 2016]では,ミニバッチ内のサンプル間距離を測ったものも補助特徴に加えた特徴によって,ミニバッチ単位で識別結果がTrue/Falseかの判定を行うようにし,「分布の多様性の良さも計測しながら」敵対学習を行うことを提案した.

一方,Unrolled GAN [Metz et al., 2017] では,識別器の目的関数をkステップに展開(unroll)して分割し,識別器側のロスを少しずつ勾配伝搬することによって,生成器側の早期の一方的勝利を防ぐという仕組みを提案した.

3. GAN の発展モデル

3.1 GAN の目的関数の発展

(※3.1について詳しくは,別の記事にまとめる予定)

WGAN, WGAN-GP,LSGANなどについて,のちのち書く予定.

3.2 GAN のネットワーク構造の発展

3.2.1 DCGAN: GAN のCNN化

DCGANのネットワーク構造
図2. DCGAN のネットワーク構造

GANの最初の提案 [Goodfellow et al., 2014] では,縦横サイズの小さいMNIST画像での生成モデル学習実験のみであり,ネットワークも非CNN(なMLP構造)を使用していた.しかし,このままだとあくまで基礎研究であり,カラー画像や大きなサイズの画像向けにスケールすることができない.

そこで DCGAN(Deep Convolutional GAN) [Radford et al., 2015] の研究では,生成器と識別器のCNN化が行われた,少し大きめの画像([64 x 64])でも画像の深層生成モデルが可能なことが初めて実証された(ただし,収束は不安定だし,生成画像はノイジーではある).これ以降は畳み込み層CNN系バックボーンが,GANでも用いられ始めることになる.

3.2.2 条件付き生成用のGAN

cGANとACGAN
図3 cGAN と ACGAN
Conditional GAN(条件付きGAN)

CGAN (Conditional GAN) [Mizra et al., 2014] では,条件変数$c$の値に条件付けされて変化する$G(\bm{z}|c)$として生成器を学習する仕組みが提案された(図2-a).$c$はクラスラベルのスカラー値でもよければ,テキストデータや画像データなどの補助クエリーのベクトルも使用できる.

ACGAN(補助識別器つきGAN)

ACGAN(Auxiliary Classifier GAN) [Odena et al., 2017] では,CGAN [Mizra et al., 2014] の更なる拡張が提案された(図2-b).CGANの条件付き生成器$G(\bm{z}|c)$に加え,識別器$D$側が「Real or Fakeの2クラス識別」と一緒に「(物体)クラス$c$の識別」もマルチタスク学習するという「物体クラス識別器も学習の補助で用いるGAN」が提案された.

InfoGAN

InfoGAN [Chen et al., 2016]では,潜在コード$\bm{c} \in \mathbb{R}^K $を,情報量基準を利用してもつれほどき(disentanglement)を行うことで,$\bm{c}$の教師を与えることなく,データだけから解釈可能な潜在コード$c$を学習できるConditional GANが提案された.

InfoGANでは,追加の潜在コード$\bm{c}$と生成データ$\bm{x}$の間での相互情報量最大化を行う正則化項を,Conditional GANのロスに追加することで,データに対する$\bm{c}$の変数間${c_1,c_2,\ldots,c_K}$の間のもつれほどきも同時に実施される.

MINISTによる実験では,潜在クラス変数による分類や,潜在スカラー変数(文字の回転,文字の幅など)が,$\bm{c}$の教師ラベルを用いずにデータだけから学習可能であることが示された.

3.2.3 Encoder-DecoderモデルのGAN

もしVAEのような「潜在分布も推論できるEncoder-Decoder構造」をGANにも付け加える(= Encoderを追加する)と,モード崩壊を防ぎやすくなったり,学習の安定性を保ちやすくなる利点が出る.おまけに,VAEのような「説明可能性のある確率的な潜在変数(分布)」も持つことができる.

VAE-GAN

VAE-GAN [Larsen et al., 2015]では,VAEのデコーダとGANの生成器の役割を兼ねるネットワークを真ん中に配置し,VAEとGANを素直に結合した.これにより,GANでありながらも(explicitな)正規分布型の事前分布を,生成器の潜在変数として学習できる.

Bi-GANとALI (双方向の敵対学習)

同時期に並行研究されたBi-GAN(Bidirectional GAN) [Donahue et al., 2016] とALI (Adversarial Learned Inference) [Dumoulin et al., 2017] の2つは,共にエンコーダを用いて潜在変数空間も推論(Infer)できるオートエンコーダ構造を,「双方向の敵対学習」の形により実現した.

4. GAN を用いたコンピュータビジョンの応用

この4節では,元々のGANの応用である画像での応用にしぼって,以下の3つのタスクにカテゴリー化したうえで,その後の敵対的学習の応用例を述べていきたい:

  • 4.1節:画像対画像変換
  • 4.2節:画像復元や画像強調などの逆問題
  • 4.3節:敵対ドメイン適応

4.1 画像対画像変換(Image-to-Image Translation)

同じ対象やシーンを撮影した画像同士ではあるが,両者でドメインが異なる2枚の画像をペアとして揃えておき,画素単位で両ドメイン間を変換できるネットワークを学習する課題を,画像対画像変換(Image-to-Image Translation)と呼ぶ.とりわけ,入力が意味や画像特徴をもった画像であり(例:セマンティックセグメンテーションマップや,線画など),その入力に全画素が対応するドメインへの自然な画像を合成する出力する場合を,画像対画像変換と読んでいた.つまり,本来なら予測する出力であった画像を入力側にして,逆にそれらから画像を変換して出力する.

この課題が初めて提案されたpix2pix (プロジェクトHP )[Isola et al., 2017] では,2枚のドメインが異なる画像ペア$\bm{x}$と$\bm{y}$をもとに,Conditional GANの設定にした U-Net 構造を学習することで初めて画像対画像変換を実現した.pix2pixでは,変換前の$\bm{x}$も条件入力として受け付ける「条件付き識別器$D(\bm{x},\bm{y})$」を用いて,本物 or 偽物の判定を行い学習する( 元論文 [Isola et al., 2017] の Figure 2を参照).

pix2pixでは,画像のセグメンテーションと同様に,変換後の画像の各画素の値は構造化推定されるべき問題設定であるので,通常の識別器で画像全体の統計に対する「本物 or 偽物」を(まとめて)判定しただけでは,画素ごとの局所周辺状況を加味した変換モデルを学習することはできない.そこでpix2pixでは識別器向けに,局所パッチ内でのみ画像間のロスを計算して足し合わせる Patch GAN ロス [Isola et al., 2017] が提案された.これにより,画素間の関係性も学習されたうえでの変換モデルを,U-Net構造により(敵対的)学習できるようになった.

論文中や,プロジェクトHP の実験画像例を見るとわかるように,pix2pixでは様々な「意味画像 -> 画像」の変換が実現されており,これが pix2pixが初めて実現しはじめたことであった(ただし生成結果はアバウトである).一方で,「衛星画像->衛星地図」や「Day-to-night」の例のように,局所領域ごとのスタイルの変換にも使用できる仕組みとなっているが,これはPatchGANロスのおかげで,局所パッチごとに入力ドメインから出力ドメインへ画像を変換できるからである.

4.2 データドリブンな画像復元・画像強調

GANや,画像変換Encode-Decoderの発展に伴い,復元前画像と復元後の画像のペアを大量に用意し,更にその復元後の画像に対して「敵対的学習のロスも用いて」画像復元ネットワークを学習させる,「データ・ドリブンな画像復元・画像強調手法」が,活発に研究されている.

画像編集・画像補正を目的とする画像の逆問題 (Inverse Problems)」は,以前から広くコンピュータビジョン界隈では取り組まれてきた.超解像,ブラー除去,画像補間(Image Inpainting),画像のdenoisingや画像強調(image enhancement)などがその例である.

それらの問題に対して,GANで変換ネットワークをデータ・ドリブンなに学習する手法が,近年広く研究され,標準的なアプローチになった.敵対的学習の登場に加えて画像対画像変換(4.1節)の技術が発展していった恩恵により,これらの問題の解きやすさも向上した.

コンピュータビジョンや画像処理分野おける逆問題に対しては,かつては機械学習を用いずに,信号処理,最適化(変分法やTotal Variation),(ニューラルネットワークではない) 確率モデルによるベイズ推定などで解かれることが主流であった.例えば,超解像やブラー除去などの逆問題では,不良設定問題性を解消するための「正則化項を利用した最適化」をよく用いてきた.

データドリブン化しても,それらの古典的関数を損失関数項としてよく用いる.

従来のそれらの画像の逆問題や画像復元問題の解法においては,画像形式(Image Formation)が陽(explicit)に関数定義され,画像変換も関数として陽にモデル化されることが主流であった.それと異なり,GAN等を用いた逆変換ネットワークは,復元関数がブラックボックスになり陰関数化している.

4.3 敵対的学習によるドメイン適応

物体クラス識別器や,セマンティックセグメンテーション(画素ごとのクラス識別器)をドメイン適応する際に敵対的学習を用いる,敵対的ドメイン適応 (Adversarial Domain Adaptation)の研究が近年多く発表されている.ターゲットドメインに適応させる際に,識別CNNの入力画像や中間特徴量がどちらのドメインのものかを区別するための(本物 or 偽物の)敵対学習を行う.これにより,普通のクラス識別ロスでドメイン間の識別を行うよりも,ドメインの違いを厳密に反映させることができ,以前のドメイン適応手法より精度向上が期待できる.

DANN (domain-adversarial neural network) [Ganin et al., 2015] は,敵対的学習を活用した画像クラス識別器を用いるドメイン適応手法である.DANNでは,物体クラス識別器に対して,ドメインラベル$d$ ($d=1$ ソース/ $d= 0$ ターゲット)を識別するヘッドもドメインクラス識別器(Domain Classifier)として追加する.DANNは「1エンコーダ – 2ヘッド[クラス識別器 +ドメインクラス識別器]」の構成で,2ドメイン間の両方の特徴を共通エンコーダが特徴符号化を担当する.この構成により,ドメイン間の違いも把握(識別)できる表現を学習できる.

ADDA (Adversarial Discriminitive Domain Adaptation) [Tzeng et al., 2017]は,ソースCNNとターゲットCNNで,個別にクラス識別ネットワークを用意することによる柔軟性の向上を狙った.ADDAでは,まずソースCNNを事前に学習し,このCNNの重みは以後固定する.そしてソースCNNと,(ドメイン適応を行いたい)ターゲットCNNについて,出力クラス分布の違いを敵対学習でドメイン識別し,ターゲットCNNを学習する.この方法により,ソースCNNだけ先に学習させておくことができ,学習が2ステージに分離されることから,ADDAは複数ドメインへのドメイン適応が楽な構成となった.これは,DANNのように,両ドメイン画像を同時に学習してしまう手法よりも,モデルの柔軟性の点で有利である.

初期の敵対的ドメイン適応では,前述のDANN [Ganin et al., 2015] , ADDA [Tzeng et al., 2017] のように,「物体画像のクラス識別」においてドメイン適応の応用が取り組まれていた.それが,その後はセマンティックセグメンテーション用ネットワークをドメイン適応する手法の研究が,多く取り組まれ,主流となっていった.ADASの進化や自動運転を目指す自動車業界で,産業応用的に重要になっているのがその原因である (※ この記事では,セマンティックセグメンテーション向けのドメイン適応についてはとりあげない).

5. まとめ

この記事では,敵対的生成ネットワーク(GAN) の基本を紹介したのち(2節),その発展形(3節)と,各アプリケーション例の概要(4節)を紹介した.初期の話しかまだまとめていないので,まだ敵対的学習が不安定で、生成画像のクオリティもそれほど綺麗ではない頃の話が中心であることに注意されたい.

その後の動向をさらに詳しく知りたい方は,[Cao et al., 2019], [Pan et al., 2019] などのサーベイ論文を参照にされたい.

関連書籍

References

  • [Arora et al., 2017] S. Arora, R. Ge, Y. Liang, T. Ma, and Y. Zhang. Generalization and equilibrium in generative adversarial nets (gans). In ICML, 2017.
  • [Cao et al., 2019] Y.-J. Cao, L.-L. Jia, Y.-X. Chen, N. Lin, C. Yang, B. Zhang, Z. Liu, X.-X. Li, and H.-H. Dai, ‘‘Recent advances of generative adversarial networks in computer vision,’’ IEEE Access, vol. 7, pp. 14985–15006, 2019.
  • [Chen et al., 2016] X. Chen, Y. Duan, R. Houthooft, J. Schulman, I. Sutskever, and P. Abbeel, InfoGAN: Interpretable representation learning by information maximizing generative adversarial nets, In NIPS, 2016
  • [Donahue et al., 2016] J. Donahue, P. Krähenbühl, and T. Darrell. Adversarial feature learning. arXiv preprint arXiv:1605.09782, 2016.
  • [Dumoulin et al., 2017] V. Dumoulin, I. Belghazi, B. Poole, A. Lamb, M. Arjovsky, O. Mastropietro, and A. Courville. Adversarially learned inference. In ICLR, 2017.
  • [Ganin et al., 2015] Y. Ganin and V. Lempitsky. Unsupervised domain adaptation by backpropagation. In ICML, 2015.
  • [Goodfellow et al., 2014] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In NIPS, 2014.
  • [Isola et al., 2017] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. In CVPR, 2017.
  • [Larsen et al., 2015] A. B. L. Larsen, S. K. Sønderby, H. Larochelle, and O. Winther. Autoencoding beyond pixels using a learned similarity metric. arXiv preprint arXiv:1512.09300, 2015.
  • [Metz et al., 2017] L. Metz, B. Poole, D. Pfau, and J. Sohl-Dickstein, ‘‘Unrolled generative adversarial networks. In ICLR, 2017.
  • [Mizra et al., 2014] M. Mirza and S. Osindero, “Conditional generative adversarial nets,” arXiv preprint arXiv:1411.1784, 2014.
  • [Odena et al., 2017] A. Odena, C. Olah, and J. Shlens. Conditional image synthesis with auxiliary classifier gans. In ICML, 2017.
  • [Pan et al., 2019] Z. Pan, W. Yu, X. Yi1, A. Khan, F. Yuan, and Y. Zheng, “Recent progress on generative adversarial networks (GAN): A survey,” IEEE Access, vol. 7, pp. 36322–36333, 2019.
  • [Radford et al., 2015] A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. arXiv preprint arXiv:1511.06434, 2015.
  • [Salimans et al., 2016] T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, and X. Chen. Improved techniques for training gans. In NIPS, 2016.
  • [Tzeng et al., 2017] E. Tzeng, J. Hoffman, K. Saenko, and T. Darrell. Adversarial discriminative domain adaptation. In CVPR, 2017.

参照外部リンク