【E資格不合格から学ぶ】AIの判断根拠の説明方法をポイント解説!

  • 「AI(人工知能)」を活用したいけど判断根拠が説明できないから不安・・・
  • 「AI(人工知能)」の判断根拠をどのように説明できるのか分からない?
  • 「AI(人工知能)」のブラックボックス性の解消方法を体系的に教えて!

 「AI:Artificial intelligence,人工知能」は既に様々な商品・サービスに組み込まれて利活用が始まっている注目の技術ですが、AIを実社会に実装した後に「なぜ予測が当たっているのか」か分からないという不安が生じるケースがあります。

 私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。

 そこでこの記事では、AIの「判断根拠の説明方法」についてポイントを解説します。

 この記事を参考にAIの「判断根拠の説明方法」が理解できれば、E資格に合格できるはずです。

<<AIの「判断根拠の説明方法」のポイントを今すぐ見たい方はコチラ

目次

1.なぜ解釈性が重要なのか?

学生
学生

なぜAIモデルの解釈性が重要なのかなあ?

著者
著者

次の理由からだよ!!

  • ディープラーニング活用の難しいことの1つは「ブラックボックス性」
  • 判断根拠が説明できない
  • 実社会に実装する後に不安が発生 「なぜ予測が当たっているのか」を説明できない
    例:「AIによる医療診断の結果、腫瘍は悪性ですが、AIがそう判断した根拠は解明できません」と言われたらどんな気持ちになるか想像してみてください。
  • モデルの解釈性に注目し、「ブラックボックス性」の解消を目指した研究が進められている
今回紹介する、モデルの解釈に使われる四つの手法
  • CAM
  • GradーCAM
  • LIME
  • SHAP

2.CAM

CAMとは・・・
CAMが使えるネットワーク構造
  • ネットワークの大部分が畳み込み層で構成されている
  • 最終的な出力層の前にGAPを実行している
CAMの仕組み

〈直感的〉出力層の重みを畳み込み特徴マップに投影する⇒ 画像領域の重要性を識別する

論文の手法
Class Activation Mapping
Class Activation Mapping
引用元:Learning Deep Features for Discriminative Localization
CAMの数式
CAMの数式
  • Mc(x、y):どこに注目しているかを示すマップ
    (x、y)が特徴マップの座標、fkが最後の畳み込み層のチャンネルのうちk番目の特徴マップ
  • Wck:出力クラスCにつながる重み
  • CAMの評価:CAMの精度を確認するために、CAMの結果からバウンディングボックスを生成し、物体検出の評価指標を使い精度を比較している(Localization)
  • GoogleNetーGAPはLocalizationで一番低いエラー率を達成している

3.GradーCAM

GradーCAMとは・・・
  • CNNモデルに判断根拠を持たせ、モデルの予測根拠を可視化する手法
    名称の由来は”Gradient”=「勾配情報」
  • 最後の畳み込み層の予測クラスの出力値に対する勾配を使用
  • 勾配が大きいピクセルに重みを増やす(=予測クラスの出力に大きく影響する重要な場所)
ヒートマップの求め方
Counterfactual Explanations with Grad-CAM
引用元:Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization. arxiv 2016, 1610.02391. arxiv: 1610.02391
  • αkC:クラスcのk番目のフィルタに関する重み係数
       ↑ この重み係数が大きいほど特徴マップkがクラスcにとって重要
  • yc:クラスcのスコア
  • Akij:k番目の特徴マップの座標(i,j)における値
  • ycのAkにおける勾配を、特徴マップの全要素について Global Average Pooling を施す
αkCの数式

重みが大きいほど、特徴マップkがクラスcの予測にとって重要であると解釈できる

(batch_size,height,width,channel_size)
から(batch_size,channel_size)へ
特徴マップと線形結合するために
(batch_size,channel_size,1)と変形させる

【グローバル平均プーリング (Global Average Pooling,全体平均プーリング)】

  • 特徴マップの空間領域の全体に対する平均プーリングを行うプーリング層である.
  • 物体認識系CNNの終盤層などにおいて全結合層による識別層の代わりによく用いられる [Lin et al., 2014].
引用元:「CVMLエキスパートガイド」
  • k番目の特徴マップAkをαkc で加重平均をとり、ReLUの出力値をヒートマップとすると、ヒートマップは次式で表現できる。
