人工智能算法的可解释性方法研究

简介: 以深度学习为代表的人工智能技术在信息领域的应用,极大地提高了信息的利用效率和挖掘价值,深刻的影响了各领域的业务形态,同时也引发了监管部门和用户对这一新技术运用中出现的 “算法黑箱”问题关切和疑虑。如何对相关算法、模型、及其给出的结果进行合理的解释成为数据科学家亟需解决的问题。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

摘要
以深度学习为代表的人工智能技术在信息领域的应用,极大地提高了信息的利用效率和挖掘价值,深刻的影响了各领域的业务形态,同时也引发了监管部门和用户对这一新技术运用中出现的 “算法黑箱”问题关切和疑虑。如何对相关算法、模型、及其给出的结果进行合理的解释成为数据科学家亟需解决的问题。

一、为什么智能算法需要可解释

1.来自人工智能的挑战
自AlphaGo战胜人类顶尖围棋手之后,人工智能这一概念真正成为了社会各界关注的焦点,也为各国政府所重视。一方面可以给我们带来诸多便利,比如可能为我们提供医疗、法律、金融等方面的建议或决策,也可能直接操控汽车、无人机,甚至大规模杀伤性武器[1]。但另一方面,它也被用来“做坏事”甚至危害人类。如某些网站利用人工智能算法进行“大数据杀熟”,2017年也发生了全国首例利用人工智能技术进行网络诈骗的案件。2015年德国大众公司甚至发生了机器人“杀人事件”[2]。欧盟已经要求所有算法解释其输出原理[3],这意味着不可解释的算法模型将成为非法使用[3,4]。

0E0082FA_66FB_436a_9DA1_7A3BAE2DB565

2.可解释是人工智能发展的必然选择
在时下热议的人工智能相关伦理、算法歧视、算法正确性、安全性等问题中,有一个问题被时常提起,即以深度学习算法为代表的人工智能算法的可解释性问题。人类理性的发展历程使我们相信,如果一个判断或决策是可以被解释的,我们将更容易了解其优点与不足,更容易评估其风险,知道其在多大程度上、在怎样的场合中可以被信赖,以及我们可以从哪些方面对其进行不断改善,以尽量增进共识、减少风险,推动相应领域的不断发展。这样的思维范式或许是诞生在人工智能时代之前的稍显过时的思维模式。或许随着科技和社会的发展,未来会演化出新的思维范式,但目前这仍然是我们最成熟、最具共识、最可信赖的思维模式 [1]。

二、可解释性方法概述

17年ICML会议上来自谷歌的科学家给出一个关于可解释性的定义是“Interpretation is the process of giving explanations to Human”[5]。许多模型及应用不可解释性的原因主要来源于对问题和任务了解得还不够充分。那么只要在使用模型的过程中,只要是能够提供给我们关于数据或模型的可以理解的信息,有助于我们更充分的发现知识、理解和解决问题的方法,那么都可以归类为可解释性方法。同时,这篇文章将可解释性方法按进行的过程划分为如下三类:在建模之前的可解释性方法、建立本身具备可解释性的模型和建模后使用可解释性方法对模型作出解释,下面对这三大类方法分别作介绍。

三、建模前:在建模之前的可解释性方法

在建模之前的可解释性方法主要涉及一些数据预处理或数据展示的方法机器学习解决的是从数据中发现知识和规律的问题,如果我们对想要处理的数据特征所知甚少,指望对所要解决的问题本身有很好的理解是不现实的,在建模之前的可解释性方法的关键在于帮助我们迅速而全面地了解数据分布的特征,从而帮助我们考虑在建模过程中可能面临的问题并选择一种最合理的模型来逼近问题所能达到的最优解。

数据可视化就是一类非常重要的建模前可解释性方法。很多对数据挖掘稍微有些了解的人可能会认为数据可视化是数据挖掘工作的最后一步,大概就是通过设计一些好看又唬人的图表或来展示你的分析挖掘成果。但实际上真正要研究一个数据问题之前,通过建立一系列方方面面的可视化方法来建立我们对数据的直观理解是非常必须的,特别是当数据量非常大或者数据维度非常高的时候,比如一些时空高维数据,如果可以建立一些一些交互式的可视化方法将会极大地帮助我们从各个层次角度理解数据的分布。

B864529A_E972_4a3c_9D2B_199C66A76040

