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

栏目: 数据库 · 发布时间: 6年前

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

路雪 翻译

Shagun Maheshwari 作者 陈韵竹、路 编译 Medium 选自

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

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

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

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

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

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

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

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

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

黑箱

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

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

应用

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

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

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

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

可解释神经网络

可解释神经网络(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:打开了自己黑箱的神经网络

XNN 结构

投影层

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

子网络

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

组合层

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

XNN 组件可视化

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

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

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

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

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

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

XNN 作为替代模型

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

XNN:打开了自己黑箱的神经网络 有点像这样……但不完全如此。

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

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

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

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

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

  • 论文地址:https://arxiv.org/abs/1806.01933

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

理论 黑箱 神经网络 论文

相关数据

激活函数 技术

Activation function

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

来源: 维基百科 Google ML glossary

神经网络 技术

Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

来源:机器之心

大数据 技术

Big data

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

来源: 维基百科

Feed-forward neural network

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

来源:机器之心

特征工程 技术

Feature engineering

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

来源: Wikipedia

机器学习 技术

Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

来源:Mitchell, T. (1997). Machine Learning. McGraw Hill.

神经元 技术

neurons

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

来源: Overview of Artificial Neural Networks and its Applications. (2018). medium.com.

参数 技术

parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

来源: 维基百科

正则化 技术

Regularization

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

来源:李航著 统计学习方法 清华大学出版社

随机森林 技术

Random Forest

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而"Random Forests"是他们的商标。这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造决策树的集合。

来源: 维基百科

权重 技术

Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

来源:Google AI Glossary

准确率 技术

Accuracy

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

来源: Google ML Glossary

XNN:打开了自己黑箱的神经网络
路雪

机器之心编辑


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序设计方法(中文版)

程序设计方法(中文版)

Matthias Fellisen / 黄林鹏、朱崇恺 / 人民邮电出版社 / 2003-12 / 49.00元

《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序设计和计算相关的话题。《程序设计方法》第1至第3部分介绍了基于数据驱动的程序设计基础。第4部分介绍了程序设计中的抽象问题。第5部分和第6部分是与递归及累积相关的内容。《程序设计方法......一起来看看 《程序设计方法(中文版)》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具