Network Dissection 论文阅读笔记

Network Dissection 论文阅读笔记

  • 1. 简介
  • 2. 网络刨析
    • 2.1 深度视觉表征的可解释性的测量步骤
    • 2.2 数据集
    • 2.3 可解释神经元评分
  • 3. 实验
    • 3.1 对解释的人类评价
    • 3.2 Measurement of Axis-Aligned Interpretability
    • 3.3 理解层概念
    • 3.4 网络架构和监督
    • 3.5 训练条件 vs 可解释性
    • 3.6 网络的分类能力 vs 可解释性
    • 3.7 层宽度 vs 可解释性
  • 4. 问答
  • 参考

1. 简介

  这是CVPR2017一篇有关深度学习可解释性研究的文章,作者通过评估单个隐藏神经元(unit)与一系列语义概念(concept)间的对应关系,来量化 CNN 隐藏表征的可解释性。

2. 网络刨析

2.1 深度视觉表征的可解释性的测量步骤

  1. 确定一套广泛的人类标记的视觉概念集合。
  2. 收集隐藏神经元对已知概念的响应。
  3. 量化(隐藏神经元,概念)的映射方式。

2.2 数据集

  作者建立了一个完善的测试数据集,叫做Broden(Broadly and Densely Labeled Dataset),每张图片都在场景、物体、材质、纹理、颜色等层面有pixel-wise的标定。Broden 数据集中的样本示例如下图所示。
在这里插入图片描述

2.3 可解释神经元评分

  将该数据集中的每一张图喂给需要分析的网络,拿到每个feature map 上的响应结果,进一步分析该层feature map对应的语义关系,归纳结果。整体流程如下图所示。
在这里插入图片描述

  对于Broden数据集中的每个输入图像 x x x,收集每个内部卷积核 k k k 的激活映射 A k ( x ) A_k (x) Ak(x)。然后计算了单个卷积单元激活量的分布情况 a k a_k ak。对于每个单元 k k k ,在数据集中的激活映射的每个空间位置上,通过 P ( a k > T k ) = 0.005 P(a_k>T_k)=0.005 P(ak>Tk)=0.005 确定上分位数 T k T_k Tk
  为了比较低分辨率单元的激活映射与输入分辨率注释掩码 L c L_c Lc 的某些概念 c c c,使用双线性插值将激活特征图 A k ( x ) A_k(x) Ak(x) 放大到输入掩码分辨率 S k ( x ) S_k(x) Sk(x),将插值固定在每个单元的接受域的中心。
  然后将 S k ( x ) S_k(x) Sk(x) 按阈值进行一个二进值分割: M k ( x ) ≡ S k ( x ) ≥ T k M_k(x)≡S_k(x)≥T_k Mk(x)Sk(x)Tk,选择激活特征图超过阈值 T k T_k Tk 的所有区域。通过对每对 ( k , c ) (k,c) (k,c) 计算交集 M k ( x ) ∩ L c ( x ) M_k(x)∩L_c(x) Mk(x)Lc(x),对数据集中的每个概念 c c c 进行评估。
  每个单元 k k k 作为概念 c c c 的分割得分通过以下交并比公式计算:
I o U k , c = ∑ ∣ M k ( x ) ∩ L c ( x ) ∣ ∑ ∣ M k ( x ) ∪ L c ( x ) ∣ IoU_{k,c} = \frac{\sum|M_k(x) ∩ L_c(x)|}{\sum|M_k(x) ∪ L_c(x)|} IoUk,c=Mk(x)Lc(x)Mk(x)Lc(x)
这里 ∣ ⋅ ∣ |\cdot| 是一个集合的基数。因为数据集包含一些类型的标签,这些标签不存在在某些输入子集上,仅仅在图像子集上至少有一个与 c c c 相同的概念标签时计算求和。 I o U k , c IoU_{k,c} IoUk,c 的值是单元 k k k 检测概念 c c c 的精度;如果 I o U k , c IoU_{k,c} IoUk,c 超过一个阈值(文中设置为0.04),我们考虑一个单元 k k k 作为概念 c c c 的检测器。请注意,一个单元可能是多个概念的检测器(一个概念也可能被多个单元检测到);为了进行分析,我们选择了排名靠前的标签。为了量化一个层的可解释性,我们计算检测唯一概念单元的数量,称之为唯一探测器的数量 (number of unique detectors)。

3. 实验

3.1 对解释的人类评价

在这里插入图片描述
  在最底层,Broden中可用的低级颜色和纹理概念仅足以匹配少数单元的良好解释。人类的一致性在conv5中也最高,这表明人类更善于识别和同意高级的视觉概念,如物体和部分,而不是出现在较下层的形状和纹理。

3.2 Measurement of Axis-Aligned Interpretability

  为了探究网络的可解释性(Interpretability)是否与单元(units)的排列分布有关,作者对于某一层的所有单元进行random linear combination(下图Q),也即打乱该排布方式,而后将打乱的次序归位(下图 Q − 1 Q^{-1} Q1),观察concept的变化情况得到结果。具体如下图所示:
