ホーム›Part 4 自動運転のしくみ›4.6

Part 4 · 自動運転のしくみ

4.6 モジュール型とEnd-to-End型

作り方の違いと検証への影響

読了目安 10分前提:4.2 システムの全体像、4.5 予測と経路計画▶ 動画(約6分)

この回で分かること

  • モジュール型 と End-to-End 型 の作り方の違いと、それぞれの強みと弱みを説明できる
  • 模倣学習 で小さなずれが積み重なるしくみや、平均の誤差だけで評価する危うさを、簡単な計算で確かめられる
  • 作り方によって検証のしかたがどう変わるか、学習した部品をルールで見張るときの注意点を説明できる

直感で理解する

4.2 では、センサ・認知・予測・計画・制御を部品に分けて作る モジュール型 を見てきました。これに対して、カメラなどの入力から、進む軌道や操作までを、1つの大きなニューラルネットワークでまとめて学習するのが End-to-End 型 です。大量の走行データと、3.5・3.6 の Transformer や基盤モデルの進歩によって、近年注目が集まっています。

モジュール型 センサ 認知 予測 計画 制御 部品ごとに作って試験でき、受け渡しの形(物体リスト・軌道など)がはっきりしている End-to-End 型 センサ 1つの大きなニューラルネットワーク 大量の走行データから、入力から運転までをまとめて学習 軌道 操作 中身が見えにくく、部品ごとの試験や原因の特定が難しい
モジュール型と End-to-End 型の比較(模式図)。モジュール型の部品の中身にも学習したモデルが使われるので、違いは「学習を使うかどうか」ではなく「部品に分けて作るかどうか」にある。
モジュール型End-to-End 型
作り方部品ごとに作る。学習した部品と、ルールや最適化の部品を組み合わせる入力から運転までを、大量の走行データからまとめて学習する
強み部品ごとに試験でき、誤りの原因を特定しやすい。安全の要求を部品に割り当てやすい部品の間で情報を捨てない。ルールで書き切れない複雑な振る舞い(譲り合いなど)を学べる。データを増やすほど良くなりやすい
弱み受け渡しの形に入らない情報が落ちる(物体リストにない落下物など)。手作りのルールに抜けが出る中身が見えにくく、理由を説明しにくい。まれな場面のデータが少ない。部品ごとの試験ができない
主な確かめ方部品ごとの試験 + 全体の試験全体を場面ごとに試す(シミュレーション・シナリオ)

実際には、どちらか一方にきっぱり分かれるわけではありません。部品に分けたまま中身に学習したモデルを使うもの、1つのモデルでも途中で物体の検出結果や予測を出させて見張れるようにしたもの、学習した計画をルールの見張りで囲むもの、など、中間の形がたくさんあります。

数式で確かめる

① 小さなずれが積み重なる(模倣学習)

End-to-End 型の多くは、人の運転をお手本にしてまねる 模倣学習 で学びます(報酬を手がかりに試行錯誤で学ぶ 強化学習 もあり、主にシミュレーションの中で使われます)。模倣学習には弱点があります。お手本の運転はほとんどいつも車線の真ん中を走っていて、「少しずれたところから戻る」例がほとんどありません。モデルが一度わずかにずれると、見たことのない状態に入り、そこでの判断は当てになりません。ずれが、さらなるずれを呼ぶのです。

0.1 秒ごとの判断で、見たことのない状態へずれてしまう確率を ε = 0.001(1000回に1回)とします。100 秒(T = 1000 回)走る間に一度もずれない確率は、1.1・1.8 と同じ計算で

$$P(\text{一度もずれない}) = (1-\varepsilon)^T \approx e^{-\varepsilon T} = e^{-1} \approx 0.37$$

です。100 秒の走行の約63%で、少なくとも1回は見慣れない状態に入ることになります。ずれたあとに立て直せないと、その影響は走る時間の2乗の速さで大きくなりうることが、理論的にも示されています(参考文献の Ross ほか)。対策として、モデル自身に運転させ、ずれた状態での「正しい戻り方」を教え直す方法(DAgger)や、左右にずらしたカメラの画像で「戻る」例を人工的に作る方法が使われます。

② 平均の誤差にだまされない

End-to-End 型の評価では、記録した走行データの各場面で、モデルが出した軌道と、実際に人が走った軌道のずれを測る方法がよく使われます。モデルの判断が次の場面に影響しないので、開ループ評価 と呼びます。ここで平均だけを見るのは危険です。評価データの 95% が直線を一定の速度で走るだけの場面、残りの 5% が合流や急な減速などの難しい場面だとします。「今の速度でまっすぐ進む」とだけ答えるモデルが、易しい場面では 0.2 m、難しい場面では 4 m ずれるとすると、平均の誤差は

