Midjourneyのプロファイル機能2
やっぱり仕組みが気になったから推理タイムww
パーソナライズ機能はLoraではない
Loraの場合、既存のモデルにさらに画像足してモデルの重み自体を変更する感じ、だから得意不得意がはっきり分かれる
例えば女の子ばっかりのサンプルで作ったLoraに猫画像作らせると、そのLora特有のスタイルが消えて普通の写真みたいな画像が出てくる
パーソナライズ機能の場合その現象がない
どんなプロンプトでもスタイルが効いてくる
あとLoraの画像ってガビガビしてて線が二重になったりガタガタしたり奇形発生率も高い
パーソナライズ機能はそれもない
ていうわけでLoraではない
モデルの重みではないということは、プロンプトの重みを変えてるのかな?と思ってClaudeに聞いてみたら
Claudeが見つけてくれた2025年1月の論文がこちら
Personalized Preference Fine-tuning of Diffusion Models
なんかよくわかんないけど
ユーザーに2枚の画像のうちから1枚の画像を選ばせることで
選ばれた方と選ばれなかった方のベクトルの差分からユーザーの嗜好を読み取る
2枚のうちから1枚を選ぶ、というのはプロファイル作成のときにまさにやらされたことー
ちなみに最低200枚選ばないといけないんだけど
2枚ともピンと来ない場合はスキップすることが推奨されていて
わたしは高速スキップしまくってたから多分5000組は見たw(選ぶ方もけっこう体力いる)
んで論文の話に戻るけど
選ばれた方-選ばれなかった方で嗜好ベクトルを作り
嗜好ベクトルを何百と積み重ねて、ユーザーの嗜好として
画像生成時にプロンプトから生成したベクトルに重ね合わせる
つまりプロンプトは「笑顔の女の子」だけど
裏で「(髪がサラサラで20歳くらいでアジア系でまつ毛が長くてラメがついててリップがぷるぷるで少女漫画ちっくなスタイルの)笑顔の女の子」になってるような感じw
実際には嗜好は言語化されずベクトルの状態のまま足される
だから言語化できないような微妙なニュアンスも汲み取れるのがすごいー
ユーザーに選択させる画像セットを作るのはひと手間いるかもだけど
ベクトルの差分を積み重ねるだけなら学習もいらない、一瞬でできる
そんな低コストな方法で
自分好みの絵を量産したい、という庶民の夢が叶うとは
びっくりなさちさんであったー