1行定義
CycleGANとは、対応するペア画像を使わずに、2つの画像の集合の間で行きと帰りの変換を同時に学習し、画像を別の領域の見た目へ変換するGANのことです。
くわしく
CycleGANは、2017年にカリフォルニア大学バークレー校のJun-Yan Zhuらが発表した、画像から画像への変換を学習するGANです。最大の特徴は、変換前と変換後が1対1で対応したペア画像がなくても学習できることです。
ペア画像が不要とはどういうことか
同じ研究グループのPix2Pixは、「線画と、その元になった写真」のようなペア画像から変換を学びます。しかし、ウマの写真をシマウマの写真に変えたい場合、同じ姿勢のウマとシマウマのペアは手に入りません。CycleGANは、「ウマの写真の集合」と「シマウマの写真の集合」さえあれば学習できます。
循環一貫性という考え方
ペアがないと、「元の写真の構図を保ったまま、シマウマ風にする」ことを保証しにくくなります。生成器が入力を無視して、それらしいシマウマの画像を出すだけでも、識別器はだませてしまうからです。
そこでCycleGANは、行き(X→Y)の生成器Gと、帰り(Y→X)の生成器Fを同時に学習します。ウマの写真をGでシマウマ風にし、さらにFでウマに戻したとき、元の写真に戻るように学習します。このずれを測るのが循環一貫性損失(cycle consistency loss)です。翻訳した文章を元の言語に訳し戻して確かめるのと同じ発想です。各方向には識別器も用意し、変換結果が変換先の画像らしく見えるようにします。
応用と限界
ウマとシマウマ、夏と冬の風景、写真とモネ風の絵画の相互変換などの例が示されました。一方、色や質感の変換は得意ですが、犬を猫に変えるような形の大きな変化は苦手です。また、ペア画像で学習した場合の精度との差が残ることも、著者らは認めています。
覚え方
「行って帰って元どおり(Cycle)」と覚えます。
G検定での出題
出題のされ方
ペア画像が不要な点、2組の生成器と識別器、変換して戻すと元に戻るという循環一貫性損失、ペア画像を使うPix2Pixとの違い、形の大きな変化が苦手な点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| CycleGANこのページの用語 | 対応するペア画像を使わずに、2つの画像の集合の間で行きと帰りの変換を同時に学習し、画像を別の領域の見た目へ変換するGAN |
| Pix2Pix | 変換前の画像を条件として与える条件付きGANを使い、対応するペア画像から、画像を別の見た目の画像へ変換する方法を学習するモデル |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
CycleGANは、領域Xから領域Yへ変換する生成器と、YからXへ戻す生成器の2つを学習し、それぞれの変換先に対応する識別器も用いる。
答えを見る
答え ◯ 正しい
生成器2つと識別器2つの、合計4つのネットワークを学習します。戻す方向の生成器は、循環一貫性損失の計算に欠かせません。
-
CycleGANの循環一貫性損失は、変換後の画像が変換先の領域の本物らしく見えるかどうかを、識別器の判定によって測る損失である。
答えを見る
答え × 誤り
それは識別器を使う敵対的な損失の役割です。循環一貫性損失は、変換した画像を元の領域へ戻したとき、入力画像とどれだけ一致するかを測ります。
-
CycleGANは色や質感を変える変換は得意だが、犬を猫に変えるような、形を大きく変える変換は苦手である。
答えを見る
答え ◯ 正しい
著者らも限界として挙げています。犬から猫への変換では、入力をほとんど変えない結果になりがちだと報告されています。