这看起来像:可解释图像识别的深度学习(ProtoPNet可解释图像分类方法)
这看起来像:可解释图像识别的深度学习
(原论文名: This Looks Like That: Deep Learning for Interpretable Image Recognition)
作者:
Chaofan Chen∗,
Oscar Li∗,
Chaofan Tao,
Alina Jade Barnett,
Jonathan Su,
Cynthia Rudin
论文下载地址:https://arxiv.org/abs/1806.10574
Git地址:https://github.com/cfchen-duke/ProtoPNet
(相关的数据集什么的,需要自己去下载,文章中提到的鸟类和车类数据集有公开的!)
在介绍本片文章前,先说明一些在研读该论文时,参考的文章。
①这篇博客,在18年就对本篇论文做了详细的介绍,尤其是对模型的核心——prototype layer(原型生成层,这个命名可能不太准确哈)的实现做了极为详细的介绍
https://blog.****.net/z0n1l2/article/details/81006360
②这篇文章总结了2019年的两种可解释性模型,一个从维度ID角度出发,一个就是从原型-零件学习思想出发的ProtoPNet模型,并且对实验细节做了详细介绍。
https://www.sohu.com/a/370533941_129720
内容概括
研究背景
一、模型结构
二、损失函数
三、模型细节
四、注意力机制与ProtoPNet
五、分类过程(可解释性逻辑)
六、模型优点
①与事后解释方法不同:
事后解释常采用**最大化、反卷积和显著性可视化处理。这些事后可视化的方法无法解释模型实际上是如何推理和做出决策的。
而ProtoPNet模型则针对具体情境下给出了内置的推理过程,并且该网络的可解释性实在模型生成以及样本分类过程中体现出的。
②既提供了不可比拟的可解释能力,也保留了精度:
这种部分到整体的推导过程(就像是),同时利用了注意力机制,体现了该网络在逻辑上的可解释性,这是很多其他可解释方法仍未能做到的。
同样通过实验,发现ProtoPNet和类似的不可解释的其他网络精度相当,并且利用NiN(网络中的网络)融合成更大的网络时,可以达到与某些性能最佳的深层模型相当的精度。
七、具体实验验证
实验细节
每经过5 epochs训练,需要把当前模板Pj投影到一个feasible set中,但只能略微提高损失函数的值。
具体实验中把Pj赋值成和其最相似的特征图patch.因为这个操作一定是训练的最后一步。
所以训练结束时,通过找到每个模板Pj对应的patch在原图中的对应(位置),达到可视化的目的.
————————————————————————————————————————————————————
总结/展望 与 补充
①不做事后解释(上篇博文中有介绍)
区分了可解释性高的机器学习模型和决策风险高的黑匣子模型,说明了事后解释存在的问题,并定性地说明了可解释性与精确度之间的关系,寻找二者之间的一个平衡。
为创建真实可解释模型的技术的重要参考(逻辑模型与计分系统)。
②ProtoPNet网络
参考了上篇论文提出的技术参考(逻辑角度与相似度评分)构建模型。
本文的主要目的是探索机器模型在推理过程中的“为什么是这样的”这个问题,其比较别出心裁的参照了人类的“这个看上去像那个” 的回答思路,提出的 ProtoPNet,在可解释性和分类精度上都有不错的表现。
从可视化的角度来展示了这个网络的推理的功能,试图分析网络的可解释性,并给网络性能的提升提出不同的提升方向。
(另 热腾腾的PPT啥的 已经上传啦,可供参考 包括了上篇的“不要做事后解释”文章