Slide 1

Slide 1 text

畳み込み ニューラルネットワークの 判断根拠の可視化手法 @shiba6v

Slide 2

Slide 2 text

はじめに 前提知識: 行列が分かればOK.(のはず・・・) わからない部分の質問はいつでもOKです. かなり端折るので, 発展的な内容・厳密な議論は最後に お願いします.

Slide 3

Slide 3 text

構成 ● CNN(畳み込みニューラルネットワーク)とは? ● ブラックボックスってどういうこと? ● CNNを理解するための前提知識 ● CNNの仕組み ● 判断根拠の可視化 (CAM)

Slide 4

Slide 4 text

畳み込みニューラルネットワーク(CNN)と は?

Slide 5

Slide 5 text

https://qiita.com/taki_tflare/items/42a40119d3d8e622edd2 機械学習とは

Slide 6

Slide 6 text

CNNとは・・・ 画像分類など画像系のタスクによく用いられるニューラ ルネットワーク(人の神経から着想を得て作られた数理モデル ) ・画像分類 ・物体検出 など・・・ CNN 犬 CNN https://analyticsai.wordpress.com/2017/04/21/raspberry-pi3%E3%81%A7single-shot-mutib ox-detector%EF%BC%88ssd%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3 %81%A6%E3%81%BF%E3%82%8B/

Slide 7

Slide 7 text

画像認識にCNNを使うメリット・デメリット メリット 精度が高い! デメリット ブラックボックス https://srconstantin.wordpress.com/2017/01/28/performance-trends-in-ai/

Slide 8

Slide 8 text

ブラックボックスってどういうこと?

Slide 9

Slide 9 text

ブラックボックスってどういうこと? ● 謎で未知な内部機構を持つもの ブラックボックス 入力 結果 https://www.merriam-webster.com/dictionary/black%20box

Slide 10

Slide 10 text

ブラックボックスだと何が困る? 偏見に基づいて判断しているかもしれない 男性医師 の画像 女性看護 師の画像 学習用データセット 女性医師を看護師と判断してしまうかも・・・ 識別クラス: 医師,看護師,・・・ ・・・ https://arxiv.org/abs/1610.02391

Slide 11

Slide 11 text

判断根拠を可視化 https://arxiv.org/abs/1610.02391

Slide 12

Slide 12 text

CNNを理解するための前提知識 (畳み込みフィルタ)

Slide 13

Slide 13 text

畳み込みフィルタとは?

Slide 14

Slide 14 text

畳み込みフィルタ 画像は,二次元配列とみなせる.(白が255, 黒が0の値) 説明のために,モノクロ画像とする. i行j列目の画素値 http://hokuts.com/2016/12/13/cnn1/

Slide 15

Slide 15 text

畳み込みフィルタ 画像と別にフィルタとして小さめ(今回は3x3)の二次元配列を用意する. s行t列目のフィルタの値 http://hokuts.com/2016/12/13/cnn1/

Slide 16

Slide 16 text

畳み込みフィルタ フィルタを重ねてかけあわせ, その和を出力 (出力: フィルタがかかった画像)

Slide 17

Slide 17 text

畳み込みフィルタ フィルタをかけることで新しい画像を作ることができる. http://blog.yusugomori.com/post/129688163130/%E6%95%B0%E5%BC%8F%E3%81%A7%E6%9B%B 8%E3%81%8D%E4%B8%8B%E3%81%99-convolutional-neural-networks-cnn

Slide 18

Slide 18 text

平均化フィルタ * w x 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 http://www.image-net.org/

Slide 19

Slide 19 text

平均化フィルタ * = a w x 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9

Slide 20

Slide 20 text

微分フィルタ * 0 0 0 0 -1 1 0 0 0

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

微分フィルタ * 0 0 0 0 -1 1 0 0 0

Slide 23

Slide 23 text

微分フィルタ * = 0 0 0 0 -1 1 0 0 0

Slide 24

Slide 24 text

CNNのしくみ

Slide 25

Slide 25 text

CNNのざっくりとしたイメージ ドクターフィッシュか? キンギョか? ホホジロザメか? 学習後のCNNは,畳み込み層に何度も通すことで複雑な特徴をとらえ, 画像クラスを識別できる. https://lohaco.jp/product/L02317583/

Slide 26

Slide 26 text

Global Average Pooling https://qiita.com/mine820/items/c3726cb906c45a2e5265

Slide 27

Slide 27 text

CNNの構造 https://github.com/metalbubble/CAM

Slide 28

Slide 28 text

判断根拠の可視化

Slide 29

Slide 29 text

https://github.com/metalbubble/CAM

Slide 30

Slide 30 text

https://arxiv.org/abs/1512.04150

Slide 31

Slide 31 text

まとめ ● ブラックボックスだと偏見に基づいて学習するなどの問題がある. ● 畳み込みフィルタは,フィルタに画像を重ねてかけ合わせ,和をとる. ● CNNは畳み込み層を重ねてできている. ● チャネルの重要度をつかって,判断根拠の可視化ができる.