畳み込みニューラルネットワーク(CNN)の判断根拠の可視化手法 (20分トーク用)

畳み込みニューラルネットワーク(CNN)の判断根拠の可視化手法 (20分トーク用)

CAMPHOR- Day (https://camphor.connpass.com/event/119434/) での発表資料です。

畳み込みニューラルネットワーク(CNN)により非常に高精度で画像認識を行うことができることは良く知られている一方で、AIはブラックボックスだから医療やビジネスには使いづらいという意見も聞きます。果たしてCNNが画像認識を行う過程は本当にブラックボックスなのでしょうか。このトークではCNNが画像認識を行う原理を簡単に説明し、判断根拠の可視化手法の原理を説明します。

他資料からの引用が多いですが,問題があれば削除します.

B74ae56d7910fbe1dd685c999b8f9e31?s=128

ShibaNyan

March 09, 2019
Tweet

Transcript

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

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

  3. 構成 • CNN(畳み込みニューラルネットワーク)とは? • ブラックボックスってどういうこと? • CNNを理解するための前提知識 • CNNの仕組み •

    判断根拠の可視化 (CAM)
  4. 畳み込みニューラルネットワーク(CNN)と は?

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

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

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

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

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

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

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

  13. 畳み込みフィルタとは?

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

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

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

  17. 畳み込みフィルタ フィルタをかけることで新しい画像を作ることができる. 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

  18. 平均化フィルタ * 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/
  19. 平均化フィルタ * = a w x 1/9 1/9 1/9 1/9

    1/9 1/9 1/9 1/9 1/9
  20. 微分フィルタ * 0 0 0 0 -1 1 0 0

    0
  21. None
  22. 微分フィルタ * 0 0 0 0 -1 1 0 0

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

    0 0
  24. CNNのしくみ

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

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

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

  28. 判断根拠の可視化

  29. https://github.com/metalbubble/CAM

  30. https://arxiv.org/abs/1512.04150

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