nipplelfsblog

nipplelf’s blog

1週間に1記事を目標にして、考えたことや描いた絵について書いてます。

生成AIお絵かきへの道

生成AIをどう使おうかと色々調べていたら、時間がなくてうっかり忘れそうなので押さえておきたいことを書いてみた記事です。

(今週の一枚)魔杖得狸(Pixiv

 

 以前の記事では概念的な使用のベキ論を書いた。

nipplelf.hatenablog.jp

 簡単にまとめると、道具として使うべきだけど、それはあくまで補助で作品の核・中心部分は自分でどうにかしろと言うものだ。今回はもう少し実戦に踏み込んで考えてみます。

現状での生成AI問題

 生成AI利用は絵や動画の実用で結構なところまで来ており、すでに問題が大きくなっている。例えば、ヤンジャンの新人マンガ大賞におそらく核部分も含めてほぼすべて生成AIを使用したと疑われる作品が賞をとった。

togetter.com

 問題なのは1コマ・1ページごとの絵の作品性は高いが、漫画としての整合性やキャラの一致がない点だ。「如何にもそれっぽいけどなんか変」という感じだ。描いている人にはわかると思うが、描き込みの濃淡やコマ割り、セリフ回しの異常性を見ると一発でおかしいとわかるポイントが多々あるのに編集部がそれを見逃している点がヤバイ。

 また、海外ではGame Of The Yearの賞をとったゲーム作品が生成AI利用を隠したとして、その賞をはく奪されている。 

www.gamespark.jp

 問題はテクスチャやモデルの端々で生成AI由来の素材を使った点ではなく、作品の核になるコンセプトアートに生成AIを使ったことやウソをついてそれを隠したことだ。同様の問題はアサシンクリード弥助問題の流れで著作権無視という形で炎上した。

 これらから見えてくることは2つある。一つは、プロと呼ばれている人たちが作品性・オリジナリティよりも効率性を優先し始めた点だ。もう一つは、現場において既に一般的なツールとして生成AIが利用されつつあることだ。

使うべきではないという議論は現場ではもう成り立たない。

 

生成AIサービスの行方

 まず、生成AI利用には2種類の流れがある。指示と計算だ。こういった処理をしてくださいと指示し、それに基づいて計算をする。その際、その指示や計算をどこでするかでサービスが分かれる。もっともポピュラーなものは、SaaSモデル(Software as a Service)のような毎月課金して準備されたソフトの利用(指示)と巨大なGPUセンターにその処理(計算)を依頼するサービスのパッケージだ。指示用のソフトを自分のPCに入れて、その指示情報の計算を依頼するサービスもある。そして、指示と計算を自分のPCで行う場合をローカルモデルと呼ぶ。

 今のところ、オールインワンの定額課金モデルが隆盛だが、このサービスは2次的なもの(生成指定するソフトも処理も他社の借り物)が多数を占める。また、現状において、GPU処理の会社が安くサービスを提供して成り立っているが、そこが資金回収動いた段階でSaaSモデルは破綻する可能性が高いし、同じようなビジネススタイルが多数あるので採算がとれずに消えてしまうサイトも多数あるだろう。そのため、ルールが緩く色々お試し中の今が旬な遊びになると思う。

 一方で、ローカルモデルは自分で備品を準備して遊ぶので、サービス側の利害にユーザーが振り回される危険がない。しかし、それを準備するために初期費用が必要だったり、ある程度の知識を貯めないと楽しめないため、少し敷居が高い。PCパワーに難がある場合は、指示用のデータセットは自分で用意して、計算を外部GPUに投げるのがこれからの潮流になる場合があるのではないかと思う。

ceodinner.substack.com

 上の記事では、2000年前後のドットコムバブル後に過当競争が起こり、多くの投資家が退場した後、残ったインフラを勝者が利用して巨大企業になるとある。これが今回のAIバブルでも同様に起こるなら、そのインフラはGPUであり、その計算力を如何に個人が利用するかが一つの分水嶺になるのかもしれない。

 

拡散モデルの限界

 これらの技術を支えている画像生成の学習は拡散モデルと言うものだ。

www.sbbit.jp

 上の記事が恐らく一番わかりやすい…と思う。たぶん。概念として、元データ→ノイズ化→関係性の発見→元データに戻すことで学習データを得る。一枚からドット位置・色情報とデータ内文字の関係性を定義して、その集合体から一定の傾向を得て、その傾向から文字と画像の関連性を学習する。その学習を前提に別のノイズデータを再生成することでそれらしい画像データを作成するらしい。確かに数理モデルとしてはパソコンデータの圧縮解凍の応用であり、一つの情報の復元には特に有効な方法だ。良く思いつくなぁと感心する。そして、一枚絵の各領域間におけるドットデータの相互性と、別の絵における傾向が一致すれば、それを切り抜いて一つの別集合体の傾向として学習し、与えられた新規ノイズを再生成することができるだろうが、まぁ、これはあくまで「建前」だと思う。

 なぜかというと、上の項で書いた弥助の著作権侵害を考えると、元データが誰のものかわかる程度の画像情報が多く残っているからだ。本来なら、この理屈をすべて当てはめれば、データ元が特定できる細かい情報は関係性発見後の情報の平均化で消失するはずだ。それが残っているということは抽出した相互情報がよっぽど同じでないと同定可能な情報が出力されることは理論的にあり得ない。例えば、絵に文字が描きこまれる際、再生成後にはなんとなく文字っぽい塊になって生成AI特異的なヘンテコ形になって意味消失する。しかし、著作権侵害と言われる旗の紋(これも模様と考えると多数のデータがあるはずだ)が残っている。つまり、その紋の情報は紋として学習・平均化できていないことになる。

 ノイズからフラクタルデータ(特定の規則性を持つデータ)を見つけてそれを特定の絵の外にある文字情報と関連化できることが本来の拡散モデルだとしたら、現状行われている画像生成は上のコンセプトアートのようにはならない。だから、どうやってこれを作るかと言うと、もわっとした拡散モデル傾向の上に選別をした画像を切り絵のように張り付けたり、誰かが描いた絵をテンプレートとして用いてちょっと加工して出力するようになっているのだろう(Stable Diffusionにおけるチェックポイントの強化学習)。

 言い換えれば、純粋に著作権を回避できる純粋な拡散モデルはもわっとしてよくわからない画像になるはずだ。本来はこのもわっとを除くために、言葉による画像の選別を強くする必要があるが、多くの場合、規則性の発見ができていないようだ。そのため、意味を持つには何かに寄せることになり、誰かが書いた作品に似せるようになり、より明確な作品性を持つものを作ろうとすれば、より少数の画像を平均化してパクリになる。

youtu.be

 すでに1年ほど前には意図的に寄せる学習指示データが作られ、ローカル環境前提のStable Diffusionで出回っていたが、これに追う形で動画生成サービスのSora2でも発表され大問題になった。ジブリのパクリと言われる。オープンAI社は色々言い訳しているが、問題になる前、コマーシャルとして意識的にこれをアピールしていたので、確信犯ではないかと自分は疑っている。

www.asahi.com

 結局のところ、拡散モデルは選別すればするほど何かに似る。それは誰かの作品に行きつく。自由度を高めれば高めるほど、ぼやけて意味喪失する。現状で個性の創生ができない生成AIのこの選択のバランスをどうとるかが今後の画像生成サービスの肝になるのだろう。

 

Stable Diffusionをどう使うか

導入

 ガチャガチャ書いたが、LLMの画像生成をどう創作に生かすかという点において、一番使うことができるのは絵を描かない人・描けない人ではなく、実は、絵をたくさん描く人、つまり、自作の作品情報をたくさん持っている人ではないかと思う。

 なんでかと言うと、拡散モデルの問題は誰かの著作データをパクるから悪いのだ。裏返せば、著作者が自分のデータから学習と指示テンプレートを作って、そのモデルを利用する分には何の問題もない。これにより大量の自作を作成することができる。

 では、どうやってそれを作るかを考えると、やはりローカル環境で使えるStable Diffusion(以下、SD)であり、そのcheckpoint(学習テンプレート)とそれを元にした画像生成だろう。拡散モデルの本来の定義であるもやっと学習の上に自分の作品の癖を張り付ける感じだ。

stablediffusionweb.com

 このSDを基本にその他ソフトやSDのad-onを組み合わせて作品を作ることになるが、その制御するソフトは色々ある。今一番ユーザーが多いのがComfyUI(以下、CUI)だろう。CUIが優秀なのは色々とできることであり、いろんな人がいじくりまわしている。

www.comfy.org

 指示方法のセットworkflowを有志が作ってくれているので、よくわからなくても自分がやりたいことのworkflowをコピペすれば実行できてしまう。例えば、画像をちょっと加工して少し印象の違う画像を生成(image to image; img2img)したいとすれば、下の動画のようにworkflowを作ればいい。

www.youtube.com

 しかし、これもよくわからないならAI関連の有名サイトのCivitalaiで img2imgで検索をかければ好みの改変手法が.json ファイルとして発表されている。好きなものをCUIに読み込めばOKだ。

civitai.com

 カスタムは自由なので一度やり方を覚えれば、色々なノード(1つごとの命令)を組み合わせて自分なりのworkflowを作れれば、世界は広がると思う。

 StabilityMatrix(動画作成を含めた様々な生成AIソフトを管理するランチャー)を導入するのも手だが、手始めに使うにはお勧めしない。限られた使用用途の場合、こういったものを入れてどんどん階層化すると、全く関係ない情報が多数飛んできて自分がどのソフトをどう使っているのかわからなくなるからだ。

 

簡易なモデル作成

 次に行うべきは、checkpointモデルの作成だろう。やりやすいと思った方法を紹介する。これはSDとは別のソフトをインストールして行う。

www.youtube.com

 有志の方が非常に素晴らしい解説動画を作っているので、これを参考すれば大体できる。この動画では簡易的なLoRA型学習モデル(チェックポイントの一つの学習方法)作成用のKohya's GUI(いくつかのSD用学習方法が入っているソフト)と画像の文字タグ・キャプションを作るdataset-tag-editorの導入から簡単な使い方まで解説している(コメント欄にいくつか参考になる情報もあるので要参照)。学習回数や投入する画像データ、学習定義の元となるcheckpoint(動画ではanyLoRA使用)などを変えることで自分なりのLoRAモデルに出来る。小物やテクスチャ、キャラのパーツやよく描く動物など自分が多用するものを資産として学習データとして貯めるのも面白いかもしれない。

 

難しいモデル作成

 さらに、既存の学習データを使わず1からcheckpoint作成する場合、先ほどのKohya's GUI を使ってもいいし、いくつもツール・ソフトがある。ただ、どのくらいの元画像データが必要なのかイマイチ調べきれなかった。いくつかの動画や論文を読むと、どうも、A100やRTX6000などのRAMを大量に積んだグラフィックボードの使用が前提となるので、手を出しづらいというのもある。

www.youtube.com

 上の動画では4つの学習手法 Dreambooth, Textual Inversion, LoRA, Hypernetworksの概要が紹介されている。これを見る限りだと、自分の描いたキャラクターのモデル生成ならanyLoRAを流用したもので十分なのかもしれない。ガチ目にやろうとすると機材に200~300万円くらいかかるので無理。Google Colab上でSDを動かすこと(つまり外部GPUにデータを投げて計算)も考えたけど、一発回すだけでもかなりのリソースを消費するので、すぐ利用量制限をくらいそうである。

 

終わりに

 なかなか時間が取れず、自分の作ったものを載せるまでには至らなかった。でも、ローカルでも思ったよりも簡単に作れるので時間ができればどんどん遊んでみたいな(^ω^)

 

☆エロ同人CG販売中

 

COPYRIGHT Nipplelf ALL RIGHTS RESERVED.