NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展

简介: 一直以来,深度网络在图像识别,检测,语言等领域都有强大的能力。研究者们的重点都在如何提升网络性能上,很少有人能说清楚深度神经网络为何能够得到较好的泛化能力,有的研究者习惯从原理上来说明这个问题,有的研究者则会从中间结果来解释,当然这些观点都各有千秋。在 NeurIPS 2019 上,有些学者在网络的可解释性上发表了自己的研究。

以下就两篇论文从两种不同的角度来描述研究者们对于泛化能力的理解和解释。


论文 1:Intrinsic dimension of data representations in deep neural networks


微信图片_20211203020003.jpg


论文链接:https://arxiv.org/pdf/1905.12784v1.pdf


对于一个深度网络,网络通过多层神经层渐进的转换输入,这其中的几何解释应该是什么样的呢?本文的作者通过实验发现,以固有维度(ID:intrinsic dimensionality)为切入点,可以发现训练好的网络相比较未训练网络而言,其每层的固有维度数量级均小于每层单元数,而且 ID 的存在可以来衡量网络的泛化性能。


1 首先,ID是什么?


ID 是描述数据信息所需要的最小的且不造成重要信息损失的维度。目前的深度神经网络中,我们普遍的都知道过量的参数导致了模型的过参数化,带来了冗余信息,神经网络压缩就是由此产生的。那么,有没有什么定量的统计量来显示网络的复杂度或者评估网络呢,本文就是以固有维度为切入点来探索该统计量和模型泛化能力之间的关系。


2 ID 的评估方法


作者用 TwoNN 这个方法来估计 ID,TwoNN 的简单流程如下图所示。


微信图片_20211203020047.jpg

图 1:TwoNN 估计 ID 的流程。


图 1 左图表示的是某神经网络第二层的两个维度的数据点集,右图是运用 TwoNN 算法简要估计 ID 的流程。首先,TwoNN 算法随机采样一个数据点,并通过计算距离选取出这个数据点对应的最近邻(r1)和其次近邻(r2),计算这两个邻居之间的比值。通过概率分布估算出这个比值的分布,最后通过多次采样计算估算出数据的 ID,例如,在图 1 中的数据中 ID 约为 1。


当 ID 在 20 以下的时候,TwoNN 算法可以无限的逼近真实的 ID。而 ID 的真实数值较大,且仅有有限的采样数据的时候,TwoNN 估计出来的 ID 是小于真实值的。因此,在这个情况下,利用 TwoNN 估计出来的 ID 值可以看做一个真实 ID 值的下界。


3 实验结果和结论


以上是对 ID 的介绍以及评估方法的介绍。利用这个估算方法,本文。但是,总的来说本文的重点部分就是通过对 ID 的研究,回答如下的几个问题。

  • 在 CNN 网络中,不同的 layer 之间,ID 是否会变化?
  • ID 和网络的线性维度是否有区别?
  • ID 和网络泛化性能之间是否有联系?


接下来,我们来一个个的回答如上的三个问题。

问题 1:在 CNN 网络中,不同的 layers 之间,ID 是否会变化?


首先,作者在 VGG-16 上用 ImageNet 预训练,并在一个 1440 张的综合数据集上微调,得到如下图所示的曲线。


微信图片_20211203020133.jpg

图 2:ID 在不同的 layer 之间的变化。


从图 2 中,我们可以明显的看到,ID 在不同层之间是有个先上升后下降的过程。尤其是在最后一层,ID 达到一个最小的量级。


微信图片_20211203020154.jpg

图 3:ID 和绝对深度、相对深度的关系。


在图 2 中,我们已经发现 ID 在层级之间是够「驼背」的样式,那么这个驼峰的出现是和绝对深度还是相对深度有关呢?


图 3 可以回答这个问题,在图 3 的右图中,我们可以发现这个趋势跟相对深度有关,基本的驼峰出现在 0.2-0.4 的相对深度之间。当然从图 3 的大量实验,也更能佐证图 2 的 ID 和层之间的趋势。


问题 2:ID 和网络的线性维度是否有区别?

为了回答第二个问题,作者选用了 PCA 作为线性降维的方法来和 ID 对比。



微信图片_20211203020223.jpg

图 4:PCA 和 ID 与模型数据降维之间的关系。


在图 4A 中,PCA 的特征值谱中出现了一个间隙,这个可以表明数据降维之后并不在一个线性的空间中,而是一个弯曲流形中。


问题 3:ID 和网络泛化性能之间是否有联系?


微信图片_20211203020247.jpg

图 5:网络最后一层 ID 和精度之间的关系。


图 5 是作者在一系列的网络实验中,以精度为衡量指标,计算不同网络最后一层的 ID。我们可以看到这个趋势大概是一个线性的关系。这就表明,最后一层的 ID 跟网络的测试精度之间是存在这紧密的联系的,那是否也可以换句话说,该层的 ID 可以表明网络的泛化性能。


4 讨论


