見出し画像

CLIP Text Deprojectorを使って画像生成してみる ~LSTMの入力形式の変更~

前回は、LSTMの内部次元数を変えましたが、今回は、前々回に触れたLSTMの入力形式の変更について実験しました。

前回の記事

他のStable Diffusionの関連記事

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


モデルアーキテクチャ

今回試すモデルアーキテクチャは、前々回の記事で入力の情報の減衰を防ぐ方法として提案し、実験はせずに終わったものです。

情報減衰を防ぐ方法

上図で(1)の接続方法は実験しましたが、(2)の接続方法は実験をしていませんでした。

このアーキテクチャはLSTMのコンテキストの次元を変更可能なので、前回実験したモデルとパラメータ数が近い値になるように、次の次元数でモデルを作りました。

  1. 入力次元の1倍

  2. 入力次元の1.25倍

  3. 入力次元の1.75倍

これに加え、前回の結果を踏まえ、線形変換後に残差接続を繋げる形式を採用します。

生成画像

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

  1. Deprojectorなし

  2. LSTMの次元 1倍

  3. LSTMの次元 1.25倍

  4. 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 (少年 少女 教室)

単一embedding
複数embeddingの合成

2種類の接続方法の比較

次に、上に挙げた入力embeddingの2種類の接続方法を比較してみます。前回のモデルと近いパラメータ数同士のモデルの生成画像を比較できるように並べました。

生成画像は上から順に次のように並んでいます。カッコ内はモデルファイルのサイズです。

  1. Deprojectorなし

  2. コンテキストに入力(前回)。次元数 1.5倍(47.3MB)

  3. LSTMの入力の一部(今回)。次元数 1.25倍(46.2MB)

  4. コンテキストに入力(前回)。次元数 2倍(69.85MB)

  5. LSTMの入力の一部(今回)。次元数 1.75倍(69.84MB)

2と3、4と5がほぼ同じパラメータ数のモデルとなります。

単一embedding
複数embeddingの合成

まとめ

  • 入力embeddingの接続方法の違いを実験して比較しました。

  • 今回方式は、特に内部次元数が大きいモデルで、生成画像に安定性の欠けた挙動が見られました。

  • 生成画像のノイズの多寡は、前回方式と今回方式ではっきりとした差は見られませんでした。

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