Slide 1

Slide 1 text

Explainable AI: LIMEを用いた判断根拠の可視化 ImVisionLabs株式会社代表取締役 板倉健太 博士(農学)

Slide 2

Slide 2 text

深層学習による判断根拠の可視化について 1 iPhone12 LiDAR 深層学習により自動分類した結果  異常を検知した場合、対象部位を表示する 出展:京都府の肺ガン検診にAIを活用 https://medit.tech/ai-for-lung-cancer-demonstration-in-healthcheck-in-kyoto/

Slide 3

Slide 3 text

判断根拠の可視化について 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). 犬と分類した時の判断根拠の可視化のイメージ

Slide 4

Slide 4 text

判断根拠の可視化について 3 iPhone12 LiDAR 3次元点群データ 深層学習により自動分類した結果  LIMEの適用例として、農作物の欠陥の分類の判断根拠を可視化した例などがある 出展: 斎藤 嘉人, 山本 一哉, 板倉 健太, 今田 伸二, 二宮 和則, 近藤 直: 畳み込 みニューラルネットワークおよびサポートベクターマシンを用いたバレイショの外部 欠陥種別の分類 、農業食料工学会誌 2021年5月

Slide 5

Slide 5 text

判断根拠の可視化について 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

Slide 6

Slide 6 text

LIMEの手順: 領域分割 5 iPhone12 LiDAR 1.試したい画像と畳み込みニューラル ネットワークCNNを用意 • 今回は学習済みのネットワーク (ResNet-18)を使用 • 自分で作ったCNNでも可能 2.画像をスーパーピクセルに分割 • k-means法などで色味の近いピクセルを1つにまとめる • mean-shiftなど他の分割方法でも実装可能

Slide 7

Slide 7 text

LIMEの手順: 複数のマスクの塗りつぶし 6 iPhone12 LiDAR 3.ランダムにk-meansで分割した領域を黒くする • 何枚か(例:1000)ランダムに生成する • ランダムにマスキングする画像を増やす方がLIMEによる可 視化の精度は高まる • 同時に計算コストも高くなる 4.3で作成した画像(例:右の猫の図)に対し、CNNで分類する • それぞれの加工された画像に対してスコア(cat)の値が返される • 正解のスコアが下がる→CNNにとって重要な場所が隠されたのではないか 作成したマスク画像 (perturbated image)の例

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

LIMEの手順: 回帰 8 6.マスク画像とそのスコアを下のように表す(例) • 元画像との類似度が高いほど、大きな重みとする • カーネル関数などを利用して類似度や重みを計算する スーパーピクセルのID(のちの説明変数X) Catのスコア 1 2 3 4 類似度をもとに決める重み 0.72 1 0 0 0 1 0.88 0 1 1 0 2 0.91 1 0 1 1 3

Slide 10

Slide 10 text

LIMEの手順: 回帰 9 7.重み付きの線形回帰でフィッティングする (例: y=ax1 +bx2 +cx3 +dx4 ) • y:スコア • 説明変数(X):スーパーピクセルのIDの値(1や0という値) (この例の場合、センサーが4つあって、それぞれの出力値が0か1のイメージ) • 決定木などの他のアルゴリズムを利用することも可能

Slide 11

Slide 11 text

LIMEの手順: 可視化 10 iPhone12 LiDAR 8.各スーパーピクセルの重みの大きさをもとにその重要度がわかる

Slide 12

Slide 12 text

LIMEを用いた判断根拠の可視化: まとめ 11  本資料では、画像を対象とした場合のLIMEの手順について紹介しました  LIMEでは、対象のデータに対して処理を行い、判断根拠の可視化を行います • 深層学習モデル全体の判断のルールを考察するものではありません  ランダムにマスク画像を生成するため、マスク画像のパターンや数などによって、毎 回結果が変わる場合があります