ここのところ、Twitterなどで“神絵を描くAI”こと「Midjourney」が、話題になっている。一瞬で神のように上手な絵が描けると話題になり、またたく間にネットのミームになった。
「絵を描くAI」というと、イーロン・マスクらが出資したことでも知られるAI研究企業、米OpenAIの画像生成AI「DALL-E2」が有名だが、グーグルは今年に入ってからDALL-E2の性能を上回る「Imagen」を発表し、さらに大規模な作画AI「Parti」も矢継ぎ早に発表している。
Midjourneyはこれら画像生成AI開発ブームの一端として生まれたとも言える。
この記事では、全3回の短期集中連載として、AI研究者目線で見た「Midjourney」の課題や限界を掘り下げて行く。
※中編「神絵を描くAI「Midjourney」にナントカ風のイラストを描かせてみる…興味深い結果に【使い方・AI比較】」で公開中です
作画AIを評価する「本物らしさ」指標
絵を描くAI自体、今世界的にも注目度が高い分野だ。
一連の流れは、2021年のOpenAIによる画像生成AI「DALL-E」、グーグルによる画像生成AI「GLIDE」の流れを汲んでいる。それを考えても、相当な勢いで画像生成AIが進歩していることがわかる。
また、ロシアではロシア版DALL-Eである「ruDALL-E」と、その発展系である「Kandinsky12B」もある。さらに中国では中国語版DALL-Eである「CogView」と「CogView2」が相次いで発表されている。
冒頭の“神絵AI”「Midjourney」は、こうした流れのなかで、最近になってLeap Motion※の創業者であるデビッド・ホルツ氏が開発したものだ。
※Leap Motion:かつて、人の手の動きを赤外線センサーで認識する「ハンドトラッキング」デバイスを作っていたハードウェアベンチャー。創業は2010年。2019年にイギリス企業に買収された。
作画AIの性能指標は、専門的に言うと「FID(Frechet Inception Distance)」※で測られる。
これは、簡単に言えば、生成された画像の「本物らしさ」を評価する指標だ。
もちろんFIDにもいろいろな欠点はあるのだが、ひとまず「FIDの差が性能の差」と言われていることを念頭に置いて、それぞれの画像生成AIを簡単に比較してみると以下のようになる。
新しく開発されたほうがFIDが低い、つまり性能が良いことになる。しかし、Midjourneyは詳しいアルゴリズムが公開されておらず、従ってFIDスコアも測定しようがない。
ちなみにPartiでは、画像生成AIのパラメータ数による画質の比較も実施している。
以下の結果をみると、3億5000万(350M)パラメータで描かれた絵と、200億(20B)パラメータで描かれた絵では、画質や写実性に明らかな違いが見られる。
「神絵」AIが作られる仕組み
絵を生成するAIなどというものを作れるのだろうか。画像生成AIの原理は、下図のような仕組みになっている。
まず、画像生成AIには最低二つのニューラルネットワーク(脳の神経細胞の仕組みを模した数理モデル、以下NN)が使われる。図では水色で示した。「Generator(生成器)」と呼ばれるNNと、「CLIP(Contrastive Language–Image Pre-training; 言語-画像事前学習モデル)」と呼ばれるNNだ。
「Generator」は与えられた潜在変数Z(図では赤い四角で表されている)をもとに、画像を生成する。
ここで大事なのは、「Generator」は「Zという変数を画像に変換するだけ」のAIであるということだ。
ではZの値はどのように決めたらいいのか?
与えられたキーフレーズ(つまり指示文)と、生成された画像をCLIPというNNが読み込み、「渡された二つのデータがどのくらい違和感があるか」という「距離」を導き出す。この距離をもとに、Zへとフィードバック(緑の矢印)し、Zを少しずつ移動させていく。
CLIPが感じる「距離」が短くなればなるほど、絵は説得力のあるものになっていく —— という具合だ。
今、世界各国で作られている画像生成AIは、細かな方式は違えどだいたいこの方法で作られている。
解像度を上げるために後段に高解像度化NNを入れたり、人物を強調するため、または人物を排除するためにフィルタが入ったり色々な操作が外部に加わることはあるが、基本的にはこうした原理に基づいている。
したがって、でき上がる「絵」の方向性を決定するのは、実は実際の絵を生成する「Generator」ではなく、絵と文章の違和感を感じ取り、Generatorを指導する「CLIP」の方だと言うことになる。
いわば、Generatorは職人、CLIPはディレクターというわけだ。
CLIPというディレクターに指示を出すのは、キーフレーズを与える「人間」である。
「Midjourney」を使ってみよう
「Midjourney」の解説に入る前に2つ、その挙動を理解するための注意点を説明しておきたい。
まず1つめは、先述の「CLIP」には、強い言語依存性がある。英語圏で作られたCLIPは、英語圏の人が持つイメージの壁を越えることができない。
2つめは、作図AIには、開発元が一定の制限をかけているケースがあること。いわゆる人種差別やタブーにつながるような画像を自社のAIが生成したら困るため、一定の制限をかけて「適切ではない絵」を避けるようにしている場合が多い。
これに対して、ロシアで作られたruDALL-E、それを構成するruCLIP(ロシア語版CLIP)や、中国で作られたCogViewは見ているデータの範囲が欧米で作られた作図AIよりも「広い」ため、不謹慎に思える画像も簡単に生成されてしまう。
さて、デビッド・ホルツ氏によるMidjourneyは、初の本格的な商用画像生成AIサービスで、月額10ドルから使うことができる(無償体験もある)。
さっそく使ってみよう。
Midjourneyの使い方:
1. コミュニケーションツール、Discordのアカウントをつくっておく
2. Midjourneyの公式サイト(https://www.midjourney.com/home/)にアクセスする
3. Midjourney公式サイトの「Join the beta」をクリックし、招待を受ける
4. Discordのチャンネルで「newbie-90」などの新人チャンネルを選んで入室
5. チャット欄に「/imagine」と入力し、下記の記事中にあるような指示文(プロンプト)を書いて、実行するとすぐに生成開始
Midjourneyでは、まずプロンプト(指示文)を入力すると、4種類の候補が表示される。
表示された候補の中から、「解像度を高くしたい」ものは「U1」から「U4」までのボタンを、その候補をもとに別のバリエーションが見たい場合は「V1」から「V4」までのボタンを押して、それぞれ再生成する。
Midjourneyのクセを知る
ここでは「V1」を押して再生成し、「U1」と「U3」を押して高解像度化してしてみた。
ここで、早くも「CLIPの問題」が立ちはだかってきた。
見てわかるように、U1は、いかにもアジア人女性が出てきたのだが、U3は小さい時は人影に見えたものが、拡大すると着物を着た男性の後ろ姿に見える。
おそらく、「Japan」という言葉の持つ欧米人のイメージ(偏見)に引っ張られてこうなってしまったのだろう。
試しに「宮崎駿アニメに出てくる強い少女のヒロイン(Strong girl heroine of the anime Hayao Miyazaki)」を描かせてみた。
確かに強そうな少女のヒロインぽいキャラクターが出てきたのだが、これを「宮崎アニメのヒロインである」と言っても信じる人は少ないのではないか。
バリエーションもどうもパッとしない。
次の中編では、もう少し指示を変えて、絵がどのように変わるかを見ていく。
※FIDがつくられた経緯:もともとは「本物の画像に見えるか」という指標と、「多様な画像が生成できるか」という指標を組み合わせた「データセットの適切さ」を示すインセプション距離(Inception Distance)という指標が、画像生成AIの性能評価として用いられていた。
画像生成AIの性能が低いうちはこれで十分と考えられていたが、画像生成AIの性能が上がってくると、それだけでは不十分になり、新たに「本物の画像群と比較して本物らしい画像群を生成できるか」という、フレシェインセプション距離(FID)を指標として使うのが一般的になってきた。
(文・清水亮)
清水亮:1976年長岡生まれ。幼少期にプログラミングに目覚め、高校生からテクニカルライターとして活動、全国誌に連載を持つ。米大手IT企業で上級エンジニア経験を経て1998年に黎明期の株式会社ドワンゴに参画。以後、モバイルゲーム開発者として複数のヒット作を手がける。2003年に独立して以降19年間に渡り、5社のIT企業の創立と経営に関わる。2018年より東京大学で客員研究員として人工知能を研究。主な著書に『よくわかる人工知能』など