モデルの判断理由を説明する手法が、CAM・Grad-CAM・LIME・SHAP・Permutation Importanceと並んでる。どれが何を説明してるん?
【疑問】説明可能AI(XAI)、CAM・Grad-CAM・LIME・SHAP・Permutation Importanceは何を見てるん?【G検定】
前提のおさらい。画像分類のモデルは、畳み込み層で特徴マップを作って、最後にGAP(チャネルごとの平均)や全結合層でクラスを出す。層が深いほど、中で何をしてるかは人には分かりにくい
>>1
なんで説明が要るか、から。医療の診断やお金を貸すかどうかの判断では、結果だけやなくて理由を説明できんと使えん。間違った手がかりで当ててる(写真の透かしで判定してた、など)のを見つけるのにも要る。こういう目的の技術をまとめて説明可能AI(XAI)と呼ぶ
>>1
画像のどこを見たかを示すのがCAMとGrad-CAM
CAMは、ジョウらの2016年の論文。最後の特徴マップをGAPしてクラスを出すモデルで、そのクラスの重みで特徴マップを足し合わせて、注目した場所を色で示す
Grad-CAMは、セルヴァラジュらの2017年の論文。重みの代わりに、クラスの点を特徴マップで微分した値の平均を使うから、GAPの形でないモデルにも使える
>>4
Grad-CAMの数字の例。2チャネルの重みが0.5と−0.2、ある場所の特徴マップの値が4と3なら 。マイナスになった場所はReLUで0にして、プラスのところだけ表示する
>>1
LIMEは、リベイロらの2016年の論文。説明したい1つのデータの周りで、入力を少しずつ変えたデータを作ってモデルの出力を集め、その周りだけで成り立つ簡単な線形モデルを当てはめる。その係数で「このデータでは何が効いたか」を示す
>>6
SHAPは、ランドバーグとリーの2017年の論文。ゲーム理論のシャープレイ値で、予測への貢献を特徴量ごとに公平に分ける
特徴AとBがあって、何もなしで0点、Aだけで10点、Bだけで20点、両方で40点なら、Aを足した効果は順番によって10か20で、平均15。Bは20か30で平均25。足すと40で、全体の点にぴったり一致する
>>7
SHAPは計算が重いって聞くけど、それでも使う理由ある?
>>8
特徴量の組み合わせを全部考えるから、特徴量が多いとそのままでは重い。近似の計算方法を使うのがふつう。それでも貢献の合計が予測と一致する、という性質があるから、説明の数字に筋が通る
>>1
Permutation Importanceは、モデル全体で各特徴量がどれだけ大事かを見る。ある特徴量の列だけをばらばらに並べかえて、性能がどれだけ落ちるかを測る
正解率が0.90から0.75に落ちたら、その特徴量の重要度は0.15
>>10
よく似た特徴量が2つあると、片方を並べかえてももう片方で補われて、どっちも大事でないように見えることがある。説明の数字も、そういうくせを知った上で読まなあかん
管理人のひとこと
- 説明可能AI(XAI)は、理由の説明が必要な場面や、間違った手がかりを見つけるために使う。
- CAM(2016年の論文)はGAPのあとのクラスの重みで、Grad-CAM(2017年の論文)は勾配の平均で特徴マップを足し合わせ、注目した場所を示す(0.5×4−0.2×3=1.4)。
- LIME(2016年の論文)は1つのデータの周りで線形モデルを当てはめる。SHAP(2017年の論文)はシャープレイ値で貢献を分ける(Aが15、Bが25で合計40)。
- Permutation Importanceは列を並べかえて性能の落ち方を見る(0.90→0.75で0.15)。似た特徴量があると小さく出ることがある。