Scribble at 2025-03-14 07:34:23 Last modified: unmodified
画像生成 AI のカスタマイズとしては、いまのところ大別して三つの手法が採用されている。第一は、もちろん「プロンプト・エンジニアリング」というトークンの入力で結果を制御する手法だ。トークンの扱いには色々とノウハウがあるし、専門の研究者であっても理論的な規則性を数式から言えるにすぎず、具体的にどういうトークンをどう使えばいいかという実務まで詳細に把握してはいないので、たとえば2年前にリリースされて僕がいまも使っている Stable Diffusion 1.5 にしても十分に調べられているわけではなく、まだ利用価値があるとされている。ただし、著作権や肖像権、あるいは猥褻画像などを多く含む LAION というデータを利用してベースのモデルが作られているので、特定のジャンルの画像は良好な結果が得られると言われるが、その「良好さ」の原因が問題になることがある。
第二に、「ファイン・チューニング」と呼ばれる手法があり、Stable Diffusion のユーザは "LoRA" のような追加データとして利用することが多い。これは追加のデータを画像の生成時に利用して、ベースになる拡散モデルで特定の属性についての処理を一定の範囲で短縮する働きがあり、要するに目当ての描写内容へ誘導することができる。なので、或る特定の風景とか人物に近くなるような画像を生成するようになる。いわば福島上等カレーの店に飾られている芸能人の肖像画みたいなものだが、それゆえプライベートで出力するのはいいとしても、カレー屋の店内に肖像画を掲げることが本当は法的に怪しいのと同じく、推しの芸能人やセレブに似た画像を公に掲載するのもアウトであろう(そもそも、その LoRA をトレーニングするために当人の写真を学習ソースとして使うのであろうから、どう考えても私的な利用にとどめるべきである)。
それから企業ユースでは、第三の手法として「RAG(Retrieval-Augmented Generation)」というのもある。これは「検索拡張生成」と訳されているように、生成にあたって外部のデータベースを検索して利用することで、生成する結果の精度を上げたり、特定の業界知識や社内ルールなどに沿った文章などを応答するようにカスタマイズする。なので、たいていは企業ユースとして構築する会社がたくさん出てきている。というか、僕が勤めている会社でもコンテンツ・マーケティング用の記事を作成するために利用している。
ということで、画像の生成という用途では圧倒的にプロンプト・エンジニアリングが採用されていて、LoRA なども Civitai をはじめとするサイトで公開されているが、実際に使ってみると分かるように LoRA を使えば目当ての画像を簡単に生成できるかと言えば、プロンプト・エンジニアリングと同じく、必ずしも満足のゆく結果になるわけではない。確率の問題という原理的な限界はここで考えないとしても、それ以外に幾つかの特性なり限界があって、やはり自分自身で試行錯誤するような、実際に科学や企業の開発で行われている実験などの努力が必要なのである。
たとえば、プロンプトのトークンとは言っても、或るベース・モデルに或るトークンがどのていど有効であるか(そもそもトークンが正しく扱われるのかどうか)は、使ってみないとわからない。学習データについて、どういう画像にどういうキーワードを設定したのかという膨大な数の背景情報について、僕らは殆ど知らないのである。なので、或る場所の風景画を描かせようとして "ooshima" というキーワードを使ったとしても、目当ての場所(どこの「大島」でもいいが)の画像がソースに使われていて、しかも正しく "ooshima" というキーワードがあてがわれている保証はないので、一つずつ検証していかなくてはいけない。でないと、山口県の周防大島(父方の実家がある)を描かせようとしても伊豆大島の景色しか出てこないということになるかもしれない。
また、LoRA についてはトレーニングで使ったベース・モデルの特徴に影響を受けるため、ベース・モデルがアニメのキャラを優先して生成するものだと、実写の人物画像をそういうベース・モデルでトレーニングすると、非常に扱いづらい LoRA が出来上がってしまう。そして、ベース・モデルの多くは西洋の女性を優先して出力する傾向にあるため、日本人の画像で LoRA を作っても妙な画像が出やすい。たとえば男性の LoRA を使っているのに女性が出てきたりする。ただ、個人の環境で LAION と同等の規模のデータをトレーニングするのは不可能であり(SD 1.5 だとベース・モデルのトレーニングに最低でも1億円くらいかかったようだけど、お小遣いある?)、現実には僕らは Stability AI がリリースしているベース・モデルに別の軽量なベース・モデルをマージしたり、あるいは LoRA を追加して学習させた派生モデルを利用する他にない。