12 10月 2020  |  エンジニアリング

自律走行性能の測定。パート1:ゼロからイチへの到達

本記事は、自律走行のためのスケーラブルな評価フレームワーク構築の詳細を解説する連載記事の第1回目です。

 
自律走行性能の測定、チャートの画像、数値の上昇を示す鉛筆と定規

なぜ自律走行性能の測定が重要なのか?

コンピュータビジョンにおける機械学習の分野では、少なくとも60年代初頭からモデルの構築が行われてきました。しかし、性能と能力において多くのブレイクスルーが見られるようになったのは、ここ10年ほどのことです。これには多くの要因がありますが、見落とされがちなのが標準化されたベンチマークの役割です。

2009年に登場したImageNetがその例です。このプロジェクトは、近年のディープラーニングのブレイクスルーにおいて極めて重要な役割を果たしてきました。わずか10年の間に、Top 1精度が約50%から88.5%へと上昇し、現在も更新し続けているのは驚くべきことです。

多数の小さな画像が集まって一つの大きな画像を構成しているImageNetの画像

「測定されるものは改善される」

ImageNetにおける分類精度のリーダーボードを示すチャート ImageNetにおける分類精度のリーダーボード

自律走行版のImageNet

Wayveの哲学は、自律走行の問題は本質的に機械学習の問題であるというものであり、従来のルールベースのアプローチから、よりスケーラブルな学習ベースのアプローチへと移行したいと考えています。これを実現するためには、ImageNetに相当する独自のベンチマークが必要です。

業界の現状

自律走行の進捗を測定するための業界標準の指標は、カリフォルニア州DMV(陸運局)の「介入1回あたりの走行距離(miles per intervention)」です。また、多くの企業が毎日繰り返される固定ルートでの介入回数を測定することで、社内スコアを追跡しています。しかし、私たちは以下の理由から、これだけでは全く不十分であると考えています。

  • すべての道路や都市の複雑さが均一ではないため。都市部の走行環境では、空いた高速道路に比べて当然ながら介入率が高くなります。
  • すべての介入の深刻度が同じではないため。カーブでのわずかな軌道修正と、衝突を回避するための急ブレーキでは、その結果が持つ意味が異なります。
  • 走行タスクの多様性と複雑さを考慮すると、「介入1回あたりの走行距離」のような単一のハイレベルな指標だけでは、安全性を主張するのに十分な確信を得られないため。
  • 「介入回数」のような単一の指標では、システムの性能を向上させるためにどこに時間を費やすべきかという社内フィードバックが十分に得られないため。

これらの指標は以前から批判されており(例えば、Waymo、Aurora、Cruise、Oxboticaによる投稿を参照)、解決策は提示されていません。

Wayveはこの問題をどう考えているか?

私たちは、性能指標は以下の条件を満たすべきだと考えています。

  1. 粒度が高いこと
  2. 一貫性がありつつ、柔軟であること
  3. スケールさせるために、自律的に測定されること

粒度

私たちは、「どのような条件下でシステムが最も頻繁に失敗するか」といった質問に答えられるようにしたいと考えています。これにより、どこに注力すべきかという明確なシグナルが得られます。同様に、成功を祝い、データで安全性を証明したいと考えています。指標は、シナリオ、環境、動的次元にわたる詳細なスコアに分解されるべきです。これらは、当社のシステムの設計能力の範囲を定義する運行設計領域(ODD)の次元です。

一貫性と柔軟性

ソリューションを変更するたびに指標を変更しなくて済むよう、このフレームワークをあらゆる基盤ハードウェアおよびソフトウェアシステムに適用できるようにしたいと考えています。しかし、時間の経過とともにODDに新しいシナリオや条件が追加されることも認識しているため、容易に拡張できる必要があります。短期的な思考や汎用性の欠如(generalisation debt)を助長してはなりません。

自動化

このフレームワークを最初の1マイルから100万マイルまで適用するためには、最初からスケールを考慮して設計する必要があります。つまり、人間によるラベル付けやアノテーションを排除することを意味します。

フリート学習ループ

少し話を戻して、当社の自律走行システムがどのように成熟していくのか、ハイレベルな議論をしましょう。私たちは機械学習の企業であるため、時間の経過とともに学習し改善していくような企業体制、技術、プロセスを構築することを強く信じています。このプロセスを「フリート学習ループ(Fleet Learning Loop)」と呼んでいます。

Wayveにおけるフリート学習のステージを示す円グラフ

Wayveにおけるフリート学習のステージ:

  1. データの収集
  2. データの取り込み / データセットと学習カリキュラムの構築
  3. ディープラーニングモデルのトレーニング
  4. 失敗シナリオの再シミュレーション
  5. シミュレーションでのモデル評価
  6. 実世界での走行によるモデル評価
  7. 性能測定と改善領域の特定
  8. 繰り返し

ここで重要なのは、ループを繰り返すことで自律走行性能が向上することです。社内の全員が、このループを通じて製品を動かす役割を担っています。ODDのすべての項目に対してこのプロセスを実行し、時間の経過とともに改善を実証できる必要があります。