ヒートマップの計算式
ヒートマップの計算式
Grad-CAMCAM
特徴GAPがなくても可視化できる。
また、出力層が画像分類でなくてもよく、様々なタスクで使える。
モデルのアーキテクチャにGAPがないと可視化できなかった
GradーCAMとCAMの比較

Grad-CAMとは

引用元:R.R.Selvaraju,et al.,”Grad-cam:Visual explanation from deep networks via gradient-based localization”,2017
  • explain メソッド
  • クラス活性化ヒートマップ
  • 誤分類の原因

4.LIME

LIMEとは・・・
  • Local Interpretable Modelーagnostic Explanations
    直訳)ローカルで解釈可能なモデル – 依存しない説明
    原論文:”Why Should I Trust You?”:Explaining the Predictions of Any Classifier
    https://arxiv.org/abs/1602.04938(KDD2016で採択)
  • 特定の入力データに対する予測について、その判断根拠を解釈・可視化するツール
    ー表形式データ:「どの変数が予測に効いたのか」
    画像データ:「画像のどの部分が予測に効いたのか」
  • CNNやアンサンブルツリーなど様々な機械学習モデルに適用可能
仕組み
  • 単純で解釈しやすいモデルを用いて、複雑なモデルを近似することで解釈を行う
    ※「複雑なモデル」=「人間による解釈の困難なアルゴリズムを作った予測モデル」
    例:決定木のアンサンブル学習器、ニューラルネットワークなど
  • LIMEへの入力は1つの個別の予測結果(モデル全体の近似は複雑すぎる)
  • 対象サンプルの周辺のデータ空間からサンプリングして集めたデータセットを教師データとする。
    データ空間の対象範囲内でのみ有効な近似用モデルを作成する。
    下図はLIMEの原理を理解するための概念図である。
    図において説明対象の「入力データ」を「赤色の太字の十字」とする。
    原理は以下の手順である。
    ①入力データ(赤色の太字の十字)の周辺からサンプリングと予測を繰り返し行いデータセットを得る。
    ②得られたデータセットを教師データとする。
    ③教師データとして線形回帰モデルを作成する。
LIMEの原理を理解するための概念図
LIMEの原理を理解するための概念図
引用元:https://arxiv.org/abs/1602.04938
  • 近似用モデル(線形回帰モデル)から予測に寄与した特徴量を選び解釈を行う ⇒ 難解なモデルを解釈したことと見なす
目標関数を表した数式
LIMEの目標関数を表した数式
LIMEの目標関数を表した数式
  • G線形回帰モデル、決定木などで、データを解釈するのに使われるモデル
  • gGの中の解釈可能なモデルのうちいずれかを表す
  • f:解釈したい結果を予測するモデル(解釈したいモデル
  • πx:fへの入力データxとどれだけあるデータが離れているかを表すあるデータとxとの類似度とも言える
  • Ω(g):使っているモデルgがどれだけ複雑か、つまり解釈可能性のなさ解釈のしずらさを表している
  • ℒ(f,g,πx):πx が定義するxとの距離の指標を使ってgがfを近似する際、どれだけ不正解かを表す

 つまり、解釈可能性と忠実性(gがfを近似する際の正確さ)の二つの質を保証するため、ℒ(f,g,πx)とΩ(g)の両方を小さく

データのサンプリング
  • gへの入力にはxを加工したものを入れる(摂動を入れる)
  • 画像であればスーパーピクセルという領域分割の技術を使いその一部をマスクしたり、テキストであれば単語をランダムに除去したり、表彰式データであればランダムに一部のデータを作り直したりしている。
損失関数
LIMEの損失関数
LIMEの損失関数
  • z:説明したい例の近くのデータをサンプリングしたもの
  • z´:zに摂動を入れたもの
xとzの距離関数にマイナスをかけたものをカーネル幅で割った数式
xとzの距離関数にマイナスをかけたものをカーネル幅で割った数式
  • 上式はxとzの距離関数(テキストであればコサイン類似度
    画像の場合:ユークリッド距離など)にマイナスをかけたものをカーネル幅で割ったもの
  • カーネル幅(σ):ハイパーパラメーターで、それを決める明確な方法がない。
  • 解釈したいモデルにzを入れた結果と解釈可能なモデルにz´を入れた結果の差にzとxとの類似度で重み付けする

5.SHAP

SHAPとは・・・
  • A Unified Approach to Interpreting Model Predictions
    直訳)モデル予測を解釈するための統合アプローチ
    論文:https://arxiv.org/pdf/1705.07874.pdf
  • 協力ゲーム理論の概念であるshapley value(シャープレイ値)を機械学習に応用した shapley valueが想定する状況:プレイヤーが協力し、それによって獲得した報酬を分配する ⇒これらの概念を機械学習に適用する
    協力ゲーム理論協力して得た報酬を、貢献度が異なるプレイヤーにどう分配するか
    機械学習:モデルから出力された予測値を、貢献度が異なる特徴量にどう分配するか
  • CNNやアンサンブルツリーなど様々な機械学習モデルに適用可能
