前沿 | XNN:打开了自己黑箱的神经网络

2018-08-21 14:14 机器之心
  • T大

原标题:前沿 | XNN:打开了自己黑箱的神经网络

选自Medium

作者:Shagun Maheshwari

机器之心编译

参与:陈韵竹、路

本文介绍了一种旨在「打开」并解释神经网络的新模型 XNN(可解释神经网路)。该网络包含三个重要组成部分:投影层、子网络、组合层。XNN 还可用于替代复杂模型,无论将 XNN 用作主要模型还是用于更复杂模型的替代模型,XNN 都可以直接解释模型如何使用输入特征进行预测。

将人工神经网络应用到特定系统的最大障碍之一是它的「黑箱」属性。XNN(可解释的神经网络)是一种旨在「打开并解释」神经网络黑箱的新模型。

使用人工神经网络和机器学习算法训练机器像人脑一样学习信息已经越来越流行。这让机器能够准确地输出给定任务的预测结果。

在给定任务下训练的 ANN 能进行猫和狗的分类

再举一个例子,假定你想要训练一台机器,使其能根据客户凭证确定银行的哪些客户离开银行的概率最高。

神经网络将在包含每个客户凭证(例如信用评分)的大数据集上进行训练。它通过变量选择识别数据中的哪些特征对客户的去留影响最大。神经网络将学习这些特征,并通过学习特征,根据其凭证(特征)自行准确预测哪些客户离开银行的概率最高。(参见:http://www.linkedin.com/pulse/creating-deep-neural-net-accurately-predict-churn-rate-maheshwari/)

这些模型对大型数据集非常有效,因为在大型数据集中很难进行手动的变量选择和特征工程。另外,与传统统计方法相比,它们具有更好、更准确的预测性能。

黑箱

然而 ANN 的一个问题在于,它们是黑箱。这意味着数据分析师或建模人员很难解释输入特征与其响应(输出)之间的关系。神经网络越复杂意味着添加的神经元和层数越多,这使解释和确定 ANN 中的哪个函数导致输出变得愈发困难。

应用

理解黑箱并具备解释模型行为的能力非常重要,这是因为机器学习模型和 ANN 的使用需要纳入医疗保健和金融等领域。事实证明,机器学习模型有可能彻底改变这些行业,提高某些任务的效率。

疯狂的是,研究人员实际上能创建一种机器学习算法来识别乳腺癌患者身体组织图像中的乳腺癌模式,而且效果比人类病理学家还要好!机器学习模型能够更快地识别乳腺癌模式,准确率达 89%,高于训练有素的人类病理学家的平均准确率 73%!这只是 ANN 和机器学习模型多种实现方式的一个示例,它们能提供比传统人类方法更高效、准确的工具。

然而,尽管这些模型的准确率和效率已经经过验证,但人们仍在犹豫是否将它们纳入医疗保健和银行业等领域,因为这些模型具备黑箱属性。解释模型并解释其行为的能力对于这些行业至关重要,因为它们涉及处理高风险问题并且必须受到严格监管。

可解释神经网络

可解释神经网络(XNN)是机器学习模型的一项新进展,旨在为模型提供可解释的洞察力,消除其黑箱属性。这意味着它能够提供关于特征以及网络完成输出(预测)过程中所学得的非线性变换的直白解释。通过该模型,研究者能清楚地解释输入特征与复杂神经网络输出之间的关系,因为 XNN 网络结构包含解释这种关系的机制,并能对可视化该网络所学习的函数起到帮助作用。

XNN 基于加性索引模型的概念,如下所示:

f (x) = g1 β1T x+ g2 β2T x+ · · · + gK βKT x

左侧的函数可以表示为 K 个平滑函数 gi(·) 的和。这些平滑函数(即岭函数)都用于在网络中训练的输入特征的线性组合(βiT x)。这使得加性索引模型能够提供灵活的框架,通过岭函数逼近网络内的任意复杂函数,从而提供关于特征和网络学得的非线性变换的解释。

可解释神经网络架构

可解释神经网络提供加性索引模型的替代公式作为结构化神经网络。XNN 内置了解释机制,这有助于解释和理解模型内部过程以及该模型学到的函数。

替代公式如下:

f (x) = μ + γ1 h1 β1T x+ γ2 h2 β1T x+ · · · + γK hK βKT x

位移参数 μ 和尺度参数 γk 被用于模型拟合:通过正则化选择适当数量的岭函数。

XNN 结构中三个重要的组成部分包括:

i) 投影层(第一个隐藏层);

