とほほ
タイトル記載のとおり、
生涯初、日付ガチ間違い「Qiita夏祭り2020_パソナテック」に出したかった。。。
なんとなく、金曜日、金曜日は実際は7/17ですが。。。までだと思ってた。
とほほ、なので、
以下、示し方、構成を変えて、端的に記事を書きます。
深層学習の説明性
深層学習において、何がどうなっているかわからない、という指摘がある。
それに対して、Grad-CAMという技術が、結構前からあり、
説明性に寄与している。
大前提として、このGrad-CAMというのは、わかり易いと思います。基本、肯定的に考えています。
しかし、
この深層学習の判断根拠を示すGrad-CAMに対して、人が気持ち(感情??)をのせすぎる、思い入れを加えると
めちゃくちゃになりますというアンチパターンです。
例1
なるほど。。。
- 湖畔の写真の撮り方の定番の、(a)手前の木の枝、(b)向こう岸、を完璧におさえている。
- 特に、(a)の手前の木の捉え方が、水面を背景にした部分を抑えており、これで、 湖畔(度)があがる。
って、気持ちを入れられますが、
ここまでに示したのは、dock(ドック)と判断する根拠を示したものです。
正しく、lakeside(湖畔)は、以下。
ここで、説明を加えると、アンチにはまるので。。。
例2
深層学習がtaddy(日本語ではトラ猫)と判断した部位は、以下。
なるほど。。。
- 猫の特徴は、一言で言えば目にある。もう少し、詳しく言うと、目自体とそのまわりの模様。
- あと、他の動物との差として注目するのが、胸元の模様。
って、気持ちを入れられますが、
ここまでに示したのは、doormat(ドアマット)と判断する根拠を示したものです。
正しく、この場合、taddyなのでtaddy(日本語ではトラ猫)は、以下。
ここで、説明を加えると、アンチにはまるので。。。
しかし、taddyは、目の上に「M」という文字があり、これが特徴なので、
正しい、捉え方です。念のため。
作業方法
ここで記載のGrad-CAMは、
実行コードは、以下のサイトのものを利用。
https://github.com/eclique/keras-gradcam
以下なども参考になると思いますが、
以下のコードは、issuesとかの状態も見られたほうがいいような気もします。
ちょっと、自分の使い方か?、変なところがあるような気がしないでもないです。
https://github.com/sicara/tf-explain/blob/master/examples/core/grad_cam.py
まとめ
「参加ボタン」を押したら、参加できませんってなったのが、衝撃でした!
いやでも、過ぎてから気づいて良かった。直前とかだと、かえってより悲しかっただろう。
それはさておき、深層学習の説明性をこれからもみていきましょう。もっと、明確なものが出てくると思います。
何のアンチを示したのか(再掲) |
---|
深層学習の判断根拠を示すGrad-CAMに対して、人が気持ち(感情??)をのせすぎる、思い入れを加えるとめちゃくちゃになります |