在这里插入图片描述
其中,rotation的大小代表了random Q的程度大小,而打乱这些units的排布并不会对于网络的最终输出产生影响,同时也不会改变该网络的表达能力(discriminative power)。

在这里插入图片描述
  可以从结果中发现,随着rotation的逐渐变大,number of unique detectors开始急剧减少,因此CNN网络的可解释性是受到unit的排序的影响的。

3.3 理解层概念

在这里插入图片描述
  证实直觉,color和texture概念在较低的conv1和conv2占主导地位,而conv5出现了更多的object和part探测器。

3.4 网络架构和监督

在这里插入图片描述
  在网络架构方面,我们发现可解释性ResNet > VGG > GoogLeNet > AlexNet。更深层次的架构似乎允许更大的可解释性。

在这里插入图片描述
  自监督模型创建了许多纹理检测器,但相对较少的对象检测器;显然,在大型注释数据集上,自监督学习任务可解释性要比监督学习任务弱得多。

3.5 训练条件 vs 可解释性

在这里插入图片描述
  上图绘制了不同训练迭代下基线模型快照的可解释性。我们可以看到,object检测器和part检测器在大约10,000次迭代中开始出现(每次迭代处理256幅图像)。我们在训练期间我们没有发现不同概念类别之间转换的证据。例如,conv5中的单元在成为object或part检测器之前不会变成texture或material检测器。
在这里插入图片描述
  上图中repeat1,repeat2,repeat3代表三种不同的权重初始化方式,结果表示:

  1. 比较不同的随机初始化,模型在唯一检测器数和总检测器数方面都收敛于相似的可解释性水平;
  2. 对于没有Dropout的网络,出现的texture检测器更多,但出现的object检测器更少;
  3. 批处理规范化似乎显著降低了可解释性。

3.6 网络的分类能力 vs 可解释性

在这里插入图片描述
  从上图中可以看到,分类能力和可解释性存在正相关关系。

3.7 层宽度 vs 可解释性

在这里插入图片描述
  conv5的卷积核从256增加到768,在验证集上具有与标准AlexNet相似的分类精度,但是在conv5上出现了很多独立检测器和检测器;我们还将conv5的单元数量增加到1024和2048,但独立概念的数量没有进一步显著增加。这可能表明AlexNet分离解释因素的能力有限;或者它可能表明限制解开概念的数量有助于解决场景分类的主要任务。

4. 问答

  在以下参考内容[2]、[3]、[4]中记录了一些作者本人回答的问题,可以帮助更好理解文章。

参考

[1] Network Dissection:
Quantifying Interpretability of Deep Visual Representations
[2] 论文笔记:《Network Dissection: Quantifying Interpretability of Deep Visual Representations》–CSDN
[3] 从深度神经网络本质的视角解释其黑盒特性–知乎
[4] 知乎大神周博磊:用“Network Dissection”分析卷积神经网络的可解释性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/43551.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows上配置Python环境变量

Python配置环境变量 🍁博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! Python下载官网&#xff1…

新星计划打卡学习:VUE3组合式API

目录 1、vue3组件页面的构成 2、setup选项 3、reactive 4、ref 最后 1、vue3组件页面的构成 从上到下依次是 逻辑、结构、样式 2、setup选项 经过语法糖的封装更简单的使用组合式api <script setup> // 经过语法糖的封装更简单的使用组合式api const message t…

kubesphere安装中间件

kubesphere安装mysql 创建configMap [client] default-character-setutf8mb4[mysql] default-character-setutf8mb4[mysqld] init_connectSET collation_connection utf8mb4_unicode_ci init_connectSET NAMES utf8mb4 character-set-serverutf8mb4 collation-serverutf8mb4_…

Django笔记之in查询及date日期相关过滤操作

这一篇介绍关于范围&#xff0c;日期的筛选 inrangedateyearweekweekdayquarterhour 1、in in 对应于 MySQL 中的 in 操作&#xff0c;可以接受数组、元组等类型数据作为参数&#xff1a; Blog.objects.filter(id__in[1,2,3])对应的 SQL 是&#xff1a; select * from blo…

字符函数和字符串函数下篇(详解)

❤️ 作者简介 &#xff1a;RO-BERRY 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识&#xff0c;对纯音乐有独特的喜爱 &#x1f4d7; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;如果你也感兴趣的话欢迎关注博主&#xff0c;期待更新 字符函数和字符串函数2 1…

el-popover在原生table中,弹出多个以及内部取消按钮无效问题

问题&#xff1a;当el-popover和原生table同时使用的时候会失效&#xff08;不是el-table) <el-popover placement"bottom" width"500" trigger"click" :key"popover-${item.id}"></el-popover> 解决&#xff1a; :key…

C程序环境及预处理

