ホーム›Part 3 ディープラーニングとAI›3.9

Part 3 · ディープラーニングとAI

3.9 説明可能性(XAI)

なぜそう判断したのかを探る

読了目安 10分前提:3.3 CNNと画像認識、3.8 頑健性と敵対的サンプル(入力の傾き)▶ 動画(約6分)

この回で分かること

  • 説明可能性(XAI)の目的と、説明の種類(解釈しやすいモデル・事後の説明、1件ごとの説明・全体の傾向)を説明できる
  • 顕著性マップ・遮蔽・特徴の寄与(SHAP)・反実仮想の考え方を、小さな例で計算できる
  • 説明の限界(もっともらしいが正しくない説明)と、自動運転の安全の議論での使い方を説明できる

直感で理解する

3.3 で、背景の雪を手がかりにオオカミと判定していた例を紹介しました。正解率が高くても、正しい理由で判断しているか は、正解率だけでは分かりません。そこで、AI の判断が入力のどこに頼っているかを調べる技術が 説明可能性(XAI:Explainable AI)です。

自動運転で考えられる例を見てみます。ある歩行者検出器は、試験では高い正解率でした。ところが、判断に効いた場所を調べると、人の形ではなく 横断歩道の白線 に強く反応していました。学習データの歩行者のほとんどが横断歩道の上にいたため、「白線がある所に歩行者がいる」という近道を学んでいたのです。このままでは、横断歩道のない所を渡る歩行者を見逃すおそれがあります。

正しい手がかり:人の形 近道学習:横断歩道の白線 色が濃いほど判断に効いた場所 横断歩道の外の歩行者を見逃すおそれ どちらも試験での正解率は高かった
判断に効いた場所を色の濃さで重ねた図(模式図)。左は人の形に、右は足もとの白線に反応している。正解率だけでは区別できないが、説明の技術を使うと違いが見えてくる。

説明には、いくつかの種類があります。

方法分かること例
解釈しやすいモデルを使う重みやルールそのもの2.2・2.4 の重み、2.5 の小さな決定木
顕著性マップ各画素を少し変えると答えがどれだけ変わるか歩行者の輪郭の画素が強く光る
遮蔽(隠してみる)一部を隠すと確信度がどれだけ下がるか頭の部分を隠すと大きく下がる
特徴の寄与(SHAP など)各入力が答えをどれだけ押し上げたか「横方向の速度が割り込みの判定を押し上げた」
反実仮想答えを変えるには入力をどう変えればよいか「あと 0.2 m/s 遅ければ割り込まないと判定」

1件の判断についての説明を 局所的な説明、モデル全体の傾向についての説明を 大域的な説明 と呼びます。上の白線の例は、多くの画像の説明を集めて初めて見えてくる、大域的な傾向です。

数式で確かめる

① 顕著性マップ:入力についての傾き

モデルの出力(たとえば「歩行者」の点数)を y とすると、各画素 \(x_i\) の顕著さは、その画素を少し変えたときの y の変化の割合で表せます。3.8 で使った、入力についての傾きです。

$$s_i = \left| \frac{\partial y}{\partial x_i} \right|$$

3.1 の直線のニューロン \(y = \mathbf{w} \cdot \mathbf{x} + b\) なら、\(s_i = |w_i|\) で、重みの大きい画素ほど顕著です。深いネットワークでも、3.2 の誤差逆伝播法で1回計算すれば、すべての画素の顕著さが求まります。

② 遮蔽:隠して、確信度の下がり方を見る

画像の一部を灰色で隠し、確信度がどれだけ下がるかを調べます。

$$\Delta_k = f(\mathbf{x}) - f(\mathbf{x}\ \text{の区画}\ k\ \text{を隠したもの})$$
隠した場所左の検出器の確信度右の検出器の確信度
(隠さない)0.950.95
頭と胴体0.30(0.65 下がる)0.85(0.10 下がる)
足もとの白線0.92(0.03 下がる)0.25(0.70 下がる)
背景の空0.94(0.01 下がる)0.94(0.01 下がる)

右の検出器は、人を隠してもほとんど確信度が下がらず、白線を隠すと大きく下がります。人ではなく白線を見ている、というはっきりした証拠です(数値は説明用の例)。

③ 特徴の寄与:平均からどれだけ押し上げたか

2.4・2.5 の割り込み予測を、横方向の速度 v(m/s)とウインカー s(出していれば1)を使う次のモデルで考えます。

$$z = 6.0\,v + 1.5\,s - 3.5, \qquad p = \sigma(z)$$

データ全体の平均が \(\bar{v} = 0.4\)、\(\bar{s} = 0.4\) なら、平均的な場面の点数は \(z = -0.5\)(割り込む確率38%)です。v = 0.8、s = 1 の車では z = 2.8(94%)になります。その差 3.3 を、入力ごとに分けると、

