【論文読み】自己条件付き画像生成: Representation-Conditioned Image Generation (RCG)

この記事は[京都大学人工知能研究会KaiRA Advent Calendar 2023](https://qiita.com/advent-calendar/2023/kyoto-kaira) 9日目の記事です。

今回は「Self-conditioned Image Generation via Generating Representations」という論文について取り上げます。

https://arxiv.org/abs/2312.03701

なお以下に掲載する図表は全て論文からの引用です。

# 概要
この論文では「自己条件付き画像生成(RCG; Representation-Conditioned image Generation)」のフレームワークを提案しています。以下に自己条件付き画像生成の概要図を示します。(a)まず画像を学習済みのEncoderによって低次元空間へと埋め込みます。(b)次に、その画像表現をDiffusion Modelによって学習し、ノイズから生成できるようにします。(c)その後、その画像表現を条件として画像をノイズから生成できるようにDiffusion Model等を学習させます。推論時には、画像表現も画像自体もノイズから生成することができます。
<img width=70% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/ad345b2d-3dee-06e7-0ceb-49cc9ce5d1cc.png>

本論文ではこのフレームワークを用いることで、ImageNetのクラス条件無しでの画像生成においてFIDを**3.31**まで更新しました。従来SoTAはMAGEという手法の7.04であったため、非常に大きな更新となります。
また、このフレームワークではクラスラベルやテキストといったデータを必要とせず、人手でのアノテーションが不要になるため、アノテーションの質の問題から脱却することができるというメリットもあります。

# 手法
概要図を見るとわかるように、本手法はImage Encoder、Representation Generator、Pixel Generatorの3つのモデルから構成されます。

Image Encoderには学習済みのモデルを用いることにします。この論文では、表現学習のためのViTベースのモデルである[MoCo v3](https://openaccess.thecvf.com/content/ICCV2021/papers/Chen_An_Empirical_Study_of_Training_Self-Supervised_Vision_Transformers_ICCV_2021_paper.pdf)を用いています。このEncoderにより、画像は数百次元のベクトルへと変換されます。

Representation GeneratorとPixel Generatorの概要図を以下に示します。

<img width=70% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/5da5bd89-3092-2a53-7479-4460d4f0b10f.png>

Representation GeneratorはEncoderによって得られた低次元表現を生成するためのDiffusion Model (RDM; Representation Diffusion Model)です。扱うのは低次元のベクトルであるため、モデルのアーキテクチャには全結合層のみを用いています。学習は従来のDiffusion Modelと同じように行い、推論時にはDDIMによってサンプリングを行います。

Pixel Generatorは低次元表現を条件として画像を生成するモデルです。今回はここに[MAGE](https://openaccess.thecvf.com/content/CVPR2023/papers/Li_MAGE_MAsked_Generative_Encoder_To_Unify_Representation_Learning_and_Image_CVPR_2023_paper.pdf)というモデルを用いています。Diffusion Modelを使うことも考えられますが、Ablation Studyで述べられているようにMAGEを用いた場合が最もFIDが良かったため、MAGEを採用しています。

また、画像生成時にはClassifier-free guidanceを用いることが考えられます。クラス条件無しでの生成では、当然条件が存在しないためClassifier-free guidanceは使えませんでしたが、今回は画像表現が条件として与えられているため、クラス条件無し生成であってもClassifier-free guidanceが使えることになります。

# 実験
学習データには256×256サイズのImageNetを用いています。

### 定量評価
まずはGuidanceなしでの比較を以下に示します。クラス条件無し生成モデル(下段)ではがFID、ISともに従来手法を陵駕しています。また、クラス条件付き生成モデルと比較しても、同等かそれ以上のスコアになっていることがわかります。
<img width=70% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/13afe17a-6705-1e45-a9c4-fdd7777d0fdf.png>

次にGuidanceありでの比較を以下に示します。Guidanceを用いることで提案手法はFID、IS共に向上しています。従来の条件付き生成モデルもGuidance無しと比べてFID、IS共に大きく向上していますが、それでも提案手法はそうしたモデルに匹敵する結果を出しています。
<img width=75% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/92450dfb-eb70-ad2d-c5a3-d89d5b1e45b0.png>

また、Classifier-free guidanceのguidance強度についても調べており、強度を大きくするとFIDは僅かに悪化し、ISは上昇するようです。この結果は、Guidanceの一般的な挙動である「生成画像の品質を向上させ、多様性をより小さくする」という性質がそのまま表れているのかなぁと思います。

その他、論文では詳細なAblation Studyも行われています。

最後に計算時間の比較を示します。先ほどまでの結果を出していたモデルをRCG-Lとした上で、パラメータがより少ないRCG-Bも比較しています。また、学習時間も従来の200+800 epochsとしていたものをより少ないepoch数で学習させた場合も比較しています。なお、学習時間は64×V100での結果を示しています。
Representation Generatorの部分は半日以下で学習できるため、Pixel Generatorの部分のモデル(MAGE)と比べて学習時間は僅かに増加するも、FIDは向上していることになります。(LDM-8やADMでGuidanceを使った場合の結果が気になりますが…)
<img width=80% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/db71a870-3b96-468a-6bba-f1fb08ddfe38.png>

### 定性評価
以下が生成画像のサンプルです。何度も言うようにこれはクラス条件無しでの生成結果であり、非常に品質の良い画像が生成出来ていることがわかります。
<img width=100% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/1a0852c7-b620-e274-61ce-1a204d95a82f.png>

また、画像表現を線形補間した時の生成結果も示されています。画像表現を補完することで生成画像の被写体も補間されています。離散的なクラスラベルではこうした補間は不可能であるため、画像表現が連続的であることがわかります。
<img width=100% src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629111/2e8bec45-162f-8f63-89fa-72f367f375ff.png>


# 感想
学習済みの条件無し生成モデルを使って条件付けて生成するような研究はGANの分野でいくつか見たことがあるので、その辺りの手法と組み合わせられると面白いなと思いました。