四、建模中:建立本身具备可解释性的模型

建立本身具备可解释性的模型是最关键的一类可解释性方法,同样也是一类要求和限定很高的方法,具备可解释性的模型大概可以分为以下几种模型[6]。

基于规则的模型,比如我们提到的非常经典的决策树模型。这类模型中任何的一个决策都可以对应到一个逻辑规则表示。但当规则表示过多或者原始的特征本身就不是特别好解释的时候,基于规则的方法有时候也不太适用。

基于单个特征的方法主要是一些非常经典的回归模型,比如线性回归、逻辑回归、广义线性回归、广义加性模型等。这类模型除了结构比较简单之外,更重要的是回归模型及其一些变种拥有非常坚实的统计学基础,上百年来无数统计学家探讨了在各种不同情况下的模型参数估计与修正、假设检验、边界条件等等问题,使得他们在各种不同情况下都能使具有有非常好的可解释性。

基于实例的方法主要是通过一些代表性的样本来解释聚类/分类结果的方法。比如可以为每一个聚类簇中选出代表性样例和重要的子空间。

基于稀疏性的方法主要是利用信息的稀疏性特质,将模型尽可能地简化表示。比如LDA方法,根据层次性的单词信息形成了层次性的主题表达,这样一些小的主题就可以被更泛化的主题所概括,从而可以使我们更容易理解特定主题所代表的含义。

基于单调性的方法在很多机器学习问题中,有一些输入和输出之间存在正相关/负相关关系,如果在模型训练中我们可以找出这种单调性的关系就可以让模型具有更高的可解释性。比如医生对患特定疾病的概率的估计主要由一些跟该疾病相关联的高风险因素决定,找出单调性关系就可以帮助我们识别这些高风险因素。

五、建模后:使用可解释性方法对模型作出解释

建模后的可解释性方法主要是针对具有黑箱性质的深度学习模型而言的, 深度学习的黑箱性主要来源于其高度非线性性质,每个神经元都是由上一层的线性组合再加上一个非线性函数的得到,人们无法像理解线性回归的参数那样通过统计学基础假设来理解神经网络中的参数含义及其重要程度、波动范围。但实际上我们是知道这些参数的具体值以及整个训练过程的,所以神经网络模型本身其实并不是一个黑箱,其黑箱性在于我们没办法用人类可以理解的方式理解模型的具体含义和行为,而神经网络的一个非常好的性质在于神经元的分层组合形式,这让我们可以用物质组成的视角来理解神经网络的运作方式。主要分为以下几类的工作:隐层分析方法、模拟/代理模型、敏感性分析方法[7,8,9]。

隐层分析方法:该方法通过对隐层运用一些可视化方法来将其转化成人类可以理解的有实际含义的图像以展示神经网络中每层都学到的概念。我们都知道典型的CNN模型的一个完整卷积过程是由卷积-激活-池化(pooling)三个步骤组成的,也可以通过反池化-反激活-反卷积这样的一个逆过程,并借助特征可视化帮助我们理解CNN的每一层究竟学到了什么东西[7]。此外,文献[]提出了一种网络切割的方法以提取CNN的语义概念[8]。

模拟/代理模型:该类方法是针对黑箱模型,使用蒸馏(Model distillation)技术得到新的可解释模型,训练这两个模型使他们的结果近似。但这类算法也存在很大的局限性,比如模型本身并不能被“蒸馏”,或者原始模型与蒸馏后的模型差异很大导致可解释性模型的意义不再存在。

敏感性分析方法:用于定量描述模型输入变量对输出变量的重要性程度的方法。是令每个属性在可能的范围变动,研究和预测这些属性的变化对模型输出值的影响程度。我们将影响程度的大小称为该属性的敏感性系数,敏感性系数越大,就说明属性对模型输出的影响越大。一般来讲对于神经网络的敏感性分析方法可以分为变量敏感性分析、样本敏感性分析两种,变量敏感性分析用来检验输入属性变量对模型的影响程度,样本敏感性分析用来研究具体样本对模型的重要程度,也是敏感性分析研究的一个新方向。在金融领域,将敏感性分析与局部特征探索方法(主要是树类模型),能够有效解决金融领域普遍存在先验知识不足问题[12]。

六、结束语

