概
本文和对比学习和因果推断没有关系, 只是试图解释why P rather than Q 的问题.
本文可以归属于CAM.
主要内容
比如我们的网络\(f\)可以用于区分篦鹭(spoonbill)和火烈鸟(flamingo).
现在有一张篦鹭的图片, 网络会给出一个概率, 一般的CAM的方法通过这个概率来判断哪个区域是被关注的.
更进一步地, 我们关心为什么这张图片中地是篦鹭而不是火烈鸟.
一般的CAM方法没法解答这个问题, 本文就给出了一个解释, 答案如上图. 即脖子这一块是主要的区分点.
首先我们需要衡量why P rather than Q问题的一个度量, 故对于离散的情况, 本文选择的时候经典的交叉熵损失函数: \(J(P, Q;\theta)\).
这里\(P\)的位置应该是网络判断的概率向量, 而\(Q\)则可以看成是在\(Q\)类对应的位置为1的one-hot向量.
这个其实和(targeted)对抗样本的思路是一样的, 唯一的区别可能就是CAM求的是\(J\)关于最后一层卷积层的梯度, 而不是直接作用于图片本身.
以Grad-CAM为例:
\[L_{Grad-CAM}^c = \mathrm{ReLU}(\sum_{k=1}^K \alpha_k^c A_l^k), \] \[\alpha_k^c = GP(\frac{\partial J(P,Q;\theta)}{\partial A_l^k})=\frac{1}{HW}\sum_i \sum_j \frac{\partial J(P,Q;\theta)}{\partial [A_l^k]_{ij}}. \]一个有趣的应用
作者最近发了一篇关于COVID-19 CT scans的热点图的文章是上面的一个应用.
定义:
- \(\mathcal{C}_{P,Q}\) 为回答why P or Q的热点图, 关注所有的利用判别的特征;
- \(\mathcal{C}_{\bar{P},\bar{Q}}\) 为回答why neither P nor Q的热点图, 所有其它的特征;
- \(\mathcal{C}_{P,\bar{Q}}\) 为回答why neither P nor Q的热点图, 所有用于判别\(P\)的特征(包括\(P, Q\)共有的);
- \(\mathcal{G}_P\)是通过Grad-CAM得到的热点图.
通过
\[C_P \backslash B_P = \mathcal{G}_P - [\mathcal{C}_{P, Q} - \mathcal{C}_{\bar{P}, \bar{Q}} - \mathcal{C}_{P, \bar{P}}] \]即作者认为这样就能得到只用于判别\(P\)的部分, 示意图如下:
注: 文中的\(\mathcal{L}(y, [1, 1])\)之类实在不能理解, 难不成是多标签分类?