​​​​​文章目录 一、程序的翻译环境和执行环境 1.程序编译过程 2.编译内部原理 3.执行环境 二、程序运行前的预处理 1.预定义符号归纳 2.define定义标识符 3.define定义宏 4.define替换规则 5.宏和函数的对比 三、头文件被包含的方式 四、练习&#xff1a;写一…

【python工具】html中表格转化为excel

背景 大家在实际的工作中可能会遇到这样的场景,查看某个统计的页面数据,其中一些数据是表格形式展示的,比如这是国家统计局关于人口统计的数据: 你想将表格内容下载下来根据自己的需要进行二次加工,但是页面没有提供下载功能或者需要你登陆才能下载。那么重点来了~~ 操…

科大讯飞-脑PET图像分析和疾病预测挑战赛(一)

报错尝试&#xff1a; sklearn安装 后面根据一篇博客才知道&#xff0c;sklearn不能直接安装&#xff0c;需要先安装scipy 最后就能直接运行了&#xff0c;但是又出现了一大难点&#xff0c;numpy包有报错了&#xff0c;不得不说&#xff0c;dependance尤其严重。暂时没想到很…

基于大模型的Text2SQL微调的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

配置NFS服务

环境 环境 ubuntu 10.4 vm 7.1 终端 ifconfig 得到 ubuntu资料 INET ADDR 192.168.0.4 BCAST 192.168.0.255 MASK 255.255.255.0 操作前先关闭防火墙 关闭防火墙&#xff1a; 命令&#xff1a;sudo ufw disable 打开防火墙 命令&#xff1a;sudo ufw enable 配置过程 一 安…

uniapp 微信小程序 Picker下拉列表数据回显问题

效果图&#xff1a; 1、template <template><view class"items select-box"><view class"items-text">品牌型号</view><picker change"bindBrandType" :value"brandIndex" :range"brandList"…

电脑新装系统优化,win10优化,win10美化

公司发了新的笔记本&#xff0c;分为几步做 1.系统优化,碍眼的关掉。防火墙关掉、页面美化 2.安装必备软件及驱动 3.数据迁移 4.开发环境配置 目录 目录复制 这里写目录标题 目录1.系统优化关掉底部菜单栏花里胡哨 2.安装必备软件及驱动新电脑安装360 1.系统优化 关掉底部菜单…

Git远程操作

Git远程操作 理解分布式版本控制系统什么是版本控制系统&#xff1f;常见的版本控制系统 远程仓库新建远程仓库克隆远程仓库git clone使⽤HTTPS⽅式使⽤SSH⽅式git remote 向远程仓库推送git push 拉取远程仓库git pull 配置Git忽略特殊⽂件git check-ignore给命令配置别名 理解…

【软件测试】如何选择回归用例

目录 如何在原始用例集中挑选测试用例 具体实践 总结 本文讨论一下在回归测试活动中&#xff0c;如何选择测试用例集。 回归测试用例集包括基本测试用例集&#xff08;原始用例&#xff09;迭代新增测试用例集&#xff08;修复故障引入的用例和新增功能引入的用例集&#xf…

SQL调优教程

SQL调优教程 基础方法论 任何计算机应用系统性能问题最终都可以归结为 1.cpu消耗 2.内存使用 3.对磁盘&#xff0c;网络或其他I/O设备的输入/输出(I/O)操作 遇到性能问题时&#xff0c;要判断的第一点就是“在这三种资源中&#xff0c;是否有哪一种资源达到了有问题的程度”&…

质效两全:媒体服务的创新“顶设”

做媒体服务&#xff0c;一定要有刻入骨髓的抽象思维。 视频化浪潮汹涌、生成式人工智能AIGC极速迭代、体验需求和应用场景愈发多样......面对“视频生产力”的变革&#xff0c;我们能否透过纷繁复杂的表象&#xff0c;洞察音视频行业的“真正需求”&#xff1f; 是否存在一套…

【Python学习笔记】记载解决Python报错HTTP Error 403: Forbidden的一波三折过程

【Python学习笔记】记载解决Python报错HTTP Error 403: Forbidden的一波三折过程 当前进度&#xff1a;还没有解决&#xff0c;但是已经尝试了好几种办法&#xff0c;此处做个记录&#xff0c;也许能帮上忙。 本帖是整理回顾帖&#xff0c;不是教程帖&#xff0c;追求一个完美…

在 Windows 中通过 WSL 2 高效使用 Docker

大家好&#xff0c;我是比特桃。平时开发中&#xff0c;不免会使用一些容器来跑中间件。而开发者使用的操作系统&#xff0c;大多是Mac OS 、Windows。Docker 为了兼顾这两个平台的用户&#xff0c;推出了 Docker Desktop 应用。Docker Desktop 中的内核还是采用了 Linux 的内核…

智能合约安全审计

智能合约安全审计的意义 智能合约审计用于整个 DeFi 生态系统&#xff0c;通过对协议代码的深入审查&#xff0c;可以帮助解决识别错误、低效代码以及这些问题。智能合约具有不可篡改的特点&#xff0c;这使得审计成为任何区块链项目安全流程的关键部分。 代码审计对任何应用…