野尻抱介の「ぱられる・シンギュラリティ」第13回 言葉で描く絵

SF小説家・野尻抱介氏が、原始的な遊びを通して人類のテクノロジー史を辿り直す本連載。
人工知能や仮想現実などなど、先進技術を怖がらず、翻弄されず、つかず離れず「ぱられる=横並び」に生きていく。プレ・シンギュラリティ時代の人類のたしなみを実践します。

▶今までの【ぱられる・シンギュラリティ】

第13回 言葉で描く絵

1章 脳の左側にいたピカチュウ

「記憶で描くピカチュウ」テストというものがある。国民的に知られたキャラクター、ピカチュウを記憶だけで、まじめに、できるだけ詳細に描くテストだ。
 いきなり変な絵で申し訳ないが、自分でやってみた結果が左側だ。そのあと右側にオリジナルを模写した。
 記憶にあるのは「黄色くて、丸っこくて、尻尾がジグザグでほっぺが赤い」だけだ。「もうちょっと何かあったはずだがなあ……」と思いながら答え合わせしてみると、手を忘れていた。耳ももっと長かった。そしてオリジナルは可愛い。

 もうひとつ事例を示そう。小学三年生のとき、図工の授業で近くの駅に行って写生した。
 私を含めた級友は大体左のような絵を描いていた。一人だけ、右側のように描いた子がいた。

 私は「なにこれ変なの」と思った。級友の反応も良くなく、異端視するようなムードになった。だが先生はほめていた。何年か経ってから、あれは透視図法を使った「大人の絵」だったのだ、と気がついた。
 透視図法が幾何学的に理解され、普及したのは15世紀頃で、レオナルド・ダ・ヴィンチの『最後の晩餐』が有名だ。誰もがあたりまえに見てきたものの性質に気づくまでに、それほどの歳月を要したことになる。これが文明の進歩だろうか。
 だが私の持論では、情報処理として高級なのは「子供の絵」のほうだ。列車、線路、太陽、人などを記号化して扱い、その認識を絵にしている。距離やスケール、視点位置は超越している。
 子供の絵は視覚というより言語と結びついている。いっぽう大人の絵は網膜に結像したものに忠実なことを基礎にしているので、それについてはカメラと変わらない。

『脳の右側で描け』というデッサン指南書の古典がある。右脳は現実、左脳は記憶の中のイメージを扱う傾向にあるというのだが、この説が科学的に正しいかどうかは知らない。しかし著者ベティ・エドワーズが言わんとすることはわかる。実物に忠実なデッサンを取るときは、脳のどこかにある「高級な」情報処理機能をオフしたほうがうまくいくのだ。
 ピカチュウを「あの黄色いやつ」と記号処理するだけで、いろいろなピカチュウの絵を見たとき「これはピカチュウだ」とわかる。これはすごいことだ。
 にもかかわらず、ピカチュウの多くの特徴を見逃していることは、最初に示したテスト結果を見れば明らかだ。描けないのに、識別はできる。ちょっと不思議だ。

 私は芸術として絵を描くことはしないが、観察のためのスケッチはよくする。小説で場面を描写するときも、先に絵を描くとうまくいく。スケッチは自分が何を見逃したかに気づける、視覚のチェックリストになるからだ。
 画材は鉛筆と透明水彩が多い。道具が少なくてすみ、比較的短時間で描きあがるので自然観察にも適している。これはコウホネという水生植物を、池の水に浸かりながらスケッチしているところだ。

 形を捉えるだけの線画は丹念に描いていけばいいのだが、面を塗る絵は難易度がぐんと上がる。ここでも「脳の高級な情報処理」が邪魔をする。

 これは赤いゼリーをスケッチしたのだが、元写真のような透明感、シズル感が描けていない。光はゼリーの中を通って複雑に反射・屈折している。部屋の内装、皿の白、スプーンの銀色、ゼリー表面のハイライトなどが混ざっているのに、絵にしようとするとどうしても「ゼリーの色」にとらわれてしまう。
 ありのままの色を認識するにはかなりの精神力を要する。脳はそれを「赤いゼリー」と記号化しており、それを手放そうとしない。デジカメで撮った画像からペイントアプリの”スポイド”で色を複写するなら簡単なのだが、脳が仲介すると高級な情報処理機能が邪魔するらしい。