作者还做了很多的其他辅助的实验,比如以上的结论在未训练的网路上不成立,在随机的标签 labels 上训练出来的网络中也不成立等等。但是,总的来说作者还是集中在是三个问题。


  • ID 可以用来表明网络中的信息。其趋势表现为层级之间的先上升后下降。
  • 网络的泛化性能可以用 ID 来衡量,也就是最后一层的 ID。
  • 深度网络的降维过程将数据降维到一个弯曲流形的空间,而不是线性空间,这也可以在一定程度上表明网络的泛化性能。


笔者认为,仅仅用 ID 这个统计量来解释网络性能当然还是不够的,但是这并不妨碍通过 ID 来指明之后网络训练或者测试的提升方向。比如说,我们是否可以用 ID 的趋势来判断一个网络设计的是够合理,训练的是否充分呢,或者又比如说,我们还能够通过最后一层的 ID 来初步评估网络的泛化性能呢?


论文 2:This Looks Like That: Deep Learning for Interpretable Image Recognition


微信图片_20211203020338.png

论文链接:https://arxiv.org/pdf/1806.10574.pdf


当人遇到图像判断的时候,总是会分解图片并解释分类的理由,而机器在判断的时候总是跟人的判断会有些差距。本文旨在缩小机器分类和人分类之间的差距,提出了一个 ProtoPNet,根据人判断的机理来分类图像。本文网络通过分解图像,得到不同的原型部分,通过组成这些信息最终得到正确的分类。


1 人怎么分类?This looks like that


微信图片_20211203020406.jpg

图 1:怎么判断这个鸟的种类?


图 1 显示的是一个褐雀鹀,那么你怎么判断出来的呢?通常来说,我们会回答,它的头部、它的翅膀部分很像一个典型的褐雀鹀。这个时候,你会发现在人类的判断机制中,我们是着重关注图像的几个部分并且跟给定的物种典型的部分来对比。这就是所谓的「这个看上去像那个」。


2 ProtoPNet怎么学习人?


既然人是通过 this looks like that 来解释的,那么机器学习的模型是否可以模仿这个过程来解释模型推理的依据呢?本文提出的 ProtoPNet 就是从推理的可解释性角度来处理图像。该网络的结构如下图所示:


微信图片_20211203020435.jpg

图 2:ProtoPNet 网络结构。


如图 2 所示,输入一张推理图片,输出分类的结果。该网络主要由卷积网络 f,原型层(prototype layer)以及一个全连接层 h 组成。


卷积网络 f:在卷积网络部分,网络可以是 VGG,ResNet 等经典结构,并且以 ImageNet 的预训练参数初始化。假设输入图像的大小为 224*243,通过卷积网络输出的大小为 HWD(e.g H=W=7),令 z=f(x) 表示卷积输出。这一部分也就是常见的特征提取作用。


原型层(prototype layer):在 prototype layer 部分,网络学习了 m 个原型 P,这些原型 P 以卷积层的特征图为输入,经过 m 组的卷积网络得到不同 patch 的原型激活值,该原型激活图的大小在本文中为 h=w=1。不同的原型 p 可以表示不同的典型部位,计算 pj 和 z 之间的 L2 距离,并将这个距离转换为相似度分数。这种由分数表示的激活图表明了图像中的典型部分的显著强度。


全连接层 h:经过前面的提取特征并聚类到原型得到相似度分数后,m 个相似度分数通过全连接层 h,得到最终的输出单元,经过 softmax 之后得到预测概率,分类图片结果。


本文在训练这个网络的时候,通过对以下三个步骤迭代的进行优化完成网络更新。

  1. 除了最后一层前面运用 SGD
  2. 典型特征的映射过程
  3. 最后一层的凸优化

3 网络的可解释性


在第二部分,我们概述了这个网络的结构部分并且解释了每个部分的作用和组成,但是我们并不知道这个网络为什么能学习人的解释机制呢?那么接下来,我们来看看如何通过这个网络的前向来描述这个网络的解释原理。


微信图片_20211203020516.jpg

图 3:网络的解释过程。


如图 3 所示,最上面的是一张测试图片。在网络的推理过程中,为什么可以判定为一个红腹啄木鸟而不是红顶啄木鸟呢?


图 3 的左半部分是网络判断测试图片为红腹啄木鸟的依据。

第一列的三张图为测试照片的经过网络圈出来的典型部分,第二列和第三列表示的是训练图片中的原型,第四列为激活特征图显示测试图像中的原型所在的显著性位置。


在第二列和第三列我们可以看到三个典型的特征部分,头部,翅膀以及喙。当网络通过卷积层 f 提取特征之后,并通过原型层得到这些显著特征之后,网络通过对这些典型分数进行加权求和(也就是全连接层),最终网络得到判断为红腹啄木鸟的置信度得分 32.736。


