見出し画像

CLIP Text Deprojectorを使って画像生成してみる ~MLPの利用~

しばらく更新が滞っていましたが、再開します。

前回、大幅に簡略化した新しいアーキテクチャを提案しました。今回は、モデル中の線形変換をMLPに置き換えて、性能が向上するかを検証します。

前回の記事

他のStable Diffusionの関連記事

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


前回のアーキテクチャ

前回導入したアーキテクチャは下図のような形をしていました。

前回のアーキテクチャ

ここで、モデル#1とモデル#2は、両方とも線形変換を使用しましたが、これを別のネットワークに置き換えることで、モデルの性能を改善することができないかを考えます。

実験内容

今回の実験では、モデル#1とモデル#2をMLPに置き換えて性能比較をしました。MLPの内部パラメータの数は入力次元と等しくしています。

生成画像

画像は上から次の順に並んでいます。

  1. Deprojectorなし

  2. モデル#1 - 線形変換, モデル#2 - 線形変換

  3. モデル#1 - MLP, モデル#2 - 線形変換

  4. モデル#1 - MLP, モデル#2 - MLP

使用したプロンプトはこれまでと同様、次の通りです。

単一embedding

  • cat maid (猫耳メイド)

  • 1girl red hair blue eye black skirt(赤髪 青目 黒スカート)

  • 1boy 1girl in class room(少年 少女 教室)

複数embeddingの合成

  • cat, maid (猫 メイド)

  • 1girl, red hair, blue eye, black skirt (赤髪 青目 黒スカート)

  • 1boy, 1girl, in class room (少年 少女 教室)

単一embedding
複数embeddingの合成

以上の生成画像を比較して、モデル#1をMLPに変換することは生成画像の改善に寄与するようですが、モデル#2をMLPに変換することはあまりはっきりとした改善につながらないようです。

これはEOSトークン位置以降の最終隠れ状態は、新たな情報の入力がないため、単調な変化しか起きないからではないかと思います。

まとめ

モデル#1と#2の線形変換をMLPに変更する実験では、モデル#1のみ変更によって性能が改善する余地があると考えられます。

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