見出し画像

CLIP Text Deprojectorを使って画像生成してみる ~LSTMの次元数を増やす~

前回、LSTMの次元数を増やす準備をしたので、今回は実際に次元数を増やして実験します。

前回の記事

他のStable Diffusionの関連記事

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


実験の設定

今回実験に使うモデルは、前回の記事の後半で実験した3つのアーキテクチャになります。

  1. 入力をコンテキストに加算。線形次元変換を適用。線形変換なしで残差接続

  2. 入力をコンテキストに加算。線形次元変換を適用。線形変換後に残差接続

  3. 入力をコンテキストに加算。線形次元変換を適用。残差接続後に線形変換

それぞれのモデルで、LSTMのコンテキストの次元を入力次元の

  1. 1倍

  2. 1.5倍

  3. 2倍

と変化させてモデルを学習し、生成画像を比較しました。

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

単一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 (少年 少女 教室)

1.線形変換なしで残差接続

「入力をコンテキストに加算。線形次元変換を適用。線形変換なしで残差接続」のアーキテクチャのモデルでの実験結果です。

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

  1. Deprojectorなし

  2. LSTMの次元 1倍

  3. LSTMの次元 1.5倍

  4. LSTMの次元 2倍

単一embedding
複数embeddingの合成

2.線形変換後に残差接続

「入力をコンテキストに加算。線形次元変換を適用。線形変換後に残差接続」のアーキテクチャのモデルでの実験結果です。

単一embedding
複数embeddingの合成

3.残差接続後に線形変換

「入力をコンテキストに加算。線形次元変換を適用。残差接続後に線形変換」のアーキテクチャのモデルでの実験結果です。

単一embedding
複数embeddingの合成

まとめ

  • LSTMのコンテキストの次元数を増やすことは、生成画像の質に緩やかな正の効果が見られる。

  • 「2.線形変換後に残差接続」のアーキテクチャの生成画像の質が最も安定している。

    • 特に、複数embeddingの合成で「少年 少女 教室」の画像(右端)に最も顕著な影響がある。

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