見出し画像

「AI生成画像はGPUによって個性がある」は都市伝説か?

はじめに

先に結論です。限りなく都市伝説でしょう。しかし、オーディオ専用CDプレーヤが(エラー訂正精度の問題で完全なデジタルとは言えない事を根拠に)高音質であるという話題が尽きないように、プリンターケーブルを短くすれば(ネットワークエラー率が下がり)早く印刷できるという話を完全に否定できないように、真っ赤な嘘という話でもありません。

アーキテクチャが異なれば画像は異なる

当たり前の話ですが、世代などでGPUアーキテクチャが異なれば利用するバイナリコードが物理的に変わるので、処理内容も変わります。GPUを新しくすると生成画像が変わったというのは、ほとんどこれが影響しているのでしょう。

最適化を行っても画像は異なる

xformers のようにアルゴリズムが変わる最適化はもちろんですが、論理的な最適化、たとえば 3+3+3+3 を3*4 と表現しても浮動小数点数の計算は厳密に一致しません。

並列計算を行うと画像は異なる

GPU内で行われる計算は基本的に並列計算です。互いに干渉しない演算を各々のユニットが独自に行って最後に合算します。特にCUDAは合算時に順番を保証しないので、同じ計算を行っても、その都度運任せで結果が変わります。1+2+3+4 と 1+4+3+2 は値が異なるという話です。※ ただし整数演算ならば厳密に一致します

非線形シミュレーションは誤差が支配的になる事もある

ニューラルネットワーク自体は線形ですが、各々の応答関数に非線形の効果を入れているので、AIの推論演算は非線形現象です。※ 非線形とは、簡単に言うと、結果を数式で表現できないので、数値計算するしかないものです

たとえば、同じお皿の同じ場所に衝撃を与えても、ひびが広がって割れる時に、右に割れていくのか左に割れていくのかの現象は、誤差のような小さな要因が支配する事になります。

つまり、誤差と言ってもバカにはできません。数値計算の解法のひとつには、厳密に計算すると解けないはずなのに、誤差のゆらぎによって(限界突破のように)解へ至らせる手法もあります。

GPUを変えた事によって、その壁を超えて(または発散せずに持ちこたえて)今まで不可能だった綺麗な画像が突然生成できるようになったという話もありえるでしょう。

まとめ

むしろ、同じシステムであっても、同じプロンプトとプロパティ、シードで生成しても、バイナリレベルで一致する画像を生成する事はかなり難しいです。そのような意味では、AIで生成した画像であっても、(NFTと同じ意味で)世界に一つしかない画像と言えます。

科学技術計算と異なり、アートの場合は、精度が低いから、ぼやけているから、といって「劣っている」とはなりません。思い入れのある GPU で生成したもの。奮発して購入したハイエンド GPU で生成したものが綺麗に見えてしまうのは必然なのかもしれません。(人間の)非人工知能が判断する限り、ある意味それはアートの本質なのかもしれませんね。

この記事が気に入ったらサポートをしてみませんか?