《火的礼物:人类与计算技术的终极博弈》一书中提到“火使我们的生活更加舒适、健康和愉快。而它同时也拥有巨大的破坏力,有可能因为意外,也可能是故意纵火”,对于深度学习亦是如此。期待通过算法研究者、政府、法律等多方面的共同努力,我们可以更好地掌握人工智能算法,来帮助我们解决各种难题,建设更加美好的社会。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-06-07
本文作者:人工智能学家
本文来自:“人工智能学家 微信公众号”,了解相关信息可以关注“人工智能学家

相关文章
|
1月前
|
传感器 人工智能 监控
智慧工地 AI 算法方案
智慧工地AI算法方案通过集成多种AI算法,实现对工地现场的全方位安全监控、精准质量检测和智能进度管理。该方案涵盖平台层、展现层与应用层、基础层,利用AI技术提升工地管理的效率和安全性,减少人工巡检成本,提高施工质量和进度管理的准确性。方案具备算法精准高效、系统集成度高、可扩展性强和成本效益显著等优势,适用于人员安全管理、施工质量监控和施工进度管理等多个场景。
|
10天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
141 55
|
1月前
|
传感器 人工智能 监控
智慧电厂AI算法方案
智慧电厂AI算法方案通过深度学习和机器学习技术,实现设备故障预测、发电运行优化、安全监控和环保管理。方案涵盖平台层、展现层、应用层和基础层,具备精准诊断、智能优化、全方位监控等优势,助力电厂提升效率、降低成本、保障安全和环保合规。
智慧电厂AI算法方案
|
28天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
95 4
|
20天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
109 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
17天前
|
机器学习/深度学习 缓存 人工智能
【AI系统】QNNPack 算法
QNNPACK是Marat Dukhan开发的量化神经网络计算加速库,专为移动端优化,性能卓越。本文介绍QNNPACK的实现,包括间接卷积算法、内存重排和间接缓冲区等关键技术,有效解决了传统Im2Col+GEMM方法存在的空间消耗大、缓存效率低等问题,显著提升了量化神经网络的计算效率。
32 6
【AI系统】QNNPack 算法
|
17天前
|
存储 人工智能 缓存
【AI系统】Im2Col 算法
Caffe 作为早期的 AI 框架,采用 Im2Col 方法优化卷积计算。Im2Col 将卷积操作转换为矩阵乘法,通过将输入数据重排为连续内存中的矩阵,减少内存访问次数,提高计算效率。该方法首先将输入图像转换为矩阵,然后利用 GEMM 库加速计算,最后将结果转换回原格式。这种方式显著提升了卷积计算的速度,尤其适用于通道数较多的卷积层。
41 5
【AI系统】Im2Col 算法
|
17天前
|
存储 机器学习/深度学习 人工智能
【AI系统】Winograd 算法
本文详细介绍Winograd优化算法,该算法通过增加加法操作来减少乘法操作,从而加速卷积计算。文章首先回顾Im2Col技术和空间组合优化,然后深入讲解Winograd算法原理及其在一维和二维卷积中的应用,最后讨论算法的局限性和实现步骤。Winograd算法在特定卷积参数下表现优异,但其应用范围受限。
30 2
【AI系统】Winograd 算法
|
6天前
|
人工智能 算法
AI+脱口秀,笑点能靠算法创造吗
脱口秀是一种通过幽默诙谐的语言、夸张的表情与动作引发观众笑声的表演艺术。每位演员独具风格,内容涵盖个人情感、家庭琐事及社会热点。尽管我尝试用AI生成脱口秀段子,但AI缺乏真实的情感共鸣和即兴创作能力,生成的内容显得不够自然生动,难以触及人心深处的笑点。例如,AI生成的段子虽然流畅,却少了那份不期而遇的惊喜和激情,无法真正打动观众。 简介:脱口秀是通过幽默语言和夸张表演引发笑声的艺术形式,AI生成的段子虽流畅但缺乏情感共鸣和即兴创作力,难以达到真人表演的效果。
|
1月前
|
机器学习/深度学习 传感器 人工智能
智慧无人机AI算法方案
智慧无人机AI算法方案通过集成先进的AI技术和多传感器融合,实现了无人机的自主飞行、智能避障、高效数据处理及多机协同作业,显著提升了无人机在复杂环境下的作业能力和安全性。该方案广泛应用于航拍测绘、巡检监测、应急救援和物流配送等领域,能够有效降低人工成本,提高任务执行效率和数据处理速度。
智慧无人机AI算法方案