> Prabhushankar M., Kwon G., Temel D. and AlRegib G. Contrastive explanation in neural networks. In 2020 IEEE International Conference on Image Process (ICIP), 2020.

> Prabhushankar M., AlRegib G. Extracting causal visual features for limited label classification. In 2020 IEEE International Conference on Image Process (ICIP), 2021.

本文和对比学习和因果推断没有关系, 只是试图解释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的热点图的文章是上面的一个应用.

定义:

  1. \(\mathcal{C}_{P,Q}\) 为回答why P or Q的热点图, 关注所有的利用判别的特征;
  2. \(\mathcal{C}_{\bar{P},\bar{Q}}\) 为回答why neither P nor Q的热点图, 所有其它的特征;
  3. \(\mathcal{C}_{P,\bar{Q}}\) 为回答why neither P nor Q的热点图, 所有用于判别\(P\)的特征(包括\(P, Q\)共有的);
  4. \(\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])\)之类实在不能理解, 难不成是多标签分类?

contrastive CAM的更多相关文章

  1. Noise Contrastive Estimation

    Notes from Notes on Noise Contrastive Estimation and Negative Sampling one sample: \[x_i \to [y_i^0, ...

  2. 读书笔记-《Training Products of Experts by Minimizing Contrastive Divergence》

    Training Products of Experts by Minimizing Contrastive Divergence(以下简称 PoE)是 DBN 和深度学习理论的 肇始之篇,最近在爬梳 ...

  3. 了解多层交换中的CEF FIB CAM TCAM

    来源:http://blog.51cto.com/redant/314151 多层交换是指交换机使用硬件来交换和路由数据包,通过硬件来支持4-7层的交换.交换机执行硬件交换,第3层引擎(路由处理器)须 ...

  4. CAM(Content Addressable Memory)介绍

    CAM是一种特殊的存储器.所谓CAM,即内容寻址存储器.CAM存储器在其每个存储单元都包含了一个内嵌的比较逻辑,写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的 ...

  5. grad-cam 、cam 和热力图,基于keras的实现

    http://bindog.github.io/blog/2018/02/10/model-explanation/ http://www.sohu.com/a/216216094_473283 ht ...

  6. Notes on Noise Contrastive Estimation and Negative Sampling

    Notes on Noise Contrastive Estimation and Negative Sampling ## 生成负样本 在常见的关系抽取应用中,我们经常需要生成负样本来训练一个好的系 ...

  7. CAM 查看里先选哪些层才能方便查看

    CAM 检查 Gerber 时选 Layer 时有先后次序,才以看清楚是否有冲突. 比如检查 TOP 层时顺序应该是 MT ST L1 BOT 层检查顺序 MB SB L2/L4

  8. TCAM CAM 说明 原理 结构 Verilog 硬件实现

    TCAM 三态内容地址查找存储器,CAM内容地址查找存储器.区别在于TCAM多了一级掩码功能,也就是说可以指定某几位是dont care.匹配的时候0,1都行的意思. 广泛应用于数据流处理领域,本文简 ...

  9. 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上篇讲到,如果用Gibbs Sa ...

随机推荐

  1. 日常Java 2021/10/1

    正则表达式 \cx匹配由x指明的控制字符.例如,lcM匹配一个Control-M或回车符.x的值必须为A-Z或a-z之一.否则,将c视为一个原义的'℃'字符.\f匹配--个换页符.等价于\xOc和\c ...

  2. accommodate ~ ache

    accommodate The accommodation reflex [反射] (or accommodation-convergence [会聚] reflex) is a reflex act ...

  3. Java偏向锁浅析

    偏向锁的定义 顾名思义,偏向锁会偏向第一个访问锁的线程. 如果在接下来的运行过程中,该锁没有被其他线程访问,这持有偏向锁的线程将永远不需要同步 如果在运行过程中,遇到了其他线程抢占锁,则持有偏向锁的线 ...

  4. CAS你知道吗

    1.比较并交换 CASDemo /** * CAS => compareAndSet * 比较并交换 */ public class CASDemo { public static void m ...

  5. 【Linux】【Services】【VersionControl】Git基础概念及使用

    1. 简介 1.1. 版本控制工具: 本地版本控制系统: 集中化版本控制系统:CVS,SVN 分布式版本控制系统: BitKeeper,Git 1.2. 官方网站: https://git-scm.c ...

  6. Orcale 数据加载

    CSV 逗号分隔值格式文件 1,若要加载的文件不是CSV格式,可以修改数据文件,用分隔符来替换逗号:也可以修改控制文件,将FIELDS TERMINATED BY的值改为实际的分隔符. eg, 要向s ...

  7. java web 限制同一个用户在不同处登入

    用到的技术:map集合,sessionListener监听器,Fiter过滤器. 实现思路: 一.利用一个全局的map集合来保存每个用户sessionID的值的一个集合.一个用户对应一个session ...

  8. 【Linux】【Commands】systemd

    1. 系统启动流程:POST --> Boot Sequeue(BIOS) --> Bootloader(MBR) --> Kernel(ramdisk) --> rootfs ...

  9. Ajax异步更新网页(使用jQuery)

    jquery下载链接:https://pan.baidu.com/s/1KWQVpPV-RwhwGeBaXbZdVA 提取码:vn7x 一.页面代码 <!DOCTYPE html> < ...

  10. Svelte入门——Web Components实现跨框架组件复用(二)

    在上节中,我们一起了解了如何使用Svelte封装Web Component,从而实现在不同页面间使用电子表格组件. Svelte封装组件跨框架复用,带来的好处也十分明显: 1.使用框架开发,更容易维护 ...