ニューラル場ってなに?

前書き:こんにちは、@yongyuanxiです。トロント大学とNVIDIAでPhD学生兼リサーチサイエンティストとしてニューラル場の研究をしています。今回はブラウン大学・MIT・グーグル・フェイスブック・TUM等の研究者達と共同で書いたニューラル場に関するサーベイ論文がArXivに出たので軽く日本語で紹介しようと思います。他にもブログ記事をきままに書いているので興味あればどうぞ!

サーベイに至る経歴

2020年あたりからコンピュータグラフィックスやコンピュータビジョン界隈はNeRF: Representing Scenes as Neural Radiance Fields for View Synthesis(通称NeRF)という論文・手法で凄まじく盛り上がっています。NeRFはレンダリング方程式(カジヤ先生の方程式)を逆問題として解く手法です。具体的には、レンダリング方程式を放射輸送方程式に戻して、訳のわからない再帰する積分方程式で使われるベクトル場をニューラルネットワークとして表し、微分可レンダリングとSGDで最適化問題として解く手法です。NeRFに関しては他にも山内さんのまとめ土居さんのまとめに詳しく書いてあるのでそちらも合わせて読んで下さい。

NeRFの凄まじい所は、比較的最近(2020年)パブリッシュされた論文であるにも関わらず、もうすでに500件以上の引用論文があり数多くの派生研究を生み出している所です。日本経済新聞ですらNeRFを記事に取り上げているのでその凄まじさが伝わるかと思います。NeRFがここまでの盛り上げを見せている背景として、実装が簡単で計算資源もデータもあまり必要無いのに精度が高い、という側面が大きいと思われます。

このNeRFの発見・発展は先行研究であるDeepSDFPIFu、更に古くはディープ紀初期のRadiance Regression Functionsらの”ニューラル場の研究”の貢献が大きいです。ただ、レッドオーシャン化とした今の界隈だとNeRF前の研究がもう既に忘れ去られている様な現状が嘆かわしいな、と思い自分なりに体系的にまとめたブログ記事でも書こうかな、等と考えていた時期もありました。当時はそんな文脈のツイートをしていたりもしていて、招待講演等でもNeRFのまとめもどきの話などもしました。NeRFの派生研究も似たような研究ばかりでつまらない、といったナイーブな若手研究者ならではの憤りもありました(ユニークだと思っていたアイデアが次々と先を越されていったフラストレーションでしょうか)。

そんな中、タイミング良く研究フレンズから”NeRFのサーベイ論文を書かないか”と誘われました。”これは陰関数の素晴らしさについてまとめる良い機会だ!”と思い快諾しました。それからサーベイチームのとても優秀な仲間たちと議論を重ね、ひたすら論文を読み続ける中、自分の中の定義や体系も矛盾だらけである事に気づきました。例えば、”陰関数”という括りはあくまでも表面について語る時のみ意味をもつので、NeRFを陰関数の括りに入れてしまうのは少し的外れでした。

そんなこんなで議論を続けているうちに出来上がったのがニューラル場を体系化した我々のサーベイ論文、Neural Fields in Visual Computing and Beyondです。ニューラル場に詳しい人にとっても詳しくない人にとっても読んで面白い論文が出来上がったと思うので是非読んで下さい!(250本以上の論文を読もうとするより効率的です!)

ベクトル場とニューラル場

ベクトル場とは空間の中でベクトル的な物理量(重力、流体の流れ、Optical Flow等)を表すものです。ベクトル場は簡単なパラメトリック方程式で表す事も出来れば、流体力学におけるオイラー型のように格子状のデータ構造体で表す事も出来ます。格子(グリッドやメッシュ)で表す手法は特に多くありますが、メッシュの場合は複雑な格子生成アルゴリズムが必要だったりグリッドの場合は標本化定理に殴られたりします。関数の台も疎らなので、データに不確実性があったり不完全な場合どう対処すれば良いのかもイマイチ分かりません。

そこで代替案として出てくるのがニューラル場です。ニューラル場の定義は至って単純で、入力が座標出力がベクトルのニューラルネットワークをニューラル場として定義します。ベクトルがスカラーの場合、陰関数としての等位集合が表面を表すことも出来ます。

ニューラルネットワークを使いベクトル場を表す強みを大きく分けると:

  • ニューラルネットワークの普遍性定理
  • 連続性、また微分可能
  • 自然な適応性による標本化定理の対処
  • ハードウェアによる高速化
  • 入力の次元に(強く)依存しないデータ構造体
  • なめらかな帰納バイアス
  • 大きな(ニューラルネットワーク全般の)研究コミュニティ

などが挙げられます。特に、高次元の入力を簡単に処理出来るのがNeRF等の発見に繋がったと思われます(従来のグラフィックスの手法では三次元グリッドに加え球体上の基底関数を使う必要がありました)。

ニューラル場の手法

ニューラル場自体の定義は至ってシンプルですが、実際に使うとなると問題点が多く挙がります。いくつか挙げると:

  • 高周波の信号を表す難しさ(いわゆるスペクトルバイアス)
  • 大きなニューラルネットワークの計算コスト
  • 様々な分布への一般化
  • ダイナミックなデータの表現
  • 編集・操作が難しいニューラルネットワーク

などが挙げられます。これらの問題点の様々な対処法を大きく:

  • 一般化、また埋め込みベクトルによるコンディショニング
  • データ構造体とニューラル場のハイブリッド構造体
  • フォワード写像によるドメインの置き換え
  • ネットワークアーキテクチャ
  • ニューラル場の編集・操作

のカテゴリに分けて手法をまとめています。分野や応用で分けるのでは無く、体系的に本質的な手法に分けて纏める事で、どういった手法が存在し、どういった問題点を解決しているのかが分かりやすくなっていると思います。

ニューラル場の応用

手法をカバーするだけでは面白くなく産業応用に繋がりにくいのでニューラル場の応用を様々な分野を通してサーベイしました。逆レンダリングによるコンピュータビジョン、マテリアル推論、デジタルヒューマン、三次元生成モデリング、ロボティクス、SLAM、プランニング、マッピング、データ圧縮、医療画像処理、音声処理、物理シミュレーション、物理逆問題など様々な分野をカバーします。

ニューラル場研究データベース

サーベイ論文に加えてニューラル場に関する論文のデータベース、また検索エンジンも論文と共に開発しました。是非ニューラル場の研究に役立てて下さい!

さいごに

このサーベイ論文を書いていく中で自分の中でのニューラル場の理解がかなり深まった気がするのでとても有意義でした。この新たに得た理解を使い最近やっと面白い研究結果が出てきたので、皆様も是非このサーベイん論文をニューラル場の研究に役立ててください!もしニューラル場の研究をしていてコラボレートしたい場合は気軽にご連絡ください。