我们对AI的信任,有时候取决于它能不能说清楚自己为什么这样判断。就像银行拒绝了贷款、保险公司调高保费。追问原因时,如果得到的回应只是“这些是模型算出来的”,大多数人心里都会产生怀疑。也正因如此,近几年可解释式人工智能(Explainable AI, XAI)开始被反复讨论,LIME与SHAP几乎成了资料科学圈里最常被提起的两个名字。

LIME和SHAP并不是什么新理论,但它们会反复被提起,主要是因为它们在各种解释方法里算是少数真正被时间验证,又真的能用来跟人解释的工具。

上个月底,我见了一位刚从美国回到马来西亚的朋友。他在美国念博士班,研究方向正好和机器学习模型的解释性有关。那次见面原本只是单纯叙旧,聊著聊著,话题却自然转到我近期正在研究、也愈来愈感兴趣的一个主题:XAI。他没有急著丢公式给我,而是笑著说了一句让我印象很深的话:“你不要把它们当成演算法,先把它们当成怎么跟人解释的方法。”

也正是那次聊天,我第一次真正听懂LIME与SHAP在做什么。这篇专栏,我想用我消化完那次对话之后的理解方式,把这套想法分享给每一个想快速、基础看懂XAI的人……

特征遮挡(feature occlusion)

在解释模型之前先想像一个场景。当你在判断一家餐厅值不值得推荐时,脑中其实同时在衡量很多事情:价格、口味、地点、停车方不方便。如果有人提醒你“其实这里很难停车”,你可能会立刻改变主意;但如果只是说“餐厅桌子有点小”,影响可能就不太大。这样的过程在你心里其实已经在做一件事:少了哪个条件,判断会差最多?

站在AI的角度,假设我们要让模型分辨一张照片里的是猫,还是鸟。对人类来说,看到胡须、脸型、耳朵,我们大概就知道是猫。看到翅膀、喙、羽毛,多半就是鸟。但对AI而言,它只是在看:哪些画面区块,会影响最后的判断。

如遮住关键位置 答案立刻改变

假设我们拿一张猫的照片,遮住背景的一小角,然后丢给模型判断,模型依然会判断这是一张猫的照片;遮住地板的一块阴影,判断的结果也大多不会改变。但是如果我们把猫的脸遮住再丢给模型判断,原本模型信心满满的“猫”,很可能立刻变得不确定,甚至会被猜成鸟。

这个遮住一块再看结果差多少的动作,在模型里有一个专业名称,叫做特征遮挡(feature occlusion)。XAI的核心就是在计算少了某一个条件,AI的判断会不会差很多?

这整个做法就是刻意把某一个特征(feature)拿掉,让它在模型眼中暂时不存在,然后再观察模型的输出会改变多少。如果结果出现明显变化,代表这个特征对判断影响很大(重要特征)。

理解SHAP最好的比喻:分钱游戏

朋友分享了一个把SHAP比做经典“分钱游戏”的故事。

假设一个团队完成了一个比赛,最后赚了1000令吉。那这1000令吉到底该怎么分才算公平?因为现实中不是谁最忙就该拿最多,有些人看起来是主力,但少了另一个人事情根本推不动。也有人平时存在感不高,却在关键时刻补上了那一下让整个专案顺利完成。

这正是合作赛局理论里Shapley Value想回答的问题:“在各种可能的合作组合中,平均来看每一个人究竟为团队多带来了多少边际贡献。”

SHAP(SHapley Additive exPlanations)其实就是把这套分钱逻辑搬进模型解释里。每一个特征(feature)就像一位一起合作的成员,而模型的预测结果,则是大家合力完成的成果。SHAP真正计算的其实就是在各种“有你”与“没你”的情境下,这个特征平均替预测增加了多少分。也因为SHAP的权重分配有著严谨的数学基础,所以每个特征的贡献加起来会刚好等于模型最后的输出。

LIME:从整个模型,缩小到这一笔资料

如果把SHAP想成一套严谨、讲究公平的分帐制度,那LIME(Local Interpretable Model-agnostic Explanations) 就更像是站在现场,帮你即时解说的说明员。

它在意的事情其实很单纯:在这一笔资料里,模型为什么会做出这样的判断?

为了回答这个问题,LIME并不会试著搞懂整个模型有多复杂,而是刻意把视角缩到最小。它就站在“这一次决策”的旁边,稍微改动一些条件,看看模型的反应会不会跟著改变,再用一个人类比较看得懂的方式把这个变化说清楚。

模型拒绝你时,它在看什么?

假设银行用AI模型来审核贷款,有一位申请者被拒绝了。模型背后看了很多条件:收入、年龄、工作年资、负债比例、信用纪录等……但站在申请者的角度,脑中只会剩下一个问题:“为什么是我?”

这个时候,LIME不会试著去解释整个风险模型是怎么设计的,而是直接回到这一笔申请本身,看看哪些条件一动,结果就会跟著变。

如果负债比例低一点,模型会不会改口?
如果收入再高一点,被拒绝的机率会不会下降?
如果工作年资多一年,判断会不会松动?

透过这样的比较,LIME给出的解释通常不长,却很具体:“这笔贷款之所以被拒,主要是因为负债比例偏高。其他条件就算调整,影响也不大。”

这样的说法并不是在宣称模型永远都这样想,而是在说明这一次判断结果的关键卡在这里。

模型怎么找出关键画面?

影像的例子其实更直观。假设一张照片被模型判成“鸟”。LIME不会去解释整个影像模型在想什么,而是只针对这张照片动手:
1.先遮住翅膀,看模型的信心值怎么变
2.遮住背景,再看一次
3.遮住地面,再试一次

结果可能发现,只要翅膀被遮住,模型就会开始犹豫,但背景怎么遮影响都不大。于是LIME给出的解释就变得非常清楚,模型之所以判成鸟的关键在翅膀,而不是背景。
所以可以把LIME理解成用全局模型,解释一个局部决策(global model, local explanation)。它很适合拿来做沟通与说明,但也要记得它能解释的范围,主要还是集中在这一笔资料附近。

从“谁重要”到“为什么重要”

把这些方法放在一起看,其实能看出一条很清楚的变化脉络。早期我们更在意的是“谁重要”。像随机森林(Random Forest)里常见的特征重要性(feature importance),本质上是在找寻整个模型训练过程中,哪些条件最常被用到、最常派上用场。LIME与SHAP则让问题开始往前推了一步。它们不只在乎“谁重要”,而是进一步追问:“在这一次判断里,为什么偏偏是你?”

当AI开始参与金融、医疗、保险、行销这些真实的决策场景时,一句“模型算出来的”已经很难让人真的放心。我们真正想知道的是判断背后的逻辑脉络、理由,以及当判断出错时,责任究竟落在哪里。

或许AI真正走向成熟的那一天,是当它终于能把做出决定时背后的逻辑说清楚。就像那场分钱游戏一样,重点不只是结果,是“这笔钱,为什么这样分。”
 
本文观点,不代表《东方日报》立场。

张苑柔

大马技术人员委员会(MBOT)认证专业科技师(Ts.),马来西亚国立大学(UKM)人工智能硕士,现为人工智能( AI) 工作者与商业智能(BI)顾问。

热门新闻

阅读全文

【新加坡大选】行动党蝉联执政 工人党政治版图扩大

阅读全文

烧烤摊违反行管令 老板顾客全被对付

阅读全文
档案照

哈萨克爆发不明肺炎 致死率远高于新冠病毒

阅读全文

CNN记者讲述北京防疫 女主播惊讶摇头