王希廷、谢幸作者

可解释推荐系统:知其然,知其所以然

单纯的推荐结果和推荐结果+理由的组合,哪个更让你信服?长篇累牍的推荐语和言简意赅的关键词,你更愿意看哪个?这是人们每天都会面对的场景,也是可解释推荐系统研究需要不断优化的问题。


近几年,人工智能的可解释性问题受到了来自政府、工业界和学术界的广泛关注。美国国防部先进研究项目局DARPA资助了可解释性人工智能项目XAI(Explainable AI);中国国务院在《新一代人工智能规划》中提出的“实现具备高可解释性、强泛化能力的人工智能”目标,得到了各个公司的积极响应;ICML 2017年的最佳论文《Understanding Black-Box Predictions via Influence Functions》以及NIPS 2017的最佳论文《A Linear-Time Kernel Goodness-of-Fit Test》也和可解释性有着紧密关联。

当深入研究这个新兴且快速发展的领域时,一些尚未清楚的问题也困扰着我们。解释的具体目标是什么?当我们要将解释呈现给普通用户看时,我们的目标是否会有变化?怎么对可解释性的问题进行较为严格的定义?提高机器学习方法(如推荐模型)的可解释性,现有方法的流程是什么样的?未来的发展方向是什么样的?

这些问题既困扰着我们,也带来了研究的乐趣。本文将以推荐系统的解释性为引,和大家分享我们探索到的部分答案,希望能对可解释性研究起到抛砖引玉的作用。

目标及定义

可解释机器学习的目标问题可以从2017年引起广泛关注的机器学习炼金术之争谈起。NIPS 2017年时间检验奖(Test-of-Time Award)获得者Rahimi在发表获奖感言的时候表示,现在的机器学习已经越来越像炼金术了。其实如果只是简单应用炼金术的结果倒也无妨,可是将类似炼金术的机器学习结果用于社交媒体甚至大选是不够严谨和周密的,这也让他感到不安。他的发言引起了很大的关注和争论。他的质疑中提出的两个问题,我们将它们总结为透明度信任度

关于可解释机器学习目标,最普遍的看法是提高机器学习方法的透明度。以深度学习方法为例,很多人对深度神经网络进行调试时,都将其看作黑匣子。我们只能看懂黑匣子的输入输出,很难理解黑匣子中的工作原理。这就造成了机器学习模型结果难以预测(能否点石成金?)、难以调试等问题,最终影响对机器学习模型的深入理解及结果的进一步提高。另一个目标是提高人们对于机器学习算法的信任度。在医疗、金融、军事、政治等关键领域,机器学习的结果影响甚大,而可解释机器学习则可以帮助决策者决定是否信任机器学习的结果。

这些目标都和模型密切相关,我们将它们统称为模型可解释性。如果只考虑这类目标,就忽视了解释中非常关键的一环:用户(解释对象)。

当我们着眼于用户,就发现解释不仅要帮助我们提高对模型的理解,它本身的可读性也很关键。如果解释过于复杂,理解起来耗时耗力、需要极强的机器学习知识,这就和增强理解的初衷就背道而驰了。解释本身需要简明扼要、具有洞察力和高可读性,否则和直接打印神经网络每个参数输出没有本质区别。

在一些领域,我们需要把结果呈现给普通用户看。例如推荐一本书给用户,如果能用通俗易懂的解释让用户了解到为什么会推荐这本书给他,可以极大地提高推荐的有效性(帮助用户快速做出是否看书的决策)甚至推荐的说服力(提高用户阅读这本书的可能性)。这对用户和广告商都有重要的应用意义,但是目前学术界对这方面的探讨比较少。我们认为将用户更多地纳入可解释机器学习的考虑范畴,将极大提高可解释方法的应用和研究价值。可读性、有效性、说服力这类目标,我们统称为解释质量。上述讨论的可解释机器学习两大类目标可以总结如下图所示。

可解释机器学习的目标:模型可解释性(模型导向)以及解释质量(用户导向)

这些目标相辅相成,又相互制约。研究表明,提高透明度有助于提升解释的说服力;而透明度和可读性却需要协调平衡,一个面面俱到、帮助人们深入理解模型的解释(透明度高)很可能可读性较低,因为人们需要花长时间理解;有效性旨在帮助用户做最适合他们的决策,这和说服用户接受某种决策也有相互矛盾之处。不同目标如何协调平衡,主要取决于具体的应用场景。

基于上述理解,我们可以尝试对可解释推荐下个定义。一般来说,可解释推荐是在给出推荐结果的同时,给出对结果的支持论据(即解释)。如果需要更细地进行定义,就要考虑具体应用及目标。如果更侧重模型可解释性(模型导向),就要求论据能够帮助用户更好地理解模型行为;如果更注重解释质量中的说服力,则要求论据能够增加用户接受推荐物品的概率;如果更注重解释质量中的有效性,则要求论据能够帮助用户做出更好地决定。