ii) 子网络(下图的中间部分);

iii) 组合层(最后的隐藏层)。

XNN 结构

投影层

输入层包含将输入神经网络的所有信息。输入层全连接到投影层,在投影层上传递特征(信息)。投影层由 K 个节点组成(每个节点对应一个岭函数)。第一个隐藏层中的节点 i 的权重对应相应岭函数输入的系数(βi)。岭函数有助于逼近输入特征中的复杂函数。投影层使用线性激活函数,以确保该层中的每个节点都学习输入特征的线性组合。应用了岭函数的投影层中每个节点的输出恰好可以用作一个子网络的输入。

子网络

子网络主要用于学习应用于输入特征的岭函数。岭函数对于子网络而言非常重要,因为它们逼近投影层的复杂函数。这使得子网络更容易学习并提供所习得的岭函数的可解释性,从而使数据分析师有能力理解子网络的运作、理解从输入到输出的过程。子网络只需要有足够的结构,使每一个子网络都能学习大量单变量函数。在模拟中,研究者发现,使用由具有非线性激活函数的两个隐藏层组成的子网络,足以在拟合模型时学习足够灵活的岭函数。

组合层

组合层是 XNN 的最后一个隐藏层,由单个节点组成。节点的输入包括岭函数的所有输出以及在子网络中学习和添加的权重。在该层上使用线性激活函数,因此整个网络的输出是所有岭函数的加权和的线性组合。

XNN 组件可视化

内置于 xNN 中的结构(如投影层和子网络)提供了一种机制来解释这种网络所学习的函数。该内置机制用投影和单变量岭函数这些相对简单的术语描述模型学得的复杂函数,以确保模型可解释。

下图展示了研究者如何解释和可视化子网络中的单变量变换和岭函数。

岭函数(左)和训练的 XNN 的对应投影索引(右)。

第一列解释了单变量函数,其中包含由子网络学习到达其输出的权重。第二列显示 βi 的值,即投影系数。投影系数说明输入特征的哪个组合在通过子网络之前用作了每个岭函数的输入。这非常有用,因为上图展示了网络最相关的特征:缩放岭函数和投影系数。

在上面的例子中,从 xNN 的结构我们可以看出 Subnetwork 1 已经学习了立方勒让德函数 (f3(·)),Subnetwork 2 已经学习了二次函数 (f2(·)),并且只有 x2 的系数非零。

XNN 作为替代模型

XNN 还可以用作机器学习模型的替代模型,例如随机森林(RF)和前馈神经网络(FNN)。

有点像这样……但不完全如此。

在这种情况下,RF 和 FNN 被认为是基础模型。由于 XNN 被设计为一个可解释模型,因此我们可以使用输入特征和基础模型预测的相应输出值来训练 XNN。然后,XNN 就可以解释基础模型所学到的关系!

使用更容易解释的替代模型来帮助解释复杂的机器学习模型,极大地增加了将机器学习模型融入不同行业的能力。

可解释神经网络(XNN)是一个关键的机器学习模型。与其他机器学习模型不同,它能「打开」神经网络的黑箱。该模型的结构和设计方式使其可以解释学习的特征以及导致其输出或预测值的函数。这些可解释性特征非常吸引人,它本质上是有可加性的,并且能通过纳入神经网络的机制(如子网络)直接得到解释。

无论将 XNN 用作主要模型还是用于更复杂模型的替代模型,XNN 都可以直接解释模型如何使用输入特征进行预测。这项技术为将机器学习模型整合入众多不同行业提供了巨大的优势,因为它能够超越现有系统,并且能够清晰解释它如何获得输出。

  • 相关论文:Explainable Neural Networks based on Additive Index Models

    论文地址:http://arxiv.org/abs/1806.01933

    原文链接:http://medium.com/@shagunm1210/the-explainable-neural-network-8f95256dcddb

    本文为机器之心编译,转载请联系本公众号获得授权

    ✄------------------------------------------------

    加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

    投稿或寻求报道:content@jiqizhixin.com

    广告 & 商务合作:bd@jiqizhixin.com

热点新闻
精彩推荐
释放进入手凤首页

手机凤凰网 i.ifeng.com