$$0.95 \times 0.2 + 0.05 \times 4 = 0.19 + 0.20 = 0.39\ \text{m}$$

と、小さく見えます。しかし難しい場面では、何の役にも立っていません。1.4 の期待値(平均)は、まれな場面での失敗を薄めてしまうのです(2.8 の場面ごとの性能)。そこで、場面の種類ごとに分けて評価し、さらに、モデルの判断で車が動き、その結果が次の入力になる 閉ループ評価(シミュレーションなど)で、実際にぶつからずに走れるかを確かめます。

③ 学習した部品を、ルールで見張る

実際には、学習した計画に、4.5 の RSS のようなルールの見張り(安全の枠)を組み合わせることがよくあります。難しい場面で学習した計画が危ない軌道を出す確率を 1%、見張りがそれを見つけて止める確率を 90% とすると、2つが独立なら、危ない軌道がそのまま実行される確率は

$$0.01 \times (1 - 0.9) = 0.001$$

で、10分の1になります。ただし、見張りも同じ認知の結果を使っているなら、独立とは言えません。学習した計画の誤りのうち 30% が「認知が物を見逃した」ことによるもので、見張りにもその物が見えていないとすると、

$$0.01 \times 0.3 + 0.01 \times 0.7 \times 0.1 = 0.003 + 0.0007 = 0.0037$$

と、独立を仮定した見積もりの約4倍になります。1.1 の共通原因と同じ問題です。見張りには、できるだけ別の情報源(別のセンサや、より単純な検出)を使うことが大切です。

SOTIF・安全との接点

  • 検証の単位が変わる:モジュール型では、部品ごとに要求を割り当てて試験し(4.2)、最後に全体を試します。End-to-End 型は部品に分けられないので、全体を場面ごとに試す比重が大きくなり、シナリオとシミュレーションの設計がいっそう重要になります。→ 5.6 シナリオベース検証、5.7 シミュレーションとXiL
  • 原因を突き止めにくい:誤った振る舞いが起きたとき、どの判断が悪かったのかを分けにくくなります。物体の検出結果など「中間の出力」も一緒に出させて見張れるようにしたり、3.9 の説明の技術を使ったりします。→ 3.9
  • データが振る舞いを決める:学習したモデルの振る舞いは、データにあった場面の範囲でしか信用できません。どの ODD のどんな場面を、どれだけ集めて学習と試験に使ったかを示すことが、安全の根拠の一部になります。→ 4.1、5.9 AIコンポーネントの安全
  • 学習し直すと全体が変わる:一部を直すつもりで学習し直しても、ほかの場面の振る舞いまで変わることがあります。変更のたびに、これまでの試験をやり直すしくみ(回帰試験)が欠かせません。
  • 両方のよいところを組み合わせる:実際のシステムは、学習した部分とルールの部分を組み合わせた中間の形が多く、③のような見張りも使われます。どこまでを学習にまかせ、どこをルールで守るかが、設計の要になります。→ 4.5

まとめ

  • モジュール型は部品に分けて作り、部品ごとに試験や原因の特定がしやすい。End-to-End 型は入力から運転までをまとめて学習し、情報を捨てない一方、中身が見えにくい。実際には中間の形が多い
  • 模倣学習では、見たことのない状態へのずれが積み重なりやすい。平均の誤差(開ループ評価)はまれな難しい場面の失敗を薄めるので、場面ごとの評価と閉ループ評価で確かめる
  • 学習した部品をルールで見張ると危険は減らせるが、同じ情報源を使うと共通原因で効果が小さくなる。作り方によって、検証の単位や安全の根拠の示し方が変わる

確認クイズ

Q1. モジュール型で「部品の間で情報が落ちる」とは、たとえばどんなこと?

認知が物体リストに入れなかった物(見慣れない落下物、路面の穴など)は、画像には写っていても、判断の部品には伝わりません。受け渡しの形に入らない情報は、後ろの部品からは見えなくなります。

Q2. ①で、ずれる確率が ε = 0.002、判断の回数が T = 500 回のとき、一度もずれない確率は?

(1 − 0.002)⁵⁰⁰ ≈ e^(−0.002 × 500) = e^(−1) ≈ 0.37 です。

Q3. ②で、難しい場面の割合が 10% に増えると、平均の誤差はいくつ?

0.9 × 0.2 + 0.1 × 4 = 0.18 + 0.40 = 0.58 m です。

Q4. ③で、見張りが学習した計画と同じ認知の結果だけを使っていると、なぜ「0.01 × 0.1」の見積もりが甘くなる?

認知の見逃しは、学習した計画と見張りの両方に同時に効く共通原因だからです。見張りも同じ物が見えていないので気づけず、独立を仮定した掛け算が成り立ちません。

もっと知りたい人へ