見出し画像

MBWでの各Layer毎の特徴を見てみる

はじめに


こんにちは。Defpointと申します。

普段はAIにイラストを好き勝手に描かせています。

早速ですが、この記事ではMBW(Merge Block Weighted)を用いた際の各Layerごとの特徴を見ていきたいと思います。

「MBWってなんぞや?」とか「Layerって??」という方も当然いらっしゃるかと思いますが、今回は1本目の記事ということで自らの稚拙さに感けて詳しく説明することは省略いたします。すみません。

しかし、記事内で簡潔に補足説明は入れていくので、もし少しでも興味がある方は「こんな夢の世界があるんだ~」という風にチュロスでも片手に読んでやってください。(ギョウザドッグも可。)

MBWとは


MBWとは簡単に言うと「2つのモデルをくっつけてキメラモデルをつくる」ということです。

つまり、2つのモデルのそれぞれ良いところだけを取り出してくっつけることが出来ればハッピーなわけなのですが、

そんなに簡単ちゃうねん!!

ということです。

つまり、ここでMBWによってU-Net上の25層あるLayerのパラメータ(重み)を1つ1つ調整して2つのモデルを混ぜていくわけですが、

現在はLayerごとの特徴が完全に把握されていないので、おおよそアウトプットされた結果から判断しているという状態です。(2023/3/25現在)


というわけで、今回その「Layerごとの特徴」を少しだけでも究明できたらなというモチベーションがあります。


前提条件


前提として、この検証内容自体は2月末に私がDefmix-V2.0というモデルを作るにあたって検証した内容です。

まっっっっったくと言っていいほど裏付けがありませんので、ここからの内容は話半分の半分くらいで読んでいただきたいです。


まず、Stable DiffudionのAuto Encoderとして使われているU-Netが、「特徴マップをEncoderからDecoderにconcatする」という特徴を持っているため、1層ごとの検証ではなく、Output層とInput層をペアと考えて検証することにしました。

簡単に言いますと、何かとっかかりを作らなくては途方もない作業すぎたということです。正確かは分からないけれど、大きく間違ってはいなさそうな方法で条件を絞り込んだ感覚です。


対象とする2つのモデルを決定するにあたっては、以下の内容を意識しました。

①2つのモデルが持っている特徴が離れていること。
②比較的新しいモデルであること(2月末時点)

理由は明白で、①は比較したときの結果が分かりやすいためです。②については実用性を重視したためです。先述した通りDefmix-V2.0をつくる過程だったため、応用しやすいモデルを選びたかったということです。

結果、2つのモデルは"Counterfeit-V2.5""BasilMix"を選定しました。


また、今回は"base=0.0, float16, CLIP position_ids:None"としています。
極力Model-Aとの比較によってU-Netの純粋な評価がしたかったためです。(floatに関しては試行回数を増やしたかったため。)


Layerごとの検証


ここからは、私がNotionでメモしていた内容をひたすらペタペタしていくことになります。

画像を逐一掲載していきますので、上手く皆さんが抽出できることを願っています。(一応当時の私のメモも少し改変して残しておきます。)

まず、比較元の画像はこちら。

Counterfeit-V2.5
BasilMix

■IN00, OUT11

  • 人体△、背景×、絵柄×、構図×

  • 目や腕、足周りのマスクに影響。

■IN01, OUT10

  • 人体△、背景×、絵柄×、構図×

  • IN00と近い。より足回りのマスクや目の周りへの影響が強そう。

■IN02, OUT09

  • 人体◎、背景×、絵柄×、構図〇

  • 人体への影響がかなり大きい。

■IN03, OUT08

  • 人体△、背景×、絵柄×、構図×

  • 背景のマスクにかなり影響していそう。目と腕に影響する。

  • マスクだけで背景の何を描写するかにはあまり影響していないかも。

■IN04, OUT07

  • 人体△、背景×、絵柄△、構図△

  • かなり背景だけリアル寄りになる。IN03よりも絵柄に影響。

■IN05, OUT06

  • 人体△、背景△、絵柄×、構図×

  • Model-Bの絵柄に寄せる。背景が少し変化。

■IN06, OUT05

  • 人体◎、背景◎、絵柄〇、構図◎

  • えぐい影響する。リアル調かアニメ調かにかなり影響するため、ここが最もModelA-B間の調整に使えそう。

  • やはり背景の描写が変わるのでうまくしないと破綻絵が増える。

■IN07, OUT04

人体◎、背景〇、絵柄〇、構図△

■IN08, OUT03

  • 人体◎、背景◎、絵柄×、構図◎

  • 構図への影響が圧倒的に大きい。髪色への影響が凄そう。

■IN09, OUT02

  • 人体△、背景×、絵柄×、構図×

  • 重みが大きい方がModel-Aに寄る。意味が分からない。

■IN10, OUT01

  • 人体〇、背景△、絵柄×、構図×

  • 構図にはほとんど影響しない。少し混ぜるだけでかなりModel-AでもModel-Bでもない要素が出る?(混ざる?)

■IN11, OUT00

  • 人体△、背景×、絵柄×、構図×

  • 最後のまとめ役。収斂しようとする働きを持ちそうなのでpolarizeした方がいいかも。

■MID00

・モデル全体が持つマスク部分に影響?
・ここだけCross-Attentionではないはずなので悪さできそう。


さいごに


ここまで検証したところで「ある法則性」に気づいて更に検証を重ねた結果、Defmix-V2.0が出来ました。

ちなみにここまで13通りの比較結果がありますが、最終的には55通りまで比較対象が増えていました。

ここからが本番感はありますが、各Layerごとの特徴を見つけるにあたっての足がかりにはなるのではないかと思います。


ちなみに、取り上げなかった検証の後半部分も記事にする予定です。

しかし、更にディープな世界になってしまうため、様々な方が読んでくだささるであろうこの記事ではここまでにしたいと思います。



今回は、AIイラストを投稿できるプラットフォームの「ちちぷい」さんが主催となって、4/8(土)に開催される「AI COLLECTION」記念のアドベントカレンダー企画として執筆させていただきました。

下記URLから内容が確認できますので、関東にお住いの皆様はぜひ足を運ばれてみてはいかがでしょうか。チュロスでも片手に。

AIイラスト専門の展示即売会 開催! (chichi-pui.com)


※私は展示されないよ!

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