説明に対する要件
  • Local Accuracy(局所的な精度)
     ある入力をx、xの予測をf(x)とする。また、単純化した入力データをx’、x’に対する局所的近似をf'(x’)とする。このときf(x)とf'(x’)は同じになる。
  • Missingness(欠落)
     予測結果に影響を与えないような特徴量は、その予測に対して貢献していない。
  • Consistency(一貫性)
     fの方がf’よりもある特徴量xiが有るか無いかによって出力値に大きな変化があるならば、fの方がf’よりも貢献度が大きなる。
SHAPの概念図
SHAPの概念図
  • z1、z2、z3:特徴量
  • E[f(z)]:基本値であり、色々な決め方がある
  • 代表的なものは着目したい特徴量を除いた、着目しない特徴量での予測を基本値とする方法
  • これを全ての順序で計算し、平均をとったものがここでのshapley valueになる

Aさん、Bさん、Cさん が作業に参加する

一人で作業に参加した場合、
二人、三人で参加した場合の
報酬を表している

問題設定:
二人で参加した場合と
一人で参加した場合の
報酬の値を使って
三人で参加したときの
報酬の分配額を決める

貢献度が高い人に高い
報酬を分配したい
    ↓
どうすればいい?

「限界貢献度」
という概念を導入する

各作業報酬
Aさん4万円
Bさん7万円
Cさん5万円
AさんとBさん10万円
AさんとCさん16万円
BさんとCさん20万円
AさんととBさんとCさん35万円
       各作業の報酬

BとCの作業に、Aが参加したときどれだけ報酬が増えるか
(AとBとC)ー(BとC)
の計算をAさんの限界貢献度とする
Cさんの限界貢献度のうちの一つは(BとC)ー(B)
Bさんの限界貢献度のうち一つはB

A,B,Cの順番で限界貢献度を計算していく時、
Aさんはそのまま4万円、Bさんは10万円ー4万円で6万円、
Cさんは35万円ー10万円で25万円となる。

これを全ての組み合わせで計算する。

Aの平均的な限界貢献度は
Aは(4+3+15+15+4+11)/6=8.7
Bは(6+7+7+15+19+19)/6=12.2
Cは(25+25+13+5+12+5)/6=14.2

ABC
A→B→C4万円6万円25万円
B→A→C3万円7万円25万円
B→C→A15万円7万円13万円
C→B→A15万円15万円5万円
A→C→B4万円19万円12万円
C→A→B11万円19万円5万円
限界貢献度の計算結果
協力ゲーム理論機械学習
考え方協力して得た報酬を、貢献度が異なるプレイヤーにどう分配するかモデルから出力された予測値を、貢献度が異なる特徴量にどう分配するか
協力ゲーム理論と機械学習の比較
SHAPの概念図
SHAPの概念図
  • 特徴量z1のみを使って予測した値と基本値との差でz1の限界貢献度が分かる
  • 特徴量z1、z2を使って予測した値と特徴量z1のみを使って予測した値との差で
    z2の限界貢献度が分かる
  • z1、z2、z3を使って予測した値と特徴量z1、z2を使って予測した値との差で
    z3の限界貢献度が分かる
  • これを全ての順序で計算し、平均をとったものがここでのshapley valueになる。

6.まとめ

【GradーCAMの特徴】
  • モデルがある画像においてどのピクセルに着目してクラス分類したか調べる手法
  • ヒートマップの求め方
【LIMEの特徴】
  • 単純で解釈しやすいモデルを用いて、複雑なモデルを近似することで解釈を行う
【SHAPの特徴】
  • 協力ゲーム理論協力して得た報酬を、貢献度が異なるプレイヤーにどう分配するか

最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次