当前位置: 首页 > news >正文

机器学习的挑战:黑盒模型正面临这3个问题

fbf0df2acfcda203afe0d82cf5bd32c4.gif

导读:本文将讲述可解释机器学习的研究背景,介绍黑盒模型存在的问题和风险,通过一些小故事让读者了解问题的严重性。

作者:索信达控股 邵平 杨健颖 苏思达 何悦 苏钰

来源:大数据DT(ID:hzdashuju)

18f7a5344a1b294866d9132bd00e3ea1.png

01 机器学习面临的挑战

2016年3月,基于深度学习算法的阿尔法围棋(AlphaGo),以4∶1的总比分战胜围棋世界冠军李世石,深度学习算法从此一战成名,成为机器学习领域备受推崇的明星算法,在计算机视觉,语音识别,自然语言处理、生物信息学等领域都取得了极好的应用成果。

虽然深度学习模型、集成学习模型(比如XGBoost、LightGBM等)在很多领域都取得了很好的成果,但是这类模型有一个共同的特点就是:内部结构非常复杂,其运作机制就像一个黑盒子一样,难以用人类可以理解的语言去描述,模型输出结果也难以被解释,使得其在一些有关生命安全或重要决策领域的应用受到巨大挑战。

比如在银行业,2019年2月,波兰政府增加了一项银行法修正案,该修正案赋予了客户在遇到负面信用决策时可获得解释的权利。这是GDPR(《通用数据保护条例》,General Data Protection Regulation)在欧盟实施的直接影响之一。这意味着如果决策过程是自动的,那么银行需要能够向客户解释为什么不批准贷款。

2018年10月,“亚马逊人工智能招聘工具偏向男性”的报道登上了全球的头条新闻。亚马逊的模型是基于有偏见的数据进行训练的,这些数据偏向于男性应聘者。该模型构建了不利于含有“Women's”一词的简历的规则。

以上问题的提出,表明业界对模型的应用要求,已经不只是停留在准确性层面,模型结果能否解释,模型是否安全、公正、透明等也是机器学习面临的新挑战。


02 黑盒模型存在的问题

在实际应用中,黑盒模型为什么难以一步到位解决所有问题呢?在回答这个问题之前,我们先来看几个银行业的小故事。

1)小杨是某银行的一名理财客户经理,年关将至,马上就要业绩考核了,但其业绩离既定的销售目标还有一定的距离,于是他决定使用一个机器学习模型,判断他所负责的客户名单中哪些人更有可能会购买基金产品。花了一周时间编写代码和做特征工程,小杨顺利地运行了一个XGBoost(Extreme Gradient Boosting,梯度提升)模型,模型的AUC(Area Under Curve,ROC曲线下与坐标轴围成的面积)达到了0.86,结果非常理想,他便高兴地拿着模型预测的名单逐个进行电话营销。结果在几百通电话之后,最终只有一两个客户购买了基金产品,小杨落寞地对着自己的代码陷入了沉思。

2)小苏是某银行的风控专员,最近银行新开通的信用卡遇到了严重的逾期还款问题,银行决定对旧的评分模型进行调整优化,以防止发生更多的违约情况。于是他用新的训练数据对模型进行了更新,并对一些特征重新进行了分箱处理,最终将新模型部署上线。然而没过多久,银行便开始接到不同的投诉电话:“为什么我已经提供了齐全的资料,征信也没问题,但是我的信用卡审批就是通不过呢?”“我提交的资料信息与我同事的资料信息是相近的,为什么他的额度比我的高那么多?”……面对申请人接二连三的质疑,小苏一时半会儿也没法回答,面对这个黑盒模型运行所得的评分模型,他正绞尽脑汁地对模型进行剖析。

3)小何是一位典型的“吃货”,尤其喜爱喝珍珠奶茶,几乎每餐之后都会到手机银行App上浏览附近的奶茶店。最近她婚期将至,看着自己的体重还在持续增长,于是下定决心减肥,并办了一张健身房的年卡,并且每餐也以沙拉等轻食为主,杜绝珍珠奶茶等高糖分的摄入。令她烦恼的是,每次吃完饭用手机银行App结账的时候,App总会向她推荐附近的奶茶店。为了避免因禁不住诱惑而导致减肥前功尽弃,小何毅然决定卸载该手机银行的App。

由于黑盒模型内部结构的复杂性,模型使用者往往无法得知数据进入模型之后,是如何得到预测结果的,这就好像变魔术一样,魔术师从黑盒里变出不同的物品,观众却不明所以。

对于决策者,尤其是对于高风险领域(比如自动驾驶、金融领域、医疗行业等)的决策者,在不清楚黑盒模型运作原理的情况下,是不敢仅凭模型的预测结果就轻易做出决策的。

