たった10枚の画像でクロスドメインでのGAN学習に成功
3つの要点
✔️ たった10枚でGANのクロスドメイン学習に成功
✔️ 多様性を特徴間の違いとして学習させる
✔️ 圧倒的な精度の高さを示した
Few-shot Image Generation via Cross-domain Correspondence
written by Utkarsh Ojha, Yijun Li, Jingwan Lu, Alexei A. Efros, Yong Jae Lee, Eli Shechtman, Richard Zhang
(Submitted on 13 Apr 2021)
Comments: Accepted by CVPR 2021.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Graphics (cs.GR); Machine Learning (cs.LG)
code:
はじめに
GANの学習は一般的には多くの学習画像が必要で、少数データでの学習では、オーバーフィッティングを起こすことが多いです。しかし、今回の論文では少し考え方を変えて、大規模データセットをソースドメインとして事前学習し、10枚程度の学習をターゲットへの生成として考えることでたった10枚でもGANに生成をさせるという研究をご紹介します。
図で説明すると、下のように十分な学習データが確保できているFFHQで学習した$G_s$は顔画像の生成ができていることがわかります。しかしそれを少数のpaintingsのデータ(学習には実際にこの10枚が使われたと思われる)でfine-tuningすると予想通りOverfitしていることが分かります(Overfit $G_s→t$)。しかし、今回ご紹介する論文ではたったこの10枚の学習でなんと、ソースドメインの多様性を保ちつつ、Overfitせずに学習ができていることが分かります(Our $G_s→t$)。考え方を変えて、結構シンプルではあるものの、期待ができる結果を示したため、CVPR2021に採択されたと考えています。
提案手法
本手法の鍵は、少数データでOverfitさせずに、多様性を確保する方法はどのように行うのかです!
多様性の確保
結構単純な考え方で、ソースドメイン画像間の特徴の違いをドメイン先にも維持するような正則化を追加することで、ターゲットドメインもソースドメインの特徴の違い(多様性)を引き継ぐことで多様性が確保できるのではないかということです。下記の式になります。ソース側だけコメントを入れていますが、ターゲット側でも同じことです。
上記2つからKL divergenceを利用し、ターゲットもソースと同じような分布を持たせようとしています(下式)。Contrastive learningに考えは近いです!
Overfitを防ぐ
そもそもなぜOverfitしやすいかというと、直感的にもわかると思いますが、データセットが小さいと学習できる分布も小さくなるので記憶するだけで対応できてしまうからです。ここから面白いのが、少数データでは「現実的な」サンプルを構成するものの定義は、さらに密になります。そこで数枚の学習画像が望ましい分布の小さなサブセットを形成しているだけであることに着目します。例えば100枚の画像から理想な全体の潜在変数が学習できるとすると、10枚の画像では厳密ではないですが理想の10分の1の潜在変数(サブセット)を学習できるということです。ここで潜在空間全体のサブセットを形成するanch領域$Z_{anch}⊂Z$を定義します。これらの領域からサンプリングされた場合、フル画像識別器$D_{img}$を使用します。そして、$D_{patch}$をより大きな$D_{img}$ネットワークのサブセットとして定義することで、画像のパッチに対して、識別器$D_{patch}$を使用するのです(22×22から61×61の範囲の有効なパッチサイズを使用)。そうすることで単に画像全体を記憶することはできません。細かくも見ないといけません。
実験
以下のモデルを使用して、比較検討しています。
- Transferring GANs (TGAN)
- Batch Statistics Adaptation (BSA)
- MineGAN
- Freeze-D
- Non-leaking data augmentations
- EWC
データセットには以下のものを使用します。ソースが事前学習のドメインでターゲットが生成したい画像ドメインになります。
・ソース
- Flickr-Faces-HQ (FFHQ)
- LSUN Church
- LSUN Cars
- LSUN Horses
・ターゲット
- face caricatures
- face sketches
- face paintings by Amedeo Modigliani
- FFHQ-babies
- FFHQsunglasses
- landscape drawings
- haunted houses
- Van Gogh’s house paintings
- wrecked/abandoned cars
結果
結果は明らかに提案手法が上手くいっていることがわかります。帽子や顔の向きを比べると明らかです。
似たドメインの結果
$G_s(Z)$をReal samplesのようにした$G_t(Z)$を見ていただくと、これも上手くいっています。特に一番右のサングラスドメインがわかりやすいと思います。ただここで課題も見つかっています。サングラスドメインにおいて言えば、サングラスをかけると、なぜか髪の毛が全体的に黒くなっています。これは想定とは違うものです。ソースにはブロンドヘアの女性もいるので、そのあたりの特徴間の違いがうまくいっていません。
異なるドメインの結果
ソースドメインの特徴間の違いとドメインの特徴間の違いを合わせているので、変化に特徴ごとに紐づくような傾向が見えてくるのではないかという発想でこの異なるドメインでの実験を行っています。
Churchの結果がわかりやすいですが、Church(ソース)の窓の特徴とCaricatures(ドメイン)の目の特徴が何となく、ペアになっているように思えます。著者たちの提案通りの学習ができているのではないかと思われます。
定量評価
各結果の定量評価の結果を表で示します。
FID score(上)とLPIPS distance(下)です。ともに最も高い精度を示しています。
まとめ
たった、10枚の画像で生成が上手くいくという驚きの結果になっています。著者の考えた通りの学習ができていおり、評価の高いものだと思います。多様性を特徴間の違いとして担保して、Overfitを防ぐためにDiscriminatorに簡単には学習できないような学習トリックを入れるようにかなり直感的な考えをそのまんま実装し、上手くいっています。
著者たちも今回は発想を実装したに過ぎず、まだまだ多様性の担保をできるような表現方法を考えることでさらなる発展が見込めると述べています。今後はこの表現方法1つで大規模データで学習したGANをさらに効率的な活かし方があるかも知れません。
例えばGANと少数データって考えでいくと、just the ideaではありますが、正常なレントゲン画像を学習させた$G_s$に、少数の肺結節が映ったレントゲン画像を学習させることで、大量の肺結節画像を作ることができるかもしれませんね。もちろん自然画像と医療画像は性質が違いますが、その性質の違いは表現方法などを工夫すればいけるのではないかと考察しました。
この記事に関するカテゴリー