[論文メモ] Pretraining is All You Need for Image-to-Image Translation
学習済みの生成モデルを利用してImage-to-Image(I2I) translationを実現。
I2I translationは基本的にアーキテクチャ設計が大変だったり、スクラッチからの学習が難しかったりする。
そこで既存の生成モデルを利用するI2I translationのフレームワークを提案。
手法
システムの全体像は以下の図。
生成モデルとしてdiffusion modelを利用する。
画像に回ガウシアンノイズを加えていく。は完全なノイズ画像()。
として、はから直接求められる。
もしくはをガウシアンとして。
Generative pretraining
このdiffusion modelについて学習済みのものを利用するが、I2I で利用するのでよい潜在空間(近い点からは似た画像生成されるなど)になっていてほしい。
これらを満たす既存モデルとしてGLIDEを利用。GLIDEはテキストから画像を生成するdiffusion modelで大量のテキストと画像ペアで学習されていて生成能力も高い。
arxiv.org
Downstream adaptation
Base model finetuning
text2imageのモデルができたら、テキストが変換される潜在空間に様々な条件(スケッチ画像やセグメンテーションマスク)を埋め込む必要がある。
そこで条件に合わせたエンコーダを用意する。デコーダ(diffusion model)を、エンコーダを、条件をとしてという感じ。
学習は2ステージにする。
1ステージ目はエンコーダのみを学習する。これでもそこそこの画像が得られる。
2ステージ目はデコーダも合わせてfine tuningする。
Adversarial diffusion upsample
また、学習時の画像にBreaking stretching ratio (BSR)による劣化を施すことでテスト時とのサンプルのドメインシフトを防ぐ。
フィルタによる擬似的なオーバースムージングも導入。
これらのaugmentationでも生成結果がオーバースムージングされたようになる。
これはdiffusion denoisingがガウシアンノイズを仮定しているのが原因と推測。
ノイズ予測だけでなく、perceptual lossとadversarial lossを課すことで画像局所的な構造を改善する。
にたいして、
はDiscriminator、はVGGの複数階層の特徴。
Normalized classifier-free guidance
diffusion modelが条件を無視するかもしれないのでclassifier-free guidanceを導入。
なのでの勾配は以下のようになる。
これはに識別する方向なのでこの方向に持っていけばよい。
条件なしをとして
このあたりはGLIDEと同じ。
ただ、このままだと分散と平均がシフトするらしい。
そこで式(7)のガイドノイズの平均を計算する。の平均をとするとこれがclassifier-free guidanceの平均のシフトになる。
の平均を、分散も同様に計算しこれらを使って標準化する。
これによりガイドが強い場合の生成も改善した。
実験・結果
I2Iタスクはマスク・スケッチ・ジオメトリそれぞれを条件とした画像の生成。
基本的に元データありだが、スケッチ画像はHEDで条件画像を生成。
比較対象はPix2PixHD、SPADE、OASIS。
デコーダのfine-tuningの効果とnormalized classifier-freeの効果。
所感
最近話題のDALLE2でも使われているGLIDE。
学修済みモデルを使うので安定性は良さそう。エンコーダの学習はどれくらいかかるのか(そんなにはかからなそう?)。
DALLE2の動画版っぽいものも出てきたし、今後は画像ドメインに限らずGLIDEやCLIPを使った生成は増えてきそう。