本レシピでは、GLIDEの技術概要を解説し、論文発表元が公開するミニモデルGLIDE(filterd)を用いて、テキストから画像を生成する方法や、テキストに応じた画像修復方法をご紹介します。
GLIDE(Guided Language to Image Diffusion for Generation and Editing)とは、OpenAIが2021年12月に論文発表したText-Guided Diffusion Modelsです。
Text-Guided Diffusion Modelsとは、端的には入力されたテキストから画像を生成するDiffusion Models(拡散モデル)を意味しています。
まずはGLIDEが生成した画像を見てみましょう。下記は、Text to Imageの出力結果を示しています。
出典: GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models
上記を見ると、"a corgi wearing a red bowtie and a purple party hat"のように複数の修飾語に応じて忠実な画像が生成できています。
また、"a professional photo ~"、"a high-quality oil painting of ~"のように条件付けをすることで、写真のように忠実な画像や、絵画のような画像も生成可能なことが見て取れます。
このような画像を生成可能なGLIDEは、被験者によるDALL-Eとの比較評価において、画像の写実度では87%、入力テキストに対する忠実度では69%の割合でGLIDEの方が優れていると評価されています。
それでは、GLIDEの技術概要を見ていきましょう。
まず、中心技術であるDiffusion Modelsから見ていきます。
Diffusion Modelsは、Denoising Diffusion Probabilistic Modelsをベースとした以下の2つのプロセスによって構成されるモデルです。
出典: Denoising Diffusion Probabilistic Models
モデルの入力はノイズ画像で、モデルはガウスノイズの平均と分散を予測します。
学習時、モデルはForward diffusion processで付与したガウスノイズと、予測したガウスノイズの平均と分散の差分を最小化するように学習します。
予測したガウスノイズを除去し、次のステップでさらに予測・除去といった処理を繰り返すことで最終的に相当の画像を生成します。
このようにDiffusion Modelsはノイズを除去していくプロセスを学習していくことでの状態から画像を生成するようにトレーニングされます。
上記Diffusion Modelsをベースに、多様性と忠実度を調整できるよう改良を施したモデルがGuided Deffusionです。
GLIDEでは、Diffusion Modelsがテキストから画像を生成するため以下2つの方法を用いています。
Classifier guidanceでは、ラベルと画像を学習したDiffusion Modelsのサンプリング時に、別途用意した分類器を用いてラベル通りに画像を生成するようにガイドします。
ガイド時には、分類器が期待するラベルに画像を分類するように損失勾配でガウスノイズの平均に重みづけを行います。
この方法では、Diffusion Modelsと分類器の2つのモデルを用います。
GLIDEでは、分類器に、自然言語と画像との意味的関連性を算出可能なCLIPを用いることで、自然言語で入力されたテキストに対して、意味的関連性の高い画像を生成するようにガイドしています。
もう一方のClassifier-free guidanceでは、別途個別の分類器を使用しない代わりに、Diffusion Modelsと分類器を同時に学習させます。
GLIDEでは、テキスト情報であるテキストキャプションと画像を学習させますが、一定の確率で空のシーケンスを与え、無条件の画像生成と条件付き画像生成を学習させます。
サンプリング時には、Diffusion Modelsの出力に対して、テキストキャプションで重みづけを行い、再度Diffusion Modelsに予測させることでテキストキャプションへと生成画像をガイドします。
分類器が不要になったことにより、単一のモデルでDiffusion Modelsのガイドを実現しています。
論文中の実験では、上記2つの方法を用いた実験を行いClassifer-free guidanceが優位な精度を示したと記されています。
出典: GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models
また、ノイズから画像を生成する特性を生かし、画像の一部にノイズ(マスク)を施し、画像を生成することで画像編集も実現しています。
出典: GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models
このように、GLIDEでは、テキストから本物の写真と区別がつかないような画像生成や画像編集が可能となっていますが、論文発表元のOpenAIでは、GLIDEを用いたフェイクニュースやディープフェイクの生成を防止するため、データセットのフィルタリングと、モデルのパラメータ削減を施したミニモデルGLIDE(filtered)のみ公開しています。
以降では、GLIDE(filtered)を用いた画像生成、画像編集を実装していきます。