モデルの解釈性(シラバス 技術33)

学習目標

判断の根拠が見えにくいディープラーニングなどのモデルについて、予測の理由を人が理解できる形で示す説明可能AI(XAI)の必要性を理解し、画像向けのCAMやGrad-CAMと、モデルを選ばず使えるLIME・SHAP・Permutation Importanceの仕組みと使い分けを説明できるようにします。

要点

なぜ説明が必要か

ディープラーニングは精度が高い一方、なぜその答えを出したのかが見えにくいブラックボックスです。融資の審査や医療の診断では、理由を示せないと利用者も担当者も納得できません。根拠を調べてみると、モデルが対象の物ではなく、背景や画像の透かし文字で判断していたと分かることもあります。予測の根拠を人が理解できる形で示す技術や研究をまとめて、説明可能AI(XAI)と呼びます。

2つの軸で整理する

手法の名前を覚える前に、次の2つの軸で整理すると区別しやすくなります。

  • 説明の範囲:1件の予測の理由を示す局所的な説明か、モデル全体でどの特徴量が効いているかを示す大域的な説明か。
  • 対象のモデル:特定の種類のモデル専用か、どんなモデルにも使えるか。
手法対象範囲手がかり
CAM特定の構造のCNN局所特徴マップと出力層の重み
Grad-CAM幅広いCNN局所クラスの得点の勾配
LIMEどんなモデルでも局所入力を少し変えたときの出力
SHAPどんなモデルでも局所(集計で大域も)シャープレイ値
Permutation Importanceどんなモデルでも大域並べ替えたときの性能の低下

画像の判断根拠をヒートマップで示す

CAMとGrad-CAMは、CNNが画像のどこを見て判断したかを色の濃淡で示します。

  • CAM:最後の畳み込み層の特徴マップを、出力層の重みで足し合わせます。出力層の直前にGlobal Average Poolingがある構造が前提で、ほかのモデルに使うには構造を変えて学習し直す必要があります。
  • Grad-CAM:予測したクラスの得点を特徴マップで微分した勾配から重みを求めます。構造を変えずに、多くのCNNに使えます。

どんなモデルにも使える手法

  • LIME:説明したい1件の入力を少しずつ変えたデータを作り、元のモデルの出力を集めます。そのまわりだけで成り立つ線形モデルのような単純なモデルを当てはめ、効いた特徴量を示します。
  • SHAP:その予測値が平均的な予測値からどれだけずれたかを、シャープレイ値を使って各特徴量の貢献度に公平に分けます。1件ごとの値を全データで集計すれば、モデル全体の傾向もつかめます。
  • Permutation Importance:検証用データで1つの特徴量の値だけをシャッフルし、性能がどれだけ下がるかを測ります。大きく下がるほど重要な特徴量です。

説明を読むときの注意

これらは、モデルが何に反応したかを近似的に示すもので、現実の原因と結果の関係を示すものではありません。似た情報を持つ特徴量が複数あると、重要度が分散して小さく見えることもあります。

G検定で問われる深さ

シャープレイ値や勾配の計算式は不要です。各手法が1件の予測を説明するのかモデル全体を説明するのか、画像のモデル専用かどんなモデルにも使えるか、何を手がかりに重要度を出すかを、表のように整理して区別できれば十分です。

つまずきやすい点

  • CAMは出力層の直前にGlobal Average Poolingがある構造を前提とし、Grad-CAMは勾配を使うことで、構造を変えずに多くのCNNに使える点
  • LIMEは1件の予測のまわりだけを単純なモデルで近似する局所的な説明で、モデル全体の振る舞いを説明するものではない点
  • SHAPは協力ゲーム理論のシャープレイ値に基づき、その予測値と平均的な予測値との差を、各特徴量の貢献度として公平に分ける点
  • Permutation Importanceは特徴量の値を並べ替えたときの性能の低下で重要度を測るが、その特徴量が予測を上げるのか下げるのかや、因果関係までは示さない点

シラバスのキーワード

CAM、Grad-CAM、LIME、Permutation Importance、SHAP、説明可能AI(XAI)

練習問題

  1. 説明可能AIの代表的手法
  2. Grad-CAMによるモデルの検証
  3. 解釈手法の弱点と注意点
  4. SHAP値の加法性
  5. 要件に合う説明手法の選択

混同しやすい用語

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術33

改訂履歴

ディープラーニングの応用例の中項目
  1. 画像認識
  2. 自然言語処理
  3. 音声処理
  4. 深層強化学習
  5. データ生成
  6. 転移学習・ファインチューニング
  7. マルチモーダル
  8. モデルの解釈性
  9. モデルの軽量化

表示設定

テーマ
文字の大きさ
問題演習