255 CycleGAN

画像のペアが必要ない方法。ある画像を変換し、その変換した画像をもとの画像に再度変換する。その時、通常のGANのように変換した画像が本物かどうかを予測するだけでなく、元の画像と再度変換した画像が一致するように学習する。

CycleGANは、2枚の画像の対応する各ピクセルの関係を学習するのではなく、2つの画像データセット同士のdomain(分野、領域)の関係を学習して画像変換を実現する手法。
これによって、CycleGANは大量のペア画像を用意しなくても、2つの違う画像データセットからその関係を学習して画像変換アルゴリズムを獲得できる。

CycleGANは、domainの違う2つの画像データセット間の関係を学習するために、以下の図のように2組のGeneratorDiscriminatorを使った変換と逆変換の循環(cycle)構造になっている。

学習データとして2種類の画像データセット domain X, domain Yがある場合、
Generator Gはdomain Xの画像xをdomain Yの画像yへ変換し、Discriminator DYは画像yが本物のdomain Yの画像かどうかを識別する。
Generator Fはdomain Yの画像yをdomain Xの画像xへ変換し、Discriminator DXは画像xが本物のdomain Xの画像かどうかを識別する。

Pix2Pixのように1組のGeneratorDiscriminatorで一方向の変換(生成)だけを学習する場合、入力xを出力yへ変換する関係を習得することはできるが、yからxへの逆変換も成立する関係を習得することができない。
そこで、CycleGANではGeneratorDiscriminatorをもう1組加え、出力yから入力xへの逆変換の学習も行い、双方向の変換を保証するdomain間の関係を学習する。

CycleGANの実験結果