はじめに
こんにちは。大学で昆虫学を専攻していたものです。大学では、卒業論文で、YOLOv8を用いて、アブラムシの齢期を分類していました。今回は、大学の研究で得た人工知能を用いて、人工知能がアブラムシの「どこを、どう見たのか」を明らかにしていこうと思います。
Grad-CAM解析:CNNの判断を可視化する
はじめに
畳み込みニューラルネットワーク(CNN)は画像認識で高い性能を示していますが、「なぜそのような判断をしたのか」を理解するのは容易ではありません。そこで登場したのが**Grad-CAM(Gradient-weighted Class Activation Mapping)**です。
Grad-CAMとは
Grad-CAMは、CNNが画像のどの部分に注目して判断を下したのかを可視化する手法です。特徴として:
- CNNの最終層の勾配を利用して重要な領域を特定
- クラス固有の視覚化が可能
- 直感的なヒートマップ形式で結果を表示
Grad-CAMの発展形
Grad-CAMの基本的なアイデアを発展させた手法がいくつか提案されています:
1. Faster Grad-CAM
- 計算効率を改善した手法
- 基本的なGrad-CAMと同等の精度を維持しながら、処理速度を向上
2. Eigen-CAM
- 主成分分析(PCA)の考え方を取り入れた手法
- より安定した可視化結果が得られる
- クラス依存しない特徴マップの生成が可能
Eigen-CAMの特徴
Eigen-CAMは以下のような特長を持っています:
- 勾配計算が不要
- 処理が高速
- モデルに依存しない汎用的な可視化が可能
- より安定した結果を得られる
Grad-CAM及びその派生技術は、ディープラーニングの判断過程を理解する上で非常に重要なツールとなっています。特にEigen-CAMは、その使いやすさと安定性から、実践的な場面での活用が期待されています。
YOLOv5でまず、使ってみた。
使ったコード↓
アブラムシの全体を見ていることが分かりますが、どこを見たのか分かりませんでした。
YOLOv8で使ってみた。
使ったコード↓
アブラムシの後ろ足に着目していることが分かります。
Grad-CAM解析で大事なこと
Grad-CAM解析で大事なことは優秀なモデルの方が、GradCAM解析がうまくいくこと。ここで示したYOLOv5はYOLOv8より劣る。→YOLOv8の方が結果の信憑性が高い。
考察
前、論文でアブラムシの後ろ脚に着目して、齢期を診断したことが報告されていました。若干、後ろ足に着目してるかな?という印象ですから、一概には言えませんが、論文と一致します。
Grad-CAMは、どこを同定したらいいのかというインスピレーションを与えてくれる技術ですね。
将来的には
将来、医療現場でAIが使われるようになると思います。そこで、AIが診断した病気の判断根拠を提示することに貢献できるのではないでしょうか。
参考文献
- "Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization"
- "Eigen-CAM: Class Activation Map using Principal Components"