2

只要你用ReLU,就是"浅度学习":任意ReLU都有等效3层网络 | 量子位

 1 year ago
source link: https://www.qbitai.com/2023/07/65154.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

head.jpg衡宇 2023-07-01 13:58:10 来源:量子位

一种为任意ReLU网络找到相应浅层网络的算法

尚恩 发自 凹非寺

量子位 | 公众号 QbitAI

只要你用了ReLU,我们就是好朋就是“浅度学习”。

最近有研究证明,所有基于ReLU的深度神经网络都可以重写为功能相同的3层神经网络。

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

基于这个证明,伦敦国王学院的研究团队还提出一种为任意ReLU网络找到相应浅层网络的算法。

由此产生的浅层网络是透明的,可用于解释网络的行为。

只要通过算法,就能找到任意深度ReLU网络的对应浅层网络。

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

对此网友惊呼:我要读这篇论文,立刻马上!

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

任何深度ReLU网络都是浅层的

ReLU是深度学习领域最常用的一种激活函数,由Nair & Hintonw在2010为限制玻尔兹曼机(restricted Boltzmann machines)提出的。

由于常常在实践中有着比其他常用激励函数(例如逻辑函数)更好的效果,而被深度神经网络广泛用于图像识别等计算机视觉人工智能领域。

论文指出,每个深度ReLU网络都可以转换为一个功能相同且具有“三个隐藏层”的浅层网络。并提供了一个找到对应浅层网络权重的算法,提高神经网络的全局可解释性。

简单来说就是,通过划分输入空间,使用线性函数对每个分区进行建模,来实现深层网络浅化。

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

具体分为这三步。

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

首先,需要构建一个将线性模型和半空间编码的第一层,通过使用一个矩阵来表示半空间条件,其中每个行向量表示一个半空间的线性方程。

然后,构建第二层,该层根据输入的所属区域决定哪些边界是活跃的。

最后,构建第三层,通过将输入与每个线性模型相乘并使用指示函数来选择正确的模型。

基于此,每一个深度ReLU网络都可以被转换为一个功能上相同的三层网络,其权重值在扩展实数中。

当然要完成浅化,还需要一些咒(suan)语(fa)。

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

根据论文,使用算法时只需找到H、c、α、β这些参数,并知道每个区域所需的半空间就可以,主要分三步。

首先,识别可行的模式集,对于每个可行模式,计算全局线性规划的参数A(l)和d(l)。

然后,确定半空间条件,将这些矩阵堆叠起来,确定每个激活模式的半空间条件。最终得到矩阵H和向量c。

最后,计算局部线性模型,根据模型的权重和激活模式,使用显式公式,计算局部线性模型α和β。

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

简单理解,就是根据已训练好的网络,通过启发式搜索在可能的神经元激活空间中找到合适的权重值。

通过构建浅层白盒网络,能够快速计算出每个数据点的SHAP值,大大提高数据的可解释性。

实验表明,通过上面算法就可以找到给定深度ReLU网络对应的浅层网络的显式权重。

网友:实验很酷,但也有些问题

论文很新颖的提出一个算法,可以实现“深转浅”,不过该方法仍有一些缺点。

比如构建浅层网络使用了无限权重,尽管这些权重可以在Python中实现,但不能使用梯度下降进行微调。

当然,“找茬儿”这块,怎能少得了热心肠的网友。

根据论文可以发现,如果使用团队提供的算法,实验过程中计算时间其实是会随着神经元数量增加呈指数增长。

所以就有网友提出疑惑:算法运行时间与神经元数量成指数关系,12个神经元需要近10分钟,那计算一个普通大小的DNN所需时间岂不是长了去了……

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

网友指出:假设单层神经网络可以计算任何函数,那么对于任何神经网络来说,这不是都成立吗?

只要你用ReLU,就是“浅度学习”:任意ReLU都有等效3层网络

对于这个研究,也有网友犀利表示:这就是个「普遍逼近定理」,没什么大惊小怪的。

不过无论网友怎么说,这篇论文仍然有一些出彩点。

比如,通过这个方式得到的浅层网络是透明的,可以用来生成模型行为的解释。

此外还提供了用于复现实验的代码,供其他研究人员使用来探索和实验。

论文地址已经贴在下面,感兴趣可以去看看~

论文传送门:
https://arxiv.org/abs/2306.11827

参考链接:
[1]https://twitter.com/mathemagic1an/status/1672430954152083456?s=46&t=iTysI4vQLQqCNJjSmBODPW

版权所有,未经授权不得以任何形式转载及使用,违者必究。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK