> 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. python生成器浅析

    A 'generator' is a function which returns a generator iterator. It looks like a normal function exce ...

  2. Spark(十六)【SparkStreaming基本使用】

    目录 一. SparkStreaming简介 1. 相关术语 2. SparkStreaming概念 3. SparkStreaming架构 4. 背压机制 二. Dstream入门 1. WordC ...

  3. 零基础学习java------36---------xml,MyBatis,入门程序,CURD练习(#{}和${}区别,模糊查询,添加本地约束文件) 全局配置文件中常用属性 动态Sql(掌握)

    一. xml  1. 文档的声明 2. 文档的约束,规定了当前文件中有的标签(属性),并且规定了标签层级关系 其叫html文档而言,语法要求更严格,标签成对出现(不是的话会报错) 3. 作用:数据格式 ...

  4. 【leetcode】1217. Minimum Cost to Move Chips to The Same Position

    We have n chips, where the position of the ith chip is position[i]. We need to move all the chips to ...

  5. Output of C++ Program | Set 4

    Difficulty Level: Rookie Predict the output of below C++ programs. Question 1 1 #include<iostream ...

  6. Copy constructor vs assignment operator in C++

    Difficulty Level: Rookie Consider the following C++ program. 1 #include<iostream> 2 #include&l ...

  7. vue-cli4脚手架搭建三

    组件传值 <script> import LunBo from "./LunBo"; export default { name: 'Home', components ...

  8. 【Linux】【Services】【SaaS】Docker+kubernetes(7. 安装Docker私有镜像仓库)

    1. 简介 1.1. 自己做个私有镜像,方便上传和下载,我也在docker官网注册了一个账号,做好的镜像可以传上去 1.2. Redhat自带私有镜像的功能,需要安装包,这是howto: https: ...

  9. 【力扣】649. Dota2 参议院

    Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇) Dota2 参议院由来自两派的参议员组成.现在参议院希望对一个 Dota2 游戏里的改变作出决定.他们以一个基于轮为过程的投 ...

  10. ERROR: Command errored out with exit status 1:安装pip3 install --user pyecharts==0.5.11失败问题总结

    一.前言:最近在学习pyecharts学习到Grid时候发现代码无法运行了,经过在网上查找资料说是pyecharts版本不适配了,之前的版本是 pip install pyecharts==0.1.9 ...