$$\underbrace{6.0 \times (0.8 - 0.4)}_{\text{速度}\ +2.4} + \underbrace{1.5 \times (1 - 0.4)}_{\text{ウインカー}\ +0.9} = 3.3$$

となり、「横方向の速度が +2.4、ウインカーが +0.9 だけ、割り込みの判定を押し上げた」と説明できます。このように、平均的な場面からの差を入力ごとに公平に分け合う考え方が SHAP で、このような直線のモデルでは、ちょうどこの形になります。深いモデルでも、近似的に同じ考え方で計算します。

④ 説明の限界

  • もっともらしいが正しくないことがある:顕著性マップの手法の中には、学習していない(重みがでたらめな)ネットワークでも似たような「それらしい」図を出すものがあることが報告されています。説明の手法そのものも、確かめる必要があります。
  • 説明は「モデルのモデル」:説明は、複雑なモデルを人が分かる形に単純化したものです。単純化の過程で失われる部分があり、説明が示すことと実際の判断のしくみがずれることがあります。3.5 の注意の重みも同じ注意が要ります。
  • 人は納得しやすい説明を信じてしまう:期待どおりの図が出ると、それ以上調べなくなりがちです。説明は、試験やデータの確認の代わりにはなりません。

自動運転との接点

  • 誤りの原因を探す:見逃しや誤検知が起きたとき、どこに反応していたかを調べると、反射・影・汚れなど、原因の手がかりが得られます。見つかった原因は、SOTIF のトリガー条件の候補になります。→ 5.3 機能不十分とトリガー条件
  • 近道学習を出荷前に見つける:白線の例のように、学習データの偏りから生まれた近道は、正解率には表れません。多くの画像の説明を集めて、モデルが何に頼っているかの傾向を確かめます。→ 2.8
  • 安全の論証の材料の一つ:「モデルは妥当な手がかりで判断している」ことを示す材料として、説明を安全の論証(セーフティケース)に使えます。ただし、説明だけで安全を示すことはできず、試験・データの網羅性・運用中の監視と組み合わせます。→ 5.10 セーフティケース
  • 事故やヒヤリハットの調査:記録したデータとあわせて説明を残しておくと、何が起きたのかをあとから調べやすくなります。→ 5.11 市場投入後の監視
  • 乗る人への説明と信頼:「前方の自転車を検知したので減速しました」のように判断の理由を伝えると、乗る人がシステムを信頼しすぎることも、信頼しなさすぎることも防ぎやすくなります。

まとめ

  • 説明可能性(XAI)は、AI の判断が入力のどこに頼っているかを調べる技術。正解率だけでは分からない「判断の理由」を確かめ、近道学習や誤りの原因を見つける
  • 顕著性マップ(入力についての傾き)、遮蔽(隠して確信度の下がり方を見る)、特徴の寄与(SHAP:平均からの差を入力ごとに分ける)、反実仮想などがある
  • 説明はもっともらしいが正しくないこともある「モデルのモデル」。試験・データの確認と組み合わせて、安全の論証の材料の一つとして使う

確認クイズ

Q1. 確信度0.90の歩行者の検出で、頭の部分を隠すと0.35、背景の空を隠すと0.89になりました。どちらが判断に効いている?

頭の部分です。隠したときの確信度の下がり方が 0.55 と大きく、空(0.01)はほとんど効いていません。

Q2. 本文のモデル(z = 6.0v + 1.5s − 3.5、平均は v̄ = 0.4、s̄ = 0.4)で、v = 0.2、s = 1 の車の、速度とウインカーの寄与はそれぞれいくつ?

速度は 6.0 × (0.2 − 0.4) = −1.2(判定を押し下げた)、ウインカーは 1.5 × (1 − 0.4) = +0.9(押し上げた)です。合計 −0.3 は、この車の点数 −0.8 と平均的な場面の −0.5 の差と一致します。

Q3. 顕著性マップが歩行者の形にぴったり重なる「それらしい」図になったので、「モデルは正しい理由で判断している」と結論しました。何が問題?

説明の手法によっては、学習していないネットワークでも似たような図を出すことがあり、図がそれらしいことは正しさの証明になりません。遮蔽など別の方法でも確かめ、試験やデータの確認と組み合わせる必要があります。

Q4. 歩行者検出器が横断歩道の白線を手がかりにしていると分かりました。どんな場面で危険? どう対処する?

横断歩道のない所を渡る歩行者や、白線が消えかけた道路で見逃すおそれがあります。横断歩道以外の歩行者のデータを増やして学習し直し、そうした場面を試験で確かめます。

もっと知りたい人へ