抽象的な空間表現を獲得するDeepMindの深層生成モデル(GQN)

人間はある視点から撮られた1枚の写真からその空間の全体像を思い描くことができます。もちろんそれは間違っていることもあり、例えば何か重要な物体が壁などの障害物のせいで写っていない場合は、異なる視点からの情報を追加で入手することによる補完が必要となります。

人間は驚くほど少数の情報から正確に全体像を予測できますが、恐らくこれは、過去の空間探索経験を踏まえて、空間の生成モデルを脳に獲得しているからだと思われます。今月Scienceに出ていた以下のDeepMindの研究は、人間のそんな生成モデルをニューラルネットワークに獲得させることを狙った研究です。

Neural scene representation and rendering | Science
Neural scene representation and rendering | DeepMind
目に見える情報から「見えない部分」を推測して3Dモデルを生成する「GQN」 - GIGAZINE

論文では様々な実験を行なっていますが、様々な物が置かれている空間で撮られた少数の写真から、空間全体を高い精度で再構成することに成功しています。それを実現するために2つのニューラルネットワークを使っていて、片方は表現獲得(Representation Architecture)に、もう一方は生成(Generation Architecture)と推論(Inference Architecture)に使います。これらを総称してGenerative Query Networks(GQN)と呼んでいます。実験では学習後の表現獲得器の出力が強化学習エージェントの訓練に有用な性質を持っていることや、生成モデルの性質を活かして新たな写真がある空間から撮られたかどうかの予測を計算しています(この結果は情報収集の効率化や異常値検出などにも応用できることを示唆しています)。更に、Word2Vecで報告されたような、表現獲得器の出力に関して概念同士の足し引き算結果がそれっぽくなる現象(Compositionality)も報告していて、人の脳の仕組みに関心がある僕としてはここが一番面白かったです。

全体の訓練の流れとしては、まず表現獲得器が複数の写真から特徴量を抽出します。その後、推論器が表現獲得器の出力に加えて、指定のアングルとそのアングルから実際に撮られた写真(これら二つを合わせてQueryと呼んでいる)を入力に取り、その写真を再構成するように訓練します(なんとなくAutoencoderぽいし、実際Variational Autoencoderとの比較が行われています)。生成器は推論器パラメータを一部シェアしているのですが、こちらはQueryのアングルだけを入力に取ります。そして、同じ写真を入力に取った場合に、推論器の潜在表現と生成器の潜在表現が似るようにネットワーク全体を訓練します。写真をQueryに受け取れないので、生成器の訓練は推論器よりもある意味辛いのですが、そのお陰で、任意のアングルから画像を生成するような生成モデルとして機能するという流れになってます。

細かい技術的な部分で興味が出たのは、生成器と推論器の潜在表現に自己回帰モデルを使っていることです。これによって柔軟な潜在表現を得られるのだと思うのですが、parallel wavenetなどで使われてるnormalizing flowベースのものではなくconvDRAWの手法を使っている模様。この辺は詳しくないのですがどんな風に使えるのか興味があります。