2章 世界に拡散した”安定拡散”

 2022年8月、ネットに不思議な絵が流れ始めた。それまでもちらほらあったが、この頃から流量が激増した。最初に見かけたのはMidjourneyというウェブサービスの出力だった。ゲームの公式サイトにありそうな、妙にドラマチックな構図、陰影を持っている。どこかで見たような、しかし初めて見る絵だ。美麗な人物像も流れてくるが、やはり類型的で未知だ。
 私は最初、これらの落ち着かない、まがいものじみた絵に辟易していた。AIの画像生成と聞いて「ああ、あれか」と思った。
 コンピューターに詩や絵や音楽を出力させることは古くから行われている。どれも退屈なものだった。乱数に毛が生えたようなアルゴリズムで、AIとは言いがたい。偶然面白いものができることもあったが、それは生成したコンピューターではなく、結果をピックアップした人間が面白いのだった。
 だが今回のAI画像生成は、そうしたものとは別物だった。その出力画像は自然言語処理と深く結びついていた。テキストで画像を指示できる。そのテキストは、いくらでも細かい注文ができて、それがちゃんと画像に反映される。

 Midjourneyに続いて話題になったアプリケーションはStable Diffusion(ステーブル・ディフュージョン。以下SD)という。直訳すると「安定した拡散」だ。
 SDは学習モデルを含めてオープンソースで無償公開されていることから爆発的に広まった。
 私はちょうどPCを新しく買い換えたところで、グラフィックボードにNVIDIAのRTX3060、VRAM12GBのものを積んでいた。これはSDが実行できるスペックだった。
 そこでネットの解説記事を読みながらSDのインストールに挑んだのだが、エラーにつぐエラーで大変苦労した。Python開発環境はすでにあったのだが、NVIDIAのドライバー、Pytorch、cudaライブラリのインストールが不完全、もしくは不整合のまま始めてしまったらしい。Twitterでアドバイスを受けながらどうにか実行にこぎつけた。
 SDにもいろんな派生があるが、いま使っているのはAUTOMATIC1111という、Web UIを持ったものだ。実行させるとローカルなウェブサイトができるので、それをブラウザで開く。
 最初に現れるのはtxt2imgというタブだ。この名前は「テキスト to イメージ」を表している。先述の通り、テキストから画像を生成するページだ。
 そのテキストのことをプロンプトと呼ぶ。
 私はミク廃なので「hatsune miku with red dress」というプロンプトを入れてみた。

 初音ミクは英語圏でも認知されている。特徴の多いキャラクターで、SDでも青緑の巨大なおさげはよく再現される。だが遠目にはそれらしくても、目鼻の破綻したものが多い。アニメ風の絵は不得意らしい。アニメ文化は世界に広まっているが、ネットにある画像全体に較べたらまだマイナーなのだろう。

 しかし私と同じ需要は国際的にあるようで、日本のアニメ・漫画などサブカルの絵に特化した学習モデルが無償公開されていた。その名もWaifu Diffusion(ワイフ・ディフュージョン。以下WD)という。waifuは海外オタクのスラングで「俺の嫁」という意味だ。Hatsune Miku is my waifu のように使う。
 WDは学習元の画像とテキストをDanbooruという投稿サイトから得ている。これは海外にあるアニメ絵の投稿サイトなのだが、ポルノ指向で無断転載も多く、かなりブラックだ。Danbooruで学習したAIなど使わない、という人もいる。
 私の場合、これはシンギュラリティを占うための体験だから、現行の法や倫理は棚に上げておく。シンギュラリティは人類抹殺もありうる現象だから、それに比べたら著作権だの18禁だのポリティカル・コレクトネスだのは些末なことだ。
 Danbooruに掲載された作品は詳細なタグがついている。たとえばラーメンを食べている初音ミクの絵についたタグはこんなふうだ。

