画像生成AIはどうやって画像を生成するか?(生成AIの作画と絵師の絵の違い)
画像生成AIがどうやって画を生成するか、簡単に説明してみましょう。
まず、サイコロを転がすようにランダムな値を決めます。
このランダムな値(種のような振る舞いをするのでシード値といいます)に基づいて、モデルは画像サイズ範囲内にピクセルのノイズを生成します。
この段階では、ノイズはランダムな点の集まりで、まだ意味のある画像ではありません。
次にプロンプト(ユーザーの指示)とネガティブプロンプト(ユーザーが排除したい要素の指示)を使って、モデルは指示の内容やコンテクストを理解します。
その後、プロンプトとネガティブプロンプトに基づいて、モデルはノイズを徐々に除去しながら画像を生成していきます。
ネガティブプロンプトによって排除された要素や、指示のない部分については、周辺ピクセルの情報をもとにモデルがもっともらしい画像を再生成します。
こんな感じ。
あくまで、人間の指示と周辺ピクセルの状況から「もっともらしい画」を生成するだけで、論理的な整合性のチェックは一切されてないんです。
この論理的な整合性チェックがなされない点が、「人間の絵師さんが書く絵」とは決定的に違う部分です。
つまり、出来上がった生成物は、常に「非論理的」なのですね。
たとえば、海の画を作るとするじゃないですか?
手前が白い砂浜で、エメラルドグリーンの澄んだ色、奥がサファイアブルーの海。
こんな画像に、思いつきで「陽の光が反射する効果を追加しよう!」とプロンプトをいじるとしましょう。
そうすると、画像生成AIは平気で海面付近に太陽を出してきたりします。
人間はそんな奇天烈な絵は書きません。(一応解説すると、海がエメラルドグリーンに見えるには光の入射角が小さい必要があります)
つまりは太陽を画角に収めるならば、太陽は高い位置にないといけないんですね。
・人間が監修して「夏の正午」というワードを入れて太陽をうえに持ってきた画
他にも、このエッセイの以前の画で女の子の左胸の部分が光っている画があると思うんですけれど、あれはネガティブプロンプトによって校章が排除された結果(権利的な配慮による)、校章のあった位置と黒い制服との間で明暗差が生じて、光が当たるエフェクトが生成されたものです。
「猫耳」のもそうでしたよね。
生成AIの作画は、こんなふうにどこかしらが常に論理的におかしいんです。
もちろん改善方法については研究者さんたちの間で日夜研究がなされていますが、ぼくは画像生成AIの作画は人間の絵師さんが書く絵とは全然別物だと思ってます。
今回はそんなお話。