推荐序一
机器学习可解释性(Interpretability)或XAI(Explainable Artificial Intelligence)是机器学习的研究者们始终存在的一个担忧:目前主流的深度神经网络没有办法以一种从人类角度完全理解的模型和决策。对于可解释性能要求较高的关键领域,例如交通、医疗、法律和财经等,我们会发现仍然无法完全相信模型的预测能力。因此,广大的机器学习研究者们希望探求出的是,我们有没有办法去解释这些模型,从而真正建立人与模型之间的信任。
机器学习的一般流程包括:收集数据、清洗数据、训练模型、基于验证或测试错误或其他评价指标选择最好的模型。第一步,选择具有比较低的错误率和比较高的准确率的高精度模型。第二步,面临准确率和模型复杂度之间的权衡,一个模型越复杂就越难以解释。一个简单的线性回归非常好解释,因为它只考虑了自变量与因变量之间的线性相关关系,但是也正因为如此,它无法处理更复杂的关系,模型在测试集上的预测精度也更可能比较低。而深度神经网络处于另一个极端,因为它们能够在多个层次进行抽象推断,所以它们可以处理因变量与自变量之间非常复杂的关系,并且达到非常高的精度。但是这种复杂性也使模型成为黑箱,我们无法获知所有产生模型预测结果的特征之间的关系,所以我们只能用准确率、错误率等评价标准来代替,进而评估模型的可信性。
然而事实上,每个分类问题的机器学习流程中都应该包括模型理解和模型解释。比如,在模型改进方面,通过理解指标特征、分类、预测,进而理解为什么一个机器学习模型会做出这样的决定、什么特征在决定中起最重要的作用,能让我们判断模型是否符合常理。再比如,在模型可信性与透明度,理解机器学习模型在提高模型可信度和提供审视预测结果透明度方面是非常有必要的。让黑金模型来决定人们的生活是不现实的,比如贷款和监狱刑法。机器学习的可解释性也可以很好地帮助我们识别和防止偏差,比如用于招聘的机器学习模型,揭示了在特定职位上的性别偏差,比如男性软件工程师和女性护士。
要做好可解释性,需要将数据科学与机器学习有机地结合起来。机器学习模型本身由算法组成,该算法试图从数据中学习潜在的模式和关系,而无须硬编码固定规则;数据科学家通常致力于构建模型并为业务提供解决方案。模型解释作为一个概念,仍然主要是理论和主观的。任何机器学习模型的核心都有一个响应函数,它试图映射和解释独立(输入)自变量和(目标或响应)因变量之间的关系和模式。我们在建立模型时,需要考虑What、Why 及How,输出的结果可以包括自变量的重要性、分类,模型的可解释范围、评估及其特性,包括准确性、保真性、可用性、可靠性、健壮性和通用性等。最后,输出的结果可否有人性化解释,这通常可以与自然语言生成相结合。
目前,关于可解释性的图书还比较有限,Christoph Molnar 在2018 年撰写的Interpretable Machine Learning 给大家提供了很好的指导。你可以从这本书中学习简单的、可解释的模型,如线性回归、决策树和决策规则等。该书后面几章重点介绍了解释黑盒模型的与模型无关的一般方法,如特征重要性和累积局部效应,以及用Shapley 值和LIME 解释单个实例预测。对各种解释方法进行了深入的解释和批判性的讨论。它们是如何工作的?优点和缺点是什么?如何解释它们的输出?本书使你能够选择并正确应用最适合你的机器学习项目的解释方法。这本书结合了各类现实生活中的例子来介绍相关的概念,同时搭配参考资料帮助读者进一步学习了解。
随着更多的深度学习模型框架的出现,比如最近流行的语言模型Transformer,打开这些“黑盒子”的正确方式将变得越来重要。这也是一个多学科交叉的综合性学科,需要机器学习从业者、数据科学家和统计学家一起努力!
杨红霞博士
阿里巴巴达摩院资深算法专家
推荐序二
朱明超同学是2018 年作为推免研究生进入复旦大学计算机学院学习的。我作为他的导师,在两年多工作和生活的接触中,发现他是一位对生活积极乐观、对学习认真专注的同学。
我们实验室从事机器学习、深度学习和自然语言处理等方面的研究。在此次人工智能热潮中,以深度学习为代表的大型复杂黑盒模型在不断地大幅刷新各类学习任务SOTA 性能,同时也因缺乏解释性而限制了其应用范围。研究和建立事前、事中和事后的全过程可解释性机制具有重要的理论研究意义和应用价值。结合实验室的研究方向和朱明超同学的个人兴趣,从入学开始,便选择了可解释机器学习作为他的研究课题,进行系统的学习和研究。
目前在可解释机器学习方面的中文资料相当稀缺,缺少相关的系统性教学及科研资料。朱明超所翻译的Christoph Molnar 博士撰写的《可解释机器学习》一书恰好填补了这一空白。他在翻译本书过程中极其认真,倾注了大量的时间和心血。这种认真的态度,保障了本书内容的质量。
本书覆盖了可解释机器学习最基本的概念和算法,条分缕析,通俗易懂。更可贵的是,本书将可解释性算法的理论、优缺点和实际使用过程结合起来,具有很强的实用性。在可解释机器学习受到研究界高度关注、实践需求快速增长的背景下,本书是一本很好的读物,相信不同的读者都会从中获益。
谢志鹏
复旦大学计算机学院副教授
作者序
机器学习受到了很多研究人员和业内人士的关注,有很多可落地且有影响的应用。机器学习对于产品开发、科学研究和自动化来说是一种强大的技术。例如,机器学习可被用于金融交易欺诈检测、电影推荐和图像分类。机器学习模型是否具有可解释性通常是至关重要的,因为可解释性可以帮助开发人员调试和改进模型,建立对模型的信任,验证模型预测并获得洞察力。机器学习可解释性需求的增加是机器学习使用量增加的自然结果。
撰写本书一开始是我作为统计学家工作之余的副业。起初,我没有写书的打算,相反,我只是对寻找更多关于可解释机器学习的信息感兴趣,寻找好的资源来学习。鉴于机器学习的成功和可解释性的重要性,我以为市面上会有大量关于这个主题的图书和教程。但是,我只在网上找到了一些相关的研究论文和博客文章,没有找到很好的综述论文。甚至可以说,没有图书,没有教程,没有综述论文。这种现状启发我开始写这本书。当我开始学习可解释机器学习时,我希望这本书能够出版。我写这本书的意义是双重的:既为了自己学习,也为了与他人分享新知识。
我在德国慕尼黑大学获得了统计学学士和硕士学位。我的机器学习知识大部分是通过网络课程、竞赛、项目和专业活动自学的。我的统计学背景是学习机器学习的极好基础,尤其是在可解释性方面。在统计学中,一个主要的关注点是建立可解释的回归模型。在我取得统计学硕士学位后,我决定不去读博士,因为我不喜欢写论文,写作给我的压力太大了。因此,我在一家金融科技初创企业担任数据科学家,并在临床研究中担任统计学家。在工业界工作三年之后,我开始写这本书。几个月后,我开始攻读可解释机器学习的博士学位。这本书让我重新找到了写作的乐趣,重新激发了我对研究的热情。
本书主要内容
这本书涵盖了可解释机器学习的许多技术。第1 章介绍了可解释性的概念,并阐述了可解释性的必要性,以及一些短篇故事。第2 章讨论了解释的不同性质,以及人类认为什么是好的解释。第3 章介绍了本书中实验用到的真实数据集。第4 章讨论了内在可解释的机器学习模型,例如回归模型和决策树。第5 章讨论了本书的主要焦点,即与模型无关的可解释性方法。与模型无关意味着这些方法可以应用于任何机器学习模型,并且是在模型训练完成后才应用的。模型的独立性使得这些与模型无关的方法非常灵活和强大。有些技术可以解释单个实例预测是如何做出的,如局部代理和Shapley 值。还有一些技术描述模型在数据集的全局行为。我们将学习部分依赖图、累积局部效应图、置换特征重要性和其他方法。第6 章讨论了基于样本的解释方法,它生成数据点作为解释,反事实解释、原型、有影响力的实例和对抗样本都是在本书中讨论的基于样本的解释方法。第7 章提出了一些思考,即可解释机器学习的未来可能会是什么样子的。
如何阅读本书
读者不需要从头到尾阅读本书,可以集中精力在自己最感兴趣的方法上。建议从引言和可解释性开始阅读。后面每一节着重于一种解释方法:首先总结这种方法;然后试着不依赖数学公式直观地描述它;最后详细描述该方法的理论,得到一个深刻的理解。我认为,最好通过示例来理解一个新方法。因此,每种方法都运用在真实数据上。每一节还包含了对各自解释方法优缺点的讨论,最后给出了每种方法的软件实现。这本书可以帮助读者选择适合自己的应用程序的解释方法。
这本书已经成为许多人的宝贵资源。教师使用这本书向学生介绍可解释机器学习的概念。我收到了很多硕士研究生和博士生的邮件,告诉我这本书是他们论文的起点和重要的参考。这本书帮助生物、金融、心理等领域的应用研究人员使用机器学习来理解他们的数据。工业界的数据科学家告诉我,他们在工作中使用并向同事推荐这本书。我很高兴许多人能从本书中受益,成为模型解释方面的专家。
我希望把这本书推荐给那些想要了解一些技术的从业者,以使他们的机器学习模型更具可解释性。同时,也推荐给对这个主题感兴趣的学生和研究人员。若要从这本书中受益,应该对机器学习和数学公式有基本的了解,即使在没有足够数学知识的情况下,也应该能够理解每一节开头对方法的直观描述。
希望你能喜欢这本书!
Christoph Molnar
译者序
机器学习的研究者们始终存在一种担忧——人类无法理解现在的复杂模型的决策。即便机器学习在图像、自然语言和语音等领域有了极高的性能,但我们仍然对这些预测心存戒备。这正是因为我们不了解这些模型的预测依据是什么,也不知道它们会在什么时候出现错误。正因如此,这些复杂模型难以部署到高风险决策的领域中,例如医疗、法律、军事、金融,等等。因此,我们亟须找到方法去解释这些模型,建立人与模型之间的信任。这便是可解释机器学习如此重要的原因。
为什么翻译本书
尽管可解释性的重要性不言而喻,但相关书籍却一直空缺。本书是少有的系统性地整理可解释性工作的图书。书中每节介绍一种解释方法,既通过通俗易懂的语言直观地描述这种方法,也通过数学公式详细地介绍方法的理论,无论是对技术从业者还是对研究人员均大有裨益。同时,书中将每种方法都在真实数据上进行了测试,我认为这是本书最大的特色,因为只有将方法落实到数据上进行实验,才能让人们真正理解这种方法。最后,书中对每种方法的优缺点都做了批判性讨论,这同样是非常值得阅读的地方。
本书的英文版Interpretable Machine Learning由Christoph 所写。英文版出版后就备受关注,广受读者喜爱。让知识真正普及的方法一定是先让知识能传播,但这需要有人去推动才行。我看到这本书的原文后,觉得值得花时间去翻译,不仅因为可解释性领域的重要性以及它是第一本相关图书,而且因为它符合我对好书的定义。我认为一本好书既能让知识传递,又能让读者读完后豁然开朗。从那之后,我便开始专注于译本,翻译过程耗时很久。在翻译过程中,我与Christoph 一直保持交流。我沉浸于此书的译本,既是因为可解释性是我研究和喜欢的领域,也是因为我热爱这件事,我喜欢将自己的时间和精力都专注在自己热爱的事情上。
出版过程与致谢
完成本书译稿后,我便将它放到了GitHub 上。在刚放出内容时,便登上了GitHub 热榜榜首,被诸多公众号和媒体转载。虽然我在翻译时力求忠于原文、表达简练,但译稿中难免有不足与错误,因此我对译稿进行了反复修订。在完成译稿的过程中,电子工业出版社博文视点的宋亚东编辑帮助了我,他的热情和敬业真的感染了我。他对译稿进行了全面细致的校对,提出了极多宝贵的意见,在此表示由衷的感谢。
感谢为本书做出贡献的刘蕊,在翻译过程中帮助了我。
感谢谢志鹏老师给我的指导和帮助。
感谢好友李映江全程给予我的支持和帮助。
感谢通过邮件等方式告诉我书中错误与疏漏之处的朋友们,因为有你们的帮助才能有本书最终的译稿。
由于水平有限,书中不足之处在所难免,敬请专家和读者批评指正。
朱明超