bongfill vocaloid hatsune_miku absurdres commentary english_commentary highres 1girl ahoge ai_drawing_anime_characters_eating_ramen_(meme) aqua_eyes aqua_hair aqua_nails aqua_necktie bare_shoulders black_sleeves bowl cup detached_sleeves eating food grey_shirt hair_ornament hand_up headphones holding holding_bowl holding_food indoors long_hair meme nail_polish necktie noodles nori_(seaweed) ramen shirt shoulder_tattoo sleeveless sleeveless_shirt solo tattoo twintails v-shaped_eyebrows very_long_hair yunomi

 タグは画像検索のためにあるのだが、それがSDでの学習に好都合だった。
 pixivやニコニコ静画にもタグはあるが「いいぞもっとやれ」「人類には早すぎる」など、主観表現がかなり混じる。Danbooruのタグは画像の具体表現に限定されている。
 こうして学習したWDの学習モデルは7GBある。SD標準のモデルは4Gくらいだから、それよりだいぶ大きい。
 この学習モデルをオリジナルと同じ場所に置くと、切り替えて使えるようになる。出力はこうだ。WDも顔の崩れたものが混じるが、成功率は高い。そして期待通り、日本サブカルの絵柄に仕上げてくれる。この出力は腕や手、衣類の一部に破綻があるが、顔はなかなかのものだ。

 続いてimg2imgを試してみよう。イメージtoイメージ、つまり入力に画像とプロンプトを使う処理だ。
 ネットにあった初音ミクの絵の模写を入力してみた(スクリーンショット左側)。プロンプトを空欄にすると、なんとなく色と構図は似ているが、初音ミクとは無関係なものが出てきた。絵だけで初音ミクを認識すると期待したのだが、そうではなかった。

 同じ画像でプロンプトに「miku」とだけ加えると、私の模写よりずっと美麗なものがでてきた。

 txt2imgのプロンプトだけでも初音ミクがでてくるが、ここでは入力した画像によって色と構図を指示できている。ただしネギは認識していない。ネギを描かせるためにはプロンプトで補う必要があった。

 サブカル特化SDの一番人気はNovelAIという有料のウェブサービスだ。料金は月額$10~$25と、そう高くない。ここもDanbooruを学習元にしている。その方面で優れた出力ができるので、日々さまざまなプロンプトを入れて「俺の嫁」を錬成している人々がいる。
 そんな彼らに衝撃を与えたのが、『元素法典——Novel AI 元素魔法全收录』 なる文書だ。ある中国人が編纂したプロンプト集で、ネットで無償公開されており、さいPによる日本語訳 もある。
 同文書に掲載されている「水の魔術」の出力画像とプロンプトを以下に引用しよう。

作者:steelplate(QQ 457215551)

プロンプト:
((masterpiece)), (((best quality))), ((ultra-detailed)), ((illustration)), ((disheveled hair)), ((frills)), (1 girl), (solo), dynamic angle, big top sleeves, floating, beautiful detailed sky, on beautiful detailed water, beautiful detailed eyes, overexposure, (fist), expressionless, side blunt bangs, hairs between eyes, ribbons, bowties, buttons, bare shoulders, (((small breast))), detailed wet clothes, blank stare, pleated skirt, flowers
ネガティブプロンプト:
nsfw, owres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,missing fingers,bad hands,missing arms, long neck, Humpbacked

 ネガティブプロンプトは除外指定、「これは描かないでね」という指示のこと。
 ((( )))のような括弧は言葉の強弱を表現している。
 このプロンプトを編み出すまでに何回試行したのだろう。執念というほかない。
 子供の頃、特撮番組でロボットに「勝て、ジャイアントロボ!」と命令するのを見て「そんな横着な。どうやって勝つか指示してやれよ」と思ったことがあるが、ここでは「ダイナミックな構図で」「美しい空と海で」と横着に指示している。SDはそれに応えているから大したものだ。
 SDはプロンプト、ネガティブプロンプトのほか、疑似乱数のシード値(初期値)が設定できる。SDの画像生成には乱数要素がある。特に指定しなければ毎回異なるパターンになるが、シード値とプロンプトその他が同じなら、誰でも同じ出力が得られる。
 シード値だけで数百億の母数になるから、これを隠せば「秘伝の術」みたいになる。これは暗号技術で使うトラップドア関数、ハッシュ関数のようなものだ。一方通行で結果から元の値を知ることは不可能に近い。
 プロンプトとネガティブプロンプト、シード値その他のパラメータを含めた入力要素は「呪文」と呼ばれるようになった。ネット上のコミュニティでは「あの絵の呪文をみつけたぞ!」みたいなやりとりが活発に行われている。

 SDはオープンソースで無償公開されているが、それで出力したものは無償とは限らない。無償のペイントソフトで描いた作品が有償になるのと同じことだ。
 美麗な絵を見せられたとき「いいですね、プロンプト教えてください」とは言いにくい雰囲気がすでにできている。いい絵には価値があり、その呪文をつくるには相応のコストがかかるからだ。
 小説家が文章を売るように、文章で絵を描いて対価を得るイラストレイターがいてもおかしくない。すでにAI生成の画集も刊行されている。

