Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LIMEを用いた判断根拠の可視化

 LIMEを用いた判断根拠の可視化

Kenta Itakura

July 02, 2024
Tweet

More Decks by Kenta Itakura

Other Decks in Science

Transcript

  1. 判断根拠の可視化について 2 3次元点群データ 深層学習により自動分類した結果  深層学習モデルなどによる推論結果の根拠を可視化することは有用 • 特徴量と予測の関係性を考察する • モデルの妥当性を検証する

     深層学習モデルの結果を説明・解釈するための手法と して、LIME (Local Interpretable Model-agnostic Explanations)が有名 Ribeiro, M.T., Singh, S. and Guestrin, C., 2016, August. " Why should I trust you?" Explaining the predictions of any classifier. In Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining (pp. 1135-1144). 犬と分類した時の判断根拠の可視化のイメージ
  2. 判断根拠の可視化について 3 iPhone12 LiDAR 3次元点群データ 深層学習により自動分類した結果  LIMEの適用例として、農作物の欠陥の分類の判断根拠を可視化した例などがある 出展: 斎藤

    嘉人, 山本 一哉, 板倉 健太, 今田 伸二, 二宮 和則, 近藤 直: 畳み込 みニューラルネットワークおよびサポートベクターマシンを用いたバレイショの外部 欠陥種別の分類 、農業食料工学会誌 2021年5月
  3. 判断根拠の可視化について 4 iPhone12 LiDAR 3次元点群データ 深層学習により自動分類した結果  本資料では、LIMEを画像分類に適用した場合の流れを紹介します ブログ記事: https://kentapt.hatenablog.com/entry/2021/12/06/224424

     詳細については、ブログ記事、LIMEを実装したMATLABコードは以下をご参照ください LIMEを実装したコード: https://github.com/KentaItakura/Explainable-AI- interpreting-the-classification-performed-by-deep-learning-with-LIME-using- MATLAB
  4. LIMEの手順: 領域分割 5 iPhone12 LiDAR 1.試したい画像と畳み込みニューラル ネットワークCNNを用意 • 今回は学習済みのネットワーク (ResNet-18)を使用

    • 自分で作ったCNNでも可能 2.画像をスーパーピクセルに分割 • k-means法などで色味の近いピクセルを1つにまとめる • mean-shiftなど他の分割方法でも実装可能
  5. LIMEの手順: 複数のマスクの塗りつぶし 6 iPhone12 LiDAR 3.ランダムにk-meansで分割した領域を黒くする • 何枚か(例:1000)ランダムに生成する • ランダムにマスキングする画像を増やす方がLIMEによる可

    視化の精度は高まる • 同時に計算コストも高くなる 4.3で作成した画像(例:右の猫の図)に対し、CNNで分類する • それぞれの加工された画像に対してスコア(cat)の値が返される • 正解のスコアが下がる→CNNにとって重要な場所が隠されたのではないか 作成したマスク画像 (perturbated image)の例
  6. LIMEの手順: 回帰 7 iPhone12 LiDAR 5.スコアの値 v.s. 各スーパーピクセルで回帰 • 例)右図を非常に粗く4分割した場合

    • それぞれの箇所を1~4とする • この分割の数もユーザーの決めるパラメータになる 補足.マスク画像とそのスコアを下のように表す(例) ※マスクされていない:1、マスクされている:0 1 2 3 4 1 2 3 4 スーパーピクセルのID Catのスコア 1 2 3 4 0.72 1 0 0 0 0.88 0 1 1 0 0.91 1 0 1 1
  7. LIMEの手順: 回帰 9 7.重み付きの線形回帰でフィッティングする (例: y=ax1 +bx2 +cx3 +dx4 )

    • y:スコア • 説明変数(X):スーパーピクセルのIDの値(1や0という値) (この例の場合、センサーが4つあって、それぞれの出力値が0か1のイメージ) • 決定木などの他のアルゴリズムを利用することも可能