可解释性神经网络——1.xNN
引言
随着深度学习的兴起,其在许多领域都能够取得远胜于传统方法的表现,如今许多行业都已经用到了深度学习以及神经网络来进行分析或者预测,解决实际的一些问题。但其可解释性差也一直是令人所诟病的一点,也就是我们常说的“黑箱问题”
。
例如:在识别一段话的语义情境时,计算机直接通过神经网络,给出这段话是积极的还是消极的,并且给出一个百分比作为置信度。但我们并不知道为什么计算机能够直接给出这样的结果,其内部的判断机制,都无法知晓。那么及时这个模型的准确率非常高,在实际使用时,我们也会为其画上一个大大的问号,使用时也会相对比较谨慎。
同样的问题还存在医学影像诊断上,如果不解释出模型判断的原因与机制,很难让医生与病人信服。
因此如何提出一种可解释性的神经网络,是如今一个非常重要的问题。而本篇博客主要介绍 Vaughan J, Sudjianto A, Brahimi E 等人在2018年的文章:Explainable neural networks based on additive index models
。
Explainable Neural Networks based on Additive Index Models(xNN)
网络结构
文章利用 additive index model 构建了一个可解释性神经网络。
我们先来看看 Additive Index Model,其本质就是一个线性可加模型:
文章的主要思想是利用上述的 additive index model,其中 为输入的特征变量,整体有 个子网络,每个子网络中都是一个输入变量的加权组合,之后再分别使用 个函数变化后,再次进行一次加权求和。
A modified version of the additive index model:
下图为上述公式的可视化展现,本质是一种特殊的全连接的神经网络,其中的 可以理解为一种带未知参数的**函数(这里称为ridge functions),但每个子网络的**函数均不一致,具体的函数类型需要我们自己进行给定(可为一次函数、二次函数等,注意不能定义多个一次函数,否则模型会存在可识别性的问题)。
网络的可解释性
下面说明网络如何体现可解释性,这里以一个例子来阐述,构建一个一次函数 ,二次函数 ,三次函数 :
我们生成5个独立且服从 的随机变量 ,而后可通过对三个函数进行求和,得到 。其中, 为噪声变量。下图为三个函数的图像:
采用五个子网络的模型对y进行拟合,文中添加了L1惩罚,使结果呈现下图的效果。下图左列展示每个子网络的拟合结果,右列表示针对每个子网络, 每个变量所对应的权重大小。
由图可以看出,第一个展现出线性性质的子网络为 贡献最大;第二个与二次函数相关的子网络与 相关;而三次函数的子网络则对应着 。由于 为噪声变量,因此后两个子网络为0,且没有变量有对应的权重。
下图则以变量为主,将每个子网络对变量的贡献进行可视化展现。从图中可以看出,变量 只有子网络1中需要用到;变量 对应子网络2;变量 对应子网络3。
接着进行两个模拟实验:模拟1(多项式)与模拟2(指数函数与三角函数)来验证模型的优劣。
模拟实验
模拟1:
模拟2:
模拟1所需要的6个随机变量 相互独立且服从 ;模拟1所需要的4个随机变量 相互独立且服从 。
文中没有具体说明上述模拟实验中所使用的子网络结构,仅仅提及是从一些函数集合中进行选取。从图中可以看到, 对应的子网络9(图中第四行)趋势是类似线性(作者选定的展示范围,主观性较强), 与 展示的函数图像均为开口向上的二次函数,且x_5的开口更大,这与实际情况中x_5前的系数更小相一致。而 这一交互项,模型通过使用两个子网络作差达到一样的效果(由于下式)。
通过此模拟可看出,对于真实模型是可加模型的情况,文章的方法能够真实还原出实际情形,具有很强的可解释性。同时,模型的预测准确率也很高。
而针对模拟2,模型的解释性就相对较弱,这是由于产生数据的模型不是可加的,这与最开始的模型假设已经有所不同,这里不再进行贴图展示,但预测准确性依旧比较高。
而后在此篇文章的基础上,有的文章(Enhancing Explainability of Neural Networks through Architecture Constraints
)添加了一系列约束,使模型预测准确率更高,通过引入平滑与稀疏性,使可解释性更好。请参见下篇博客:可解释性神经网络——添加约束的xNN。
更多细节请参见原文:Explainable Neural Networks based on Additive Index Models