Network Dissection 论文阅读笔记

news2024/10/7 16:25:42

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”分析卷积神经网络的可解释性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【二等奖方案】基于人工智能的漏洞数据分类赛题「道可道,非常道」团队解题思路

2022 CCF BDCI 大赛 数字安全公开赛「基于人工智能的漏洞数据分类」赛题二等奖团队「道可道,非常道」战队获奖方案,赛题地址: http://go.datafountain.cn/s57 团队简介 本团队具有丰富的比赛和项目经验。在AI大赛上多次拿到Top成绩&#xf…

2.Docker镜像和容器操作

文章目录 Docker操作Docker镜像操作搜索镜像获取镜像镜像加速下载查看镜像详细信息为镜像添加标签删除镜像导出导入镜像上传镜像 Docker容器操作创建容器查看容器状态启动容器创建并启动容器进入容器停止容器删除容器复制容器文件到宿主机容器的导出导入 Docker操作 ###查看do…

uniapp中超好用(且免费)的安全类插件推荐!(持续更新中)

前几天写了一篇【干货分享】uniapp做的安卓App如何加固,发现收藏的人蛮多的。所以说,更加证明了我说的第一个问题:现在用uniapp的人是越来越多了。 而通过使用uniapp上自带的插件,也是能够实现事半功倍的效果,让不懂前…

简单记录一下剑指offer的编程题(C语言实现)——替换空格反转链表

1. 替换空格 (剑指 Offer 05) 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例: 输入:s "We are happy." 输出:"We%20are%20happy."简单分析: 新建一个数组,…

《SpringBoot篇》16.SpringBoot整合Elasticsearch

陈老老老板 说明:工作了,学习一些新的技术栈和工作中遇到的问题,边学习边总结,各位一起加油。需要注意的地方都标红了,还有资源的分享. 一起加油。 本文是介绍Elasticsearch用法与SpringBoot整合 1.ES简介 注&#xf…

Solus Linux 4.4版本发布

导读Solus Linux近日更新到4.4版本,作为这个受爱好者欢迎的Linux发行版的最新增量更新,团队仍在努力实现其基于Serpent OS和对Linux发行版的其他重大基本变化的纳入。 Solus 4.4带有各种各样的更新包,还有一些其他的改变,比如现在…

【C++学习记录】(二)--一个C++工程文件里有哪些东西?

写在前面 首先,我有一个完整的C工程文件,文件分别是包含Debug、include、Service和src。 1.了解文件结构: 首先,查看每个文件夹中的内容以了解文件的组织结构。Debug文件夹通常包含与调试相关的文件,include文件夹可能包含头文件…

Innovus:highlight clock tree(高亮时钟树方法)

过往文章链接: ICC2: highlight clock tree(高亮时钟树方法) innovus也有高亮clock tree的方法 在ccopt之后,使用ctd_win命令打开Clock Tree Debugger (CTD) window。 ctd_trace -from $root_pin -to $sink_pin -color $color ;#…

产品介绍|持续机器视觉产品的研发与迭代,赋能制造行业智慧生产

当前,以人工智能为代表的新一代信息技术正在加速推动社会各领域优化升级,对于行业自动化、智能化的要求越来越高,作为人工智能重要领域之一的机器视觉技术,迎来了快速发展。 机器视觉用机器代替人眼来做测量和判断,通…

STM32MP157驱动开发——设备树知识

文章目录 概述开发板中设备树文件目录结构设备树文件语法设备树文件参考实例:Devicetree 格式DTS 文件的格式node 的格式properties 的格式 dts 文件包含 dtsi 文件常用的属性#address-cells 、#size-cellscompatiblemodelstatusreginterruptgpio属性name( 过时了&a…

SSM框架整合

1.创建数据库表 数据库环境搭建 CREATE DATABASE ssmbuild;USE ssmbuildDROP TABLE IF EXISTS books;CREATE TABLE books( bookID INT(10) NOT NULL AUTO_INCREMENT COMMENT 书id, bookName VARCHAR(100) NOT NULL , bookCounts INT(11) NOT NULL , detail VARCHAR(200) NOT …

【Netty】NIO基础(三大组件、文件编程)

文章目录 三大组件Channel & BufferSelector ByteBufferByteBuffer 正确使用姿势ByteBuffer 内部结构ByteBuffer 常见方法分配空间向 buffer 写入数据从 buffer 读取数据mark 和 reset 字符串与 ByteBuffer 互转Scattering ReadsGathering Writes粘包、半包分析 文件编程Fi…

美团青龙教程(2023.3.2最新版)附脚本

这次直接放上leaffish大佬的库地址吧,美团脚本也在里面 (此为最新脚本) ql raw https://raw.githubusercontent.com/leafTheFish/DeathNote/main/meituanV3.js /* 美团 v3.02 新版美团仅支持青龙等nodejs环境, 不支持圈X 自动领券和完成一…

HTML5+CSS3+JS小实例:快捷菜单图标按钮交互特效

实例:快捷菜单图标按钮交互特效 技术栈:HTML+CSS+JS 字体图标库:font-awesome 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name…

6.7Jmeter5.1,非GUI模式,通过命令行传递线程数

原创文章&#xff0c;谢绝转载。 一、前提 本次做性能测试&#xff0c;需求是需要在Linux下的非GUI模式下执行。但用命令行执行时&#xff0c;线程数需要改变&#xff0c;为了执行方便&#xff0c;不需要每次都在脚本中修改线程数&#xff0c;那么线程数都需要通过参数传递&…

Flutter III 之你不知道的 PlatformView 的混乱之治

如果你是从 2018 年开始使用 Flutter &#xff0c;那么相信你对于 Flutter 在混合开发的支持历程应该会有一个深刻的体会&#xff0c;如果你没尽力过这个时期&#xff0c;不要担心&#xff0c;通过我过往 PlatformView 的相关文章&#xff0c;你也可以有一个清晰的感受&#xf…

python 乘法口诀

下面是一个用Python打印乘法口诀表的代码&#xff1a; print("乘法口诀表:")for i in range(1, 10):for j in range(1, i1):print(f"{j} {i} {i*j}", end"\t")print()

AI绘画创意文字全流程揭秘,你的终极文字艺术实操宝典

本教程收集于&#xff1a;AIGC从入门到精通教程汇总 AIGC技术不断更新迭代&#xff0c;国内出现了越来越多的新玩法&#xff0c;比如最近大家都在热议的AI绘画创意文字。 过去的一周&#xff0c;我把这些新玩法都研究了一遍&#xff0c;并总结了一套完整的制作流程。 主流的…

马斯克重返人工智能赛道,官宣成立xAI

KlipC报道&#xff1a;马斯克宣布成立xAI人工智能公司。 KlipC的合伙人Andi Duan表示&#xff1a;“马斯克称xAI公司的目标是了解宇宙的真实本质&#xff0c;同时也向ChatGPT等热门人工智能应用发起挑战。 Duan先生指出自OpenAI去年年底推出ChatGPT以来&#xff0c;马斯克就在A…

全网首发!精选32个最新Python实战项目(附源码),拿走就用!

Python是目前最好的编程语言之一。由于其可读性和对初学者的友好性&#xff0c;已被广泛使用。那么要想学会并掌握Python&#xff0c;可以实战的练习项目是必不可少的。接下来&#xff0c;我将给大家介绍32个非常实用的Python项目&#xff0c;帮助大家更好的学习Python。大家也…