Differentiability(微分可能性)
ニューラルネットワークを学習させるには、損失からパラメータへ勾配が流れる必要がある。しかし古典的SLAMは勾配を遮断する操作に満ちている:RANSACは離散的な仮説選択(argmax)を行い、特徴点検出は非最大値抑制とtop-選択を適用し、バンドル調整のような最適化ソルバーは閉形式の関数ではなく反復的な手続きである。Differentiability(微分可能性)の研究はこう問う:これらの古典的な幾何アルゴリズムをどのように微分可能にすれば、ネットワークをそれらを通して学習できるようになるのか——何らかの代理ラベルではなく、最終的な姿勢やマップの品質そのものを最適化できるのか。
なぜ古典的SLAMは勾配を遮断するのか
標準的なリローカライゼーションパイプラインを考える:ネットワークが2D-3D対応関係を予測し、RANSACが最小サンプル集合をサンプリングし、PnPが各仮説を解き、インライア数がそれらにスコアを付け、argmaxの仮説が勝つ。これらのステップのうち3つは非微分可能である:
- ハード選択 — 仮説に対するargmaxはほぼどこでも勾配がゼロである(決定境界でも勾配がない)。
- ハードカウント — インライア判定はステップ関数であり、その導関数は定義される場所ではどこでもゼロである。
- 反復ソルバー — Gauss-NewtonやLevenberg-Marquardtは1つの関数ではなくイテレーション数が変動するループであり、素朴には閉形式のヤコビアンを持たない。
チェーンのどこかのリンクが勾配を殺すと、それより上流の全てが(正解深度を模倣する、手ラベル付きマッチを模倣するといった)代理損失で学習されねばならず、それはシステムが本来すべきこととは一致しない可能性がある。
主な技術
各技術は代表的なシステムに結び付けられており、具体的に学ぶことができる:
- argmaxの代わりのソフト選択(DSAC):RANSACのハードな仮説選択を確率的選択に置き換える。仮説が確率で選ばれる場合、期待タスク損失 は、1つの仮説をサンプリングすること自体は微分不可能であっても、ネットワークパラメータに関して微分可能である。ハードなインライアカウントも同様に滑らかな代替(例えば残差のシグモイド)に置き換えられるため、仮説スコア自体が勾配を持つ。
- ソルバーの展開(BA-Net、DROID-SLAM):Gauss-Newtonのステップ は単に行列積、線形解、そして残差評価であり——全て微分可能である。したがって固定回数のイテレーションを計算グラフに展開し、逆伝播できる。BA-Netは学習された特徴マップの上でバンドル調整を展開する;DROID-SLAMは同じ発想を再帰的な更新ループの内部に適用し、イテレーションごとに密なBA層を再線形化する。
- 陰関数微分(Theseus):全てのソルバー反復を通じて逆伝播する(全ての中間状態を保存する必要があり、メモリを大量に消費する)代わりに、収束した解における最適性条件を微分する。から、陰関数定理は を与える。したがって勾配は解のみに依存し、そこに到達した経路には依存しない。Theseusのようなライブラリは、(展開と切り詰め変種と並んで)この方法で微分可能な非線形最小二乗法を提供する。
- 多様体を意識した自動微分(LieTorch):姿勢はではなく上に存在する;行列要素に対する素朴な自動微分は、多様体を外れた勾配を生成する。LieTorchはLie群上で直接自動微分を実装し、勾配ステップが局所接空間で取られるようにする、——これは古典的な状態推定で使われる同じリトラクションベースのパラメータ化である。
- 強化学習による回避策(DISK):ステップが本当に緩和できない場合(例えば離散的な特徴点選択)、それを確率的ポリシーとして扱い、DISKが特徴検出とマッチングに対して行うように、スコア関数(ポリシー勾配)推定器で期待報酬を最適化する。
その見返り:タスクレベル学習
この全ての仕組みの目的はタスクレベル学習である:正解深度や手ラベル付きマッチを模倣するようにネットワークを教えるのではなく、RANSAC/PnP/BAがその仕事を終えた後の最終的なカメラ姿勢が正確になるように学習する。学習目的とシステム目的が同じものになる。この整合性こそが、微分可能な幾何システム(DSACからACEへのリローカライゼーション系譜、DROID-SLAM)が、PoseNetのような素朴なエンドツーエンドの姿勢回帰よりも汎化する理由である——幾何は依然として厳密なソルバーによって強制され、ネットワークは学習によって利益を得る部分だけを学ぶ。
2番目の見返りは自己教師あり学習である:微分可能な投影とソルバーがあれば、既知のカメラ姿勢を通じた再投影損失が3Dの正解データを完全に置き換えられる——これはDSAC++が導入し、ACEファミリーが分単位のマッピングのために依拠しているトリックである。
よくある落とし穴
- メモリと計算量:展開されたソルバーは、逆伝播のために全ての中間状態を保存するため、深い展開はGPUメモリを使い果たしうる。陰関数微分や切り詰められたバックプロパゲーションが標準的な逃げ道である。
- 学習/テストの不一致:学習中に使われるソフトな緩和(ソフトargmax、ソフトインライアカウント)は推論時に使われるハードな操作と異なる;そのギャップが大きいと、学習されたネットワークは間違ったパイプラインのために最適化されてしまう。ハードな操作へ向けた温度アニーリングがこれを緩和する。
- 勾配の病理:長い反復手続きを通じた勾配は消失または爆発しうるし、学習初期には、大きく間違った仮説からの勾配が支配的になることがある——DSAC風の学習は初期化に非常に敏感であることが知られており、これが後継手法が事前学習とカリキュラムを追加した理由である。
- 局所最小値は依然として局所的である:ソルバーを微分可能にしても、その landscape が凸になるわけではない;ネットワークはソルバーの収束域を活用するよう学習できるが、テスト時の悪い初期化は古典的な幾何と同様に失敗する。
この文献における多くの工学的努力は、まさにこれらの問題を管理することに関するものである。
SLAMにおける意義
Differentiabilityは、レベル5の2つの半分を結ぶ橋である:それは学習型フロントエンドを幾何的バックエンドと組み合わせて学習可能にし、古典的最適化の厳密さを保ちながら周囲の全てを学習するハイブリッドシステムを生み出す。ソフト選択、ソルバーの展開、Lie群自動微分を理解することで、DSACからDROID-SLAMまでの論文を1つのアイデアの変奏として読めるようになる。