Cygames Research研究日誌 #20 ~ゲーム業界で活用されている深層学習技術(後編)~
サイマガ読者のみなさま、こんにちは。
Cygames Research所長の倉林 修一です。Cygames Researchとは、最高のコンテンツを生み出すためにサイゲームスが設立した基礎技術研究所で、この連載記事では、当研究所での研究成果や活動をご紹介しています。
先月は、異世界転生ものになぞらえながら、深層学習技術/機械学習技術についてお話ししました。今月はその後半で、NeRFというコンピュータグラフィックスに適したモデルと、ANN(Approximate Nearest Neighbor)というアルゴリズムをご紹介します。が、その前に、2月末に海外での講演がありましたので、それについて少しご報告させてください。
タイ・バンコク大学での講演
2月24日に、国立研究開発法人科学技術振興機構(JST)の「さくらサイエンスプログラム」の一環で、タイ・バンコク大学の学生のみなさんに向けて、1時間のオンライン講演をさせていただく機会を頂戴しました。JSTとは、文部科学省所管の国立研究開発法人で、研究開発の支援から研究成果の社会還元までを幅広く担っています。そして、さくらサイエンスプログラムとは、海外の若者に日本の産学官の科学技術を体験していただくというJSTの国際交流事業です。今回、同プログラムの実施校の1つである神奈川工科大学から講演のご依頼を頂戴し、私が登壇した次第です。
講演は、 “Introduction to Modern AI-Driven Game Development” と題して、パラメトリック学習とノンパラメトリック学習の両方を含む、広義のAIを活用したゲーム開発や、ゲーム業界での技術研究とその成果を製品開発に活かしていくプロセスをお話ししました(図1)。当日は合計119名もの参加者が集まり(図2)、大変熱気溢れる講義になったかと思います。この機会にアジアの活気あふれる学生のみなさんと交流できたことは、私にとっても大いに刺激になりました。
コロナ禍では海外との連携は薄れていく傾向にありますが、実は、学術的な交流はむしろ活発化している側面もあるようです。コロナ禍になってオンライン講義が当たり前になると、時差さえクリアできれば、気軽に海外の研究者を招聘できるようになったそうです。
また、リアルタイムの交流だけでなく、YouTubeにも講義動画がたくさんアップロードされるようになり、「知のオンライン化」は確実に進行しています。今後、学生諸君の成長のためには、学校が用意するカリキュラムだけでなく、一人ひとりの学生がオンライン上の豊富な教材で主体的に学ぶことが重要になっていくことでしょう。
それでは前回からの続きで、当研究所が注目する深層学習技術/機械学習技術4つのうち、残り2つをご紹介します。
異世界転生なら主人公のクールな側近「NeRF」
NeRFはカリフォルニア大学バークレー校、Google Research、そして、カリフォルニア大学サンディエゴ校の研究者らが2020年のEuropean Conference on Computer Vision (ECCV)という国際会議で発表した研究です。2022年の1月には決定稿となる論文がCommunications of the ACMにも掲載されています。
- Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. 2021. NeRF: representing scenes as neural radiance fields for view synthesis. Commun. ACM 65, 1 (January 2022), 99–106. DOI:https://doi.org/10.1145/3503250
このNeRFの一番わかりやすいアプリケーションはセルフィー(自撮り)を三次元化する “Nerfies”でしょうか。百聞は一見に如かずですので、ぜひ、Webサイトに掲載されている動画をご覧ください。スマートフォンのディスプレイ側のカメラだけで高精細な3D画像を生成できていることがわかると思います。
NeRFとは、Neural Radiance Fieldsの略で、任意のオブジェクト(建物や自動車など)をいくつかの視点から撮影した画像とその視点のポーズ情報を学習するだけで、そのオブジェクトを任意の視点から見た高精細な画像を生成できるというものです。NeRFのデモンストレーションとして、ティーカップの360度多視点画像を作成してみましたので、ご覧ください。
このNeRFを、誤解を恐れずに、ものすごく直感的に表現すると、iPhone 12 ProやiPhone 13 Proに搭載されている3DスキャナーのLiDARを、普通のカメラだけで実現できる技術です。もう少し技術的な表現をすれば、オブジェクトを数枚撮影するだけで、そのオブジェクトが存在する三次元空間の形状をニューラルネットワークが学習できる、というものです。
いわゆる3Dスキャナーが現実の三次元空間から点群を生成しているように、画像が示す三次元空間上で、物体が存在する可能性が高い座標を学習しているのが、NeRFと言えるでしょう。NeRFは、三次元空間理解をレンダリング方程式の逆問題として捉え、最適化問題として解くという非常にスマートな理論であるため、私はとても好きです。異世界転生モノに例えるなら、主人公を側近として支えるクールなキャラクターです。多分、イメージカラーは青です。Transformerのような主人公クラスの汎用性はないものの、コンピュータグラフィックス分野では無双できる、そんな感じです。
NeRFの背景には、微分可能レンダリングという研究分野があります。微分可能レンダリング(DR)とは、画像から形状を推定するニューラルネットワークを、3DCGのレンダリングパイプラインを活用した膨大な教師データで作成しようとするものです。DRは長年研究されており、顔画像の3D化や、手のポーズ推定など、AIが現実空間を認識するアプリに数多く応用されています。一方で、NeRFはメッシュではなく、ある意味で点群のようなものをニューラルネットワークに学習させることにより、従来よりも遥かに複雑な形状を持つオブジェクトの多視点画像を生成できるようにしたのです(図3)。
繰り返しになりますが、NeRFは三次元空間理解をレンダリング方程式の逆問題として捉えている点において、「我々が視覚から三次元空間を理解できるのはなぜか」という本質的な問いに答えようとするものだと、私は考えています。工学的には高精度な多視点画像を生成できることが注目されがちですが、三次元空間理解の重要なマイルストーンであり、今後も発展していく技術となるでしょう。異世界転生モノでいえば、クールキャラ単体で人気が爆発し、クールキャラを主人公にしたスピンオフ作品が出そうな雰囲気を感じる、ということです。
このNeRFの、ゲームとの親和性の高い応用例をご紹介しましょう。
- Konstantinos Rematas, Andrew Liu, Pratul P. Srinivasan, Jonathan T. Barron, Andrea Tagliasacchi, Thomas Funkhouser, and Vittorio Ferrari. 2021. Urban Radiance Fields. arXiv:2111.14643 [cs] (November 2021). Retrieved March 20, 2022 from http://arxiv.org/abs/2111.14643
この論文は、Google Researchとカナダ・トロント大学の共同研究の成果で、Google Street Viewなどで取得される三次元センサーデータと画像データを対象に、このNeRFを拡張したモデルを適用し、実際の街の3Dモデルとテクスチャを自動的に再構成するというものです。
この技術が発展していくと、ストリートビューで撮影された実際の渋谷の街やニューヨークの街中をゲームのステージとして活用できる可能性があります。オープンワールド型のゲームを開発するとき、すべてのマップを現実と同じくらいの情報量で実装することは極めて困難ですが、NeRFを用いて現実空間を低コストかつ高精度に3D化することができれば、大都市と同じような情報量を持ったリアルなオープンワールドゲームを開発できるかもしれません。
当研究所では、リサーチャーのWang TongがこのNeRFをさらに発展させる研究に従事しています。いずれ、研究成果をこの研究日誌で公開できる日が来ると思いますので、お楽しみに。
異世界転生なら賢者の「ANN」
ANNとは、Approximate Nearest Neighborの略で、searchを足して「近似最近傍探索」とも呼ばれます。漢字がいっぱいあると難しい雰囲気になってしまいますが、要は「大量のデータの中から、よく似たものを超高速に見つけてくる技術」です。機械学習やデータマイニングに興味のある方なら、教師あり学習の一手法である「k最近傍法」(k-Nearest Neighbor: kNN)で、最近傍探索のことはよくご存知と思います。
kNNは、ある雑多なデータ集合が与えられたとき、それをk個の「似たもの同士のグループ」に分割するというアルゴリズムです。極めてシンプルでありながら奥の深いアルゴリズムで、近年でもkNNの改良版が学会で発表されています。一方で、今回注目するANNは、「厳密に最近傍でなくても良いので、超高速に検索したい」という需要に答えるために生み出された技術で、数十億件のベクトルの中から類似するベクトルを数ミリ秒のレイテンシ(待ち時間)で検索することができます。今までご紹介してきたTransformer、GAN、NeRFが、パラメーターを学習する「パラメトリック学習」であることと比較して、ANNはパラメーターではなくデータそのものを学習するため「ノンパラメトリック学習」に分類されます。
近年、ANNの研究と実用化は急速に発展しており、フランスINRIAとFacebook AI ResearchはGPUを活用して高速に動作する近似最近傍探索ライブラリのFaiss (https://faiss.ai)をOSSとして公開していますし、Googleは、Vertex Matching Engine (https://cloud.google.com/vertex-ai/docs/matching-engine/overview)と呼ばれる、近似最近傍探索を高速に行うサービスを2021年にプレビューリリースしています。
「大量のデータの中から、よく似たものを超高速に見つけてくる技術」とだけ聞くと、「ただの検索エンジンと何が違うの?」と思われるかもしれません。確かにANNを検索エンジンとして使うことも可能ですが、ANNは、「多次元空間」というものを扱うことができます。多次元空間というのは専門的な言い方ですが、要は、検索対象となる属性がたくさんあるということです。
例えば、時計を新しく買おうと思ったとき、普通の検索エンジンでは、メーカー名や、クオーツか機械式か、価格、ブレスレットかレザーバンドか、電波時計か、など、多くても数十項目程度で検索をします。一方で、多次元空間の扱いが得意なANNでは、機械式時計の検索に例えるなら、振動数、アンクルの振り幅、ケースのヴィッカース硬度、車列、自動巻機構はスイッチングロッカーかマジックレバーか、緩急針かフリースプラングか、などなど、機械式時計の構造に関する膨大な量の特徴を扱うことができるのです。
何を言っているのかわからない、と感じたかもしれませんが、普通の人は気にしないような細かい特徴までを完璧に学習するのが多次元空間モデルの特徴なので、すごくマニアックな特徴で検索しているシステムを想像していただければ幸いです。実際に、当研究所では、ゲーム用AIのための特徴空間として、約6万種類の特徴を扱える6万次元の空間を用いています。この6万種類の特徴は、カードやスキルなど、ゲームの勝敗を左右するすべてを含んでいます。このような特徴空間を用いて、人間がゲームをプレイする方法を網羅的に学習するAIを実装しているのです。
ANNは、入力した情報を事例として完全に記憶しておくアプローチですので、異世界転生モノで言えば、「賢者系」のキャラクターです。主人公のスキルとして、心の中で質問するとなんでも答えてくれるタイプの賢者がいますよね。ANNは、そういう賢者です。ノンパラメトリック学習なので、完全に未知の物事を分析することは苦手ですが(それは主人公の仕事です)、過去に似たような事例があれば、すぐにそれを教えてくれます。ゲームのように、過去の事例を完全に把握することが重要な分野では、ANNも、AIを実装するための重要技術になるのです。
おわりに
2か月連続で、ゲーム開発に応用しやすいAI技術を4つ紹介しました。主人公クラスのTrasformer、準主人公のGAN、クールキャラのNeRF、賢者キャラのANN、この4人が揃えば、とりあえず物語を始められそうですよね。みなさんの研究ライフに、ぜひ、この4人を加えてみてください。