30cb50a2159ba3fdab7e58747f4b9a1d.png

虽然人工智能和机器学习技术大大提升了人类生活和工作的效率,在很多领域,人工智能都在发挥着巨大的作用。但不可忽视的是,人工智能、机器学习中的模型黑盒问题,也同样需要引起我们的重视,值得我们深入思考。模型黑盒问题具体包括如下三点

1. 无法挖掘因果关系问题或因果错判问题

我们在使用机器学习模型时,不仅希望模型能够给出正确的预测结果(尤其是在医学、金融、自动驾驶等高风险领域),还希望模型能够为我们提供判断依据。

黑盒模型内部结构复杂,使用黑盒模型做预测时,我们会根据一些模型的评价指标(如AUC)去评估模型的好坏,但即使AUC很高,我们也依然不清楚黑盒模型的判断依据是否正确。如果模型无法给出合理的因果关系,那么模型的结果也将很难使人信服。

微软著名研究院的Caruana曾在论文[1]中提到过一个医学上的例子:

在一个关于肺炎风险的数据集中,我们想要预测不同肺炎病人的死亡概率,从而更好地治疗高风险的肺炎病人。最准确的模型是神经网络,AUC达到0.86,但是当我们使用基于规则的模型时,模型学习到了“如果病人带有哮喘,那么他属于低风险人群”。也就是说,带有哮喘的肺炎患者的死亡率比其他肺炎患者要低。

这个结论看起来模棱两可,违背了我们的客观认知,但深入挖掘下去,我们便会发现其中的逻辑关系:有哮喘病史的肺炎患者,由于病情的严重性,会得到更进一步的治疗,治疗的效果通常也会很好,从而降低了这类患者的死亡率。

如果我们直接使用属于黑盒模型的神经网络模型,那么模型由于无法推导出这样的因果关系,从而将带有哮喘的肺炎病人判断为低死亡率(低风险)人群,这类人群便有可能错过最佳治疗时间,实际上他们需要得到更好的治疗。

2. 黑盒模型的不安全性问题

黑盒模型的不安全性问题可以分为两大类,具体说明如下。

一是对于建模人员来说,黑盒模型内部结构复杂,当模型受到外界攻击时,我们通常很难发现这些攻击。倘若黑客在原始模型的输入样本中添加了一些扰动(通常称为对抗样本),那么模型很有可能会产生错判,建模人员如果无法及时调整模型,就会导致非常严重的后果。

例如,将黑盒模型应用于自动驾驶时,如果黑客向轮胎的图像样本中加入一些扰动,则可能会导致轮胎的识别错误,从而造成严重的车祸问题。如果建模人员在建模时未发现模型存在这样的问题,那么在模型投入实际应用时,行车的安全系数将会大大降低。

二是对于模型的使用者来说,他们并不了解模型的运作机制,只是利用模型的结果作出决策。

当我们拿到一个新工具时,我们不仅需要知道如何正确地操作该工具,还需要了解使用该工具时的注意事项、存在哪些风险点,正如医生向病人提供治疗的药物时,除了用量和服用方式之外,药物说明书上还会写明不良反应、禁忌和注意事项等,病人了解这些信息后才能安心服药。

黑盒模型无法解释模型的结果,结果通常是以概率或评分的形式给出,使用者对模型结果的风险点却少有了解,这就好比病人不了解药物的不良反应一样。如果有人使用欺诈或伪造的方式,提升自己在黑盒模型中的评分,使用者很难从黑盒模型的结果中发现异常,这就会造成模型结果在使用中存在不安全性的问题。

3. 黑盒模型可能存在偏见问题

偏见是指对某类人群带有主观意识情感,就人论事,如性别歧视、种族歧视等都是常见的偏见问题。黑盒模型存在偏见问题,表面上好像是在说黑盒模型能够反映人类的思想,实际上是指黑盒模型在做预测时,放大了数据收集过程中可能存在的数据不平衡性问题,导致模型最终得出具有偏见性的结果。

比如在美国广泛使用的COMPAS算法,该算法通过预测罪犯再次犯罪的可能性来指导判刑,根据美国新闻机构的报道,COMPAS算法存在明显的偏见,根据分析,该系统预测黑人被告再次犯罪的风险要远远高于白人,甚至达到了后者的两倍。

从算法的结果来分析,黑人的预测风险要高于实际风险,黑人被误判的几率是白人的2倍多,也就是说,COMPAS算法对黑人是很不公平的,该算法的应用已经严重影响到了判决的公正和公平。

