Unscented Transformの考案者 Jeffrey Uhlmann のインタビューがあった。
Kalman Filterに関しても興味深いので機械訳をしてみた。
目次
Unscented Transform (UT)を発明したきっかけは何だったのか?
A. 海軍研究所(NRL)での追跡の研究
私は1987年に海軍研究所で働き始め、分子動力学シミュレーションの粒子からSDI(別名スターウォーズ)アプリケーションのミサイルまで、複数の物体の追跡に関連する研究を行っていた。 これらの研究は、高度が異なる大気抵抗、温度変化、さらには局所的な重力効果などの要因を考慮した、高次元で非線形性の高い運動モデルを含んでいる。 私が最初に研究したのは空間データ構造で、他のオブジェクトの近くにあるオブジェクトを素早く見つけるために必要なもだった。 例えば、ある物体の視線センサーの測定値を取得した場合、データベースにある何千もの物体のうち、どの物体がその測定値を出したかをどうやって判断するのか。 素朴な方法としては、データベースのすべてのオブジェクトをチェックして、その視線に最も近いオブジェクトがどれかを確認することになるが、より優れたデータ構造であれば、適切なオブジェクトをより速く見つけることができるようになる。一度見つかったら、その状態(位置、速度など)は、カルマンフィルタのようなフィルタリングアルゴリズムを使って更新することができる。
NRLの素晴らしいところは、たいてい最新の最先端技術が導入されていることだった。 当時の私には、最大6万5千個の単純なプロセッサーを持つコネクションマシンと128個の強力なプロセッサーを持つバタフライマシンがあった。 当時、特に国防総省では、大量の物体を追跡する際に生じるかもしれない計算上のボトルネックは、単にプロセッサの数を増やすことで対処できるという考えがあった。 例えば、問題の大きさが2倍になると、計算時間が1000倍以上になることもある。
本当に必要なのは、プロセッサの数を増やすことではなく、より優れたアルゴリズムだったのだ。 これは、1990年にマイク・ズニガと私がデスクトップ型ワークステーションを用いて、100万個の物体を対象とした追跡問題のシミュレーションを初めて実施したときに実証さた。 私たちは、より優れたアルゴリズムとデータ構造を用いることでこれを実現した。 このことが、SDIプログラムが、コンピュータよりもコンピュータサイエンスに注目するようになったきっかけとなった。 私は1992年の『アメリカン・サイエンティスト』の記事で、この話の一部を紹介した。
この頃、オックスフォードにデータフュージョングループを設立したばかりのヒュー・デュラント=ワイトからメールをもらった。 彼は、カルマンフィルタや関連するトラッキング技術をロボット工学の問題に応用するための陣頭指揮を執っていた。 カルマンフィルタやトラッキング技術をロボット工学の問題に応用する先駆者的存在だ。 「自分のグループに参加しないか」と言われ、その内容はとても興味深いものだった。 そこで私は、NRLから2年間のサバティカル(研究休暇)を申請し、オックスフォードでロボット工学の博士号を取得することにした。
B. オックスフォード大学での追跡の研究
1993年9月29日、私はオックスフォード大学に到着した。 カルマンフィルタを応用して環境中の物体を追跡し、自律走行車が自己定位できるようにするにはどうしたらよいか、という問題である。 つまり、車両が自然の特徴を識別して目印とし、常に自分の位置を把握できるようにすることが目標だ。 この問題は、カルマンフィルタの理論的な一般化が必要であると思われ、私を魅了した。 その数学的枠組みを構築する過程で、私はカルマンフィルターが実際に使われている他の側面についても考え直すようになった。 そのひとつが、カルマンフィルターの非線形システムへの適用方法だ。
非線形モデリングの課題とは?
実際の追跡や制御の問題では、システムの状態が時間的にどのように変化するか(例えば、弾道物体の運動)、ある座標系で測定されたセンサーの測定値がどのように別の座標系に変換されるかを定義する非線形方程式を使用することがほとんどである。 カルマンフィルターは線形モデルに対して定義されているので、非線形モデルに対応するための標準的なアプローチは、線形化すること、つまり非線形を最もよく近似する線形変換を見つけることだった。 私は、線形化の限界は分かっていても、深く考えたことはなかった。 例えば、SDIプログラムでは、大気圏に突入する弾頭の超高忠実度モデルを開発するために物理学者のグループに資金を提供し、その結果、大気抵抗、熱放散、軌道に沿った局所的な重力変動を考慮した高次元の非線形方程式を作成していた。 とても印象的だったのが、線形化するとひどい結果にることだ。 従来は、非線形関数や変換を線形化し、線形化された近似式(ヤコビアン行列)を導き出すことで評価してきた。 しかし、その結果は非常に面倒なもので、場合によってはうまく定義できないこともあるし、たとえそれができたとしても、単なる線形近似に過ぎない。 このケースでは、パフォーマンスの低さは、より忠実なモデルを利用するためにフィルタを適切に調整しなかったためだと考えていた。 しかし、オックスフォードで数ヶ月間、地図作成システムの開発に携わった後、私はこの問題をより深く理解するようになった。
カルマンフィルターが非線形問題を解決する上で、これほど人気がありながら問題があるのはなぜか?
カルマンフィルターが広く使われている理由は、少なくとも線形システムにおいては、トラッキング問題のあらゆる側面を捉えるエレガントな数学的フレームワークを提供するからだ。 まず第一に、システムの状態、例えば移動する物体の位置や速度に関連する不確実性を、平均ベクトルと関連する誤差共分散行列という形で表現する方法を提供する。 これは、不確実性をどのように表現するのが最適なのかが先験的に明らかでないことに起因している。 例えば、誤差の半径、信頼度、あるいはそれ以外の方法で表現することができる。
カルマン氏は、共分散行列が平均位置ベクトルに関連する誤差と何らかの関係がある場合、彼のフィルタリングアルゴリズムは、観測が行われるたびに特定の方法でその誤差を減少させることを示した。 さらに彼は、平均値の誤差がガウス分布で、共分散行列がそのガウス分布の第2中心モーメント(つまり共分散)に等しい場合、そのアルゴリズムが最良であることを示した。 実際には、カルマンフィルターではガウス分布の仮定は必要なく、共分散行列が他の確率分布の第2中心モーメントを正確に表している必要もないのに、この行列が「共分散行列」と呼ばれるのはそのためである。 残念ながら、後世の多くの著者は、カルマンフィルターにこれらの付加的な仮定を課す厳格なベイズ的解釈を選択したため、カルマンフィルターは理論的厳密さのためにガウス性の仮定を必要とするという誤解が続いている。 カルマンフィルターが必要とするのは、一般にモデルと呼ばれる一連の線形変換であり、システムが時間と共にどのように発展し、システムの座標とセンサー観測の座標の間でどのように変換するかを記述するものだ。(また、誤差が独立であること、あるいはその相関関係が正確に分かっていることも必要である)。
カルマンフィルタの重要性は、フィルタリングシステムの全体構造を定式化したことに起因するところが大きいが、これほど広く使われるようになった理由はもう一つある: 「アポロ計画」である。 カルマンフィルターは、アポロ宇宙船に搭載された少なくとも2つのシステムで研究され、使われた。 その結果、カルマンフィルターは神聖化され、その後、追跡や制御の分野でカルマンフィルターを使ったと言わなければ、誰も提案できないほどになってしまった。 問題は、アポロでも、非線形効果による性能に実用上の問題があったことだ。 あるアポロの技術者は、ドッキングのための姿勢制御に使用されたが、ループの中に人間(宇宙飛行士)が入っていたと私に説明した。 フィルタをオンにすると、信頼できる出力が得られるのは約8秒間だけで、その後はリサイクルするか、再スタートさせることになると理解していた。 でも、宇宙船の操縦に役立つ情報のスナップショットが得られるので、それでいいのだった。
アポロ後の他のアプリケーションでは、基本的にカルマンフィルタに線形化を加えた拡張カルマンフィルタ (EKF)の使用がより問題であることが判明した。 なぜなら、適切で安定した結果を得るためには、しばしば膨大な量の調整と微調整が必要だったからだ。 カルマンフィルタは使わざるを得ないが、多くの実装者はカルマンフィルタを石のスープとみなしており、優れた性能は、フィルタアーキテクチャそのものと同様に、実装者のチューニング努力に起因していると思われた。 いったん完成したシステムは、特定のシナリオに合わせてチューニングされているため、大きく外れるとフィルターが発散(失敗)してしまうのが普通だった。 ある古参の研究者は、EKFを「チョークのボール」と表現した。その理由は、ストレスがかかるとバラバラになる傾向があるからだ。
残念ながら、現在のフィルタリング技術はそれほど向上していない。 変わったのは処理速度で、フィルタを軌道に乗せるために、より多くの観測データを取り込むことができるようになった。 しかし、精度と安定性を最大限に高めるためには、優れたエンジニアリングが、それと同じくらい、あるいはそれ以上に大きな役割を果たすのだ。 カルマンフィルターの利点に戻ると、あるアプリケーションで厳密に適用できるかどうかは、それを機能させるためのチューニングプロセスを構成するフレームワークを提供するという事実ほど重要ではないかもしれない。 実用的な問題に厳密に適用できる、まだ発見されていないより優れた技術があるのではないか、と誰かが尋ねるかもしれないが、答えはノーである。 カルマンフィルターは、システムの状態に関する一定量の情報を維持しながら、その状態を観測によって更新するアプローチの一群に属するものだ。 非線形システムの場合、観測のたびに新しい情報が追加され、それを単純に固定した推定値にまとめることができないため、これは不可能だ。 唯一可能な一般解は、観測履歴全体にほぼ比例した大きさの情報をフィルターに保持させることである。
言い換えれば、最も一般的な解決策は、タイムステップごとに、最新の観測データと過去の観測データを組み合わせてシステムの状態を再計算するものである。 このような方法は20年前には考えられなかったが、コンピュータの性能が向上するにつれて、近い将来には当たり前になるであろう。 カルマンフィルターは、最速のコンピュータでは十分な速度が得られない問題が常に存在するため、今後もその役割を果たすと思われるが、その役割は減少していくかもしれない。
Unscented Transform (UT)の仕組みは?
UTの最も印象的な点は、正確さよりも、それを簡単に実装できることだ。 もはや線形化された近似式を導き出す必要はなく、それをフィルターで使用するためにコード化する必要があった。
UTが行うのは、平均ベクトルとそれに関連する誤差共分散行列を、同じ平均と共分散を持つ特別な点の集合に置き換えることである。 平均と共分散がターゲットの現在の位置推定を表す場合、UTを適用して、完全な非線形運動方程式を直接適用できるシグマ点と呼ばれる点の集合を得ることができる。 言い換えれば、線形化された近似式を導き出す代わりに、式は単にターゲットの真の状態であるかのように各ポイントに適用することができる。 その結果、点の集合が変換され、その集合の平均と共分散が、ターゲットの予測状態の推定値を表すことになる。
別の言い方をすれば、UTは、部分的に特徴付けられた確率分布に対して非線形演算を行ったときに何が起こるかを推定するメカニズムを提供する。 これは、ほとんどすべての非自明な追跡や制御の問題で行わなければならないことである。 例えば、人工衛星の状態を定義する平均位置と関連する誤差共分散がわかっている場合、将来の状態を予測するには、非線形運動方程式を使って現在の平均位置と共分散を変換する必要がある。 衛星の現在の状態を定義する完全な、しかし未知の確率分布の知識が必要なので、技術的には非投棄問題だ。 私が認識したのは、そのような知識がない場合、適切な平均と共分散を持つ任意の仮定分布は、理論的には他の分布と同じであり、計算を扱いやすいだけでなく、簡単にする選択が可能であるということだ。
カルマンフィルターが機能するのは、確率分布の第2中心モーメントが線形に変換されるからだ。 つまり、変換後の分布の共分散は、元の分布の共分散を変換したものに過ぎない。 フィルタの共分散を減少させる各操作は、真の基礎誤差の共分散も減少させるため、フィルタに使用される共分散行列は、未知の基礎誤差分布の実際の共分散よりも大きくなることがある。 しかし、非線形変換を適用しようとすると、乗り越えられない巨大な技術的問題が発生する。 非線形変換された共分散は、未知の基礎となる確率分布の特性に根本的に依存する。 その分布が正確にわからないと問題は解決しないが、カルマンフィルターのほぼすべての実世界での応用はまさにこの状況である。 線形化は問題を隠しますが効果はない。なぜなら、それぞれの変換は線形なのだが、間違った変換だからだ!
非線形問題に対する線形解法から非線形解法への切り替えはどのように行われたのか?
私は、真の誤差分布がわからないという技術的な問題を、真の変換式に対する粗雑な近似式で解決していることに気づかされた。 その時、私は閃きました: 与えられた平均と共分散の情報を、同じ平均と共分散を持つシグマ点と呼ばれる点の集合の形で正確に符号化することができるのだ。 この点集合は、未知の誤差分布の代理として機能する。 つまり、与えられた平均と共分散に対応する分布がわからなければ、変換後の状態を推定するためには、どの分布の選択も他の分布と同じように良いのだ。 この点集合が魅力的なのは、線形化の必要がなく、非線形変換を使って正確に変換できることだ。 より具体的には,シグマ点のそれぞれに非線形変換を適用し,その結果得られる点集合を変換された分布として表現すればよい。 変換されたシグマポイントの平均と共分散を計算すると、カルマンフィルターに必要な非線形変換された平均と共分散の推定値が得られる。 この方法はシンプルでエレガントであり、他の仮定をすることなく、これより優れた方法を証明することができるものはない。 それがUnscneted Transform (UT)だ。
UTで使われるシグマポイントは、モンテカルロ法のようなランダムなサンプルだと誤解している人がいるが、実際には与えられた平均と共分散の情報を正確に符号化するために決定論的に計算されたものだ。 しかし、UKFは非線形変換でも同じように定義され、動作するが、もちろん、結果は必然的に最適ではない。
Unscented Transformの開発にはどれくらいの時間がかかったのか?
変換の開発自体は,必要なシグマ点の集合を生成するためのアルゴリズムを考え出すこと以外には,それほど難しいことはなかった。 最初は、与えられたN次元の平均と共分散を符号化するために、N+1個のシグマポイントの最小セットと2N個のポイントの最小対称セットを見つけるためのN次元の一般的なアルゴリズムの構築方法を研究した。 実験的な検証として、センサーの観測値の非線形変換を含むいくつかの簡単な例でテストしてみた。 その結果、線形化よりも良い結果が得られることが確認され、場合によってははるかに良い結果が得られることもあった。 私の感覚では、よりストレスのかかるアプリケーションでは、その差はさらに顕著になるはずだ。
これは、自身で開発したのか、それとも他の方と共同開発したのか?
研究室の人たちにこの方法を説明したところ、Simon JulierとBen Quineの2人が特に興味を示してくれた。 サイモン・ジュリエとベン・クワインの2人は特に興味を持ち、自分たちの非線形性の高い問題で試してみたところ、本当に納得してくれた。 その後、サイモンは、分布の高次モーメントに関する情報が利用可能な場合に、その情報を利用するためのシグマポイントのセットを生成するアルゴリズムを開発した。
サイモンとの長期的な協力関係はどのようにして生まれたのか?
1994年に共同研究者となったとき、サイモンはロボティクス研究グループで博士課程を始めたところでだった。 私たちは多くの点で非常に相性が良く、特に自分のやっていることを本当に楽しんでいて、何時間でもそれについて話すことができるだ。 サイモンは、UTの価値を実証できるような問題に取り組んでいたので、それが最初の共同研究の基礎になった。 サイモンは、理論面で対等なパートナーになっただけでなく、さまざまな論文で実証的な結果のほとんどを担っている。 1995年に私がNRLに戻った1年ほど後、サイモンは同じ支部に加わり、私たちは海軍研究所の資金援助を受けて共同研究を継続した。
Unscented Transform (UT)とUnscented Kalman Filter (UKF)はどう違うのか?
Unscented Transform (UT)は、状態推定値をある座標系から別の座標系に変換する必要がある場合に適用されます。UKFは、カルマンフィルターの中でUTを使用し、そのような変換に対処するものです。
Unscented Transformの魅力は何か?
UTの最大の魅力は、正確さよりも、それを簡単に実現できることでした。線形化された近似式を導き出し、それをフィルターで使用するためにコード化する必要がなくなった。
UTとUKFはどこで使われているのか?
1994年からの10年間、Unscented Transform(UT)とUnscented Kalman Filter(UKF)は、Extended Kalman Filter(EKF)のような線形化ベースの技術よりも、より正確で簡単に実装できるため、広く採用された。 その結果、サイモンと私は、2004年3月に発行されたProceedings of the IEEEの特別号に論文を投稿するよう招待された。 私たちは、個別にも共同にも、追跡、制御、推定のさまざまな難問にアンセンテッド・アプローチを適用した。 現在では、金融や天気予報から火星探査機計画まで、非線形性の影響に対処するために、UTの上に構築された数多くの方法論が存在する。
身近なところでは、地元の高校生、アナンド・パラニアッパンの小惑星追跡のコンピュータ化プロジェクトの指導にあたったことがる。 彼はシーメンス・ウエスチングハウスとインテルの両コンペティションで準決勝に進出した。 UKFの使用は天文学の聴衆にとって最も重要なことではなかったが、軌道運動は、EKFに対するUKFの利点が最も顕著に現れるケースだろう。 小惑星追跡の問題で一緒に仕事をしていたグループは、これまでに定義された中で最も珍しい座標系を扱っており、それらの間の変換は線形化では正確に行うことができない。
“Unscented”という名前に込めた思いとは?
当初は “新しいフィルター “とだけ呼んでいた。 もっと具体的な名前が必要だと、研究室の人たちは「ウールマンフィルター」と呼ぶようになったのだが、これは明らかに私が使える名前ではないので、正式な呼び方を考えなければならなかった。 ある晩、研究室のみんながロイヤルオペラハウスに行っていて、私が仕事をしていると、机の上に誰かのデオドラントが置いてあるのに気づいた。 そのとき、”unscented(無香料)”という言葉が、技術用語としてぴったりだと目にとまった。 当初、研究室の人たちは「不条理だ」と考えていたようだが、私は「不条理は私の信条だからいいや」「流行らないだろう」と思っていた。 例えば、木がなぜ木と呼ばれるのかを考える人はいるだろうか?
数カ月もしないうちに、他の大学から講演者が来て、”Unscentedフィルター”の研究について話してくれた。 明らかに、彼はこの言葉の由来について考えたことがなかったようだ。 今議論している2004年3月号の『Proceedings』の表紙には、「Unscented」と大きな文字で書かれていて、そのアプローチの技術用語として受け入れられていることがわかる。