この地球上に足りないものがあるとすれば、それはセレブだろう。もしも十分な数のセレブが既にいるとすれば、こんなに続々と新しい人が登場するはずもない。今こそコンピューターの力を借りるときだ!と思いきや、実は既にそのような研究は進められている。セレブの顔を認識できる(なんと羨ましいことだろう!)AIが、ある研究で何十人ものセレブを「考え出す」というタスクを課せられた。その結果は……見てのお楽しみだ。
上図を見ればおわかりの通り、生成された画像は宣材写真として使えるレベルではない。左下の男性の写真は、背景の一部が左耳と重なりあっていて見栄えが良いとは言えない。上列真ん中の女性のイヤリングも未完成といった感じで、右下の男性の耳は残念なことになっている。その一方で、テイラー・スウィフト風の女性の出来はまぁまぁだ。また、この6人は実在しないにもかかわらず、画像からは何かしらのパーソナリティが感じられる。
次の6人を見てみよう。今回は髪が問題のようだ。左上の女性の髪は一部が飛び出しているし、上列真ん中の人の髪には何個か穴が開いている。右上の女性の前髪は、顔全体に影響を及ぼしているようだ。下列真ん中の男性は変なタイミングで写真を撮られたように見え、左下の男性にいたっては右半身が欠けている。
と、冗談はこのくらいにして、全体の出来はなかなかではないだろうか。近くで見ないと本物のセレブかどうか判別できないくらいの画像を機械が作り出せるというのも驚きだ。Nvidiaが行ったこの研究の論文は、来年のICLRに応募中で、こちらのリンクから実物を読むことができる。
彼らが利用した「General Adversarial Networks(GAN)」とは、同じデータ(今回の場合で言えばセレブの顔写真)を使ってトレーニングされた、ふたつのネットワークのことを指している。そのうちのひとつは、与えられた写真と似たものを生成するためのネットワークで、もうひとつは顔写真を認識するためのものだ。
前者(生成ネットワーク)が新しい写真を生成し、後者(認識ネットワーク)がその写真を評価してフィードバックを送り返す、というのが大まかなフローで、恐らく最初はひどい結果だっただろう。しかしトレーニングを繰り返すうちに、生成ネットワークが生み出す画像は、認識ネットワークが「まぁ、このくらいならティファニー・ティーセンに見えなくもないな」というレベルに達するようになる。
Nvidiaの研究で新たにわかったのが、トレーニング開始時は解像度が低いデータを使い、徐々にサイズを大きくしていったほうが、システムの機能が向上するということだ。これは直感的にも理解できる。最初に輪郭など大まかな顔の構造をつかまないと、ただの肉の塊や、口だけリアルなわけのわからない怪物もセレブと認識されてしまう。
また徐々にトレーニングデータの内容を変化させることで、トレーニングにかかる期間も短縮できる。解像度の高い画像を生成するのはなかなか難しい上、はじめは大した結果もでないので、大きなデータを与える必要もない。できるだけゴミを減らして簡単に画像を生成できるようにしないと、単に大量のゴミと残念な結果が生まれるだけなのだ。以前のシステムによって生成された下の画像を見れば、その意味がわかるだろう。
Nvidiaの研究者も「本物の写真と同じくらいのクオリティに達するまではまだまだ時間がかかるだろう」と認めている。その一方でNvidiaは、本記事に掲載した写真からもわかる通り、同システムが本物の人間とほぼ見分けがつかないレベルの画像を生成できる世界初のシステムになるかもしれないと期待を寄せている。
ただ一点だけお伝えしなければいけないのが、トレーニングに使う画像の種類を絞らないと、下図のようにギョッとするような動物や、悪夢のような光景が描かれた画像が生成されてしまうということ。
[原文へ]
(翻訳:Atsushi Yukutake)