有些模型的算法还会涉及性别歧视、年龄歧视等问题。由于黑盒模型缺乏内在解释性,进行模型训练时又难免会使用不均衡的样本数据,因此使用这样的模型,问题严重时可能会引发一系列的社会问题。同样的道理,在金融领域,当我们做风险评估时,黑盒模型可能会对不同性别、地域、年龄等特征进行不同的处理。

综上所述,如何避免模型做出带有偏见性的预测,是值得我们关注的问题。

参考文献:

[1]Caruana R, Lou Y, Gehrke J, et al. Intelligible Models for HealthCare: Predicting Pneumonia Risk and Hospital 30-day Readmission [C] // ACM, 2015.

关于作者:邵平,资深数据科学家,索信达控股金融AI实验室总监。在大数据、人工智能领域有十多年技术研发和行业应用经验。技术方向涉及可解释机器学习、深度学习、时间序列预测、智能推荐、自然语言处理等。现主要致力于可解释机器学习、推荐系统、银行智能营销和智能风控等领域的技术研究和项目实践。

杨健颖,云南财经大学统计学硕士,高级数据挖掘工程师,一个对数据科学有坚定信念的追求者,目前重点研究机器学习模型的可解释性。

苏思达,美国天普大学统计学硕士,机器学习算法专家,长期为银行提供大数据与人工智能解决方案和技术服务。主要研究方向为可解释机器学习与人工智能,曾撰写《可解释机器学习研究报告》和多篇可解释机器学习相关文章。

本文摘编自《可解释机器学习:模型、方法与实践》(ISBN:9787111695714)

44c54a22b3d6c68ae1589d6eb9736c21.png

延伸阅读《可解释机器学习:模型、方法与实践》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:国内金融人工智能一线团队倾力打造,追踪最前沿的研究进展,全面、系统地介绍了可解释机器学习模型及方法。

38460661af9a11aa26795a3a77859dcb.gif

272f0db8ce394e255b8ddd9694c875b6.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

bf2d289c064338f5e217b3fd5916cc73.gif

更多精彩回顾

书讯 | 12月书讯(上) | 冬夜寒冷,读书暖心,华章科技上新啦!

书讯 | 12月书讯(下) | 冬夜寒冷,读书暖心,华章科技上新啦!

资讯 | 2022年六大值得关注的边缘计算趋势

书单 | 8本书助你零基础转行数据分析岗

干货 | 胡伟武:中国IT产业的根本出路在于构建自己新的体系

收藏 | Excel摸鱼技巧:快速实现分列转到行

上新 | 【新书速递】高效使用Greenplum

赠书 | 【第86期】CPU 空闲时在干嘛?

2164d4558d39c5c3e43342672a2fac67.gif

5adc89cb817831f27cca663df1f75b71.gif

点击阅读全文购买

相关文章:

  • 数据治理项目失败,90%都是被这样搞垮的!
  • 6本书,读懂2022年最火的边缘计算
  • 详解数据分析体系构成框架
  • 【新书速递】金融领域可解释机器学习模型与实践
  • 说大话还是真实力,Rust 是被炒“火”的吗?
  • 用Python写了一个图像文字识别OCR工具
  • 解读数据工程、数据科学和机器学习都有什么区别?
  • 1月书讯(上)| 2022年的第一本书
  • Docker冲顶技术热词,微服务应用热度不减,中国云原生开发者真实现状如何?...
  • 重磅!达摩院发布2022十大科技趋势
  • Flink1.14.2发布,除了log4j漏洞你还需要关注什么?
  • 揭秘 vivo 如何打造千万级 DAU 活动中台
  • 终于有人把“可解释机器学习”讲明白了
  • 产品经理必读:用户场景分析的四要素
  • 年终盘点:2021年的通信行业
  • JS 中的深拷贝与浅拷贝
  • “大数据应用场景”之隔壁老王(连载四)
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【个人向】《HTTP图解》阅后小结
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • ES6 学习笔记(一)let,const和解构赋值
  • laravel with 查询列表限制条数
  • python3 使用 asyncio 代替线程
  • Rancher-k8s加速安装文档
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring框架之我见(三)——IOC、AOP
  • windows-nginx-https-本地配置
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 大型网站性能监测、分析与优化常见问题QA
  • 读懂package.json -- 依赖管理
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 实现简单的正则表达式引擎
  • 使用agvtool更改app version/build
  • 使用common-codec进行md5加密
  • 微服务入门【系列视频课程】
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 写给高年级小学生看的《Bash 指南》
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • scrapy中间件源码分析及常用中间件大全
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #13 yum、编译安装与sed命令的使用
  • (3)(3.5) 遥测无线电区域条例
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)JAVA使用POI操作excel
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (转)大型网站的系统架构
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 指南:抽象化实现的基类
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • /etc/fstab 只读无法修改的解决办法