论文笔记:Counterfactual Visual Explanations

Counterfactual Visual Explanations

[TOC]

简介

Counterfactual 反事实思维

首先介绍一下反事实思维,对于已经发生的事情,如果可以更改一些初始的条件,那么事情的发展可能就完全不同,与事实相反。这里介绍的反事实视觉解释,就是说如果可以更改样例中的某一部分,那么模型的预测结果就会完全不同。

Fig1中左边的图模型预测为Crested Auklet(C类),右边的图预测为Red Faced Cormorant(C‘类),那么怎么让模型认为左边的图是C’类呢?这篇文章用了一个很有趣的方法:把C‘类图像中的一部分替换掉原图,就是图像中红框标出的部分,替换掉一张嘴,就会使图像I变成C‘类。

动机 于是问题就变成了如何寻找这样的一个区域(CounterFactual Visual Explanation)可以使得模型预测从c类变成c'类。并设计了一个实验证明了如果可以展示这样的反事实解释,那么就可以更好的帮助用户学习到有用的知识。

方法

对于输入图像I,输出为\log P(Y|I),原始图像预测为c类,目标即为\log P(c'|I)。将network划分为两部分,第一部分为特征提取器,第二部分为决策部分。在这篇文章中,主要分析的就是如何改变特征提取的结果使得模型预测为c‘类。

为了简化目标,不直接对I进行修改,而是从c'类中直接寻找一个样本I',将其中的一部分进行替换,I^{\star}=T(I,I'),从而使得模型预测I^{\star}为c'。具体过程如下:

从右到左依次为:使用Permutation矩阵对I'进行排列,接着使用Gating Vector确定哪些区域需要被替换,同时确保Gating Vector中替换的部分尽量小。

为了加速计算,提出了以下两种方式:

  1. 贪心策略。每次只替换一个区域,即得到边际效应最高的部分。
  2. 梯度优化。将上文中的Gating Vector改为和为1的非负向量,Permutation Matrix改为Right stochastic matrix,这样就可以使用梯度下降求解。

\begin{aligned} \mathop{maximize}\limits_{P,a} \quad & g_{c'}((\mathbb{1-a}) \circ f(I) + a \circ Pf(I')) \\ \mathop{s.t.} \quad & \|a\|_{1} \quad a{i} \geq 0 \quad \forall_{i} \\ & \|p_{i}\|=1 \quad \forall_{i} \quad P_{i,j} \geq 0 \quad \forall_{i,j} \end{aligned}

实验结果

下面是用上述方法得到的实验结果。

第一个实验室MNIST数据集,第二个是Caltech-UCSD Birds数据集。第一列是c类,第二列是c'类,第三列是合成之后的图像。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容