アニメ画像生成に蔓延る非科学
- 2022/12/20
- 00:00
過激なタイトルで申し訳ありません。
Latent Diffusion(あるいはStable Diffusion)が公開されて以降、一般的なGPUでも512px超でのText-to-Imageが容易となりました。
そのような背景から、アニメ画像を生成しようとする動きが活発化するのは必然だったと考えています。
と言う訳で画像生成AI Advent Calendar 2022 20日目です。
画像生成に関する知識は素人同然ですが、頑張ります。
この記事の要約はこんな感じです。
- 現在のアニメ画像生成界隈において手法やモデルの評価は主観ベースで行われており、クソです。
- そこで、アニメ画像評価のためのメトリクスとしてDaFID-512を提案します。
- DaFID512はここで公開しています。
背景
Latent Diffusion(あるいはStable Diffusion)が公開されて以降、一般的なGPUでも512px超でのText-to-Imageが容易となりました。
そのような背景から、アニメ画像を生成しようとする動きが活発化するのは必然だったと考えています。
だって、私を含めてみんな女の子好きですしね。
そこで本記事においては、画像生成手法を用いてアニメ系画像を生成しようとしている個人・集団を便宜上、「アニメ画像生成界隈」と呼ぶことにします。
Stable Diffusion公開以降のアニメ画像生成界隈の動きは非常に目覚ましいものでした。
2022年12月現在において、代表的なモデルだけでもStable Diffusion、Waifu Diffusion、Hentai Diffusion、derrida、よりダークなモデルではNovelAIリークやAnything等々が群雄割拠しています。
また、Textual Inversion、Dreambooth、Creativity-Transfer、Hypernetworks、LoRAなどに代表される刺激的なFew-Shot Learning技術は最早一般的なものとなりました。
技術的な程度の差こそあれ、本記事を読んでいる人の多くもローカルでの学習やコードレベルでの改造によって画像生成を楽しんでいると思われます。
さて、そのような急速な技術の進歩と普及を背景に、国内外では倫理的な議論が広く行われました。
実際、このアドベントカレンダーにおいてもそういう内容の論争が多いですね。
しかし、私の興味の方向は若干異なっているので、本記事では画像生成界隈が今まであまり目を向けてこなかった問題についてお話したいと思います。
それは、『現在のアニメ画像生成界隈においてモデルや手法の比較が行われる際、クソみたいな手法が半ばデファクトスタンダードになっていて気に入らない』というものです。
現在の一般的な評価方法とその問題点
アニメ画像生成の評価方法はクソだと主張するからには、まず現在においてアニメ画像生成の評価がどのように行われているかを説明した上で、何がどうクソなのかを論じる必要があります。
まず一般論として、画像品質の評価を行うためのメトリクスは以下のようなものが知られていると思います。
- FID
- LPIPS
- CLIP Score
- PSNR、SSIM、MAE、MSEなど
一番下のメトリクス郡には正解データが必要なため今回は除外するとして、よく使われるのは上の3つでしょうか。
(正確にはLPIPSにも正解データが必要ですが、このような評価手法を用いることで多様性評価に用いることができます)
しかしながら、アニメ画像生成界隈において、上に挙げられたようなメトリクスを用いる人は(私の観測範囲では)稀です。
どちらかと言えば、下図のようにタイル状に敷き詰めた画像を用いて手法やモデルの比較を行う人が多いように感じています。
画像生成系のアカウントをフォローしている人であれば、上のような図を一度は見たことがあると思います。
これはAutomatic1111という有名なweb UIの機能を用いて生成された図です。
何をやっているのかと言うと、検証対象でないパラメタを固定した上で、検証対象のパラメタだけを変更しながら生成を行うというものです。
上の画像を例に取ると、シードやプロンプト等のパラメタを固定した上で、モデルとサンプリングアルゴリズムを切り替えながら12通りの網羅生成を行うことで、それぞれの比較を行っています。
このような方法は手軽かつ視覚的なインパクトがあるためよく用いらますが、この比較のみを以て比較を行ったと思い込むのはあまりにも非科学的であるというのが本記事の主張です。
そう考える理由は2つあります。
- このような比較手法はチェリーピッキングが容易に行える。
- 比較が非定量的であり主観に依存している。
この2つです。
皆さんご存知のように、DDIMに代表されるサンプリングアルゴリズムの生成結果は、seed(Latent Diffusion Modelにおいては潜在空間の初期値)の影響を強く受けます。
皆さんご存知のように、DDIMに代表されるサンプリングアルゴリズムの生成結果は、seed(Latent Diffusion Modelにおいては潜在空間の初期値)の影響を強く受けます。
別のseedではキャラクター、構図、クオリティなどが全く異なる画像が出力されることは、画像生成を触った事のある人にとっては常識ですね。
このような前提に立って、NovelAIとWaifu Diffusion 1.3を比較することを考えてみてください。
一般論としてWaifu DiffusionよりもNovelAIの方が品質に優れることは多くの人が同意するでしょう.
しかしながらNovelAIも完ぺきではないため、数十枚に1枚は変てこな画像を出力します。
では、あるseedにおいて偶然NovelAIが「最低の一枚」を、Waifu Diffusion 1.3が「最高の一枚」を出力することは起こりえないと言えるでしょうか。
あるいは、評価者が一方に有利な比較を行うために、恣意的にそのようなseedを選択しないと断言できるでしょうか?
(これは、学問の世界ではチェリーピッキングと呼ばれる禁忌です。)
さらに、画像を並べただけではその評価は見る者の主観に委ねられてしまう、という点も問題です。
人によって好みは異なるからです。
あなたがある画像を気に入ったとしても、他の人もその画像を気に入るとは限りません。
その上、あなたが気に入った画像の持っている特徴が普遍的な性質なのか、seedの気まぐれに過ぎないのか、画像1枚では判別がつかないのです。
そのような背景から、少数の画像のみを用いて主観的に判断を行う、上の様な比較方法は非科学的であり危険と言えます。
画像を大量に生成したうえで、その平均や分散、あるいはニューラルネットワークによる知覚的特徴などを比較に用いる方が、より平等な性能評価を行いやすくなるはずです。
(実際にはまだ捏造方法はありますが、seedひとつでの比較よりは相対的にマシです。)
それが前述したFIDやLPIPSの考え方に繋がるのですが、話はそう簡単ではありません。
FIDやLPIPSはImageNetで訓練されたInception-v3やAlexNetを利用するため、アニメ画像に対して適切な埋め込み表現が得られないからです。
このようなちょっと面倒な事情を背景として、上の画像の様な比較方法は、アニメ画像生成界隈においてモデルや手法を比較する際のデファクトスタンダードとして広まってしまったのです。
具体例として、以下にあるふ氏と852話氏のツイートを引用します。
例えばあるふ氏はCool Japan Diffusionの性能をアピールするためにサンプル画像を貼り付けるという手法を取っています。
また、852話氏は8528-Diffusionの性能をアピールするために、サンプル画像や条件比較の他に、自然言語によって改善点の説明を行っています。
もちろんこれらの引用はツイートの文脈や意図を考慮していません。
なので批判の意図はないのですが、私が言いたいのは、あるふ氏や852話氏といった最前線を走っている人ですら、自らのモデルに対して非定量的な説明を行わざるを得ないのが現状であるという事です。
※お二方、批判的な文脈で引用してごめんなさい!
さて、ここまで長々と論点を整理してきました訳ですが、やっと本題です。
現状のように、サンプル画像ペタペタや条件比較を用いた評価ごっこが蔓延る状況はクソなので早急に改善される必要があります。
つまり、アニメ画像を評価するための何らかのメトリクスが必要です。
DaFID-512
そこで今回は、アニメ画像を評価するための新しいメトリクス、DaFID-512を提案します。
読み方はダフィッドゴーイチニーです。
DaFIDはDanbooru pre-trained ResNet FIDの略称であり、そのコンセプトは、「Danbooruデータセットで事前学習された画像認識モデルによる512次元の埋め込み表現を用いてFID計算を行う」という文字通りのものです。
Danbooruデータセットは膨大であり短期間での訓練が難しかったので、danbooru-pretrainedを用いることにしました。
このモデルはDanbooru2018を用いてマルチラベル分類を行うよう訓練されたResNet-50であり、入力されたイラストに対して6000種のDanbooruタグ予測を行うことができます。
従って、ImageNetで訓練されたInception-v3やAlexNetと比較して、よりイラストの特徴を考慮することができると考えられます。
danbooru-pretrainedのFCNは下図のような構造になっています。つまり、CNNの出力に対して4096次元→512次元→6000次元の順で線形変換が行われます。
本記事においては(7)、(8)を恒等関数に置き換えて得られる512次元のベクトルを用いてFID計算を行います。
FIDの計算式は長くなるので割愛しますが、性質を簡単に説明します。
FIDは2つの画像集合(多くの場合N≧10000)を比較するために使用されるメトリクスであり、0に近いほど2つの集団は近いとみなされます。
DaFID-512がInception-v3を用いないので、FIDという名前を冠するのは本来不適当なのですが、分かりやすさを優先してこのような名前にしていることをご承知おきください。
では、DaFID-512を実際に使用してみましょう。
では上の表を見てください。
これは、プロンプトを変更しながら画像を10000枚ずつ生成したときに、High Resolution Anime Face Dataset(以下HRAFD)とのFIDおよびDaFID-512を測定したものです。
HRAFDは様々なアニメキャラの512pxヘッドショット画像約30万枚からなるデータセットであり、今回はランダムに1万枚を選択しました。
細かい検証条件については画像中のキャプションを参照ください。
下の表は、実際にそれぞれのプロンプトで生成された画像の例です。
1のように、プロンプトによる条件を殆ど指定しなかった場合、生成されるキャラクターの特徴は多様となります。
2はヘッドショットではありませんが、プロンプトをchibi(スーパーデフォルメを指すスラング)としか指定していないため、キャラクターの特徴はやはり多様です。
逆に、3のようにプロンプトを細かく指定した場合、生成されるキャラクターの多様性は1、2と比較して小さくなります。
HRAFDは様々なアニメ画像を含んだデータセットなので、DaFID-512は「キャラクターが多様なヘッドショット」に対して小さくなると考えられます。
従って、DaFID-512が「ヘッドショットかつ多様な1、ヘッドショットではないが多様な2、ヘッドショットだが多様でない3」の順で並ぶのは自然と言えます。
次に、プロンプトを変更しながらDaFID-512を比較しました。
HRAFDに最も近いのはHentai Diffusionのようです。
最後に、各モデル同士のDaFID-512を確認します。
Stable-Diffusion、Waifu-Diffusion、Hentai Diffusionといった、関連するモデル間のDaFID-512が低くなっています。
逆に、DerridaやCool Japan Diffusionのような独自性の高いモデルのDaFID-512は相対的に高くなります。
これは興味深い結果でした。
実際に視覚的に確認しても、Stable Diffusion、Waifu Diffusion、Hentai Diffusionの画像は類似しているように見えます。
このような性質から、DaFID-512は視覚的な類似性もある程度測ることができるんじゃないかと考えています。
議論
DaFID-512はdanbooruデータセットで訓練された画像認識モデルを用いる性質上、人によっては好まれない可能性があります。
多分あるふ氏なんかはそういう事を考えて使ってないんだと思います。多分ね。
でもそうなるとクリーンなメトリクスが必要になる訳で、僕は思いつかないので何かアイデアのある人は教えてください。
おまけ
DaFID-512は生成された画像の忠実性を測る上で有効なメトリクスと言えます。
しかしながら、それが過学習されたものなのか、あるいは多様性を失っていないのか判断ができません。
従って、画像の多様性を測るメトリクスが求められています。画像を図るための簡単なメトリクスとして多様性マウンテンという手法を作ってみました。
これは単純で、同一条件で生成した画像10000枚から予測されるタグの確率を閾値ごとに見て、分散がどんなふうに変化するかを見ています。
ただ、多様性マウンテンは直感的に分かりにくいので失敗だと思います。
多様性計測の為にはdanbooru-pretrainedを使ってLPIPSを作るのが一番手っ取り早そうですが、今回は時間が無かったのでやってません。
あとは、特定のプロンプトに対する忠実度を測定するためにdanbooru-pretrainedを用いるのも簡単で良いと思いました。(例えば「猫耳」プロンプトで10000枚生成して、どの程度の確率で猫耳が検出されるか、的な。)
ではまた。