Scribble at 2023-07-15 10:26:05 Last modified: 2023-07-15 10:56:49

添付画像

Stable Diffusion enables the control of camera distance and angles

Stable Diffusion の photorealistic な画像は、自分の写真を元にした出力しか試していない。調べてみると、OpenAI が公開しているプロンプトの解説 PDF を上回るような解説をしているサイトが殆どなくて、結局は各自がやってみた些細な事例を紹介している状況だと言える。その中で、上でリンクしているページだけは別格に丁寧で詳細なカメラ・ワークの説明をしているので、参考にされたい(他のコンテンツは殆どが Medium のメンバーしかアクセスできないようになっている)。

ただし、Stable Diffusion を一ヶ月ほど使えば誰でも分かることだろうと思うが、どういうプロンプトが有効なのかは、checkpoint のモデル・データや LoRA の追加トレーニング・データによって、それからそれらの組み合わせによって色々な結果がありうる。これらは、元になるトレーニング用の画像に割り当てられたタグとプロンプトとがもつ意味論上の(テンサーどうしの)「距離」つまりは意味の近さを単純には(つまり決定論的には)測っていないからであって、こうした生成 AI の原理的な特徴でもある。実際、生成 AI で使われている拡散モデルのアイデアは、気体中の分子を扱う非平衡な統計力学をヒントに考案されたとされており、確率を抜きにしては扱えないものだ。

ともあれ有効なプロンプトを作って最適な(コンピュータのリソースを無駄に使わずに高品質の画像を出力する)結果を得るために必要なことは、まず checkpoint のモデル・データを固定して色々な条件で試してみることだ。既に多くの雑誌記事とか書籍とか自費出版のインチキ臭い電子書籍があふれているけれど、僕がそうしたものの著者と称する人々のサイトを見た限りでは、彼らの大半は、簡単に言えば「おま環」でしか通用しない、しかもたまたま成功しただけの(本当はもっと成功率が高いプロンプトがありえる)事例を場当たり的に並べて紹介しているだけだ。photorealistic な画像については、それを扱う大半の自称プロンプト・エンジニアは撮影やカメラの基本的な知識すら持っていないので、Nikon のプロ仕様のカメラにポラロイドのフィルムを宛がったり、f 値や ISO を理解せずにデタラメな値を設定している。また、アニメのような絵柄については人工的な描写がいくらでも可能であるため、たとえばミュシャの画風で新海誠にアニメを描かせたという設定も可能だが、たいていは画質として破綻したものになっている。画風、あるいは線や色を扱う意味が分かっていないからだ。なので、おおよそ既存の解説書や解説サイトの内容は役に立たない素人の「やってみた」系の日記にすぎないのだから、初めて使う人々と殆ど同じだと言っていい。(実際、アダルト・コンテンツや商業イラストの業界で働いている、それこそ1日に何万枚と画像を出力して、殆ど科学者の実験のように成果を蓄積している本物のプロンプト・エンジニアが、成果を数千円ていどの本に書くわけがない。仮に書けるとしても、家庭のパソコンでは殆ど真似できないような試行錯誤を要求するような事例を出して、ガチャだなんだと言うだけであろう。)

よって、最も着実な見識の深め方は、まずなんと言っても手持ちの環境で条件を固定して色々な実験をやってみることだと言える。科学者のまねごとをするほどの精度ではないにしても、原則は彼らのやることと同じであり、仮説を立てて試してみて、その結果を基に仮説を修正していくという手順の繰り返しだ。

Web UI を使っているという前提で始めると、画像を生成するためには数多くの設定や条件があり、それらをどう設定したり組み合わせるかによって結果は(場合によっては劇的に)変わってくる。したがって、どういう設定項目、それからどういう設定内容が、結果に対してどういう効果をどのていど及ぼすのかを正確に理解しようと思えば、僕らが科学哲学でも議論するときに使う考え方と同じく、ceteris paribus(他の条件が同じならば)という前提をしつらえなくてはならない。他の条件、特に seed 値はディフォールトで「-1」(初期値がランダム)に設定されているため、これを固定した上で他の設定も固定しておき、効果や影響の度合いを確認したい項目とかプロンプトだけを変えていく。Web UI の設定を同じにしておいてプロンプトの効果を確かめたいなら、プロンプトは一つずつ変更していく。そうやって、一つずつ結果を見て判断する。結局はこれの繰り返しと蓄積である。

多くの初心者が悩むように、プロンプトとしてどのようなキーワードを使えばいいのかという問題も、結局はこの原則で色々と試すのがいちばん良い。本を書いている人々の多くは、自分でトレーニングした checkpoint のモデルを使っていたりするので、そもそも最初から破綻のないポーズで画像が生成されるようなデータを使っていたりすることも多いし、そういう checkpoint のモデルはお手製として公開されていないので、実は本でどれほど詳細に解説されていようと、真似のしようがないのだ。そんな、出来レースに騙されるよりも、Web UI は誰でも導入できるのだから、自分で画像を生成したい条件を決めて、そこで何ができるかを試すことが、結局は納得のゆく結果を得るための最善の方法である。それが嫌なら、彼らが生成して販売している電子書籍でも買って、自分でビデオ・ボードを痛めつけるようなリスクには手を出さない方がいいだろう。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook