🧠

VizGradCAMによるニューラルネットワークの可視化

2021/12/17に公開

VizGradCAMとは?

久しぶりのAI関係ネタです。ディープラーニングのAIモデル(ニューラルネットワーク)は、そのパラメータの多さから、ブラックボックス的に使うことになりがちです。

そんなAIの”お気持ち”を少しでも理解しようとする試みがあります。そのうちの一つがGrad-CAMという技術です。

そんなGrad-CAMによる可視化を手軽に実現できるライブラリがあったので紹介します。

https://github.com/gkeechin/vizgradcam

READMEをみると、とても簡単に使えそうですし、Jupyter Notebookのサンプルもあります。

VizGradCAMを使ったGoogle Colaboratoryのノートブックを作成しました

拙作「からあげ先生のとにかく楽しいAI自作教室」でも、Grad-CAMを取り上げていたのですが、少し複雑にコードになっていたのでVizGradCAMを使って書き直して、Google Colaboratoryのノートブックにしてみました。

https://colab.research.google.com/drive/1VbI18g1uw6_5ETc8VdzwBt0_XTGkceho?usp=sharing

じゃんけんのグー、チョキ、パーを画像認識するAIモデルに対して、Grad-CAMで可視化した結果です。

同じ構造のモデルに対して、Data Augmentationのあり、なしで比較してみました。

Data Augmentationなし

Data Augmentationあり

同じモデルでも、学習のさせ方で特徴が大きくことなることが分かります。面白いですね。

ただ「この情報をどう活かせば良いのか?」と問われると難しいところです。

今回の結果だと、影や背景の影響を消すような工夫をすると性能が良くなるのかな?と当たり前の理屈にこじつけられるくらいでしょうか。

まとめ

VizGradCAMを使ったAIモデルの可視化を実践して、Google Colabノートブックにして誰でも動かせる形で公開しました。

AIの学習に関して、何をやっているか詳しく知りたい人は、「からあげ先生のとにかく楽しいAI自作教室」を是非!

https://amzn.to/322ER2f

参考リンク

https://github.com/frgfm/torch-cam

関連記事

https://karaage.hatenadiary.jp/entry/2020/12/11/073000

https://qiita.com/karaage0703/items/07157a0406c757ef30b8

https://karaage.hatenadiary.jp/entry/2019/07/22/073000

Discussion