同样,图 3 的右边是判断为红顶啄木鸟的置信度分数为 16.886。通过选取最大的 softmax 的数值,网络可以得出这个测试图像的最终分类。这一个过程也就是网络在推理过程中,looks like 可以得到很好的解释。


4 实验对比


作为一个解释性的网络,并不代表网络本身的推理(识别)能力不强,作者在这个角度上做了如下的对比实验。


微信图片_20211203020600.jpg

图 4:ProtoPNet 和其他网络的性能对比。


网络主要以没有解释功能的网络为主,也就是识别网络,比如常见的分类网络。图 4 上半部分对比没有可解释性功能的网络例如 VGG16,ResNet34 等等,ProtoPNet 精度下降约 3.5%。但是,通过增加合适的原型数量,ProtoPNet 还是可以提升性能的。


而与其他研究者提出的解释网络相比,图 4 下半部分对比这些网络的识别性能,比如关注目标层面的 CAM,关注部分注意力的 Part R-CNN,ProtoPNet 利用部分层次注意力和原型之间的结合,能达到一个比较好的结果。


总而言之,本文的解释性网络不仅仅在解释网络的判别原理,而且根据这个原理能够达到一个较好的识别精度。在我看来,通过对比 ProtoPNet 和不同网络性能,验证了作者论述的,ProtoPNet 不仅仅关注实例层或者仅仅关注部分信息,而是结合了部分层次以及原型 case 之间的信息,才能在解释和识别之间达到一个很好的平衡。


5 总结


本文的主要目的是探索机器模型在推理过程中的为什么这个问题,其比较别出心裁的参照了人类的「这个看上去像那个」的回答思路,提出的 ProtoPNet,在可解释性和分类精度上都有不错的表现。


这两篇论文均是研究论文可解释性原理的,只不过论述的角度有所不同。论文 1 从统计学的角度,分析网络的固有维度,以此来展示网络的泛化性能。而论文 2 从可视化的角度来展示了这个网络的推理的功能。这些不同的角度都试图分析网络的可解释性,并给网络性能的提升提出不同的提升方向。


分析师简介:立早,工学硕士,研究方向为模式识别。目前从事人脸识别、检测和神经网络压缩方向的工作。希望能够一直学习,多多交流,不断进步。



相关文章
|
2天前
|
存储 安全 网络安全
网络安全法律框架:全球视角下的合规性分析
网络安全法律框架:全球视角下的合规性分析
11 1
|
5月前
|
安全 网络安全 区块链
网络安全的新视角:探索漏洞、加密技术与安全意识
在当今数字化时代,网络安全成为至关重要的议题。本文深入探讨了网络安全领域的关键问题:网络安全漏洞的本质与影响、最新的加密技术应用、以及如何提升个体和组织的安全意识。通过对这些方面的深入分析,读者能够更好地理解和应对当前复杂的网络安全挑战。
26 1
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
2月前
|
机器学习/深度学习 自然语言处理
如何让等变神经网络可解释性更强?试试将它分解成简单表示
【9月更文挑战第19天】等变神经网络在图像识别和自然语言处理中表现出色,但其复杂结构使其可解释性成为一个挑战。论文《等变神经网络和分段线性表示论》由Joel Gibson、Daniel Tubbenhauer和Geordie Williamson撰写,提出了一种基于群表示论的方法,将等变神经网络分解成简单表示,从而提升其可解释性。简单表示被视为群表示的“原子”,通过这一分解方法,可以更好地理解网络结构与功能。论文还展示了非线性激活函数如何产生分段线性映射,为解释等变神经网络提供了新工具。然而,该方法需要大量计算资源,并且可能无法完全揭示网络行为。
36 1
|
3月前
|
安全 Java 网络安全
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
43 2
|
3月前
|
SQL 安全 算法
网络安全与信息安全:漏洞、加密技术与安全意识的综合视角
【8月更文挑战第6天】在数字化时代,网络安全和信息安全成为维护个人隐私和企业资产的关键防线。本文将深入探讨网络安全漏洞的成因与影响,分析加密技术的工作原理及其在数据保护中的作用,并强调提升安全意识的必要性。通过综合这三个维度,我们旨在为读者提供一个全面的网络安全和信息安全知识框架,帮助他们在日益复杂的网络环境中保持警惕,采取有效措施保护自身和组织的安全。
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
252 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
5月前
|
安全 Java 网络安全
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
【6月更文挑战第22天】JAVA网络编程中,URL代表统一资源定位符,用于表示网络资源地址。通过`new URL("address")`创建URL对象,可解析和访问其组件。URLConnection是与URL建立连接的接口,用于定制HTTP请求,如设置GET/POST、超时及交换数据。
42 1
|
5月前
|
安全 网络安全 数据安全/隐私保护
网络安全威胁分析与防护技术研究
网络安全威胁分析与防护技术研究
51 0
|
5月前
|
网络安全
CISO视角:董事会为何没有充分把握网络攻击风险
CISO视角:董事会为何没有充分把握网络攻击风险
下一篇
无影云桌面