見出し画像

CLIP Text Deprojectorを使って画像生成してみる ~アンサンブルモデル、再び~

前回まで、新モデルのアーキテクチャを検討してきましたが、今回はそのモデルを用いてアンサンブルモデルを作成してみます。

前回の記事

他のStable Diffusionの関連記事

Layered Diffusion Pipelineを使うためのリンク集


単体モデルの作成

まずは、アンサンブルモデルの元となる単体モデルを生成します。モデルアーキテクチャは前回の最終版を用いて、約5万件の異なる訓練データセットを用いて4つのモデルを学習します。なお、パラメータの初期化方法を変えて比較してみましたが、モデルの質にはほとんど影響がありませんでした。

4つのモデルについて、生成画像を比較して、最もよいと思われる学習エポック数を個別に決めました。モデルごとの学習エポック数は次の通りです。

  1. 16エポック

  2. 16エポック

  3. 13エポック

  4. 14エポック

このエポック数まで学習したモデルを用いて、画像を生成して比較しました。最上段が比較用にDeprojectorを使わない画像、2段目以降が上記の単体モデルで生成した画像です。使用したプロンプトは前回までと同様です。

単一embedding
複数embeddingの合成

4つのモデルの生成画像を比較して、これまでとは異なり、モデル間の生成画像の差異が小さいということに気づきました。

これは、ポジティブに考えるとモデルが局所解に落ちにくく、学習効率がよいと考えることができますが、まだ最上段の比較用画像との差異が残ることを考えると、モデルの性能的な限界がある可能性も考えられます。

アンサンブルモデルの作成

上記4モデルを用いてアンサンブルモデルを作りました。ここでは、以前試した2種類のアンサンブル方式を再び比較してみることにしました。

生成画像は上から

  1. 比較用。Deprojectorなし

  2. HuggingFace v4モデル(5万件の訓練データ)

  3. HuggingFace 最新モデル(10万件の訓練データ)

  4. 最終版VTモデル(5万件の訓練データ。アンサンブル重み0%)

  5. 最終版VTモデル(5万件の訓練データ。アンサンブル重み100%)

となっています。アンサンブル重みは、上にリンクした記事で説明した通りです。

単一embedding
複数embeddingの合成

VTモデルのアンサンブルは、単体モデルと比較してあまり大きな改善となっていないことが分かります。これは、元となる単体モデル間の差があまり大きくなかったことと関係しているのではないかと考えています。

VTモデルと以前のモデルとの比較は、プロンプトに対する追従度は同等かやや改善しているとも言えますが、生成画像の細部の描き込みがややボケてしまっているようにも見えます。

アンサンブル重みについては、以前の記事の結論とは異なり、重み100%の方がわずかに良い結果となっているように見えます。

異なるシード値で再試験

上と同じ画像生成比較試験を、異なるシード値で再度行ってみました。これは、単体モデルのエポック数を決めた時の試験で使ったシード値と同じものを上の試験でも使っているので、公正な試験とは言えないためです。

以下、上と全く同じ設定で、シード値のみを変えた画像生成結果です。

単一embedding
複数embeddingの合成

この試験でも、上の試験結果とほぼ同様の結果となりました。

まとめ

最終版VTモデルを用いてアンサンブルモデルを作りました。

画像生成比較試験の結果は、従来モデルに対して十分な優位性を示すことはできませんでした。

この記事が気に入ったらサポートをしてみませんか?