下图是一个偏重解释有效性的例子。和偏重说服力的相比,它不仅会突出餐馆值得一去的原因(担担面好吃),还会指出餐馆的一个缺点(价格偏高),帮助用户做出更好的决定。 

可解释推荐偏重解释有效性的例子

可解释推荐流程

下面,我们回归到可解释推荐的场景下,看看现在可解释方法的主要流程是什么样的。这些流程里面主要涉及到推荐中的几个关键要素:用户集合U、物品集合V、被解释的推荐系统f(u,v)、推荐系统的推荐物品集合V',解释模块以及其输出的解释z。    

最常见的一种流程是后处理(Post-hoc)。如下图所示,后处理的方法是在推荐结果已经给出后再进行解释,解释内容不受推荐系统f(u,v)的影响,即使换了一个推荐系统,只要给定同一个用户和物品,解释都是一样的。这种方法主要优化的是解释质量(希望生成可读性、有效性高甚至具有说服力的解释),但是模型解释性较差,同时也比较容易实现,适合面向不懂机器学习的普通用户进行解释。主要应用场景包括广告电商平台、新闻、音乐、电影推荐等等。

可解释推荐后处理流程后处理方法主要研究解释文本生成,分为三种方法:(1)基于规则;(2)基于检索;(3)基于生成式模型。

基于规则是指由解释方法设计者事先给定一些简单模板(例如“N个微博用户都喜欢这个商品”),算法只负责对模板中涉及的内容根据规则进行填充。基于检索的方法是由解释方法设计者规定解释集合,算法负责对解释集合进行排序,挑选排在最靠前的解释输出给用户。例如给用户推荐书时,解释集合规定为用户曾经看过的书,此时解释模板为“看过X的用户都很喜欢这本书”,算法只需要从集合中根据用户的兴趣及书的相似度挑选一本放入解释即可。

基于规则和基于检索的方法在生成解释文本时,都需要模板,难免让用户觉得千篇一律、缺乏惊喜。有没有办法从数据中进行学习,进一步提高解释的多样性和说服力呢?我们组在这方面做了一些研究,发现可以从数据中学习,综合广告商提供的文案和被展示广告的点击率,利用改进的序列生成技术自动写出广告文案,这种方法已经被应用在微软的搜索广告中。下表展示了我们的广告生成结果,可以看到不仅有一些具有说服力的话(如“Apply today & find your perfect job!”),而且生成结果多种多样。

生成式模型自动写出的广告解释文案

可解释推荐的第二种流程是嵌入式(Embedded)。嵌入式的方法把解释模块融入到推荐系统的构建中(如下图所示)。解释模块往往对物品的特征进行选择,将对推荐准确性影响最大的物品挑选出来作为解释。这里面用作解释的物品特征往往是一些词组(“屏幕清晰”)、语句(“这本书自2018年开始在全世界销量5亿本,是历史上销量最高的一本书。”)或者是图片。嵌入式的方法和后处理的相比,具有很高的模型解释性,但是难以确保解释质量,例如,难以保证解释之间的连贯性及一致性,因此比较适合研究人员及算法开发人员。

可解释推荐嵌入式流程

嵌入式方法的大部分解释模块都是浅层的,比如RecSys 2013年的论文《Hidden factors and hidden topics: Understanding rating dimensions with review text》中用到的主题模型,SIGIR 2014年的论文《Explicit factor models for explainable recommendation based on phrase-level sentiment analysis》中用到的矩阵分解,以及WWW 2018年论文《Neural attentional rating regression with review-level explanations》中用到的单层注意力网络。

能否构建一个深层的网络,每一层的特征和它们之间的关联都是可解释的呢?沿着这个思路研究,我们利用Microsoft Concept Graph构建了深度可解释网络的初始结构,并且利用Attentive Multi-View Learning对这个深度可解释网络中每层的参数进行优化,使它不仅可以提高推荐准确性、有用性,还可以通过无监督的方式自动对用户的层次兴趣进行建模。例如,我们可以知道用户是只对寿司(低层特征)感兴趣,还是对日料(高层特征)整体都比较感兴趣。这部分工作我们发表在AAAI 2019论文《Explainable Recommendation Through Attentive Multi-View Learning》中,模型框架如下图所示。 

深度可解释推荐模型:每一层的特征、相邻层特征的关系都可读

后处理和嵌入式的流程一个侧重解释质量,一个侧重模型解释性。有没有方法能够更好地兼顾两者呢?在这样的思考下,我们提出了封装式(Wrapper)流程。如下图所示,封装式的方法不需要改变现有的推荐系统,只是将解释模块和推荐系统放在相对平等的位置,解释模块通过与推荐系统交互生成模型相关的解释。这样既可以自由控制解释质量,又可以保证模型解释性,同时也不需要像嵌入式的方法一样针对不同的推荐模型设计不同的解释方法,是一种协调模型解释性与模型质量的很好的方法。

可解释推荐封装式流程

