图聚类算法打开深度神经网络黑箱:解密权重结构

Posted 深度学习与图网络

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图聚类算法打开深度神经网络黑箱:解密权重结构相关的知识,希望对你有一定的参考价值。

深度神经网络这个黑箱子,似乎有了更清晰的轮廓。

我们都知道深度神经网络性能十分强大,但具体效果为什么这么好,权重为什么要这么分配,可能连“设计者”自己都不知道如何解释。

最近,一项来自UC伯克利和波士顿大学的研究,就对这个黑箱子做了进一步的解密:经过训练和权重修剪的多层感知器 (MLP),与具有相同权重分布的随机网络相比,通常模块化程度更高。也就是说,在特定条件下,深度神经网络是模块化(modularity)的

研究人员认为:

了解神经网络的模块化结构,可以让研究工作者更容易理解神经网络内部的工作原理。

这项研究已提交ICML 2020,也已在GitHub开源(见文末“传送门”)

将神经网络模块化

为什么要用模块化来研究深度神经网络呢?

首先,模块化系统允许分析系统的研究人员,检查单个模块的功能,并将他们对单个模块的理解合并为对整个系统的理解。

其次,神经网络由不同的层(layer)组成,在定义网络时,不同的层可以单独配置。

而通过实验,研究人员发现:

一个深度神经网络是模块化的,它可以被分割成神经元集合,其中每个神经元集合内部高度连接,但集合之间的连接度很低。

更具体点来说,研究人员使用图聚类(graph clustering)算法将训练好的网络分解成集群,并将每个集群视为一个“模块”。

采用的聚类算法叫做谱聚类 (spectral clustering),用它来计算一个划分(partition)以及评估一个聚类的n-cut。

△将神经网络模块化

通俗点来说,就是:

先把数据转换为图,所有的数据看做是空间中的点,点和点之间用边相连。距离较远的两个点,它们之间边的权重值较低,距离较近的两点之间边的权重值较高。

接下来,进行n-cut操作,也就是切图。目标就是要让切图后不同的子图间“边权重和”尽可能的低,而子图内的“边权重和”尽可能的高。

那么,实验结果又如何呢?

实验主要采用了3个数据集,分别是MNIST、Fashion-MNIST和CIFAR10,并在每个数据集上训练了10次。

图聚类算法打开深度神经网络黑箱:解密权重结构

△在每个数据集上训练10次后的结果

可以看到,对MNIST测试的正确率为98%,Fashion-MNIST的正确率为90%,而CIFAR-10的正确率为40%。修剪后的网络通常比随机网络具有更好的聚类性。

下图显示了在剪枝前和剪枝后,所有受训练网络的n-cut和测试精度结果。

图聚类算法打开深度神经网络黑箱:解密权重结构

△每个训练网络的n-cut和精度的散点图

为了帮助解释这些n-cut值,研究人员还对200个随机初始化的网络进行了聚类,n-cut的分布如下图所示。

图聚类算法打开深度神经网络黑箱:解密权重结构

△200个随机初始化网络n-cut分布的直方图和核密度估计

当然,作者也指出一点,这项研究的定义只涉及到网络的学习权值(learned weight),而不是数据分布,更不是模型的输出或激活的分布。

模块之间的重要性和依赖性

那么,这些模块之间的又有怎样的关联呢?

研究人员进一步评估了不同模块之间的重要性和关系。

在神经科学领域中,要想确定大脑某个区域的功能,有一种方法是研究这个区域意外受损的患者的行为,叫做损伤实验 (lesion experiment)

类似的,研究人员也采用了这样的方法:

通过将模块的神经元激活设置为0,来研究模块的重要性,并观察网络如何准确地对输入进行分类。

在这项实验中,“损伤”的原子单位是每个模块与每个隐含层的交集,称之为“子模块”。

重要性

对于每个子模块,将传入组成神经元的所有权重设置为0,并保持网络的其余部分不变。

然后,确定受损网络的测试集精度,特别是它比整个网络的精度低了多少。

图聚类算法打开深度神经网络黑箱:解密权重结构

△使用剪枝和dropout在Fashion-MNIST上训练后,不同子模块的绘图

如上图所示,重要的子模块会先标记它的层号,然后再标记模块号。横轴表示该层神经元在子模块中的比例,纵轴表示由于子模块受损而导致精度的下降。

这项实验表明,许多子模块太小,不能算作重要模块,而许多子模块在统计上有显著影响,但在实际中却不显著。然而,有些子模块显然对网络的运作具有实质的重要性。

依赖性

既然已经知道了哪些子模块是重要的,那么最好还能够理解这些重要的子模块是如何相互依赖的。

为了做到这一点,研究人员在不同的层中破坏两个不同的重要子模块,称之为X和Y。

图聚类算法打开深度神经网络黑箱:解密权重结构

通过实验,研究人员得到了如下结论:

如果X在Y上不是重要条件,且Y在X上也不是重要条件,那么来自X上的所有信息都传递给了Y。

如果X不是以Y为重要条件,而Y是以X为重要条件,则X将其所有信息发送给Y,并且Y还从其他子模块中接收到了信息。

如果Y不是以X为条件的重要条件,而是X是以Y为条件的重要条件,则认为Y从X接收其所有信息,然后X将信息发送到其他子模块。

如果X和Y都是彼此重要的条件,则无法得出任何结论。

作者介绍

图聚类算法打开深度神经网络黑箱:解密权重结构

△Daniel Filan

Daniel Filan,加州大学伯克利分校的博士生。本科就读于澳大利亚国立大学,学习强化学习理论、数学和理论物理。

△Shlomi Hod

Shlomi Hod,波士顿大学计算机系博士生。感兴趣的领域是 responsible AI,尤其是算法和机器学习系统对社会的影响。

传送门

以上是关于图聚类算法打开深度神经网络黑箱:解密权重结构的主要内容,如果未能解决你的问题,请参考以下文章

基于密度的图聚类算法 SCAN

图聚类算法SCAN: A Structural Clustering Algorithm for Networks

神经网络和深度学习之——误差反向传播算法

深度学习?不一定非得搞“黑箱”

我们如何比较图聚类结果以在蛋白质-蛋白质相互作用网络中找到相似的基因?

告别深度学习炼丹术!谷歌大脑提出“权重无关”神经网络