> 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. spring mvc idea创建

    创建项目 创建项目 --> Spring --> Spring MVC --> 下面选择Download,会显示Spring MVC-5版本 如果是首次使用IDEA,因为没有配置ma ...

  2. 【编程思想】【设计模式】【创建模式creational】Pool

    Python版 https://github.com/faif/python-patterns/blob/master/creational/pool.py #!/usr/bin/env python ...

  3. maven的lifecycle

    1.maven clean. 清理项目的target目录 2.maven compile 编译项目 3.maven test 编译项目后,再执行Junit测试方法 4.maven package 编译 ...

  4. fatal: unable to access 'https://github.com/xxxxx/xxxx.git/': Failed to connect to github.com port 443: Timed out

    今天使用git push的时候提示"fatal: unable to access 'https://github.com/xxxxx/xxxx.git/': Failed to conne ...

  5. Springboot整合MongoDB(Eclipse版本)

    IDEA版本其实也差不多的,大同小异 简单Demo地址: https://blog.csdn.net/shirukai/article/details/82152243 Springboot项目整合M ...

  6. redis实例cpu占用率过高问题优化

    目录 一.简介 一.简介 前情提要: 最近接了大数据项目的postgresql运维,刚接过来他们的报表系统就出现高峰期访问不了的问题,报表涉及实时数据和离线数据,离线读pg,实时读redis.然后自然 ...

  7. Linux——配置主从数据库服务

    主从数据库 Linux中,数据库服务有三种:互为主主,互为主从,一主一从(主从数据库) 互为主主:数据库时时更新 互为主从:数据库达到一定的的容量再更新 一主一从:在主数据库上面创建的,可以同步到从数 ...

  8. HyperSnips:VSCode上的自动补全神器

    发现一个小众但是巨好用的VSCode自动补全插件:HyperSnips. 作者显然受到了 这位小哥 的启发,将 Vim Ultisnips 的大部分功能搬到了VSCode上.并用 JavaScript ...

  9. Windows11下载地址

    10月5日微软推出了Win11正式版本,但是仍然不支持apk格式,不免让人失望.下面是Win11商业版本下载地址: 下载地址1: ed2k://|file|zh-cn_windows_11_busin ...

  10. 显卡不是你学习 Deep Learning 的借口

    显卡不是你学习 Deep Learning 的借口 很多人在学习深度学习的时候会以自己没有 RTX N 卡的理由不动手实操,只满足于看看"娱乐"视频,听几节基础知识.当然,如果只是 ...