
CLIP Text Deprojectorを使って画像生成してみる ~LSTMの入力形式の変更~
前回は、LSTMの内部次元数を変えましたが、今回は、前々回に触れたLSTMの入力形式の変更について実験しました。
前回の記事
他のStable Diffusionの関連記事
Layered Diffusion Pipelineを使うためのリンク集
ライブラリの入手先と使用法(英語) : Githubリポジトリ
日本語での使用方法の解説 : Noteの記事
モデルアーキテクチャ
今回試すモデルアーキテクチャは、前々回の記事で入力の情報の減衰を防ぐ方法として提案し、実験はせずに終わったものです。

上図で(1)の接続方法は実験しましたが、(2)の接続方法は実験をしていませんでした。
このアーキテクチャはLSTMのコンテキストの次元を変更可能なので、前回実験したモデルとパラメータ数が近い値になるように、次の次元数でモデルを作りました。
入力次元の1倍
入力次元の1.25倍
入力次元の1.75倍
これに加え、前回の結果を踏まえ、線形変換後に残差接続を繋げる形式を採用します。
生成画像
生成画像は上から順に次のように並んでいます。
Deprojectorなし
LSTMの次元 1倍
LSTMの次元 1.25倍
LSTMの次元 1.75倍
使用したプロンプトはこれまでと同様、次の通りです。
単一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 (少年 少女 教室)


2種類の接続方法の比較
次に、上に挙げた入力embeddingの2種類の接続方法を比較してみます。前回のモデルと近いパラメータ数同士のモデルの生成画像を比較できるように並べました。
生成画像は上から順に次のように並んでいます。カッコ内はモデルファイルのサイズです。
Deprojectorなし
コンテキストに入力(前回)。次元数 1.5倍(47.3MB)
LSTMの入力の一部(今回)。次元数 1.25倍(46.2MB)
コンテキストに入力(前回)。次元数 2倍(69.85MB)
LSTMの入力の一部(今回)。次元数 1.75倍(69.84MB)
2と3、4と5がほぼ同じパラメータ数のモデルとなります。


まとめ
入力embeddingの接続方法の違いを実験して比較しました。
今回方式は、特に内部次元数が大きいモデルで、生成画像に安定性の欠けた挙動が見られました。
生成画像のノイズの多寡は、前回方式と今回方式ではっきりとした差は見られませんでした。