また、このループにおける機械学習(ML)の部分は、必要な全労力のほんの一部に過ぎないことにも注目すべきです。これは、「MLの90%はエンジニアリングの課題である」という見解と一致しています。私たちはこのループをできるだけ早く回したいと考えており、そのためには途中のエンジニアリング上の問題を解決する必要があります。

では、どのようにフリート学習ループを構築するのか?

製品が存在しない初期段階では、進捗は数パーセントずつの増分改善ではなく、一連のバイナリステップ(できるかできないか)で測定されます。トレーニング用のデータを収集できるか?モデルをトレーニングできるか?トレーニングしたモデルが良いものかどうかをどう判断するか?といった具合です。

私たちは、全体のモデル性能を反復改善しようとする前に、ODDの各走行シナリオについて、ループ全体の各ステージのMVP(実用最小限の製品)を完成させることを優先します。これにより、スケールに対応したパイプライン全体を構築する自信が得られ、チームを汎用性の欠如や短期的思考に追い込むような指標を避けることができます。例えば、道路標識の検出など、特定の問題を個別に素早く解決するために専用のデータセットを構築するのは簡単です。しかし、このフレームワークを用いることで、総合的な機械学習走行製品において大規模に学習するためのデータパイプライン、指標、トレーナーを開発するように自らを律しています。

これにより、初期段階で以下のような根本的な技術的障壁を解消できます。

  • 車両との統合
  • 実世界の走行からの大規模なデータ収集と取り込み
  • シミュレーションでのデータ収集(仮想世界の資産やエキスパートのドライビングポリシーを含む)
  • トレーニングのためのデータのロード / キャッシング
  • シミュレーションにおけるシナリオの性能評価
  • 実世界におけるシナリオの性能評価

前述の通り、当社のODDは急速に拡大し、複雑さも増していくため、各シナリオにおけるアプローチは適切にスケールできなければなりません。最初の反復は多くのツールを構築する必要があるため時間がかかりますが、その後の反復は次第に速くなり、長期的には新機能を追加する際に人間の介入がゼロになるまで効率化されるはずです。

ケーススタディ:走行インテリジェンスに方向指示器の使用を教える

Please change your cookie settings to view embedded content, or view this video on YouTube.

文脈を理解するために、簡単な例を挙げましょう。

自律走行の目標: AV(自動運転車)が右左折の接近時に自動的に方向指示器を使用すること

  1. データの収集:エキスパートドライバーが、モデルのトレーニング例となる走行データを収集します(エキスパートの運転では方向指示器が頻繁に使用されるため、これは自然に行われます)。
  2. データのキュレーション:方向指示器の使用を含む走行データがクラウドの取り込みパイプラインを通り、トレーニングに利用可能になります。
  3. トレーニング:当社のリサーチエンジニアが、教師あり模倣学習を用いて、方向指示器を認識するエンドツーエンドのMLモデルをトレーニングします。
  4. 再シミュレーション: さまざまな手続き型シナリオの下でシミュレーション内に方向指示器の制御を実装し、実データから方向指示器制御の例を収集してテストケースとして使用します。
  5. シミュレーションでの評価により、ベースラインモデルが機能するかどうかの初期的な理解が得られます。これを使用して、実世界でのテスト用にモデルを「ライセンス」することができます。
  6. 路上での評価により、路上でのモデル性能のベースラインスコアが得られます(セーフティドライバーが監視)。
  7. 性能測定: シミュレーションと実世界での評価結果が、社内ダッシュボードに自動的に表示されます。

これは、Wayveで実装した機能の実際の例です。このケースでは、アイデアから自律走行のデモまで、2週間足らずで方向指示器を点灯させて走行するモデルを実現できました。これは、高速な反復サイクルを可能にするエンドツーエンドの機械学習アプローチを採用していることが大きな要因です。上のビデオは、トレーニング中に見たことのない道路で、方向指示器を正しく作動させることを学習した当社のモデルが、ラウンドアバウトのシナリオを自律的に走行する様子を示しています。

前進の証 – 自律走行性能マトリックス

基礎が整えば、リサーチエンジニアがこのループを反復し、機能の性能を向上させ始めることができます。私たちは、シミュレーションと実世界での評価結果を「自律走行グラフ(Graphs of Autonomy)」と呼ぶもので追跡しています。

「自律走行グラフ」と呼ばれる、シミュレーションと実世界評価からの追跡結果を示す散布図

各反復サイクルで自律走行性能が向上し、それを社内の健全な競争としてリサーチエンジニア向けのリーダーボードにまとめます。シナリオごとのこれまでの最高スコアが「自律走行性能マトリックス(Autonomy Performance Matrix)」に登録され、個々の走行ドメインごとの性能指標となります。

自律走行性能マトリックスを示す表 注 – 数値は説明のためのプレースホルダーです

また、エキスパートドライバーのデータに対して評価スイートを実行し、人間レベルの性能がどのようなものかを推定することもできます。各指標で人間レベル以上の性能に達すれば、公道で安全に走行できるシステムの能力に自信を持つことができます。

次回の投稿では、自律走行指標の定義方法、実世界走行の粒度の高い評価に伴う複雑さへの対処法、そしてこれを大規模に行う方法について詳しく掘り下げます。

Back to top
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.