「こんなのは高速大容量のマシンを持ったNovelAIだから出力できるんだろうな」と思いつつ、「水の魔術」をうちのローカルSDで使ってみると、こんなものが出てきた。

 人物の構図は単調なポートレートぽいが、衣類や背景が細密で、私が作っていた「初音ミク+修飾」とは比較にならない情報量だ。しかし計算時間は変わらない。SDをインストールしたPCを「魔法の箱」と呼んだ人がいたが、確かにそんな感じだ。

3章 言葉とむすびついた絵

「SDは既存の絵を断片化して保持しており、それをコラージュして出力している」という批判がある。私の理解するところによれば、これは誤解だ。
 SDの学習モデルの中身はディープラーニングで作られたニューラルネットワークだ。地下鉄の路線図のような、多数の駅(結節点)とそれを結ぶ線路(リンク)、重みづけの値があるだけで、JPEGやPNGのような画像はない。その路線図は何を表しているかというと、テキストに対応する「絵の描き方」の学習結果だ。
 Stable Difusion(安定拡散)の名前にもなっている拡散モデルの場合、学習はこのように行われる。たとえば「初音ミク」を学習するときは、その画像と、キャプションについている「初音ミク」という言葉を読み込む。そして画像にわざとノイズを加える。そこからノイズを除去して元の画像を復元する方法をニューラルネットに学習させる。
 写真にゴマ粒をちりばめてから、そのゴマ粒を取り除くような作業だ。人間もそうだが、いきなり「初音ミクを描け」と言っても無理だから、ちょっとだけ隠してここを補え、という作業を繰り返して訓練する。
 ノイズを徐々に増やしながら、そのつど復元を学習させる。最後には全部ノイズの砂嵐のような画像になるが、「初音ミクを復元せよ」と命じると元画像が復元できるようになっている。
 読み込んだ画像はここで用済みになる。そのかわりニューラルネットには「砂嵐から初音ミクを復元する方法」、つまり白紙に初音ミクを描く方法が残る。
 イラストレイターの脳を解剖しても画像が出てこないように、SDも画像を持っていない。描き方を憶えているだけだ。

 では言葉、つまりテキストのほうはどのように持っているだろうか。SDの人工知能ぽいところは、むしろこのテキストの処理だと思う。
 たとえば「初音ミク」という言葉は、そのテキストとともに、ベクトルという数学的な形で保持されている。ベクトルはたくさんの数値を一列に並べたもので、その言葉を示す特徴量を列挙できる。瞳はグリーンで濃さはこれくらい、髪型はおさげで長さはこれくらい、ボトムスはスカートで長さは……と、特徴量を表す数値が1000個ぐらい並ぶ。
 ベクトルは数値の集まりなので、類似する言葉を探したり、足し算や引き算ができる。
「赤」のベクトル、「髪」のベクトル、「初音ミク」のベクトルを足したり引いたりすることで、SDは「赤い髪の初音ミク」というプロンプトを解釈して絵をつくる。
 SDは言葉に対応する絵の描き方を知っているから、言葉がブレンドされると絵の描きかたもブレンドされて、文章にいちばん近い絵を出力できる。
 これが「画像のコラージュ」のように見えるわけだが、実際にしているのは「言葉のコラージュ」だ。
 試しに「初音ミク」という言葉を使わずに、近い画像を出力させてみよう。

 プロンプト
 anime girl, green eyes, long, blue-green 2 super long pigtail hair, square hair ornaments, sleeveless, gray vest, necktie, mini skirt, headset
