重点
- 卷积层之后接一个模板生成层,利用模板匹配的原理学习这一层,自动生成模板
- 训练中把模板映射到特征图的patch,保证模板的可解释性
论文地址
This looks like that: deep learning for interpretable image recognition
背景
深度学习发展至今在各个领域表现出极大的优势,但是很多时候人们很难解释其能力.本文从另一个思路提高网络的透明度:让深度学习用人们的思路去做图像识别, 不是explain,而是interpret. 设想人们如何判断图中是不是Florida jay?
* 头看起来和印象中的Florida jay相似
* 尾巴有点像,但和blue jay很像.
越是困难的识别任务,越能看出人们通过印象中的模板和图片中的某个部分做比较,确定相似性,最后综合多个部分多个模板的相似性结果,给出一个最终的判断.这里的关键词是:综合多个模板相似性. 如上图所示,论文中的算法采用同样的逻辑,训练阶段学习到若干模板(右侧一列三个小图),测试时模板和测试图每个patch比较,确定最相似patch的位置和相似度,最后通过所有模板的相似度完成图像识别任务,通过查看模板及其在测试图中的匹配位置,可以分析深度学习的识别逻辑.论文最后通过实验证明既提高了深度学习识别逻辑的透明度,也没有损失识别精度.
算法实现
网络结构
如图所示,若干卷积层构成特征模块,负责提取特征图像. 模板定义在特征空间里, 模板和特征图像尺寸不一致,计算模板和图像中每个patch计算相似度,得到hotmap,利用maxpool转换成一个标量,送入全连接网络,完成识别的任务.
模板 pj p j 和特征图 z z 之间的相似度用和模板匹配度最高的patch的欧式距离的负对数表示