1.Performer-MPC:Transformerをロボットに適用して機敏に自律走行させる(1/2)まとめ
・人間中心の環境では狭い空間を安全かつ効率的に走行する事や適度な距離を保つ事など複雑なルールがロボットに要求される
・Transformerを使うと複雑なルールに対応できるが、安全性を重要視するためには応答遅延が発生する事がネックになっていた
・Performer-MPCはAttentionを効率化するPerformerを利用する事でこの課題に対処する学習可能なロボットシステム
2.Performer-MPCとは?
以下、ai.googleblog.comより「Performer-MPC: Navigation via real-time, on-robot transformers」の意訳です。元記事は2023年3月3日、Krzysztof ChoromanskiさんとXuesu Xiaoさんによる投稿です。
Performer-MPCは「2022年のGoogleのAI研究の成果と今後の展望~ロボット編~」で既に言及されてましたね。
アイキャッチ画像はごちゃっとした狭い空間でテト型ロボットが給仕している感じを出したかったのですが、chatGPT先生の力をもってしてもテトの制御は難しい事がわかって妥協したイラスト
数十年にわたる研究にもかかわらず、私たちの家庭やオフィス、道路を歩き回る移動ロボットはあまり見かけません。
人間中心の環境における実世界のロボット移動は、依然として未解決の問題のままです。このような困難な状況では、コーヒーテーブルとソファの間に挟まれたり、狭いコーナーや出入り口、片付かない部屋など、狭い空間を安全かつ効率的に走行することが求められます。
また、死角では譲る、快適な距離を保つなど、人を取り巻く不文律的な社会規範を遵守したナビゲーションを行うことも、同様に重要な要件です。Google Research は、機械学習(ML:Machine Learning)の進歩によってこのような障害を克服できる可能性があることを検証することに取り組んでいます。
特に、Transformerモデルは、実世界のML問題において、様々な種類の情報を横断して、驚くべき進歩を遂げてきました。例えば、マルチモーダルアーキテクチャは、ロボットが高レベルの計画を立てるためにTransformerベースの言語モデルを活用することを可能にしました。また、Transformerを利用してロボットのポリシーを符号化する最近の研究は、これらのアーキテクチャを実世界のナビゲーションに利用するエキサイティングな機会を開いています。しかし、Transformerを用いた大規模なコントローラをロボット上に展開することは、安全性が重要視される移動ロボットの厳しい応答時間制約のために困難です。入力長に対するattentionメカニズムの空間・時間的な複雑性は2次関数的に増大するため、しばしば法外に高価であり、研究者は表現力を犠牲にしてTransformerスタックを切り詰めることを余儀なくされています。
ロボット製品のためのMLの進歩の継続的な探求の一環として、私たちはGoogleのRoboticsとEveryday Robotsでパートナーを組み、Robot Learning(CoRL 2022)で「Learning Model Predictive Controllers with Real-Time Attention for Real-World Navigation」を発表しました。
以下では、(1)~(3)を組み合わせる事で一気通貫で学習可能なロボットシステムであるPerformer-MPCを紹介します。
(1)JAXベースの微分可能なモデル予測コントローラ(MPC:Model Predictive Controller)は、自身のコスト関数パラメータに勾配をバックプロパゲートします。
(2)Transformerベースの周辺状況の符号化(例えば、ナビゲーションタスク用の占有グリッドなど)。これはMPCのコスト関数を表現し、手動設計したルールなしにMPCを複雑な社会的シナリオに適応せる事ができます。
(3) Performerアーキテクチャ:規模拡大可能なlow-rank implicit-attention Transformersと線形空間・時間複雑性attentionモジュールにより、効率的にロボット上に展開(ロボット上での待ち時間8msを提供)できます。
私たちは、Performer-MPCが様々な環境下で一般化し、ロボットが社会的に受け入れられる行動を示しながら狭い空間を移動するのを支援できることを実証します。
Performer-MPC
Performer-MPCは、学習可能なコスト関数によって、古典的なMPCとMLを融合させることを目的としています。したがって、Performer-MPCは逆強化学習アルゴリズムの具体化と考えることができ、そこではコスト関数が専門家のデモンストレーションから学習することによって推測されます。重要なことは、コスト関数の学習可能な要素は、Performer-Transformerによって生成される潜在的なembeddingsによってパラメータ化されることです。Performerが提供する線形時間の推論は、現実世界のロボットに展開させる際の玄関口となります。
実際には、ロボットのセンサーを融合して提供される占有グリッドが、Vision Performerモデルへの入力として機能します。このモデルは、attention行列を明示的に実体化することはなく、attentionモジュールを効率的に線形計算するためにその低ランク分解を活用し、規模拡大可能なattentionを実現します。
そして、モデルの最後のレイヤーから得た取得した特定の「入力-パッチ」トークンのembeddingsは、MPCモデルのコスト関数の二次的な、学習可能な部分をパラメータ化します。その部分は、通常は手計算されるコスト(障害物からの距離、急激な速度変化に対するペナルティ項など)に追加されます。システムは、専門家のデモンストレーションを模倣する模倣学習によって一気通貫で訓練されます。
Performer-MPCの概要
赤で強調されたパッチの最終的な潜在embeddingは、文脈依存の学習可能なコストを構築するために使用されます。バックプロパゲーション(赤矢印)は、Transformerのパラメータを通して行われます。Performerは、通常のattention行列(行列Query’とKey’)の低ランク近似分解と、行列の乗算順序の変更(黒い括弧で示す)により、規模拡大可能なattentionモジュール計算を提供します。
3.Performer-MPC:Transformerをロボットに適用して機敏に自律走行させる(1/2)関連リンク
1)ai.googleblog.com
Performer-MPC: Navigation via real-time, on-robot transformers
2)arxiv.org
Learning Model Predictive Controllers with Real-Time Attention for Real-World Navigation
3)github.com
google / trajax