(アニメ少女、緑の瞳、青緑の超ロング両おさげ、四角い髪飾り、ノースリーブ、灰色のベスト、ミニスカート、ヘッドセット)
 ネガティブプロンプト
 braided hair (三つ編み。なぜかよく出てくるので封じた)

 そして以下はプロンプトにただ一言「miku」としたものだ。近い結果になるということは、前の長いプロンプトと特徴量が近いところにmikuがいるのだろう。

 1章で述べた「記憶で描いたピカチュウ」や「子供の絵」を思い出していただきたい。
 記憶で描いたピカチュウとオリジナルを比較して、ここが合ってないから直そう、という作業を繰り返し、記憶だけでオリジナルと同じピカチュウが描けるようになるのと、SDの学習過程はよく似ている。
 駅で見た列車や線路や人や太陽を、言葉からそのまま描いた「子供の絵」は、SDのプロンプトとよく似ている。
 いっぽう、網膜に映った映像に忠実であろうとした「大人の絵」はカメラの真似をしているのであって、SDの処理とは異質だ。
 つまりSDは人間が誰かの絵を見習って描くのと同じことをしている。これを違法とするなら、画家が美術館の絵を見て学び、自分の作品に生かすことも違法になってしまう。
 もうあきらめよう。人類は絵を描く第二の知性体を生み出してしまったのだ。それはオープンソースで公開されて、世界の隅々まで染み込んでしまった。うちにも一匹いる。

 AIがテキストから変換するのは画像だけだろうか?
 すでに音楽やダンスモーションを生成するアプリケーションができている。
 入力と出力は、復元が成立しているかどうかを自己評価できるならなんでも結びつけられるだろう。
 SDのプロンプトはいまのところ英語に限られるが、私は機械翻訳を援用している。テキストの音声入力も近頃は人間以上の成績になっているので、これらを組み合わせればSFのように声でなんでも作れるようになる。
「新しいコートをデザインしたいんだ。丈は短めで、フェイクファーの質感に。……いや、襟はもっと大きくして」と口頭で指示できる。ロボットの動作も、ボカコレに応募する音楽も、声で指示できる技術が出揃っている。

 テキストからの画像生成と、逆に画像からテキストを生成できるようになると、画像を仲介した意味理解ができた、とみなせるかもしれない。
 テキストは英語に限らない。

 apple(英語) →りんごの絵→りんご(日本語)

と翻訳もできる。これは単純に英和辞書を引いているのではなく、りんごの本質を介しての翻訳なので、自然言語の意味理解に結びついている。記号着地というやつだ。
 本質といってもこれは画像による理解でしかない。抽象的なものはどう扱うのだろう?
 昔、仕事でグラフィックUIをデザインしていて「条件」アイコンをどんな絵にするかで悩んだことがあった。既存のアプリでは定規、フローチャートの菱形、英語の「if」ロゴなどが使われていた。
 アイコンに文字を使うのは反則だが、図形でもなんとかなってしまうのを見ると、案外人間の脳も抽象を画像で理解しているのではないか、と思うことがある。つかみどころのないものを理解したとき、脳内で絵として結像することはよくある。囲碁AIのAlphaGoも画像処理をベースにしていると聞く。
 静止画像だけでなく、動画や聴覚、嗅覚や触覚、温度など、さまざまなデータを活用するマルチモーダル化も進むだろう。
 レイ・カーツワイルは人間を凌駕するAIの登場を2029年、シンギュラリティ到達を2045年と見積もっているが、昨今の急速な発展を見ると、「そんなにかかるか?」と思えてくる。
 AIはイラストレイターを始め、多くの職業を奪うだろう。しかし同等の富は作られ続けるので、その再分配を工夫すればすむことだ。人間はいずれ働かずに生きるようになるので、職業の消失を憂うことはない。
 AIが作り出したものに「いいね」ボタンを押せば、AIはそれを学習してさらにいいものを作るようになるだろう。
 未来は電力といいねボタンで作られる。なんと楽ちんな社会だろうか。そんなばかなというなら、そうならない理由を教えてほしい。私には思いつけなかったので。

(第13回おわり)


▶今までの「ぱられる・シンギュラリティ」

野尻抱介の「ぱられる・シンギュラリティ」第一回野尻抱介

SF作家、Maker、ニコニコ技術部員。1961年生まれ。三重県津市在住。計測制御・CADのプログラマー、ゲームデザイナーをへて専業作家になったが、現在は狩猟を通して自給自足を模索する兼業作家。『ふわふわの泉』『太陽の簒奪者』『沈黙のフライバイ』『南極点のピアピア動画』ほかで星雲賞7回受賞。宇宙作家クラブ会員。第一種銃猟免許、わな猟免許所持、第三級アマチュア無線技師。JQ2OYC。Twitter ID @nojiri_h

あわせて読みたい