封装式可解释方法是利用增强学习实现的。具体来说,就是利用下图所示的增强学习框架来对任何推荐模型进行解释,可以同时确保模型解释性以及解释质量。在这个框架中,被解释的推荐模型是环境(Environment)中的一部分。框架中有两个智能体 (Couple Agents),其中智能体1负责生成解释,智能体2负责利用解释预测被解释推荐模型的输出(用户对物品的打分)。这两个智能体把需要解释的模型当作黑盒子,通过与环境进行交互得到的奖励(Reward)决定优化方向。

这里,环境给予的奖励由两个方面决定。如果智能体可以利用解释准确预测(模仿)被解释推荐模型的结果,则被奖励,这体现的是对推荐模型的解释能力。如果智能体给出的解释精炼、有连贯性、可读性较高,也会被奖励,这是为了提高解释本身的质量。这样的框架适用于任何推荐模型,同时解释能力和解释质量都较高。这部分工作发表在ICDM 2018的论文《A Reinforcement Learning Framework for Explainable Recommendation》 中。

这个框架是我们在可解释推荐框架方面的一个初步尝试,它目前还有不少需要改进的地方。例如利用目前增强学习方法生成解释有收敛较慢的问题,另外预先设定的奖励机制是否与实际应用中希望的奖励有直接联系也需要进一步研究。接下来,我们会延续这个方向进行探索。

可解释推荐的增强学习框架

机遇与挑战

作为推荐领域被探索得较少的一个方向,可解释推荐的很多方面都值得研究与探索。目前,我们在考虑从下面三个方面进行研究。

利用知识图谱增强算法解释能力

知识图谱作为可读性高的外部知识载体,给提高算法解释能力提供了极大的可能性。例如,我们可以利用知识图谱打通不同媒介之间的关联。现有的可解释推荐所生成的推荐解释往往只局限于以物品为媒介、以用户为媒介或者以特征为媒介中的某一种,对这三类媒介之间的关联挖掘得还不够。我们希望能够利用知识图谱,打通这三类媒介之间的关联,根据具体情况灵活选择其中最合适的媒介对用户进行推荐与解释。在可解释人工智能越来越重要的时代,将知识图谱这类Symbolic Knowledge和深度学习结合,会是极有前景的方向。

普适的可解释推荐框架及评测标准

目前可解释推荐系统大多是针对特定的推荐模型设计,可拓展性较弱,对于新兴的推荐模型,例如含有深度神经网络的复杂、混合模型的解释能力还不够。如果有一个模型无关的可解释推荐框架,就可以避免针对每个推荐系统分别设计解释方案,从而提高方法的可拓展性。

另外,可解释推荐如何评测一直是困扰可解释性研究员的一个难题,线上(online)测试和人工标注条件要求较为苛刻,线下(offline)的评测标准还不够成熟,我们希望在这个方向进一步研究,降低可解释性研究的门槛,建立可解释性的基础理论。

结合生成模型进行对话式推荐

目前的推荐解释往往形式是预先设定、千篇一律的(如预先设定推荐解释是以用户为媒介的)。这样尽管也能根据用户心理举出一些例证,但是在沟通方式上还过于呆板,离拉家常式的推荐还有很大距离。如果能用生成模型推荐系统“自创”一句通顺甚至高情商的话,就可以在与用户聊天的过程中进行灵活、多变地推荐解释了。我们团队已经与微软小冰合作,在这方面进行了一些尝试,为小冰生成音乐推荐解释,接下来还希望在这方面进行进一步地研究。

除了可解释推荐系统,个性化推荐未来还有哪些研究热点?在《预见未来 | 个性化推荐系统,必须关注的五大研究热点》一文中,微软亚洲研究院社会计算组的研究员们从深度学习知识图谱强化学习、用户画像、可解释推荐等五个方面展望了推荐系统的未来发展。深度长文,不可错过!

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论机器学习推荐系统
5
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面,智能多媒体,大数据与知识挖掘,人工智能,云和边缘计算,计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的研究,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

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

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

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

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

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

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

主题模型技术

主题模型(Topic Model)在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。直观来讲,如果一篇文章有一个中心思想,那么一些特定词语会更频繁的出现。比方说,如果一篇文章是在讲狗的,那“狗”和“骨头”等词出现的频率会高些。如果一篇文章是在讲猫的,那“猫”和“鱼”等词出现的频率会高些。而有些词例如“这个”、“和”大概在两篇文章中出现的频率会大致相等。但真实的情况是,一篇文章通常包含多种主题,而且每个主题所占比例各不相同。因此,如果一篇文章10%和猫有关,90%和狗有关,那么和狗相关的关键字出现的次数大概会是和猫相关的关键字出现次数的9倍。一个主题模型试图用数学框架来体现文档的这种特点。主题模型自动分析每个文档,统计文档内的词语,根据统计的信息来断定当前文档含有哪些主题,以及每个主题所占的比例各为多少。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~