※本記事は、Stanford大学AA228V「Validation of Safety Critical Systems」コースにおけるSomil Bansal教授によるゲスト講義の内容を基に作成されています。講義の詳細情報およびコース全体については https://aa228v.stanford.edu/ でご覧いただけます。また、関連教科書は https://algorithmsbook.com/validation/ で参照可能です。本記事では、講義の内容を要約しております。なお、本記事の内容は講演者の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの講義動画をご視聴いただくことをお勧めいたします。
登壇者紹介:
- Somil Bansal教授:Stanford大学航空宇宙学部助教授、Safe and Intelligent Autonomy Lab主宰。以前は南カリフォルニア大学(USC)電気・コンピュータ工学部助教授、Waymo研究科学者として活動。詳細は https://smlbansal.github.io/ をご参照ください。
- Sydney Katz博士:Stanford大学ポスドク研究員。詳細は https://sydneymkatz.com/ をご参照ください。
- Mykel Kochenderfer教授:Stanford大学航空宇宙学・コンピュータサイエンス准教授(兼任)、本コース担当者。詳細は https://mykel.kochenderfer.com/ をご参照ください。
本講義は、Stanford Onlineを通じて提供されており、Stanford工学部のCenter for Global & Online Education (CGOE)により運営されています。Stanford Onlineの詳細については https://online.stanford.edu/ をご覧ください。
1. 講演者の紹介と研究背景
1.1 Somil Bansal教授のプロフィールと経歴
Michael Kochenderfer教授: 今日は私が非常に楽しみにしているゲスト講義があります。Stanford大学航空宇宙学部のSomil Bansal教授をお迎えしています。彼はこちらでSafe and Intelligent Autonomy Labを率いており、その前はUSC(南カリフォルニア大学)で電気・コンピュータ工学の助教授を務めていました。さらにその前は、Waymoで研究科学者として働いていました。今日の講義を聞けることを非常に楽しみにしています。
Somil Bansal教授: ありがとうございます。皆さん、こんにちは。私はSomilです。まず最初に、MichaelとSydneyがこの素晴らしいコースを提供してくださったことに深く感謝します。私の研究室の学生数名がこのコースを受講しており、彼らはこのコースについて絶賛しています。そのため、春休み中にこれらの講義ビデオを見て追いつく予定です。私はこれらの講義ビデオにアクセス権を持っているので、非常に楽しみにしています。
今日ここでお話しできることを大変嬉しく思います。私たちの研究グループが取り組んでいる、視覚ベースコントローラにおける故障マイニングに関する研究についてお話しします。この研究は、このクラスで取り扱われているトピックのいくつかと密接に関連していると考えています。高レベルでは、私たちの研究グループはロボティクスと自律性に焦点を当てており、一般的な目標は、新しく不確実な環境において安全性と性能の保証を持って動作するロボットアルゴリズムの開発です。
私たちは、自律ドローン、自動車、航空機、宇宙ロボティクスに至る様々な異なるアプリケーションの文脈でこれらのアルゴリズムの開発に取り組んでいます。これらのシステムの多くにおいて、機械学習が自律スタックでますます普及してきています。主要なものは依然として知覚と視覚ですが、現在では予測と行動予測、そして計画と制御においても使用されています。
1.2 Safe and Intelligent Autonomy Labの目標
Somil Bansal教授: 私たちの研究グループは、新しく不確実な環境において保証された安全性と性能を持って動作するロボットアルゴリズムの開発を一般的な目標としています。私たちは、自律ドローン、自律自動車、航空機、宇宙ロボティクスに至る様々な異なるアプリケーションの文脈でこれらのアルゴリズムの開発に焦点を当てています。
これらのシステムの多くにおいて、機械学習が自律スタックでますます普及してきています。主要なものは依然として知覚と視覚ですが、現在では予測と行動予測、そして計画と制御においても機械学習が使用されています。機械学習が普及している理由は数多くの良い理由があります。機械学習は、これらのシステムが動作しなければならない実世界の状況の複雑性を捉えることが非常に得意であり、そうでなければ工学的ドメイン知識を使用してモデル化することは非常に困難です。
しかし、これには落とし穴がないわけではありません。機械学習の組み込みは、新しい安全性の課題セットも開示しています。私の心に非常に近い一つの例は、サンフランシスコ市からのCruise車両のロールバックであり、その後実際に自律運転における運用を完全に終了しました。問題は十分に深刻であったため、米国政府は現在約1年半前でしたが、他の政府、特に英国政府も、自律性だけでなくより広範にAI安全性について議論を優先するという行政命令を通過させました。
自律性に戻ると、今日の自律システムにおいて私たちが多く持っている緊張関係があります。それは、現代の機械学習手法によって提供される能力をどのように活用しながら、同時に安全性を維持できるかということです。これが現在、私たちの研究室の核心的な焦点となっています。
1.3 機械学習を用いた自律システムの現状と課題
Somil Bansal教授: これらのシステムの多くにおいて、機械学習が自律スタックでますます普及してきています。主要なものは依然として知覚と視覚ですが、現在では予測と行動予測、そして計画と制御においても機械学習が使用されています。機械学習が普及している理由は数多くの良い理由があります。機械学習は、これらのシステムが動作しなければならない実世界の状況の複雑性を捉えることが非常に得意であり、そうでなければ工学的ドメイン知識を使用してモデル化することは非常に困難だからです。
しかし、これには落とし穴がないわけではありません。機械学習の組み込みは、新しい安全性の課題セットも開示しています。私の心に非常に近い一つの例は、サンフランシスコ市からのCruise車両のロールバックであり、その後実際に自律運転における運用を完全に終了しました。問題は十分に深刻であったため、米国政府は現在約1年半前でしたが、他の政府、特に英国政府も、自律性だけでなくより広範にAI安全性について議論を優先するという行政命令を通過させました。
自律性に戻ると、今日の自律システムにおいて私たちが多く持っている緊張関係があります。それは、現代の機械学習手法によって提供される能力をどのように活用しながら、同時に安全性を維持できるかということです。これが現在、私たちの研究室の核心的な焦点となっています。
2. 自律システムにおける機械学習の安全性問題
2.1 機械学習の利点と落とし穴
Somil Bansal教授: 機械学習が数多くの良い理由で普及しています。機械学習は、これらのシステムが動作しなければならない実世界の状況の複雑性を捉えることが非常に得意であり、そうでなければ工学的ドメイン知識を使用してモデル化することは非常に困難です。しかし、これには落とし穴がないわけではありません。機械学習の組み込みは、新しい安全性の課題セットも開示しています。
今日の自律システムにおいて私たちが多く持っている緊張関係があります。それは、現代の機械学習手法によって提供される能力をどのように活用しながら、同時に安全性を維持できるかということです。これが現在、私たちの研究室の核心的な焦点となっています。
2.2 Cruiseの運行停止事例から見る安全性課題
Somil Bansal教授: 私の心に非常に近い一つの例は、サンフランシスコ市からのCruise車両のロールバックであり、その後実際に自律運転における運用を完全に終了しました。問題は十分に深刻であったため、この事例は機械学習を組み込んだ自律システムが直面する新しい安全性課題の具体的な現れとなりました。Cruiseの事例は、単なる技術的な問題を超えて、実際の商業運用における深刻な安全性の懸念を示しており、最終的には自律運転事業からの完全撤退という重大な結果をもたらしました。
2.3 AI安全性に対する政府の取り組み
Somil Bansal教授: 問題は十分に深刻であったため、米国政府は現在約1年半前でしたが、他の政府、特に英国政府も、自律性だけでなくより広範にAI安全性について議論を優先するという行政命令を通過させました。これらの政府の取り組みは、機械学習を組み込んだ自律システムが引き起こす安全性課題が、もはや学術的な議論や産業界内部の問題ではなく、国家レベルで対処すべき重要な政策課題として認識されていることを示しています。
3. 継続的安全性保証フレームワーク
3.1 3段階での安全性アプローチ
Somil Bansal教授: この課題を克服するための私たちのアプローチは、AIベースシステムの安全性をより継続的なプロセスとして考えることです。安全性は、訓練時からシステムの展開まで、データサイクルやシステムサイクルの異なる段階に統合され、システムのライフサイクルにわたって安全性を反復的に改善していきます。これは長い説明ですが、実際に意味することは、私たちが安全性を3つの異なる段階で考えているということです。
私たちは訓練時から始めて、訓練段階自体で安全性要件をプログラム的にどのように組み込むことができるかを自問し、その結果として安全性認識ポリシーや安全性認識AIシステムを得ることができます。これを考える一つの方法は、私たちが訓練データ分布内での安全性をどのように確保するかという質問をしていることです。
しかし、これらのシステムを新しく不確実な条件で展開する際には、それだけでは十分ではありません。そのため、私たちは自分自身に問いかけなければなりません:いつ分布外に出ているのか、そしてこれらの分布外シナリオに対応してどのように安全性を適応させることができるのか。
最後に、私たちはこれらのシステムのストレステストを可能にする手法の開発に焦点を当て、それらの安全クリティカル故障をマイニングし、システムの設計を改善するためにそれらを使用します。これによってループを閉じ、全体として、このフレームワークが学習ベースシステムの継続的安全保証を可能にします。安全性は訓練時に暫定的に提供され、運用時に適応され、システムのライフサイクルにわたって改善されます。
3.2 訓練時の安全性要件統合
Somil Bansal教授: 私たちは訓練時から始めて、訓練段階自体で安全性要件をプログラム的にどのように組み込むことができるかを自問し、その結果として安全性認識ポリシーや安全性認識AIシステムを得ることができます。これを考える一つの方法は、私たちが訓練データ分布内での安全性をどのように確保するかという質問をしていることです。この段階では、学習アルゴリズムが安全性制約を内在的に理解し、それらを満たすようなポリシーを生成することを目標としています。これにより、システムは訓練時点から安全性に対する意識を持った動作を学習することができます。
3.3 運用時の分布外シナリオへの適応
Somil Bansal教授: しかし、これらのシステムを新しく不確実な条件で展開する際には、それだけでは十分ではありません。そのため、私たちは自分自身に問いかけなければなりません:いつ分布外に出ているのか、そしてこれらの分布外シナリオに対応してどのように安全性を適応させることができるのか。訓練データ分布内での安全性確保は重要な第一歩ですが、実世界の展開では必然的に訓練時に見たことのない状況に遭遇します。このような場合、システムは自身が経験したことのない環境にいることを認識し、それに応じて安全性戦略を動的に調整する能力が必要となります。
3.4 ストレステストによる安全性改善サイクル
Somil Bansal教授: 最後に、私たちはこれらのシステムのストレステストを可能にする手法の開発に焦点を当て、それらの安全クリティカル故障をマイニングし、システムの設計を改善するためにそれらを使用します。これによってループを閉じ、全体として、このフレームワークが学習ベースシステムの継続的安全保証を可能にします。安全性は訓練時に暫定的に提供され、運用時に適応され、システムのライフサイクルにわたって改善されます。
しかし、今日私が持っている残りの時間では、この最後のコンポーネント、特にストレステストコンポーネントに焦点を当てたいと思います。これは、学習ベースコントローラをどのようにストレステストして安全クリティカル故障をマイニングし、その後、それらの故障をシステム自体の改善にどのように使用できるかについてお話しします。私たちは特に視覚ベースコントローラの文脈でこの質問をしています。その理由は2つあります。一つは、視覚ベースコントローラが現在自律スタックでかなり普及してきているからですが、同時に、伝統的にこれらのコントローラのストレステストは制御理論ツールにとって非常に困難でした。これは、視覚ベースコントローラの高次元性と、RGB画像のような複雑な入力空間のためです。
4. 視覚ベースコントローラのストレステスト手法
4.1 問題の数学的定式化
Somil Bansal教授: これらのシステムや視覚ベースコントローラをどのようにストレステストできるかについてお話ししましょう。まず問題を数学的に定式化させてください。私たちには、何らかのダイナミクスを持つシステムが与えられており、これは状態xと制御uを持つロボットである可能性があります。各状態において、私たちには何らかの視覚観測を与える視覚センサーがあります。これらはRGB画像や点群である可能性があり、それらは視覚ベースコントローラによって入力として取られ、ロボットに適用される制御を与えます。
これにより閉ループシステムが形成され、また、この制御をストレステストするために使用できるシミュレータへのアクセスがあると仮定します。ここでの私たちの目標は、安全クリティカル故障を見つけることです。言い換えれば、全体システムの安全性の違反につながる視覚入力Iを見つけることです。
私たちがここで取るアプローチは、この故障発見を到達可能性問題としてキャストすることです。それを行う方法は、基本的に視覚観測関数を視覚ベースコントローラと連結して、ロボットの等価な状態ベースポリシーを得ることです。そのため、ストレステストの目的で、私の閉ループシステムを、この等価状態ベースポリシーと閉ループのロボットとして簡素化することができます。
4.2 到達可能性問題としてのアプローチ
Somil Bansal教授: 私たちがここで取るアプローチは、この故障発見を到達可能性問題としてキャストすることです。それを行う方法は、基本的に視覚観測関数を視覚ベースコントローラと連結して、ロボットの等価な状態ベースポリシーを得ることです。そのため、ストレステストの目的で、私の閉ループシステムを、この等価状態ベースポリシーと閉ループのロボットとして簡素化することができます。
この特定の閉ループシステムにおいて、私たちは多くの既存の可視性ベース手法を使用することができます。これらの手法は最終的に、私たちが後方到達可能管またはその何らかのバージョンと呼ぶものを計算します。少なくとも英語では、これはこのコントローラの下で、最終的にシステムを何らかの事前定義された故障領域に導くシステムのすべての初期状態の集合を意味します。私たちの場合、これは等価状態ベースポリシーということになります。
4.3 Hamilton-Jacobi到達可能性の5分間入門
Somil Bansal教授: この後方到達可能管とは何か、そしてどのようにしてこの後方到達可能管を計算できるかについて少しお話ししたいと思います。その後、この問題に戻って、その後方到達可能管が私が求めている安全クリティカル故障を見つけるのにどのように役立つかについてお話しします。
Hamilton-Jacobi到達可能性の5分間入門をさせてください。これは、この後方到達可能管を計算する到達可能性手法の一つです。到達可能性分析では、基礎となるシステムのダイナミクスから始めます。これは状態x、制御u、外乱dを持つと仮定します。ここでの外乱は、システムのモデリング不確実性を表す可能性があります。例えば、システムを完全にモデル化していない可能性があるか、または保護したい何らかの外部外乱である可能性があります。
これらのダイナミクスが与えられた場合、再び私たちが興味を持っている重要なことは、システムの後方到達可能管です。これは、最高の制御努力にもかかわらず、最終的に望ましくない状態の集合(時には故障集合とも呼ばれる)に駆動されるすべての初期状態の集合です。
図解的に意味することを説明しましょう。非常に簡単な例を考えてみてください。この部屋で縦方向に飛んでいるクアッドローターがあると想像してください。この特定の場合、天井と床がクアッドローターが衝突してほしくない故障集合である可能性があります。ここのこの薄い赤い領域が後方到達可能管です。つまり、クアッドローターがこの集合内で開始した場合、何をしても、最終的に天井または床に衝突することになります。言い換えれば、最終的に故障集合に入ることになります。
この後方到達可能管の逆は、この青い領域または安全集合です。到達可能性分析は、システムがこの集合内で開始する場合、常にその集合内に留まるポリシーが存在するという保証を提供します。言い換えれば、この青い集合は制御不変集合です。
4.4 後方到達可能管(Backward Reachable Tube)の概念と計算
Somil Bansal教授: この青い集合と対応する安全コントローラを計算する方法は、この全体の安全問題を最適制御問題に変換することです。これは、様々な最適制御手法を使用して解くことができます。それを行う最初のステップは、故障集合を暗黙的に表現することです。この故障集合を暗黙的に表現するために使用している関数が、故障集合内では負、外では正になるようにします。この特定の場合、天井と床の内部では負で、他のすべての場所では正であるべきです。
この関数Lを考える直感的な方法は、システムが状態Xで得る安全報酬です。故障集合内にいる場合は負の報酬を得て、故障集合外にいる場合は正の報酬を得ます。使用できる多くのそのような報酬関数があります。実際、この性質を満たすあらゆる報酬関数で十分です。私たちは符号のみを気にしています。人気のある報酬関数は、故障領域への符号距離関数です。
その報酬関数が与えられた場合、軌道の累積報酬またはコストは、軌道に沿って発生する最小安全報酬によって与えられます。このような報酬関数を定義する理由は、軌道が故障集合に入った場合、この累積報酬は負になり、そうでなければこの累積報酬は正になるからです。この累積報酬の符号を見るだけで、ロボット軌道が安全か安全でないかを判断できます。
もちろん、システムを安全に保つために、この報酬を最大化するように制御を選ぶことができます。私たちが求めているものは、実際には外乱や不確実性が私を故障領域内に押し込もうとするゲームです。言い換えれば、この累積安全報酬を最小化しようとし、制御は私を安全に保とうとします。言い換えれば、この累積報酬を最大化しようとします。言い換えれば、私たちはこの累積報酬関数に対応する価値関数に興味があります。
ここでの価値関数は、直感的にシステムが故障集合に最も近づく程度を表します。価値関数が負の場合、それは最高の制御努力にもかかわらず、私の軌道がある時点で故障領域に入らなければならなかったことを意味します。したがって、価値関数が負である状態は、システムにとって安全でない状態です。価値関数が正の場合は逆のケースです。それは、ロボットの軌道が故障領域の外に留まることを意味します。
この最適制御問題を解いて価値関数を得ると、安全でない集合または後方到達可能管の簡単な特徴づけが得られます。後方到達可能管は、価値関数が負である状態と同じです。価値関数を得るために、MPCや動的プログラミングなど、様々な異なる最適制御手法を使用できます。保証領域でかなり人気があるのは動的プログラミングです。これは、この価値関数に対してグローバルに最適な解を提供し、その結果、ベルマンバックアップまたは価値反復と同様のベルマン反復になります。
しかし、連続状態と時間で動作している場合、そのベルマンバックアップは偏微分方程式によって与えられます。これは、ベルマン方程式の連続時間バージョンに過ぎません。しかし、それはベルマン方程式が行うことを正確に行います。特定のアクションuを取った際の価値関数の変化を測定しようとします。この偏微分方程式を解くと、価値関数が得られます。
ここでは、そのクアッドローター例の価値関数を示しています。赤い色またはより暗い赤は価値関数がより負であることを意味し、より暗い青は価値関数がより正であることを意味します。この特定の場合、直感的に価値関数は部屋の中央で最大になります。これは理にかなっています。なぜなら、天井や床から最も遠く、故障領域から最も遠いからです。一方、故障領域に向かうと、赤くなり始めます。
一つの簡単な質問ですが、価値関数はここではより赤いですが、故障集合が天井と床で対称であるにもかかわらず、上部ではそれほどでもありません。この価値関数の不一致をなぜだと思いますか?
学生: 制御権限のためです。ドローンが墜落から救うために底部近くでより多くの制御を必要とするよりも、上部近くの方が必要ありません。
Somil Bansal教授: なぜですか?
学生: おそらくドローンのダイナミクスと関係があるのだと思います。
Somil Bansal教授: はい、それは正確にその通りです。重力のためです。重力のため、デフォルトでロボットは下向きに押されています。そのため、同じ制御努力で、上部と比較して底部に向かって価値関数がより負になります。
再び、この特定の場合、これは簡単な例です。この偏微分方程式を解くトラブルを経て安全でない集合を思いつく必要は実際にはありません。しかし、この例のポイントは、この手法がかなり一般的であり、それが動的に捉えるこれらの効果が、価値関数計算で自動的に推論することが困難である可能性があることです。
この安全性について教えてくれる価値関数とともに、それは私に安全コントローラも与えます。この青い領域内に私を保つためです。直感的に、この方程式が言っていることは、任意の状態xでこのコントローラが価値関数で勾配上昇を行おうとしているということです。言い換えれば、価値関数のより正の値に向かって私を押そうとしています。なぜなら、より高い値やより高い正の値は、私がより安全であることを意味するからです。
5. 実験的ケーススタディ:航空機タキシング問題
5.1 視覚ベースコントローラによる滑走路制御
Somil Bansal教授: 継続する前に、恥知らずな宣伝ですが、私は春学期にこれらすべてをはるかに詳細にカバーするコースを提供しています。そこでは、人工ポテンシャル場、制御バリア関数、および私が今発表したHamilton-Jacobi到達可能性などの技術を使用して、後方到達可能管と安全集合を計算する異なる方法について議論します。これは大学院レベルのコースで、コースプロジェクトといくつかの宿題により重点を置いています。
さて、手元の核心問題に戻りましょう。これは、視覚ベースコントローラの安全クリティカル故障をどのようにマイニングできるかということです。要約すると、私はロボット観測関数をコントローラと組み合わせて、ロボットの等価状態ベースポリシーを得ることができると言っていました。したがって、私の閉ループシステムは次のように簡素化できます。
そして、このシステムに対して、私は後方到達可能管を計算できます。これは、最高の制御努力にもかかわらず、最終的にシステムを故障領域に導くすべての状態の集合です。私たちが以前に見た偏微分方程式を解くことと同等であることは今わかっていますが、ここでは最高の制御アクションを探していません。私はすでに与えられたコントローラ、この学習ベースコントローラを持っています。したがって、コントローラを最適化するのではなく、特定のコントローラを代入するだけで、小さな置換を行うことができます。そのため、偏微分方程式を解く必要がありますが、簡素化されたものです。
それを行えば、後方到達可能管を得ることができます。ここに一つの例があります。このケーススタディをはるかに詳細に扱いますが、この後方到達可能管を計算できるようになったら、例えばこの赤い領域を得る可能性があります。これは、最終的に故障するすべての初期状態の集合を示しています。そうすれば、ロボットがこれらの状態に沿って見る画像を見て、故障画像を得ることができます。それが戦略になります。
視覚ベースコントローラから始めて、それを状態ベースの到達可能性問題に変換します。その到達可能性問題を解いて、それらの故障状態を見ることによって視覚またはRGB画像空間に戻ります。この戦略について前進する前に何か質問はありますか?
学生: これは、一つの段階が複数の異なるものではないことを考慮していますか?
Somil Bansal教授: それは非常に良いポイントです。画像はもちろん状態の関数ですが、他の環境パラメータの関数でもあります。例えば、昼間と夜間では同じ画像が異なります。そのため、ある程度まではそれを考慮できますが、環境の変動はここでは処理するのが非常に困難であり、それは後で議論したいことの一つです。
このフレームワークを自律航空機タキシング問題の文脈で適用しましょう。ここで、この航空機は航空機の右翼からのカメラ画像を使用する視覚ベースコントローラを使用して、この航空機をこの滑走路に留めるか、滑走路で航空機をタキシングします。しかし、そのプロセスで、この航空機が滑走路から外れることは望みません。これは、この場合の故障集合を表しています。
5.2 後方到達可能管の計算結果
Somil Bansal教授: 私たちが先ほど議論した手法を使用して、システムの後方到達可能管を計算しました。ここの赤い領域は、この視覚ベースコントローラの下で滑走路から押し出されるすべての航空機の初期条件の集合を表しています。同様に、青い領域は、この視覚ベースコントローラの下で常に滑走路に留まる航空機のすべての初期状態の集合を表しています。
ここに、ロボットがこの故障領域に沿って見るいくつかの画像があります。これらは本質的に、私が以前求めていた故障画像の集合です。これらの故障画像の一つを取って、何が起こっているかを見てみましょう。これは同じ画像のより大きなビューです。これは、コントローラが決定を下すために見る一人称視点であり、ここの上面図は参考のためだけです。
5.3 滑走路マーキングによる意味的失敗の発見
Somil Bansal教授: 私たちの分析に基づくと、この状態から航空機が滑走路から外れることが予想されます。そして、ここで起こっているようにそれが実際に起こっています。しかし、興味深かったのは、なぜ航空機がこの特定の初期状態で故障しているのかということでした。分析の結果、これらの滑走路上のマーキングのせいであることがわかりました。
ここのCNNは、これらの滑走路マーキングを滑走路の中心線と混同し、そこに向かって航空機を操舵していました。しかし、それが実際には滑走路の中心線ではないことを認識するまでには既に遅すぎて、システムは滑走路から外れてしまいます。この到達可能性分析を行うことで、このような視覚ベースコントローラのセマンティック故障を見つけることができます。
ここで強調したい非常に重要なことは、これらは単なる視覚故障ではないということです。これらは、システム故障にもつながる視覚故障です。その違いを強調するために、左側には後方到達可能管があります。これはシステム故障の一種の指標です。赤はシステムが故障することを意味し、青はそうでないことを意味します。右側では、この視覚ベースコントローラの予測誤差をプロットしています。赤は高い予測誤差を意味し、青は低い予測誤差を意味します。
興味深いのは、上部のように予測誤差が本当に高い状態が全体的にありますが、それはシステム安全性に全く影響を与えないということです。そのため、視覚は高いエラーを犯すかもしれませんが、それは私のプランナーによって下流で補償され、したがってシステム故障につながりません。一方、予測誤差が本当に低いがシステム故障を引き起こすのに十分な状態もあります。
これが示していることは、すべての知覚エラーが等しくないということです。これらの学習エラーの一部は、システムレベルの安全性にとってはるかに重要である可能性があります。ここで私たちがこのBRTベースのフレームワークを開発している際、私たちはシステムレベル故障につながる視覚コンポーネントのそれらの故障をターゲットにしています。したがって、同じ視覚ベースコントローラのコンポーネントレベル分析を行った場合とは非常に異なるでしょう。
5.4 知覚エラーとシステムレベル失敗の関係性に関する重要な洞察
Somil Bansal教授: 興味深いのは、上部のように予測誤差が本当に高い状態が全体的にありますが、それはシステム安全性に全く影響を与えないということです。そのため、視覚は高いエラーを犯すかもしれませんが、それは私のプランナーによって下流で補償され、したがってシステム故障につながりません。一方、予測誤差が本当に低いがシステム故障を引き起こすのに十分な状態もあります。
これが示していることは、すべての知覚エラーが等しくないということです。これらの学習エラーの一部は、システムレベルの安全性にとってはるかに重要である可能性があります。ここで私たちがこのBRTベースのフレームワークを開発している際、私たちはシステムレベル故障につながる視覚コンポーネントのそれらの故障をターゲットにしています。したがって、同じ視覚ベースコントローラのコンポーネントレベル分析を行った場合とは非常に異なるでしょう。
この到達可能性分析により、私たちは故障につながる初期状態の集合を見つけます。軌道の過程で捉えた画像があり、軌道の過程で発見したものがあります。実際に、それらの画像のどれが故障の理由としてより重要であるかを知る方法はありますか?
学生: それは良い質問であり、私自身もよく考えていることです。どの画像に責任や故障を割り当てるべきかということです。短い答えは、故障を割り当てる方法が現在ないということです。失敗に対応する実際の画像を教えてくれても、その画像のどの視覚特徴が故障を引き起こしているのかわかりません。
Somil Bansal教授: これは実際に、このパイプライン全体の制限の一つです。故障画像の集合は教えてくれますが、その故障の根本的な理由は与えてくれません。私がこれは航空機の中心線、またはこの滑走路マーキングが故障を引き起こしているものだと言った分析は、CNNを混乱させているものを把握するために画像の異なる部分をブロックして多くの分析を行わなければなりませんでした。それは非常に困難な分析です。実際、状態空間でさえ、それは非常に困難な分析です。故障状態が与えられても、状態のどの部分が正確に故障を引き起こしているかを判断するのは困難です。
6. 環境変動に対する分析
6.1 時間帯(昼夜)による後方到達可能管の変化
Somil Bansal教授: 以前に誰かが視覚的変動にわたる変化について質問したので、異なる環境潜在変数の関数としてこの後方到達可能管も計算できます。例えば、ここでは異なる時間帯に対応する同じBRTを示しています。興味深いのは、視覚ベースコントローラで期待するように、昼から夜に行くときにBRT全体が成長することです。これは夜間に視認性が低いためです。
しかし、特に興味深いのは、これらの滑走路マーキングのせいで以前に故障を引き起こしていた状態が、実際には夜間では故障状態ではないということです。実際には安全領域にあります。白い領域にあります。これは最初は非常に直感に反するものでした。しかし、深く考えてみると、この状態はこの滑走路マーキングのせいで故障を引き起こしていました。夜間では、それらの滑走路マーキングがそれほど明確に見えないとき、CNNはそれによって混乱させられることがなく、したがって夜間の同じ状態で安全なままです。
6.2 夜間における滑走路マーキング問題の解消現象
Somil Bansal教授: 特に興味深いのは、これらの滑走路マーキングのせいで以前に故障を引き起こしていた状態が、実際には夜間では故障状態ではないということです。実際には安全領域にあります。白い領域にあります。これは最初は非常に直感に反するものでした。しかし、深く考えてみると、この状態はこの滑走路マーキングのせいで故障を引き起こしていました。夜間では、それらの滑走路マーキングがそれほど明確に見えないとき、CNNはそれによって混乱させられることがなく、したがって夜間の同じ状態で安全なままです。
Michael Kochenderfer教授: 前のスライドについて質問があります。これは関連していると思います。右側のプロットをどのように作成しましたか?
Somil Bansal教授: ここでは各状態について完全な特権情報を使用しています。私が行っているのは、状態ごとに進むことです。その状態に対応する画像を見ています。そのため、その特定のヘディング角度で航空機をテレポートして、オフセットによって予測誤差を測定します。
Michael Kochenderfer教授: 正確に。シミュレーションにいるので、何を予測すべきかについての特権アクセスがあり、実際に何を予測しているかを見ることができ、その後そのエラーを計算しています。了解しました。
Somil Bansal教授: しかし、それは一日の特定の時間についてのものでしょう。
Michael Kochenderfer教授: はい、それは夜についてのものです。
6.3 雲の状態による影響分析
Somil Bansal教授: ここでは、時間帯の変動を見ています。雲の条件についても変動を行うことができます。これは、雲の条件全体でその状態の値がどのように見えるかを示しています。この異なる環境潜在変数全体でこの分析を行うことで、多くの環境条件全体で故障画像の集合を収集することができます。
7. 実験的ケーススタディ:屋内ナビゲーション
7.1 ResNetアーキテクチャを用いた視覚ベースナビゲーション
Somil Bansal教授: ここでは、異なる視覚ベースコントローラに同じフレームワークを適用しています。これは屋内ナビゲーション用です。ここで、このロボットはオンボードカメラからのRGB画像を使用し、ResNetアーキテクチャを使用してそれを向かうべきウェイポイントに変換し、その後低レベルMPCコントローラを使用して追跡されます。
そのため、ここでの私の視覚ベースコントローラ全体は、この画像からロボットに適用されるいくつかの制御に至るまでです。しかし、内部的には多くの異なるサブモジュールがあります。この視覚ベースコントローラについて少し文脈を説明すると、これはフォトリアリスティックシミュレータを使用してシミュレーションで完全に訓練されました。データのほとんどは実際にスタンフォードの建物で収集され、このコントローラは非常に良いsim-to-realの転移につながります。
ここに、バークレーで行われた一つの実験があります。明らかに訓練データでは見られませんでした。これはロボットがアクセスできる唯一のものです。これらは文脈のためだけであり、それは全体的に非常に良いsim-to-realの転移につながります。ロボットは非常に雑然とした廊下を通って、このRGB画像のみに基づいて最終的に目標に到達します。
7.2 シミュレーションから実環境への転移性能
Somil Bansal教授: この視覚ベースコントローラについて少し文脈を説明すると、これはフォトリアリスティックシミュレータを使用してシミュレーションで完全に訓練されました。データのほとんどは実際にスタンフォードの建物で収集され、このコントローラは非常に良いsim-to-realの転移につながります。
ここに、バークレーで行われた一つの実験があります。明らかに訓練データでは見られませんでした。これはロボットがアクセスできる唯一のものです。これらは文脈のためだけであり、それは全体的に非常に良いsim-to-realの転移につながります。ロボットは非常に雑然とした廊下を通って、このモニターRGB画像のみに基づいて最終的に目標に到達します。
7.3 明るい色の壁と通行可能性の偽相関の発見
Somil Bansal教授: しかし、再びこの視覚ベースコントローラを私たちのストレステストパイプラインに通し、多くの興味深い故障に遭遇しました。長い間私を困惑させていたものを一つ強調したいと思います。私たちが多くの分析を行うまでは、このCNNが実際に明るい色の壁と通行可能性、または明るい色の表面と通行可能性の間の相関を学習したということです。
その理由は、このコントローラがシミュレーションで完全に訓練され、シミュレーションで持っていたすべてのデータが明るい色の床と暗い色の壁を持っていたからです。そのため、明るい色の表面を見るときはいつでもそれを通り抜けることができるという以前の相関を学習しました。そのため、テスト時に明るい色の壁と暗い色の表面または床がある逆のパターンを行ったとき、それは壁を通り抜けることができると考え、最終的に衝突します。
CNNが学習したこのような偽の相関があり、ストレステストメカニズムを通じてそれを暴露することができます。
8. 失敗データを用いたシステム改善手法
8.1 ランタイム異常検出器の実装
Somil Bansal教授: さて、これで何をするのでしょうか?私たちは今、これらの視覚ベースコントローラの故障入力の集合を持っています。そのため、コントローラ自体を改善するためにそれらを使用できます。私たちができることの一つは、これらをランタイム異常検出器に使用することです。与えられた画像が故障を引き起こす可能性があるかどうかを予測する異常検出器を単純に訓練できます。この異常検出器は、故障が予測される場合にフォールバックコントローラをトリガーしてシステムを保護するために使用できます。そうでなければ、視覚ベースコントローラをそのまま実行し続けることができます。
学生: 異常検出器はどのように実装されていますか?何を与えているか、実際に何が起こるか、どのような予測を行っているのですか?
Somil Bansal教授: はい。そのため、故障画像があります。私たちがシステムで故障を引き起こすことを知っているこれらの画像の束があります。同様に、安全領域に入って同じプロセスを行い、安全な画像の集合を得ます。そのため、基本的には画像に応じて故障または成功を与える単純な二値分類器です。
学生: ここでニューラルネットワークがあるようですね。異常検出器が100%決定論的である必要がないのはなぜですか?
Somil Bansal教授: それは決定論的ではありません。最終的には故障と成功の検出にいくつかの閾値を設定するからです。確実に100%正しくはありません。一般的に、それは分布内でのみ動作する可能性があります。言い換えれば、ストレステストに使用した環境で、その中で故障画像を得ました。そのため、同じ分布からの画像に遭遇する場合、この異常検出器は動作します。そうでなければ動作しません。
これまでのところ、一般的に分布外で何が起こるかについては何もコメントしていません。環境の分布外、視覚的変動の分布外について、少し後でお話しします。
8.2 フォールバックコントローラとの統合
Somil Bansal教授: この異常検出器は、故障が予測される場合にフォールバックコントローラをトリガーしてシステムを保護するために使用できます。そうでなければ、視覚ベースコントローラをそのまま実行し続けることができます。この異常検出器が故障画像を分類すると安全でない場合の代替制御戦略を提供し、安全分類時には通常のコントローラに復帰することで、システム全体での安全性保証メカニズムを構築できます。
8.3 航空機タキシングにおける異常検出の実演
Somil Bansal教授: ここでは、その異常検出器の動作を示しています。これは、視覚ベースコントローラが以前にこれらの滑走路マーキングのせいで故障していた同じ画像であることを思い出してください。しかし、今度は航空機がこの画像を見るとすぐに、異常検出器がそれを故障画像としてフラグし、フォールバックコントローラがトリガーされます。この場合、これは単純に航空機を減速させる非常にシンプルなフォールバックコントローラです。
航空機がこれらのマーキングを通過すると、異常検出器がそれを安全として分類するため、視覚ベースコントローラが再び引き継ぎます。これは、故障データセットを得た後に使用できるランタイム異常検出の簡単なメカニズムです。
9. インクリメンタル訓練による性能向上
9.1 失敗データセットを用いた追加訓練
Somil Bansal教授: また、この故障データセットを視覚ベースコントローラのインクリメンタル訓練または標的インクリメンタル訓練に使用することもできます。私たちは多くの画像とそれらに対応するラベルを収集し、その後視覚ベースコントローラのより多くの訓練反復を行いました。グレーは再訓練前の後方到達可能管であり、青は再訓練後です。この場合、再訓練すると予想されるように、視覚ベースコントローラが現在これらの故障シナリオでどのように行動するかを知っているため、BRTが小さくなります。
9.2 再訓練前後の後方到達可能管の比較
Somil Bansal教授: グレーは再訓練前の後方到達可能管であり、青は再訓練後です。この場合、再訓練すると予想されるように、視覚ベースコントローラが現在これらの故障シナリオでどのように行動するかを知っているため、BRTが小さくなります。
学生: これを観察可能性と比較しましたか?まだ回復できないものがあると思うので。
Somil Bansal教授: 実際に、インクリメンタル訓練で何が起こるかについて、より多くのスライスを見せますが、問題ははるかに深いです。しかし、あなたの質問に短く答えると、はい。再訓練後も視覚ベースコントローラにはまだいくつかの故障モードがありますが、完璧なコントローラを使用した場合も、コントローラの選択だけで回避できない故障状態がまだある可能性があります。ここの青い側面はそれにかなり近いです。つまり、その分析を行いましたが、ここでは示していません。
9.3 ニューラルネットワークの単調改善問題の発見
Somil Bansal教授: この部分を素早く要約しましょう。私たちは視覚ベースコントローラのストレステストについて話してきました。ここでの私の2セントは、データ駆動型到達可能性手法が視覚ベースコントローラの効率的なストレステストに役立つ可能性があり、これらのマイニングされた故障を、この標的再訓練のようなオフライン設計や、異常検出を介したオンライン展開の両方でループを閉じるために使用できるということです。これは実世界のシステムにとって非常に有用である可能性があります。
今、私たちがフレームワークを通過する際に既に出てきたいくつかの課題について話したいと思います。一つは、ストレステスト中に見た環境に対してのみ保護することができるということです。例えば、雪や氷のある滑走路について話したことは一度もありません。そのため、そのような滑走路で航空機が動作している場合、異常検出器が動作することは期待できません。したがって、少なくともこの作業では、新しい環境への汎化方法は未解決の問題です。
第二に、非常に興味深いことは、このインクリメンタル訓練を行う際です。ちなみに、これは業界全体でも非常に一般的です。私は録音されていますよね?録音されています、はい?ただ業界を一般的に保ちます。異なる自律パイプラインを見ると、多くの企業が自分たちのパイプラインのすべての故障モードを追跡し続けています。つまり、必ずしも私がここで提案する方法でストレステストを行うわけではありません。ストレステストは、例えば実地テストで行うことができます。おそらく自律システムを操作し、どこで故障するかを見る実際の人間がいるかもしれません。
基本的に、故障のカタログがあるかもしれませんが、システムを改善するためにその故障のカタログを使用することは大きな課題です。なぜなら、今日の機械学習システムには根本的な問題があるからです。それは、ニューラルネットワークで単調改善を導く方法がわからないということです。データセットD1を与え、D1に100個のデータポイントを追加して新しいデータセットD2を与えた場合、D2が実際にD1と比較してこのニューラルネットワークのより良いパフォーマンスにつながるという絶対的な保証はありません。ニューラルネットワークには単調改善の規則がなく、これらのクラックもここで明らかです。
これは再訓練前の灰色と再訓練後のこの色(薄茶色)の同じBRTです。以前に一つのスライスを見せました。ここは同じBRTの別のスライスで、実際に今度はシステムが以前は大丈夫だった状況で故障していることがわかります。これが私が話していることです。より多くのデータ、より標的化されたデータで訓練したにもかかわらず、実際にいくつかの状況で安全性が悪化したかもしれません。ここでの別の大きな課題は、根本的な故障原因をどのように特定するかです。
現在、フレームワークはこれらの画像のみを与え、これらの画像から始めてロボットが故障することを教えてくれるだけです。しかし、この画像で故障を引き起こしているものは何かということは、言うのが非常に困難です。そのため、現在は手動分析を行っています。私の学生と私が、これらの画像を見て、なぜ故障している可能性があるかの理由を考え出そうとしています。基盤モデルでそれが変わるかもしれませんが、それでも根本的な理由を具体的に見つけることは非常に大きな課題です。
歩行者横断歩道について言ったことは何でも、歩行者横断歩道であってはいけません。滑走路マーキング、または狭い隙間や広い壁について言ったことは何でも、故障を引き起こしている理由はすべてこれまでの手動分析です。
10. 現在の手法の限界と課題
10.1 新環境への汎化問題
Somil Bansal教授: 私たちがフレームワークを通過する際に既に出てきたいくつかの課題について話したいと思います。一つは、ストレステスト中に見た環境に対してのみ保護することができるということです。例えば、雪や氷のある滑走路について話したことは一度もありません。そのため、そのような滑走路で航空機が動作している場合、異常検出器が動作することは期待できません。したがって、少なくともこの作業では、新しい環境への汎化方法は未解決の問題です。
10.2 デジタルツインと視覚モデルによる解決策提案
Somil Bansal教授: それに取り組むためのいくつかの手法があるかもしれません。私たちが考えているものです。例えば、デジタルツインを行うことができます。新しい環境に行く際、シミュレーションでそのツインを作成し、他の環境で行ってきたようにストレステストに使用しようと試みることができます。もう一つの興味深いアイデアは、視覚モデルかもしれません。現在、NeRFやGaussian splattingモデルがあり、少数の画像で豊富な視覚モデルを生成できます。
新しい環境に行く際、これらの視覚モデルを作成し、それらをストレステストに使用できると想像できます。そのため、特定の環境内での故障シナリオについて良い感覚を持っています。このストレステストパイプラインをオンライン方式で十分効率的に、または迅速に実行できるなら、新しい設定に展開できます。
10.3 機械学習における単調改善の欠如
Somil Bansal教授: 第二に、非常に興味深いことは、このインクリメンタル訓練を行う際です。ちなみに、これは業界全体でも非常に一般的です。私は録音されていますよね?録音されています、はい?ただ業界を一般的に保ちます。異なる自律パイプラインを見ると、多くの企業が自分たちのパイプラインのすべての故障モードを追跡し続けています。つまり、必ずしも私がここで提案する方法でストレステストを行うわけではありません。ストレステストは、例えば実地テストで行うことができます。おそらく自律システムを操作し、どこで故障するかを見る実際の人間がいるかもしれません。基本的に、故障のカタログがあるかもしれませんが、システムを改善するためにその故障のカタログを使用することは大きな課題です。
なぜなら、今日の機械学習システムには根本的な問題があるからです。それは、ニューラルネットワークで単調改善を導く方法がわからないということです。データセットD1を与え、D1に100個のデータポイントを追加して新しいデータセットD2を与えた場合、D2が実際にD1と比較してこのニューラルネットワークのより良いパフォーマンスにつながるという絶対的な保証はありません。ニューラルネットワークには単調改善の規則がなく、これらのクラックもここで明らかです。
これは再訓練前の灰色と再訓練後のこの色(薄茶色)の同じBRTです。以前に一つのスライスを見せました。ここは同じBRTの別のスライスで、実際に今度はシステムが以前は大丈夫だった状況で故障していることがわかります。これが私が話していることです。より多くのデータ、より標的化されたデータで訓練したにもかかわらず、実際にいくつかの状況で安全性が悪化したかもしれません。
10.4 失敗原因の根本的特定の困難さ
Somil Bansal教授: ここでの別の大きな課題は、根本的な故障原因をどのように特定するかです。現在、フレームワークはこれらの画像のみを与え、これらの画像から始めてロボットが故障することを教えてくれるだけです。しかし、この画像で故障を引き起こしているものは何かということは、言うのが非常に困難です。そのため、現在は手動分析を行っています。
私の学生と私が、これらの画像を見て、なぜ故障している可能性があるかの理由を考え出そうとしています。基盤モデルでそれが変わるかもしれませんが、それでも根本的な理由を具体的に見つけることは非常に大きな課題です。歩行者横断歩道について言ったことは何でも、歩行者横断歩道であってはいけません。滑走路マーキング、または狭い隙間や広い壁について言ったことは何でも、故障を引き起こしている理由はすべてこれまでの手動分析です。
この手動分析を行わなければならない理由の一部は、私が使用しているフレームワークの選択のためでもあります。この視覚ベースコントローラ全体をブラックボックスとして扱っています。はい、それによりやや単純なストレステスト分析を行うことができます。問題は解釈可能性レベルで出てきます。故障画像が与えられた場合、このブラックボックスメカニズムにより、パイプライン全体の特定のモジュールに責任を割り当てることが非常に困難になります。
11. モジュラーパイプライン vs エンドツーエンドアプローチ
11.1 自律運転システムのモジュラー構成
Somil Bansal教授: 一方、今日のほとんどの自律システムを見ると、ここでは自律運転を例に取りますが、モジュラーパイプラインがあります。知覚コンポーネントがあり、それが例えば予測コンポーネントに供給され、それが計画コンポーネントに供給されます。そこで問いかけるべき興味深い質問は、このようなブラックボックスエンドツーエンドストレステストとモジュラーストレステスト異常検出の違いは何か、そしてそれが解釈可能性において何らかの形で役立つことができるかということです。
特に、これらの各コンポーネントについて個別に数年の研究があります。例えば、今日では非常に良い知覚モニターがあり、自律車両の場合にはレーザー、レーダー、カメラのセンサー融合に依存することができ、特定のシーンで知覚エラーがある可能性があるかどうかを教えてくれます。それができるのは、必ずしもパイプライン全体の故障ではありませんが、知覚コンポーネントにエラーがあるかどうかだけです。
11.2 コンポーネントレベルエラーの重要性格差
Somil Bansal教授: しかし、航空機の例で話したように、すべてのコンポーネントレベルエラーが等しいわけではありません。この自律運転の例で言い換えてみましょう。緑の車が私たちの自律車だと想像してください。黄色と赤の車の両方が他のエージェントです。私が振り返る青い計画を思いつくとします。今、ここで私の知覚コンポーネントがこれらの赤い車の両方を検出できないと想像してください。
赤い車1を検出できない場合、それは私の計画の安全性に全く影響しません。赤い車1を検出するかどうかに関係なく、私の計画は全く変わりません。現代の知覚コンポーネントが赤い車1を検出できないとは言っていません。明確にしておきますが、ただの漫画的な例として取っています。一方、赤い車2を検出できない場合、それは私の安全性に明確な影響を与えます。
そのため、これらのモデルパイプラインを見る際、同様に重要な質問は、知覚エラーのどれが、または知覚エラーが私のシステムの全体的な安全性やシステムレベルの安全性にどのように影響するかということです。
11.3 知覚エラーがシステム安全性に与える影響の分析
Somil Bansal教授: そのため、これらのモデルパイプラインを見る際、同様に重要な質問は、知覚エラーのどれが、または知覚エラーが私のシステムの全体的な安全性やシステムレベルの安全性にどのように影響するかということです。私たちはNvidiaとの協力で自律車の文脈でこの問題を研究してきました。知覚故障が与えられた場合のシステムレベル安全性を評価する方法を考え出すことに取り組んでいます。
私たちは知覚モニターから始めます。これはシーンまたは生の感覚入力を取り、私たちがモニター入力と呼ぶものを教えてくれます。車のいくつかを見逃したかどうか、そしてもしそうなら、どこでかを教えてくれます。基本的に、見逃したエージェント位置のいくつかの確率分布です。この特定の場合、それが何であるかです。私たちが行うことは、このニューラルネットワークを設計することです。私たちはSPARKと呼んでいます。これは、そのモニター入力をエゴプランとシーンと一緒に取り、その特定の計画がこの特定の知覚エラーの下で安全でない可能性があるかどうかを教えようとします。
そして、それがエラーにつながる場合、それはまた修復を提案するか、安全性を維持するためにその計画をどのように変更するかを提案します。
学生: これは実行時ですか、それとも...
Somil Bansal教授: これは実行時です。このネットワークをオフラインで訓練しますが、オンラインで実行することを期待しています。
学生: 続けてください。
12. Nvidiaとの共同研究:SPARK フレームワーク
12.1 知覚モニターと安全性評価の統合
Somil Bansal教授: 私たちは知覚モニターから始めます。これはシーンまたは生の感覚入力を取り、私たちがモニター入力と呼ぶものを教えてくれます。車のいくつかを見逃したかどうか、そしてもしそうなら、どこでかを教えてくれます。基本的に、見逃したエージェント位置のいくつかの確率分布です。この特定の場合、それが何であるかです。私たちが行うことは、このニューラルネットワークを設計することです。私たちはSPARKと呼んでいます。これは、そのモニター入力をエゴプランとシーンと一緒に取り、その特定の計画がこの特定の知覚エラーの下で安全でない可能性があるかどうかを教えようとします。そして、それがエラーにつながる場合、それはまた修復を提案するか、安全性を維持するためにその計画をどのように変更するかを提案します。
学生: ちょっと理解できませんでした。車を見逃すとか、入力に入れることができるが、車のいくつかを除外するとか言いましたが...
Somil Bansal教授: これは実行時で、実行時入力を入れるが、シーンで車を見逃している可能性があります。そのため、すべての入力を取り入れているが見逃し予測の可能性を教えてくれる知覚モニターがあります。
学生: 予測不確実性のようなものですか?
Somil Bansal教授: 正確に。そして、異なる種類の予測不確実性があり得ます。車の速度に関するものもあれば、誤検出に関するものもあります。この特定の場合、私は誤検出を見ています。これは基本的に、ある不確実なエージェントの位置と、その分布を理解しようとしていることを教えてくれます。
ここでの問題全体は実際に実行時です。これらの自律車のレイテンシ要件は非常に低いです。実際にニューラルネットワークは必要ありません。このエージェントがそこにいると仮定して計画し、それが安全違反を引き起こすかどうかを見ることによって、安全評価を実際に思いつくことができます。しかし、そのプロセス全体の問題は、リアルタイムで実行するには遅すぎることです。そのため、ここでは、ある知覚不確実性と計画が与えられた場合に、それが故障を引き起こす可能性があるか、故障を引き起こす可能性があるかどうかを迅速に評価するためにニューラルネットワークを使用しようとしています。
12.2 リアルタイム安全性評価のためのニューラルネットワーク
Somil Bansal教授: これらの自律車のレイテンシ要件は非常に低いです。実際にニューラルネットワークは必要ありません。このエージェントがそこにいると仮定して計画し、それが安全違反を引き起こすかどうかを見ることによって、安全評価を実際に思いつくことができます。しかし、そのプロセス全体の問題は、リアルタイムで実行するには遅すぎることです。そのため、ここでは、ある知覚不確実性と計画が与えられた場合に、それが故障を引き起こす可能性があるか、故障を引き起こす可能性があるかどうかを迅速に評価するためにニューラルネットワークを使用しようとしています。
学生: 一つ質問があります。この知覚された予測不確実性がある場合、多くのロールアウトを行って予測分布からサンプリングするのが一般的ですか、それともベイジアン的な方法や何らかの分布で推論しようとするのですか?
Somil Bansal教授: 訓練中は、この特定のケースでロールアウトを使用しています。ベイジアン推論を行いたいのですが、問題は、この不確実性の伝播が今日本当に複雑な予測パイプラインを通して行われる必要があることです。そのため、それを行うのは非常に困難です。
学生: はい。
Somil Bansal教授: それは一般的に、モデルパイプラインの課題の一つです。それらの利点の一つは、各出力ヘッドで不確実性を実際に特徴づけることができることですが、その不確実性を扱いやすい方法で伝播することは、依然として非常に大きな課題です。そのため、私たちは不確実性認識方式での計画においてやや制限されています。
12.3 レイテンシ要件とサロゲートモデルの必要性
Somil Bansal教授: 正確なアーキテクチャはそれほど重要ではありませんが、これが私たちのSPARKニューラルネットワークの外観です。知覚モニターの出力を入力として取ります。これは予測不確実性と、シーンに関する情報の束です。例えば、エージェント履歴とは何か、私の道路グラフ、レーンがどこにあるか、候補エゴプランと一緒に、そして内部では、これらすべてのエージェントの予測があり、最終的に特定の計画が安全、リスキー、またはクリティカルかどうかを評価します。
再び、シンプルな分類器です。このフレームワークを訓練する方法は、実際に純粋に教師あり学習方式です。オフラインで、異なる知覚不確実性をシミュレートし、計画が安全かどうかを評価することによってデータセットを生成できます。十分な時間があるので、再びオフラインでそれを行うことができます。問題は、その評価がオンライン方式で行うには遅すぎる可能性があることです。
ここでは、データセット生成を示しています。例えば、これは再び私のエゴ車両である緑です。私の知覚モニターが私にこのエージェントを見逃したと言うとします。このエージェントを見逃したとし、この計画が安全なままかどうかを評価できます。この場合、想像できるように、このエージェントを検出するかどうかに関係なく、この計画は安全なままです。一方、エゴ車両の近くのどこかでエージェントを見逃した場合、同じ計画は安全でなくなります。そのようにしてデータセットを生成でき、ここはテスト時間中のシナリオの一つのスナップショットです。
そのネットワークを訓練し、評価しています。これは知覚されたシーンです。つまり、これは自律車が周りのシーンだと思ったものですが、実際にはこのエージェントを見逃しました。知覚モニターは、ここにエージェントがいる可能性があることを教えてくれます。このエージェントの位置周りにいくつかの不確実性を与えます。このフレームワークSPARKは今、この知覚されたシーンをその知覚入力とこの青い計画と一緒に取り、この計画が安全になるかどうかを予測します。この場合、それは実際に安全でない計画だと予測し、この場合にレーン変更を予測するこの緑の候補安全計画を提案し、システムを安全に保ちます。
学生: 受信について録音していると思いますが、それはどのように機能するのですか?自律車を運転している対運転しているときに実際に見えると思われるものとして真実を伝える同じ能力があるのですか?
Somil Bansal教授: その赤いものをどのように思いつくかという質問ですね?
学生: はい。
Somil Bansal教授: 文献には異なる知覚モニターがあります。ここで使用しているものは、実際にセンサー融合を行っているだけです。カメラとレーザーとレーダーからの入力を取り、それらの間の合意を見ようとしています。カメラによってエージェントが検出された場合、それはレーザーによっても検出されるか、それらのいずれかに不一致がある場合、潜在的に見逃しているエージェントがいる可能性があり、それを潜在的に見逃しているエージェントを列挙する方法として使用していますが、これはフレームワークへの入力です。これは私たちが開発したものではありません。
学生: はい。
12.4 42Hzでの動作実現
Somil Bansal教授: しかし、あなたが提案していることは実際にオフラインでこのニューラルネットワークのデータを生成するために行っていることです。このパイプライン全体は、異なる場所にエージェントを置くことが予測と他のすべてのエージェントの行動に影響を与え、それがあなたのプランナーに供給され、その計画が安全か安全でないかを理解することになります。それは一種のサロゲートモデルです。
学生: その通りです。正確に。もしそれを正確にあなたが提案したことを行うと、現在このパイプライン全体は10Hzで実行できます。
Somil Bansal教授: そして、あなたはこの人についても再びストレステストを行いますか?
学生: ストレステストについては、私の意味は正直なところこれは非常に予備的な作業であり、非常に最近の作業です。そのため、まだその部分を開発していますが、モジュラーテスト対エンドツーエンドテストの違いとそれが可能にすることを強調するためにこの作業を提示したかっただけでした。
Somil Bansal教授: しかし、ここでは同じフレームワークの別のスナップショットがあります。このシーンで異なる場所に見逃しているエージェントがあった場合、このフレームワークの予測は何かを見ています。赤は、このフレームワークが安全でない計画を予測した見逃しているエージェントの位置で、他のケースは安全な計画を予測します。この場合、エゴエージェント周辺、特にエゴエージェントの前方向にエージェントがいる場合、安全でない行動を予測することは理にかなっています。
しかし、以前に言ったように、詳細な評価を行う代わりにこれを行う主な理由は、標準GPUでこのパイプラインを42Hzで実行できることです。これは、この特定のケースでのレイテンシ要件です。
13. 総括と今後の研究課題
13.1 システムレベル vs コンポーネントレベルのストレステスト
Somil Bansal教授: 私が話したことを要約しましょう。おそらくこのクラスにとってニュースではありませんが、ストレステストは自律システムにとって重要な検証と改善メカニズムです。システムのオフライン展開またはオフライン設計を改善するためだけでなく、オンライン展開のためでもあります。
おそらく今日の講演で少し見たのは、制御理論が利用可能な他の多くのストレステストツールに加えて、ストレステストのための多くの興味深いツールを提供するということです。議論したいいくつかの未解決の問題があります。一つは、システムレベルストレステスト対コンポーネントレベルストレステストの利点は何かということです。
機械学習には、例えば敵対的頑健性など、コンポーネントレベルテストをより対象とした多くのメカニズムがあります。分類器が与えられた場合、パンダをりんごに分類できるかどうかを教えてくれますが、それはコンポーネントレベルのストレステストに過ぎません。おそらくピンクの空は自律車にとって重要ではありません。そのため、コンポーネントが本当に悪いことを行っていても、システムレベルには影響しないかもしれません。
そのため、システムレベル対コンポーネントレベルの注意が重要です。
13.2 モジュラー vs エンドツーエンドテストの比較
Somil Bansal教授: 第二は、モジュラー対エンドツーエンドテストです。多くの場合、エンドツーエンド仕様は書きやすいです。例えば衝突である私の自律車の故障モードは何かを書くのは簡単です。しかし、知覚、予測のそれぞれの個別コンポーネントに対する故障の仕様を書くことは非常に困難である可能性があります。そのため、故障基準を非常にきちんと書くことができるという意味で、エンドツーエンドテストには利点があります。
しかし、それらは解釈可能ではないか、個別コンポーネントの改善にエンドツーエンドテストを使用することは非常に困難です。なぜなら、この故障がどこから来たのかを教えてくれないからです。知覚に問題があったのか、予測に問題があったのか、計画に問題があったのか。そのため、モジュラーストレステストは実際にそれを助けることができますが、仕様を書くことが困難である可能性があります。
13.3 汎化問題と今後の展望
Somil Bansal教授: 最後に汎化です。ストレステストの結果は、ストレステストを行った場所によって制限されます。ストレステスト中にどの環境分布を考慮したか。それを超えて行く場合、これらの結果は保持されない可能性があります。そのため、汎化する方法や、オンライン方式でストレステストを行う方法は、依然として非常に興味深い問題である可能性があります。
私は今、これらのトピックのいずれかについて質問や議論をすることを喜んでいます。
14. 質疑応答セッション
14.1 テスラのエンドツーエンドアプローチに関する議論
学生: 最後に、パイプラインを多くのサブステップに分解することが有用である、または有用であると話していました。なぜなら、例えば一つの理由として、各部分の仕様を書き下すことができ、その後実際にこれに関するテストを行うことができるからです。今、有名なことに最近、テスラは少なくとも公に知られている限り、一種のより多くのエンドツーエンドのような、一つの深層学習スタックを作り、エンドツーエンドの問題を行わせたと主張しています。これで、おそらくまともな結果を得ることができることに同意するでしょうが、規制機関に行って、これは非常にロバストなシステムであることを証明すると言うのは本当に困難でしょう。
学生: これらの種類の状況での思考について少し話してもらえますか?規制当局と協力する必要がある場合の異なる種類のシステムについて。
Somil Bansal教授: そして、これは規制当局に行って、これらの種類のシナリオで動作すると言うことの一つです。しかし、さらに重要なのは、この会社にお金を投資している場合、このストレステストの結果で何をするかを考えることです。一般的に、それらを改善したいか、少なくとも何らかのフォールバックメカニズムを設計することによってそれらを軽減したいでしょう。その部分がエンドツーエンドフレームワークで本当に困難になります。なぜなら、この特定の故障が起こったときにどの部分を改善するかということです。なぜなら、これらは一般的に単一のCNNではなく、非常に複雑なコード行だからです。
そのため、どの部分がこの特定の故障のときに問題があったかを理解することも等しく重要です。なぜなら、それがその故障を修正する方法になるからです。それがエンドツーエンドで非常に困難になります。私はより良い解決策を持っていません。これは私が学界と産業界の両方で時間を過ごした中で見た問題に過ぎません。これは皆が議論していることであり、依然として未解決の研究分野です。
14.2 分布外検出と規制当局との協働
学生: この点に付け加えて、エンドツーエンドテストを行うと、検索空間を劇的に削減する場合を見たことがありますか?例えば、エンドツーエンドシステムが完全にコントローラには不可能な特定の動作を持つような意味で、コンポーネント別にテストした場合、すべてのエラーを伝播するだけで巨大な境界を得るというこのクラスが呼ぶ自然な概念のようなものがありますが、エンドツーエンドテストはホストします...
Somil Bansal教授: はい、そのようなことがよく起こることは、個別のコンポーネントレベルテストを行う場合、得られる故障領域がはるかに大きいということです。必ずしもより大きくなるべきではありませんが、実際的な制約のためにより大きくなります。これは、一つのコンポーネントから他のコンポーネントに不確実性を伝播することが非常に困難だからです。理想的にそれを行うことができれば、もし完璧にエンドツーエンドで行っていることと、モジュラー世界で行っていることも完璧であれば、それらは正確に一致するはずです。なぜなら、モジュラーエラーもすべて下流の制御レベルまで伝播しているからです。
問題は、その伝播が非常に困難だということです。そのため、しばしば上位集合を得ることになります。
学生: はい。異常検出器のようなものに戻ると、分布外検出のようなものについて少し興味がありました。例えば、航空機タキシングの例から故障データセットを持っていて、故障検出を行うモデルを訓練する場合、異なるデータセットや少なくともデータセットのバリエーションに対してより堅牢にする方法はありますか?一つの故障データセットで訓練すると、おそらく別のデータセットで多くの性能を失うでしょう。
Somil Bansal教授: それは真実です。私は分布外検出と呼ばないよう注意してきました。そのため、それは異常検出と分布外検出の間の区別点の一つかもしれません。ここでは分布内異常のみについて話しています。分布外検出は非常に重要なトピックです。それ自身の注意を必要とします。
私の世界観では、少なくとも2つの検出器が必要だと思います。一つは分布外検出器で、そして分布内でさえ、私たちの機械学習システムは完璧ではないかもしれません。そのため、分布内異常検出器も必要です。ここでは後者について話しています。分布外検出は、ここでは扱っていないものです。そして、あなたは絶対に正しいです。新しいタイプの滑走路に行けば、非常によく故障するかもしれません。
学生: そのような例について、理論的にどのように分布を構築するでしょうか?
Somil Bansal教授: 良い質問です。一つの方法はわかりません...
Michael Kochenderfer教授: それは全体の本です。
Somil Bansal教授: そうです、それが私の答えになるところでした。Michaelは全体の本を持っています。一つの方法はわからないのが正直なところです。しかし、分布外検出にAIの最近の進歩がかなり活用されています。そのため、人々は異なるタイプのデータソースを組み合わせています。
例えば、自律運転の分野で多く起こっていることは、事故が起こっているときはいつでも、警察が報告書を提出する必要があることです。これらの報告書は言語で書かれています。そのため、人々は現在、実際にそれらの言語報告書を使用して、シミュレーションでそれらのシナリオを生成し、分布外検出のために使用しています。そのため、ここで収集しているものとは非常に異なるタイプのデータソースです。しかし、それらはここで役立つ可能性があります。
学生: あなたが言っているのは、文字通り報告書のテキストを、モデルが知覚していることと組み合わせて使用することですか?
Somil Bansal教授: そのため、彼らはテキスト報告書を使用し、生成モデルを使用してそれが記述している正確なシナリオを生成しています。報告書が与えられた場合、それが記述している正確なシナリオを生成できます。テキストから生成へは、まだ一対一のマッピングではありませんが、そのようなアイデアです。そのため、私たちがここで想定したものを超えて、異なるデータソースを使用してシステムをストレステストできます。そのため、GenAIがそのような種類のシナリオで本当に役立つ可能性があります。
14.3 不確実性伝播の実用的アプローチ
学生: あなたが触れた興味深いトピックの一つは、システムの多くの段階を通じて不確実性を伝播したいが、実際の実行時要件、レイテンシ要件のために本当に困難だということです。より工学的な経験から、個々のコンポーネントがガウシアンのようなものを出力する基本的な解決策ですが、最終的に各サンプルを次の段階に置き、そこから別のガウシアンをサンプルするか、それとも実用的にこの種のことを行う最も実用的な方法は何でしょうか?
Somil Bansal教授: 不確実性を考慮し、それを伝播することは、産業界ではまだ非常に未探索の分野だと私は言うでしょう。私の経験では、非常に少数の企業がそれを行っているのを見てきました。私の経験は3年前のものですが、まだ時代遅れです。実用的なアプローチについては、POMDP文献で行われているようなもの、これらの粒子ベースフィルターが本当に強力だと思います。右?これらの問題セットには本当に興味深い探索の余地があると正直に思いますが、産業界では現時点で本当に未探索です。
学生: 他に質問はありますか?素晴らしい。ありがとうございます。
Somil Bansal教授: ありがとうございました。
14.4 産業界における不確実性考慮の現状
Somil Bansal教授: 不確実性を考慮し、それを伝播することは、産業界ではまだ非常に未探索の分野だと私は言うでしょう。私の経験では、非常に少数の企業がそれを行っているのを見てきました。私の経験は3年前のものですが、まだ時代遅れです。実用的なアプローチについては、POMDP文献で行われているようなもの、これらの粒子ベースフィルターが本当に強力だと思います。これらの問題セットには本当に興味深い探索の余地があると正直に思いますが、産業界では現時点で本当に未探索です。
それは一般的に、モデルパイプラインの課題の一つです。それらの利点の一つは、各出力ヘッドで不確実性を実際に特徴づけることができることですが、その不確実性を扱いやすい方法で伝播することは、依然として非常に大きな課題です。そのため、私たちは不確実性認識方式での計画においてやや制限されています。