微软亚洲研究院 - 澳纽网Ausnz.net聚合阅读


五分钟了解你不得不知道的人工智能热门词汇

编者按:大数据和人工智能的浪潮正在席卷全球,众多热门词汇蜂拥而至:人工智能(Artificial Intelligence)、大数据(Big Data)、云计算(Cloud Computing)、机器学习(Machine Learning)、数据挖掘(Data Mining)、深度学习(Deep Learning)、强化学习(Reinforcement Learning)和数据库(Databases)。不少人对这些高频词汇的含义及其背后的关系总是似懂非懂、一知半解。


为了帮助大家更好地理解人工智能,我们邀请到微软亚洲研究院资深研究员郑宇博士用最简单的语言来解释这些词汇的含义,理清它们之间的关系,希望对刚入门的同学们有所帮助。


人工智能、机器学习、深度学习和强化学习


首先来看一下人工智能、机器学习和深度学习之间的关系。如图一所示,我们可以大致认为深度学习是机器学习中的一种学习方法,而机器学习则可以被认为是人工智能的一个分支。

图一 人工智能研究分支


人工智能: 人工智能涵盖的领域很广,除了机器学习外,还包括专家系统、进化计算、模糊逻辑、粗糙集、多代理、规划问题等。最近几年,人工智能的发展主要得益于机器学习领域的推动,尤其是深度学习取得的突破,其他领域的进展相对较小。人工智能分为弱人工智能和强人工智能,前者让机器具备观察和感知的能力,可以做到一定程度的理解和推理。目前的科研都集中在弱人工智能这部分,并很有希望在近期取得重大突破。而强人工智能期待让机器获得自适应能力,解决一些之前没有遇到过的问题。电影里的人工智能多半都是在描绘强人工智能,而这部分在目前的现实世界里难以真正实现。


机器学习: 从学习方法上来分,机器可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。深度学习本来并不是一种独立的学习方法,其本身也会用到有监督和无监督的学习方法来训练深度神经网络。但由于近几年该领域发展迅猛,一些特有的学习手段相继被提出(如残差网络),因此越来越多的人将其单独看作一种学习的方法。按照学习目的来分,机器学习涵盖了回归、分类、聚类、异常监测、量纲学习和因果分析等。


深度学习:最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为隐含层很多的一个神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。其实有不少想法早年间也曾有过,但由于当时训练数据量不足、计算单元落后,因此最终的效果不尽如人意。


强化学习: 强化学习为一个代理(Agent)在一个环境里设计一系列动作(Actions)以获得最优的未来长期回报(Reward)。走迷宫常被用来作为解释强化学习的例子。因为学习方法复杂,早年间强化学习只能解决一些非常简单(状态空间小、动作选择少)的问题。直到深度学习的出现,使得我们可以用深度神经网络去逼近一个近似的价值和策略函数,强化学习才取得很大的进展(如在AlphaGo里的价值判断网络),人们称其为深度强化学习(Deep Reinforcement Learning)。与其说是强化学习的进展,不如说是在强化学习的框架里,深度学习贡献了巨大的力量。


数据挖掘、人工智能、大数据和云计算


如图二所示,数据挖掘是从数据中发掘知识的过程,在这个过程中人工智能和数据库技术可以作为挖掘工具,数据可以被看作是土壤,云平台可以看作是承载数据和挖掘算法的基础设施


图二 数据挖掘的过程以及与AI和云计算的关系


数据挖掘: 数据挖掘是从数据中发掘知识的过程,在挖掘数据的过程中需要用到一些挖掘工具和方法(如图二第二个层面所示)。这些工具可以是基于数据库的挖掘方法,比如频发模式发掘(Frequent Pattern Mining)和关联规则。大家经常听说的啤酒和尿布的例子就是基于数据库技术的频繁模式发掘。数据挖掘也可以用到机器学习的方法,比如各种分类模型(如Decision trees和SVM)、概率图模型(Probabilistic Graphical Models)以及深度学习的方法。数据挖掘同样也可以用到人工智能里非机器学习的方法,比如遗传算法和粗糙集等。当数量非常大时,数据挖掘需要借助云平台来承载数据,并利用云平台中的分布式计算单元来提高数据挖掘效率。当挖掘完毕后,数据挖掘还需要对知识进行可视化和展现。


云计算: 云计算平台一般是由第三方IT公司建立的涵盖基础设施、计算资源和平台操作系统的集成体。云平台解决了传统公司各自搭建机器集群所产生的建设周期长、升级换代慢、维护成本高的痛点,让其他公司可以从搭建计算平台的繁重任务中解脱出来而专注于自己的业务。云平台用户可以高效、灵活的调整自己的资源配置(比如用多少台虚拟机、多少个计算节点等),第三方公司根据用户使用的资源来收取相应的费用。打一个通俗的比喻,就好比不用每家每户弄一个发电机,而是集中建一个发电厂,每家只需要插上插头就可以用电,根据用电的多少来计费。用户不用关心发电厂建在哪里、如何发电,也不用操心如何维护发电厂本身的运转和安全。


云计算平台本身为大数据的存储和分析提供了很好的基础设施(如storage和Hadoop、Spark和Storm等分布式计算环境),但默认的云平台上并没有自带强大的机器学习和人工智能能力,也缺乏高效的索引机制(如时空索引算法)。因此,云平台并不等于大数据平台。近期不少公司在积极地开发基于云平台的机器学习工具(如AzureML)和人工智能平台。图三是我们基于Azure搭建的城市大数据平台,其中时空索引、针对时空数据的机器学习算法和多源数据融合算法都是以前的云平台所不具备的。

图三 城市大数据平台

大数据: 大数据是一种从数据的采集、管理、分析挖掘到服务提供的端到端的、解决行业问题的综合实力,是从数据生命周期这个维度来看的知识获取过程(数据库、机器学习和人工智能技术可以成为其中的一个环节),也是一种基于数据的思维方式。通常讲大数据都会提到4个V,Volume(量大)、Velocity(速度快)、Variety(多样性)、Value(价值)。但实际上,除了Variety(多样性)以外,其他几个属性很难界定,比如多大才叫大,一直很难给出一个严格的定义。而只要是数据就有其价值,关键是如何利用数据。因此,大数据不是指一个体量很大的单一数据,其关键在于多源数据融合(即把来自不同领域的数据的知识相互结合,形成1 1>2的合力),这是大数据的战略制高点,不是单单在“数据”前加个“大”字那么简单。


多源数据的融合给数据管理、数据挖掘、机器学习和人工智能带来了很多新兴课题。当数据挖掘被用来挖掘和融合多源数据中蕴含的知识时,数据挖掘就跟大数据有了完美的结合。如果数据挖掘还在挖掘单一数据,那就是传统的数据挖掘或者是早年间研究的“海量数据挖掘”。作为数据挖掘的工具,分布式机器学习的重点是解决海量数据挖掘的问题,而不是解决多源数据融合的问题。要想融合多源数据,我们就需要在机器学习中设计新的多源数据融合算法([1]是一篇关于多源数据融合的机器学习算法的综述),并为云平台设计特别的管理和索引方法。


图四以城市大数据为例,说明了大数据和数据挖掘以及人工智能之间的关系。城市大数据就是从城市数据的感知、管理、分析到服务提供的端到端的、解决行业(如交通、环境等)问题的综合实力。在解决一个问题时,我们通常需要同时用到来自于多个领域的数据(如预测空气质量需要考虑气象、交通和地理信息等),如何融合多源数据中的知识就是一个难点。这需要在数据挖掘过程中设计相应的数据管理算法和机器学习算法。因此,可以大致理解在图四的第二、三(管理和分析)层面是在做数据挖掘的事情,而在第三层里,又需要用到一些改良的机器学习和人工智能算法。更多细节将在《Urban Computing》[2]一书中介绍。


图四 城市计算和城市大数据


[1] Yu Zheng, Methodologiesfor Cross-Domain Data Fusion: An Overview, in IEEE Transactions on Big Data 

[2] Yu Zheng, Urban Computing, MIT Press (预计2018年初出版)


作者介绍


郑宇博士,微软亚洲研究院城市计算领域负责人,上海交通大学讲座教授、博导,香港科技大学客座教授; 提出了“城市计算”的理念,以主作者身份在大数据和人工智能领域顶尖国际会议和刊物上发表相关论文50余篇,论文被引用14,000余次,H-Index:56;担任人工智能顶尖国际期刊(SCI一区)ACM Transactions on Intelligent Systems and Technology(ACM TIST)的Editor-in-Chief(TIST近五年影响因子10.47,在所有ACM期刊中排名第一)、ACM数据挖掘中国分会秘书长,以及大数据领域知名国际会议ICDE2014 和CIKM2017的工业界主席;2013年,他因在城市计算领域的贡献被《MIT科技评论》评为全球杰出青年创新者(TR35),2016年被评为美国计算机学会杰出科学家 (ACM Distinguished Scientist)。


 

Source: 微软亚洲研究院 | 10 Oct 2017 | 11:12 pm(NZT)

姚期智:“兴趣指向 技术保航”,实现科研影响力的小目标

编者按:在微软亚洲研究院,研究项目是否能够在业界产生影响力以及能够产生多大的影响力,是每一位研究员必须思考的命题。


近日,图灵奖唯一华人得主、清华大学交叉信息研究院院长姚期智教授来到微软亚洲研究院博士生论坛,以个人经验为例与同学们分享了如何才能做出有影响力的研究,并对各位青年学子给出了自己的科研建议。博士正当时,紧握年轻的力量,为成为更优秀的人做足准备。


清华大学交叉信息研究院院长姚期智教授


(以下为姚期智教授分享的精简版文字整理)


每年我们写的各式各样的论文不计其数,然而其中真正具有业界影响力的却少之又少。事实上,每一位科研人员心中都会有一个有关科研的“小目标”,希望能够做出兼具创新性和影响力的科研项目。那么什么是有影响力的研究?其实答案很大程度上取决于你目前所处的阶段。此外,个人兴趣和研究偏好也会对一个人的研究选择产生深远影响。


在研究生涯的起步阶段,如果你心中萌生出了想做有影响力的研究的强烈意愿,那么可以针对你研究领域中的某一特定研究主题进行深入研究,并尽可能做到最好。如果你的论文能够被国际顶级学术会议录用,你将有机会结识业内的顶级专家,与他们进行深入的探讨。也有一些人会选择在广泛的领域内多做涉猎,被计算机领域甚至物理、化学等其他学科的科学家认可,让自己的科研成果可以影响政府的决策甚至社会的发展。每一种类型的研究工作都同样拥有巨大的影响力和价值,你需要根据自己目前所处的阶段和个人兴趣来找到自己的研究方向。


影响力三步法:要好奇、做准备、抓机遇


研究的影响力体现在不同层面,但无论你期待做出何种有影响力的工作,有一点我想强调的是,希望大家向有名望的科学家虚心学习。做研究并没有一套放之四海而皆准的万能定式,需要你在不同的模式中总结出适合自己的方式。同时,做研究也没必要追求绝对的独创性,不必“重复造轮子(reinvent the wheel)”做无用功,而要利用现有的资源和前人的智慧去创新。


那么,如何才能做出有影响力的研究呢?


首先,保持对科研的好奇心和对探索的欲望,以及追求自我极致的野心。人的一生要面临无数的抉择。面临抉择时通常无比困难,但不要只把目光放在当下,设想5年后会不会为今日的决定感谢自己,你的心中就会浮现出清晰的答案。当初我放弃在美国的平静生活回到祖国,组建全新的研究团队并创办交叉信息研究院,很多人其实都表示困惑和不解,但当时我心里非常清楚这就是我想要的。


其次,你需要为成为更优秀的人做足准备。一个人应该在年轻的时候打下坚实的知识基础,更应该尝试多领域、跨学科的研究。尽管为自己打上“顶级专家”标签的快捷方式是专注在某一特定课题进行深入研究,并做到世界最好,但这种方式未必可以让你走得最远,因为今天最热门的课题,未来不会永远热门。在我个人看来,多领域、跨学科的研究是非常重要的,计算机领域的青年研究者应该找机会去尝试一些诸如经济学、物理学等与计算机相结合的项目。在过去,“两耳不闻窗外事”只专注于自己的研究领域和课题确实可以做出非常有影响力的工作,然而在未来二三十年甚至更长一段时间内,有巨大影响力的研究应该会发生在计算机与其他领域的交叉点。


最后,即使所有准备到位,只有抓住合适的机遇才能实现质的转换,因此预判能力格外关键。你需要时时刻刻了解研究的风向标,并及时做出判断。准确的判断基于坚实的知识储备,然而最终是否要迎头而上,还是取决于你是否真正感兴趣。机遇往往与风险共存,如果所有人都认为选择某个方向的研究安稳无虞,那也就不能称之为机遇了。抓住机遇做一些有影响力的事情——可能是开创一个新领域,可能是在开创之后做一些奠基性的工作,也可能是提出一个其他人持保留意见的新方向……做研究本身就是技术和兴趣的结合,你必须洞察自己内心的喜好,从而做出理智判断。



科学家:大梦想家 大魔术师


萧伯纳曾说过:“有人注目于已有之物而寻根究底,我却梦想前所未有之事而渴望成真”。这句话用来形容科学家恰得其分。世界上有两类科学家,一种科学家观察世界,他们发现问题,继而在钻研中探寻宇宙的无限奥秘。另一种科学家对自然和人类社会的诸多法则熟稔于心,他们探讨的问题是如何利用这些法则实现进步。无论是哪一种科学家,他们都会产生魔术般的深远影响,不仅会推动产业经济的发展,而且会改变人类的历史和文化进程。



科学家需要做一些不可能的梦。一百多年前莱特兄弟发明飞机的时候,没有人相信人类可以飞上天。13年前我回国,并在6年前成立量子实验室,研发量子计算机,当时所有人都不知道我们做的事情有什么用,但是等到我们国家将量子计算列为重要研究方向时,我们的实验室已经站在世界前列。所以说,要做一些看似不可能的梦。比如,如果你无需知道用户的问题,就能先人一步给出答案,那么你就可以颠覆目前所有的搜索引擎。



科学家应该选择一些能够影响一个领域长远发展的课题,而这通常是热门领域内的冷门方向。举例来说,目前人工智能很火,很多人都在从事相关的研究和工程工作。工程性的工作自有其价值,但是未来5年之内,我们更期待的是在最基础的层面取得真正影响深远的突破,这样才能保证这个领域的活力和长期发展。


给青年科学家的几点建议:



感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

Source: 微软亚洲研究院 | 30 Sep 2017 | 12:03 am(NZT)

微软用12年的时间让量子计算走进现实

​编者按:在本周(9月25日)举办的Ignite大会上,微软展示了拓扑量子位以及硬件软件生态系统开发方面取得的进展,发布了为驾驭规模化量子计算机而专门优化的新的编程语言,让开发者能够编写量子程序,在当前的量子模拟器上调试,并能够在未来真正的拓扑量子计算机上运行。

在理论物理学家Richard Feynman提出量子计算概念的50多年后,量子理论正一步步走进现实。微软前首席研究与战略官Craig Mundie认为,量子计算最终将给万物带来革命性的改变。


二十年前,当Michael Freedman加盟微软的理论研究团队时,他是一位著名的数学天才,他所研究的数学前沿领域被称作拓扑学。

他的工作职责就是继续研究数学,没有任何附加条件。

正是在这种开放的工作环境下,微软开发出首个拓扑量子位。微软认为强大的量子位将成为可扩展、通用量子计算系统的基础,这将是量子物理学领域一次意义深远的突破

微软负责量子研究的副总裁Todd Holmdahl表示:“我们为一项革命性的新技术奠定了基础,我非常激动。”

在本周(9月25日)举办的微软Ignite大会上,微软展示了拓扑量子位以及硬件软件生态系统开发方面取得的进展,这些技术将让更多开发者充分利用量子计算的力量。

这些进展包括一种与Visual Studio深度集成,同时适用于量子模拟器和量子计算机的新型编程语言。

Michael Freedman
(由 Brian Smale 拍摄)

微软构建量子计算生态系统的计划基于Freedman的数学研究领域,以及一个看似神秘的物理学分支——早期研究者曾援引哲学和灵性概念描述它,后来的门徒在上世纪70年代获得了资助和支持。即使在现在,专家也用“神奇状态”来描述量子计算理论和实践中的一些元素。

虽然量子计算让人联想到神秘事物,但是专家认为量子计算有很多实用的好处,因为它能让科学家在几分钟、几小时内,完成目前最先进经典计算机用几十亿年才能完成的计算,而这意味着人们可以解答之前无解的科学难题。

研究人员表示,量子计算最终将被用来解决全球社会面临的最棘手的问题——从饥饿到气候变化

Krysta Svore在微软负责基于量子计算机及量子模拟器上运行的软件开发工作,量子模拟器能让开发人员在实体机器尚未问世的情况下进行开发工作。她说:“量子计算机能够对自然进行建模,而通过经典计算机,我们并不能真正了解这些流程。”

专家认为,拓扑量子计算机最早的用途之一就是帮助人工智能研究人员利用机器学习,加快训练算法的劳动密集型流程

微软前首席研究与战略官 Craig Mundie

​12年前,时任微软首席研究与战略官的Craig Mundie第一个支持Freedman进一步研究量子计算。他认为,如果量子计算能够把Cortana数字助理算法训练的时间从一个月缩短到一天,这将是人工智能发展的重大进步。Mundie说:“即使其它保持不变,Cortana的速度也会提高30倍。”他目前仍深入参与该项目。

对于Freedman来说,看到毕生研究的理论数学模型变成一个能够解决之前无解问题的真正计算平台,确实“非常激动”。他的大部分职业生涯都在没有任何附加条件地探索理论数学(或者更具体地说,就是拓扑节理论),从某种程度上,这引领他完成了心目中人生第一份真正的工作——构建拓扑量子位。

Freedman说,他很少思考自己的工作可能会产生哪些改变生活的影响。他说:“许多人问我是什么激励着我?是想要治愈疾病、设计新材料、保护环境?事实上,跟这些都无关。目前在这个项目中,我唯一关心的就是让量子计算机运行起来。”

从理论到实践

Freedman所面临的一个挑战是:微软不只对开发可在实验室展示的量子计算机感兴趣,还启动了完整的拓扑量子计算系统的交付计划,包括从能够持续运行需要数万个量子位计算的硬件,到可以编程并控制量子计算机的完整软件栈。

把测量线连接到一台量子设备上

​微软负责量子研究的副总裁Todd Holmdahl表示:“我们在做各种工作,从物理到控制面板,到运行计算机的软件,到有趣的事情(例如量子化学)所需的算法,再到个性化医疗和应对气候挑战。”微软甚至有一个专注于后量子世界密码学和安全性研究的项目,并且正和整个行业一起准备量子抵抗密码算法。

但微软研究的核心是拓扑量子位。

12年前,当Freedman找到Craig Mundie,想让他支持自己的量子计算理念时, Mundie说,量子计算有些低迷。

多年来物理学家一直在谈论开发量子计算机的可能性,努力开发一个拥有足够高精确度的有效量子位,以便在开发真正可行的量子计算机中发挥作用。对于那些仅使用最低精确度的物理量子位的研究人员来说,大约需要1000个物理量子位才能组成一个“逻辑”量子位,这种量子位非常可靠,足以用于任何真正有用的计算。问题在于,量子位非常挑剔。即便是最轻微的扰乱,它们也会“散开”,用外行话来说,就是它们不再是可用于计算的物理状态。

Freedman表达了他一直以来探索的量子位理念,即拓扑量子位会变得更加稳健。因为它们的拓扑性质会使其更加稳定,且能提供更多固有的防错能力。根据定义,物质的拓扑状态就是电子可被分解、并出现在系统不同地方的状态。一旦电子被分解,就很难被干扰,因为你必须改变所有存储在不同地方的信息。

作为一位资深超级计算机设计师和软件工程师,Mundie立即表示他接受了量子位的理念。因为量子位更强健,并且也有内置容错功能。它将使设计一台可扩展、有用设备的任务变得更容易。他说:“计算本身已经改变了社会和经济的方方面面,我意识到,如果创造出能够改变这些基本构建块的新型计算,就能够完成过去五六十年才能完成的计算。”

一个完整的堆栈

在Mundie的支持下,Freedman在加州圣巴巴拉建立了一个实验室,并开始招募全球最杰出的凝聚态物质和理论物理学家、材料学家、数学家和计算机科学家,一起构建拓扑量子位。这个团队现在拥有许多著名的量子专家,过去几年,他们以员工身份加入微软,包括Leo Kouwenhoven、Charles Marcus、David Reilly和Matthias Troyer 。

为了创建完整的计算平台基础设施,微软还同步开发用于拓扑量子计算的构建块、软件和编程语言。

Krysta Svore,在微软负责基于量子计算机及量子模拟器运行的软件开发工作。

​在Ignite大会上,微软宣布了开发完整堆栈的最新里程碑——一种专为开发者设计的新的编程语言,能够开发应用软件,在当前的量子模拟器上调试,并能够在未来真正的拓扑量子计算机上运行。

Svore表示:“目前在模拟器中运行的代码,未来也可以运行在我们的量子计算机上。”这些新的工具是专为那些计算机技术前沿的开发者而设计的,他们也是机器学习以及其它人工智能技术的早期采用者。即使不是量子物理学家,也可以使用。

新的编程语言与Visual Studio深度集成,包括进行经典计算(例如调试和自动完成)所依赖的各种工具。Svore说:“它不应与他们已经在做的东西有太大差别。”

这套工具将在年底前提供免费预览版,函数库和教程,以便开发人员熟悉量子计算。它的设计便于更高的层次上的抽象工作,没有量子计算专业知识的开发者也能真正调用量子子程序,或者写指令序列,最终编写一个完整的量子程序。开发人员即日起可注册参与微软量子计算社区。点击“阅读原文”获取注册信息。

个人用户在可以模拟最多需要30个逻辑量子位能力的问题,而使用Azure的企业客户可以模拟超过40个量子位的计算能力。

在量子计算中,功率随着逻辑量子位数量的增加呈指数增长。一个逻辑量子位就是算法层面上的量子位。每个逻辑量子位在硬件中都由一系列物理量子位来表示,以保护逻辑信息。微软的方法是通过更少的拓扑量子位开发一个逻辑量子位,使其更容易扩展。

Svore表示,拥有一种能在模拟环境中使用的编程语言的关键优势在于:它能帮助那些有兴趣使用量子计算机的人解决问题,更好地了解如何利用量子的能力解决不同类型的问题。一旦量子计算可用,将加快利用量子计算的能力。

地球上最寒冷的地方

即使拓扑量子位预计比一般的量子位更强健,但它还是相当脆弱。保护它免受外界干扰的唯一方法就是把它放在非常非常寒冷的地方。

微软量子计算部门架构师Douglas Carmean带领的团队致力于开发一个让量子位能够在近乎绝对零度(或30毫开尔文)条件下运行的系统架构。这是地球上最寒冷的地方,甚至比宇宙深空还要寒冷,但它能让在室温中工作的人和计算机进行通信。

研究人员使用稀释冰箱,把量子设备插入一个“冰球中”,随后它将被冷却到毫开氏温度

研究人员也许通过一个量子位在一个完美的实验室中取得进展,但Carmean希望创建一个让程序员使用的能计算数万个逻辑量子位的系统。他说:“我的工作职责就是把理论学家和实验学家展示过的东西再做一次,然后在有用的形式中复制数百万次。”

漫长旅程的开始阶段已经完成

量子计算专家往往会强调两件事,一是,他们看到的拓扑量子位最好的使用案例就是开发更好的量子计算技术;二是,这种工作的最大的乐趣就是你无法预测它会产生哪些难以置信的进步。

12年前,Mundie第一次支持Freedman的研究工作,当时他就预见——到某一阶段,量子理论将转化成工程。

在Richard Feynman提出量子计算理念的50多年后,Mundie正展望量子经济。他相信,这种新型计算将创造一种经济形态。就像经典计算改变了社会的方方面面一样,他认为量子计算最终将给万物带来革命性的改变,这种改变开始于化学、材料和机器学习

Mundie说:“70年来,第一次我们想要构建一个完全不同的计算系统。这不是一次增量升级或改进,而是一个性质完全不同的新事物。”

本文转自公众号“微软丹棱街5号”。


 

Source: 微软亚洲研究院 | 28 Sep 2017 | 8:15 pm(NZT)

内核融合:GPU深度学习的“加速神器”

​编者按:在深度学习“红透”半边天的同时,当前很多深度学习框架却面临着共同的性能问题:被频繁调用的代数运算符严重影响模型的执行效率。


本文中,微软亚洲研究院研究员薛继龙将为大家介绍能够轻松玩转计算性能的“加速神器”——内核融合,探讨内核融合在加速深度学习上的主要方法以及当前面临的主要挑战。


如今,较为常见的深度学习框架(如CNTK、TensorFlow和Caffe2等)都会将一个深度学习的模型抽象成为一个由一些基本运算符(Operator)组成的有向无环的数据流图(DAG),然后再由下层计算引擎按照某一种拓扑序来依次调度并执行这些节点对应的内核函数,从而完成一个模型的执行。为了能够支持在不同的硬件上进行计算,一个Operator往往会对应多个内核函数的实现,例如,GPU上的内核函数是由CUDA或者一些GPU的函数库(如cuDNN、cuBLAS等)提供的操作组合而成。


为了提供较好的灵活性,大多深度学习框架中的Operator都是定义在了代数运算符这个粒度上,例如向量的加、减、乘、除和矩阵乘法等等,一般的计算框架都会有几百甚至上千个Operator。由于这些运算符的抽象粒度较低,所以一个真实的训练模型的数据流图往往会包括数千个节点,这些节点在GPU上的执行就会变成数千次GPU上的内核执行。这些粒度较小的内核函数在提供了灵活性的同时,其频繁的调用也成为当前影响许多深度学习框架性能的一个重要因素,其带来的性能开销主要体现在:数据流图的调度开销,GPU内核函数的启动开销,以及内核函数之间的数据传输开销


解决这些性能问题的一个直接方法就是内核融合(Kernel Fusion)。所谓内核融合,就是将一个计算图中的节点所对应的内核函数融合成一个函数,使得整个数据流图只需要通过一次函数调用即可完成,从而减小平台调度和内核启动带来的开销。并且,通过合理地设计不同内核函数的输入输出数据的放置(例如使用GPU上的共享内存或寄存器),可以极大地提高数据传输效率,从而提升整体计算性能。


为了展示内核融合能够带来的好处,我们对比了一个80步长的单样本LSTM网络在TensorFlow上的模型推理(inference)时间和我们手工将所有计算融合并优化在同一个内核函数中的计算时间(图1)。可以看出,在相同的GPU上,融合的内核函数比TensorFlow上基于图的计算可以快40倍左右。当然,这里的TensorFlow与手动融合的内核的性能差距除了来源于上述性能开销外,还包括TensorFlow本身的框架开销。


图1:LSTM网络在TensorFlow上的执行时间和手工融合内核的执行时间对比


然而,为每一个计算图的内核函数进行手工融合并不是一种可以扩展的方法。因此,研究自动化的内核融合成为最近的一个热点,例如TensorFlow中的XLA项目就是要将给定的计算图生成硬件设备相关的机器码,再如NNVM-Fusion是DMLC社区为加速MXNet所提出的相关项目,还有最近比较流行的动态图计算框架PyTorch也开始逐渐引入内核融合的技术来提升性能。


自动化的内核生成一般包括以下几个步骤:1. 图优化即在进行内核融合之前,首先对计算图进行分析并应用一系列与硬件无关的优化策略,从而在逻辑上降低运行时的开销,常见的类似优化策略包括常数折叠(constant folding)、公共子表达式消除(common subexpression elimination)等;2. 检测融合子图。即在给定数据流图中,找出一些可以被融合的图节点,这些节点往往是一段连续的子图。3. 代码生成。在给定一个融合子图,为其生成一份内核函数代码。这里可以直接生成与硬件相关的代码,也可以先生成到一个统一的中间表示层(intermediate representation),如LLVM,然而再由相应的编译器将其编译到与针对特定硬件的执行代码,TensorFlow的XLA就采用了后者的方法。4. 图的修改。即将融合后的内核所对应的Operator替换之前的子图,并插入原来的数据流图中。整个流程如图2所示。


图2:内核融合在数据流图计算框架中的应用流程


然而,自动化的内核融合并生成高效的内核代码还存在着许多挑战,如何解决内核间跨线程的数据同步和如何实现高效的线程模型及任务划分都是非常重要的问题。


内核间的数据同步


当前,在GPU上的内核融合技术大部分都只支持element-wise的Operator,如PyTorch和NNVM-Fusion。其主要原因是由于CUDA采用的是SIMT(单指令多线程)的编程模型,这使得融合element-wise的操作更加容易。例如,在图3的示意图中,如果我们想将y1=x1 x2 和h=sigmoid(y1) 两个计算表达式进行融合,那只需要让每个线程都处理输入向量中的一个元素并且执行相同的表达式h=sigmoid(x1 x2) 即可,在这种情况中,由于融合后的计算逻辑都在相同的一个线程内完成,所以前一个计算输出的结果可以通过寄存器或共享内存直接传到下一个计算的输入中。


图3:GPU上的element-wise内核融合示意图


然而,如果我们想将两个矩阵乘法、或更加复杂的计算(如卷积操作)融合在一起,就需要引入数据之间的同步机制,即前一个内核完成的结果需要传播到下一个内核的部分或全部线程中。这时,若想融合这样的内核,我们必须有较为灵活的同步机制。然而,在CUDA 8.0之前,CUDA只支持同一个线程块内的计算同步,其无法满足融合的需求。Shucai Xiao等人早期提出一种能支持全局跨线程块的同步机制,但其需要对计算的资源有一定的假设,即要求线程块个数要小于SM的个数。最近,在Nvidia发布的最新版CUDA 9.0中首次提出了Cooperative Groups的概念,其可以灵活地支持不同粒度上的线程同步,这将会使得在GPU上的更加复杂的内核融合变得容易,也同时为实现更加高效的融合提供了更多空间。


线程模型与任务划分


内核融合中另一个挑战是如何优化任务的划分,从而充分发挥GPU的计算和片上存储性能。我们知道,执行一个GPU的内核函数,不仅需要指定内核函数的计算算法,还需要指定其调度逻辑,即如何分配线程块的大小和数量等等。通常,这需要有经验的程序员根据计算算法的特性仔细地设计每一个内核的调度逻辑。然而,在本文介绍的内核融合的场景中,我们需要系统能够根据当前使用的GPU架构快速、自动化地生成调度逻辑。因此,目前一种研究趋势是采用来自于MIT的Halide项目的思想,即通过将计算算法和调度逻辑进行抽象并分离,然后采用一些搜索算法来找到较优的调度方案,从而自动生成最终的执行代码。Halide项目是针对图像处理所设计的编译系统。目前,像来自DMLC的TVM项目、以及MIT的Taco项目都采用该思想并针对深度学习库进行自动化的优化,目前大部分这些项目还都还处在较早期阶段。


欢迎对内核融合感兴趣的小伙伴们积极留言,和研究员互动起来吧!


作者介绍


薛继龙,2016年博士毕业于北京大学,后加入微软亚洲研究院,现为系统组研究员,主要研究方向为大规模分布式计算系统,包括机器学习、图计算系统等以及在GPU、RDMA等硬件上加速的优化。


 

Source: 微软亚洲研究院 | 25 Sep 2017 | 11:35 pm(NZT)

黄学东:语音识别军备竞赛中小数点差距有何意义

编者按:8月,微软宣布其语音识别系统错误率进一步降低到5.1%,显著优势、迅速突破,堪称是行业新的里程碑。语音识别的高地战火不熄,各大研究团队和企业纷纷加入团战,展开争夺小数点优势的语音识别“军备竞赛”。


0.1%,0.2%,看似甚至可以忽略不计的数字背后有何意义?5.1%的错误率到底意味着什么?微软语音和对话研究团队负责人黄学东将一一为你解答。本文转载自公众号“新智元”。



从达到人类水平到超越人类水平,微软只用了不到一年的时间,这是人工智能研究领域的一项突破性进展。在微软语音和对话研究团队负责人黄学东的带领下,微软语音识别研究团队去年将语音识别的词错误率降至5.9%,又在最近降至5.1%。黄学东认为,从研究角度来说,这个意义十分重大,即便是0.1%的差距,无论是运算量还是时间,耗费都是巨大的。


从研究层面来说,这的确是一个很了不起的突破。就像黄学东曾在微软博客上所说:“去年10月,在我们的转录系统达到5.9%的错误率之后,其他研究人员在此基础上分别进行研究,采用了更多参与的多转录程序,成功在语音识别准确性道路上更进一步,随后微软也将错误率降低至5.1%。这是一个新的行业里程碑。”


5.1%是一项了不起的研究成果


需要说明的是,黄学东博士这个“语音识别错误率低至5.1%”的成果是建立在Switchboard这个通用测试数据集上面的。黄学东介绍,这是一个全球语音研究人员用了20多年的开放数据集,包括了大约2400个自然情形下的对话,甚至是各种年龄阶段,且覆盖了美国主要的一些地方口语。因此,很多不同的技术公司与组织都喜欢在上面做语音方面的相关研究。


而根据黄学东的介绍,其带领的微软语音识别团队又为改进语音模型引入了 CNN-BLSTM(convolutional neural network combined with bidirectional long-short-term memory,带有双向LSTM的卷积神经网络)。另外, 他们在帧/句音级别和单词级别层面都使用了结合多个声学模型的预测方法,通过使用整个对话过程来加强识别器的语言模型,以预测接下来可能发生的事情,使得模型有效地适应了对话的话题和语境。


同时,其团队也使用了微软认知工具包Microsoft Cognitive Toolkit 2.1(CNTK),用于探索模型架构和优化模型的超参数。



当然,微软对云计算基础设施(特别是Azure GPU)的大量投资,也有助于提高其训练模型并测试新想法的有效性和速度。


不过,虽然5.1%是黄学东口中“前所未有的成果”,先前也曾有语音识别团队宣布测出过差不多的好成绩——5.5%的语音识别错误率。但事实上,他们的衡量标准和微软并不一致:他们是通过四个不同团队标注后得出的最好结果,而微软在去年测试中达到的5.9%错误率则是一个团队取得的成绩。


“从去年开始,微软系统达到的错误率为5.9%,而今年微软这个水平(5.1%)实际上已经超越了一群人的水平。如果让一个普通人来识别,然后统计他的错误率,那绝对达不到5.1%,这是需要几个人联合攻克才能做到的水平。”


此外,谈到有其他团队已经实现了3.7%的短语识别错误率,黄学东表示这其实与微软5.1%的对话式语音识别错误率也不一样:“像我们这样的交谈就是对话识别,因为用的词都比较开放,这个难度比单个的短语测试要难得多。”


尽管Switchboard有着全球开发人员多年来的技术积累,其仍然是一个有限数据的集合,主要用途就是用来做研究与测试。换言之,这个研究结果就是一个实验室中的“培养基”。如果将其“移植”到现实环境中,质量必然会遇到硬件设计架构与嘈杂自然环境的多重“降维打击”。


黄学东在演讲现场介绍了微软与哈曼卡顿合作的智能音箱


譬如以最近被巨头们疯狂爱上的智能音箱为例,其“远场”应用需求与真实环境中存在的混响、多径反射会严重降低这种硬件拾取声音信号的质量,这对于后续的语音识别率而言可见意味着什么。


就像黄学东所说,用于研究发表的文章与现实的产品算法虽然不能完全割裂,但这完全是两个不一样的“系统”,他们仅是通过这种研究的发布,来了解究竟有没有更多新的技术,有没有今后微软的产品可以借鉴的东西。


而从微软现有的语音产品来看,Cortana在语音识别上的表现已经在诸多市面上的“语音助手”中非常拔尖了,而基于微软Azure提供的与语音识别相关的多种认知服务API也获得了客户的很多好评,这些产品应用的算法模型都涉及到了黄学东团队的研究成果。



千分之一的差距:意义究竟何在?


在语音识别、图像识别的领域,大家的识别率基本上都是那个小数点后一位或者小数点后两位的区别,这个区别可能并不意味着什么。那么千分之一的差距,究竟有没有价值?大概可以这么说,研究肯定有,而对于“落地”,则是有限的借鉴性。


按照黄学东所说,从研究角度来说,这个意义十分重大,即便是0.1%的差距,无论是运算量还是时间,耗费都是巨大的:“你知道0.1、0.2、0.3的差距要跑多少时间才会达到,错误率的计算应该按照相对错误率来看,5.9到5.1相对错误率应该是13%左右,相对错误率超过13%,统计上已经有重要意义了。”


但对于消费级产品与商业场景来说,这种准确率和错误率之于前者,黄学东认为完全是两码事儿:“还是我刚才的说法,这种公开性的测试,发表的论文,与产品的最终效果,是不一样的评判标准。”


从目前来看,大公司之间通过“语音识别军备竞赛”带来的差异性优势正在不断缩小,而现有的大多数硬件与智能服务的交互体验仍然有很大缺陷的原因,应该要归于在“语义识别”方面大家还在止步不前。


譬如黄学东在9月7日由中国工程院信息与电子工程学部主办的首届人工智能计算大会(AI Computing Conference,简称AICC)的演讲中,在现场为我们演示了一个PowerPoint内置的实时翻译插件。尽管黄学东博士的英文发音很标准,吐字清晰,但翻译出的中文还是会存在一些小错误。黄学东表示,其实际的翻译效果与专业的同声传译相比,还是有一定距离的,而这里面就与自然语言理解有更多关系:


“这个插件的效果虽然没有达到专业水平,但是,很多时候大家在做PPT演示的时候完全听不懂英文怎么办,基本上你通过它的翻译可以知道80%的意思,即便它的精准性还没有达到很高。”


“而机器翻译肯定不是完全的语音识别,你看‘机器速记’的效果可能更好一些,但翻译就会比较生硬,它需要“读懂”语义才能更加准确,这是我们下一个要面临的巨大挑战。现在机器翻译与人的差距还有很大,是因为自然语言处理还远远没有达到人的水平。”



其实早在今年8月微软宣布这个成果时,黄学东就在文章末尾谈到了目前在计算机语音研究领域面对的重大挑战仍然有很多,例如在嘈杂环境下较远的麦克风的语音识别,方言识别,或训练数据有限的语音识别或较少人使用的语言的语音识别,这些都仍未达到人类水平。


“我们在教计算机不仅是转录语音,而且在要了解话语的意义和意图方面仍有很多工作要做。从识别语音到理解话语,是语音技术的下一个主要挑战。”


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

Source: 微软亚洲研究院 | 19 Sep 2017 | 10:49 pm(NZT)


Save on your hotel - www.hotelscombined.com

可解释推荐系统:身怀绝技,一招击中用户心理

​编者按:推荐系统被广泛应用在电商网站、社交网络、生活服务网站、搜索引擎等平台。一个好的推荐系统不仅需要准确地把握用户的需求,推荐给用户想要的内容,更需要学会与用户沟通,了解用户心理,以用户容易接受的方式给出适当的推荐。


本文中,微软亚洲研究院的研究员王希廷和谢幸将为大家详解可解释推荐系统的分类、推荐解释生成方法以及面临的机遇和挑战。


《战国策》中有个有趣的故事:当年赵国被入侵,只有送出质子才能求来救兵。但是赵太后特别疼爱小儿子,怎么也不愿意让他当质子。大臣们越是劝谏,赵太后就越是愤怒。这时候触龙出面,成功说服了赵太后,让她的爱子出质于齐,换来救兵。他到底是如何做到的呢?


这个故事其实跟我们最近进行的推荐系统的研究非常相关。如果把“送出质子”当作一个推荐给太后的策略,那么故事的关键不在于推荐内容的好坏,而在于对推荐内容的解释。如果要让赵太后这样顽固的用户接受这个推荐,关键点是什么?


触龙给出的答案是:沟通方式、用户心理、合适例证。让我们详细看看他是怎么做的。


触龙刚见到赵太后就开始话家常,说:“我老啦,有个小儿子年龄很小,真是担心他的未来啊。”赵太后问:“你们男人也很宠爱小儿子吗?”触龙说:“比女人更宠呀。我认为赵太后更喜欢您的女儿,而不是小儿子。”赵太后表示不认同。触龙解释道:“您送公主出嫁的时候,尽管伤心,但也希望她不要被赶回来。这还不是为她的长远未来打算?”赵太后同意。触龙又说:“但是您却没怎么为长安君计划未来。您看赵国刚建立时的诸侯王,他们的子孙还有享受爵位的吗?其他国家的呢?”赵太后想了想,表示没有。触龙又说:“那是因为他们荣华富贵太甚,又没有什么功劳的缘故。您现在让长安君有如此高的地位,却不让他有功于国,一旦您驾崩了,长安君凭什么在赵国立足呢?”听了这番话后,赵太后同意了将长安君作为人质。


我们可以在这个故事里看到两类推荐系统。一类是朝廷大臣这种传统的推荐系统(下图(a)),将重心放在提高推荐准确性上,与推荐对象的沟通考虑得不够;而另一类是触龙这种可解释的推荐系统(下图(b)),能够以用户容易接受的方式(话家常),充分抓住用户心理(父母爱自己的小孩,应该为他们长远未来考虑),给出适当的例子(赵太后送公主出嫁)与用户沟通。研究发现,这样的系统不仅能够提升系统透明度,还能够提高用户对系统的信任和接受程度 、用户选择体验推荐产品的概率以及用户满意程度等等。

(a) 传统推荐系统


(b) 可解释推荐系统


设计一个像触龙这样可解释的推荐系统是我们的终极目标。目前,这个方向进展如何呢?未来,有什么比较好的研究课题呢?下面,我来介绍一下可解释推荐的分类、推荐解释生成方法以及可解释推荐面临的机遇和挑战。


可解释推荐的分类


一般来说,可解释的推荐分为下图所示的三大类:以物品为媒介、以用户为媒介、以及以特征为媒介


三大类推荐解释:以物品、用户、特征为媒介


物品为媒介的推荐解释用一句话表述是“这个推荐物品和您喜欢的其他物品相似”。在赵太后的故事中,触龙用了类似的推荐解释: “派长安君做人质”这个推荐策略与赵太后曾经采用过的策略(送公主出嫁)相似。这类解释在各大网站上如亚马逊、Netflix等有较为广泛的应用。它的展现方式常常是一个曾经购买、评论或者浏览物品的列表,列表中的物品和目前推荐的物品比较相似。研究表明这类方法能够增加系统的被接收程度。但是这类推荐解释的问题是用户有时可能难以找到物品之间的关联,另外用户有时可能希望看到一些自己没有购买过的、不一样的物品。


用户为媒介的推荐解释用一句话表述是“跟您相似的用户都喜欢该推荐物品”。在赵太后的故事中,这个与赵太后相似的用户就是也宠爱小儿子的触龙。这类推荐解释展现形式多种多样,生成解释时也往往用到社交信息。微软研究员Amit Sharma等人对四种社交理由进行了用户测试,这四类理由是整体热度(2,612,211位Facebook 用户喜欢它)、朋友热度(您的朋友中有7人喜欢它)、好朋友(张三喜欢它)、好朋友及个数(张三和其他5位您的朋友喜欢它)。最终发现后两种解释方式效果对提升说服力效果最好。使用这两种解释方式时,选择一个正确的朋友非常重要。如果只是随机选择一个朋友,说服力反而会降低。以用户为媒介的推荐解释与以物品、特征为媒介的推荐解释相比,最能说服用户对推荐物品进行评估,但是对用户实际使用物品后喜爱程度影响比较小。如果推荐的物品用户不够喜欢,反而会降低用户的满意程度。


以特征为媒介的推荐解释用一句话表述是“您可能喜欢推荐物品的这些特征”。在赵太后的故事中,触龙抓住了赵太后最关心的特征——子孙的长远利益——进行推荐,从而使得赵太后接受了推荐。这类推荐解释常见的表现形式是将推荐物品中用户感兴趣的主要特征进行列举(如下图)。研究表明这类推荐解释有助于用户准确判断是否喜欢推荐物品,与前两类推荐解释相比,用户对这类推荐的满意度更高。这类推荐需要判断物品特征以及用户对不同特征的感兴趣程度,从而找到最适合用于解释的特征,因此建模粒度更细,也是目前的研究热点。


以特征为媒介的推荐解释


除了上述三种推荐解释以外,还有结构化概览式推荐以及对话式推荐等。其中,结构化概览式推荐将推荐物品用有组织的、可视化的形式呈现给用户,让用户可以看到各个推荐物品的特性和分布,从而在充分了解以后做出挑选。对话式推荐是在与用户聊天时进行推荐、解释、收集用户反馈,有着较高的接受度,也可以很好地解决冷启动问题。这是一个新兴的研究方向,我们也在做一些尝试,将在后文进行讨论。


推荐解释生成方法


刚刚我们谈到了几类推荐解释,其中以特征为媒介的推荐解释建模粒度较细,模型也日趋成熟。接下来重点介绍一下这类推荐解释的生成方法。


生成基于特征的推荐解释时,关键是特征的提取。早期的方法借助一些显式的物品特征,例如事先确定的物品分类、关键词、以及标签信息。在挑选特征进行解释时,主要是综合两个指标:第一是用户对特征的感兴趣程度,第二是推荐商品与特征的相关程度。第一点需要非常了解用户心理,第二点需要对商品进行精确建模,综合两点考虑,才能像触龙一样击中用户内心。早期方法对这两者分别计算之后进行合并,从而找出推荐物品以及解释。这类方法的问题之一是特征的可描述性(Descriptiveness)可能不够。另外这些方法采用的推荐模型还比较简单,一些精巧的、复杂的推荐系统难以用这样的方法进行解释。


为了解决上面的问题,近期一些工作开始利用网上丰富的评论文本进行可解释性的推荐。他们的主要思想是从评论中抽取用户最感兴趣的物品特征,并且将这些特征加入到目前的推荐系统中进行统一建模。其中一个较新的方法是Explicit Factor Model(EFM)。如上图所示,这个方法首先利用词级别的情感分析找出用户评论中提到物品的显式特征(Explicit Features,如Screen、Earphone、Battery)及用户对这些特征的情感倾向(正面或者负面)。利用这个信息,可以构建用户-特征矩阵X以及物品-特征矩阵Y。这两个稀疏矩阵可以用三个低维矩阵U1、U2、V进行建模。这里V中每一行记录了一个显式特征的隐式表达(Latent Representations)。U1(U2)即记录用户(物品)与显式特征隐式表达之间的关系。除了显式特征以外,还有一些隐含特征(Hidden Factors)可能是评论中没有提到的,这些特征用额外的H1、H2矩阵表示。将U1、H1进行拼接就构成了用户与物品所有特征的隐式表达之间的关系,U2、H2也是类似的。该模型希望能够通过这些矩阵拟合用户-物品的评价矩阵A。


JMARS(Jointly ModelingAspects, Ratings and Sentiments)框架


可解释推荐的机遇与挑战


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


解释含有深度神经网络的推荐模型。目前可解释推荐的系统往往是基于较浅层的图模型或者矩阵分解模型,对于含有深度神经网络的复杂、混合模型的解释能力还不够。我们在考虑借鉴对深层卷积神经网络进行解释、分析的技术,将复杂、高级的推荐系统升级为可解释的推荐。


利用知识图谱打通不同媒介之间的关联。现有的可解释推荐所生成的推荐解释往往只局限于以物品为媒介、以用户为媒介或者以特征为媒介中的某一种,对这三类媒介之间的关联挖掘得还不够。我们希望能够利用知识图谱,打通这三类媒介之间的关联,根据具体情况灵活选择其中最合适的媒介对用户进行推荐与解释。这样,我们还可以产生形式更丰富的推荐解释,例如将用户感兴趣的图片也进行展示。


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


微软小冰的对话式音乐推荐


我们会从这几个方向出发,不断拓展可解释推荐的深度和广度。希望不久后的某一天,推荐系统都能像触龙那样厉害。



作者介绍

王希廷,微软亚洲研究院副研究员。2011年于清华大学获得工学学士学位。2017年于清华大学获得工学博士学位。她的研究成果发表在数据挖掘和可视化的顶级会议和期刊上,包括KDD、TKDE、AAAI、IJCAI、VAST和TVCG等。她的一篇一作论文被TVCG选为2016年12月的spotlight article。她曾担任TKDE、TVCG、InfoVis等顶级会议、期刊的审稿人。


谢幸博士于2001年7月加入微软亚洲研究院,现任社会计算组资深研究员,并任中国科技大学兼职博士生导师。他分别于1996年和2001年在中国科技大学获得计算机软件专业学士和博士学位。他在国际会议和学术期刊上发表了200余篇学术论文,并拥有50余项专利。他是ACM、IEEE高级会员和计算机学会杰出会员。他参与创立了ACM SIGSPATIAL中国分会,并曾担任ACM UbiComp 2011大会程序委员会共同主席。


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

Source: 微软亚洲研究院 | 14 Sep 2017 | 10:15 pm(NZT)

可解释推荐系统:身怀绝技,一招击中用户心理

​编者按:推荐系统被广泛应用在电商网站、社交网络、生活服务网站、搜索引擎等平台。一个好的推荐系统不仅需要准确地把握用户的需求,推荐给用户想要的内容,更需要学会与用户沟通,了解用户心理,以用户容易接受的方式给出适当的推荐。


本文中,微软亚洲研究院的研究员王希廷和谢幸将为大家详解可解释推荐系统的分类、推荐解释生成方法以及面临的机遇和挑战。


《战国策》中有个有趣的故事:当年赵国被入侵,只有送出质子才能求来救兵。但是赵太后特别疼爱小儿子,怎么也不愿意让他当质子。大臣们越是劝谏,赵太后就越是愤怒。这时候触龙出面,成功说服了赵太后,让她的爱子出质于齐,换来救兵。他到底是如何做到的呢?


这个故事其实跟我们最近进行的推荐系统的研究非常相关。如果把“送出质子”当作一个推荐给太后的策略,那么故事的关键不在于推荐内容的好坏,而在于对推荐内容的解释。如果要让赵太后这样顽固的用户接受这个推荐,关键点是什么?


触龙给出的答案是:沟通方式、用户心理、合适例证。让我们详细看看他是怎么做的。


触龙刚见到赵太后就开始话家常,说:“我老啦,有个小儿子年龄很小,真是担心他的未来啊。”赵太后问:“你们男人也很宠爱小儿子吗?”触龙说:“比女人更宠呀。我认为赵太后更喜欢您的女儿,而不是小儿子。”赵太后表示不认同。触龙解释道:“您送公主出嫁的时候,尽管伤心,但也希望她不要被赶回来。这还不是为她的长远未来打算?”赵太后同意。触龙又说:“但是您却没怎么为长安君计划未来。您看赵国刚建立时的诸侯王,他们的子孙还有享受爵位的吗?其他国家的呢?”赵太后想了想,表示没有。触龙又说:“那是因为他们荣华富贵太甚,又没有什么功劳的缘故。您现在让长安君有如此高的地位,却不让他有功于国,一旦您驾崩了,长安君凭什么在赵国立足呢?”听了这番话后,赵太后同意了将长安君作为人质。


我们可以在这个故事里看到两类推荐系统。一类是朝廷大臣这种传统的推荐系统(下图(a)),将重心放在提高推荐准确性上,与推荐对象的沟通考虑得不够;而另一类是触龙这种可解释的推荐系统(下图(b)),能够以用户容易接受的方式(话家常),充分抓住用户心理(父母爱自己的小孩,应该为他们长远未来考虑),给出适当的例子(赵太后送公主出嫁)与用户沟通。研究发现,这样的系统不仅能够提升系统透明度,还能够提高用户对系统的信任和接受程度 、用户选择体验推荐产品的概率以及用户满意程度等等。

(a) 传统推荐系统


(b) 可解释推荐系统


设计一个像触龙这样可解释的推荐系统是我们的终极目标。目前,这个方向进展如何呢?未来,有什么比较好的研究课题呢?下面,我来介绍一下可解释推荐的分类、推荐解释生成方法以及可解释推荐面临的机遇和挑战。


可解释推荐的分类


一般来说,可解释的推荐分为下图所示的三大类:以物品为媒介、以用户为媒介、以及以特征为媒介


三大类推荐解释:以物品、用户、特征为媒介


物品为媒介的推荐解释用一句话表述是“这个推荐物品和您喜欢的其他物品相似”。在赵太后的故事中,触龙用了类似的推荐解释: “派长安君做人质”这个推荐策略与赵太后曾经采用过的策略(送公主出嫁)相似。这类解释在各大网站上如亚马逊、Netflix等有较为广泛的应用。它的展现方式常常是一个曾经购买、评论或者浏览物品的列表,列表中的物品和目前推荐的物品比较相似。研究表明这类方法能够增加系统的被接收程度。但是这类推荐解释的问题是用户有时可能难以找到物品之间的关联,另外用户有时可能希望看到一些自己没有购买过的、不一样的物品。


用户为媒介的推荐解释用一句话表述是“跟您相似的用户都喜欢该推荐物品”。在赵太后的故事中,这个与赵太后相似的用户就是也宠爱小儿子的触龙。这类推荐解释展现形式多种多样,生成解释时也往往用到社交信息。微软研究员Amit Sharma等人对四种社交理由进行了用户测试,这四类理由是整体热度(2,612,211位Facebook 用户喜欢它)、朋友热度(您的朋友中有7人喜欢它)、好朋友(张三喜欢它)、好朋友及个数(张三和其他5位您的朋友喜欢它)。最终发现后两种解释方式效果对提升说服力效果最好。使用这两种解释方式时,选择一个正确的朋友非常重要。如果只是随机选择一个朋友,说服力反而会降低。以用户为媒介的推荐解释与以物品、特征为媒介的推荐解释相比,最能说服用户对推荐物品进行评估,但是对用户实际使用物品后喜爱程度影响比较小。如果推荐的物品用户不够喜欢,反而会降低用户的满意程度。


以特征为媒介的推荐解释用一句话表述是“您可能喜欢推荐物品的这些特征”。在赵太后的故事中,触龙抓住了赵太后最关心的特征——子孙的长远利益——进行推荐,从而使得赵太后接受了推荐。这类推荐解释常见的表现形式是将推荐物品中用户感兴趣的主要特征进行列举(如下图)。研究表明这类推荐解释有助于用户准确判断是否喜欢推荐物品,与前两类推荐解释相比,用户对这类推荐的满意度更高。这类推荐需要判断物品特征以及用户对不同特征的感兴趣程度,从而找到最适合用于解释的特征,因此建模粒度更细,也是目前的研究热点。


以特征为媒介的推荐解释


除了上述三种推荐解释以外,还有结构化概览式推荐以及对话式推荐等。其中,结构化概览式推荐将推荐物品用有组织的、可视化的形式呈现给用户,让用户可以看到各个推荐物品的特性和分布,从而在充分了解以后做出挑选。对话式推荐是在与用户聊天时进行推荐、解释、收集用户反馈,有着较高的接受度,也可以很好地解决冷启动问题。这是一个新兴的研究方向,我们也在做一些尝试,将在后文进行讨论。


推荐解释生成方法


刚刚我们谈到了几类推荐解释,其中以特征为媒介的推荐解释建模粒度较细,模型也日趋成熟。接下来重点介绍一下这类推荐解释的生成方法。


生成基于特征的推荐解释时,关键是特征的提取。早期的方法借助一些显式的物品特征,例如事先确定的物品分类、关键词、以及标签信息。在挑选特征进行解释时,主要是综合两个指标:第一是用户对特征的感兴趣程度,第二是推荐商品与特征的相关程度。第一点需要非常了解用户心理,第二点需要对商品进行精确建模,综合两点考虑,才能像触龙一样击中用户内心。早期方法对这两者分别计算之后进行合并,从而找出推荐物品以及解释。这类方法的问题之一是特征的可描述性(Descriptiveness)可能不够。另外这些方法采用的推荐模型还比较简单,一些精巧的、复杂的推荐系统难以用这样的方法进行解释。


为了解决上面的问题,近期一些工作开始利用网上丰富的评论文本进行可解释性的推荐。他们的主要思想是从评论中抽取用户最感兴趣的物品特征,并且将这些特征加入到目前的推荐系统中进行统一建模。其中一个较新的方法是Explicit Factor Model(EFM)。如上图所示,这个方法首先利用词级别的情感分析找出用户评论中提到物品的显式特征(Explicit Features,如Screen、Earphone、Battery)及用户对这些特征的情感倾向(正面或者负面)。利用这个信息,可以构建用户-特征矩阵X以及物品-特征矩阵Y。这两个稀疏矩阵可以用三个低维矩阵U1、U2、V进行建模。这里V中每一行记录了一个显式特征的隐式表达(Latent Representations)。U1(U2)即记录用户(物品)与显式特征隐式表达之间的关系。除了显式特征以外,还有一些隐含特征(Hidden Factors)可能是评论中没有提到的,这些特征用额外的H1、H2矩阵表示。将U1、H1进行拼接就构成了用户与物品所有特征的隐式表达之间的关系,U2、H2也是类似的。该模型希望能够通过这些矩阵拟合用户-物品的评价矩阵A。


JMARS(Jointly ModelingAspects, Ratings and Sentiments)框架


可解释推荐的机遇与挑战


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


解释含有深度神经网络的推荐模型。目前可解释推荐的系统往往是基于较浅层的图模型或者矩阵分解模型,对于含有深度神经网络的复杂、混合模型的解释能力还不够。我们在考虑借鉴对深层卷积神经网络进行解释、分析的技术,将复杂、高级的推荐系统升级为可解释的推荐。


利用知识图谱打通不同媒介之间的关联。现有的可解释推荐所生成的推荐解释往往只局限于以物品为媒介、以用户为媒介或者以特征为媒介中的某一种,对这三类媒介之间的关联挖掘得还不够。我们希望能够利用知识图谱,打通这三类媒介之间的关联,根据具体情况灵活选择其中最合适的媒介对用户进行推荐与解释。这样,我们还可以产生形式更丰富的推荐解释,例如将用户感兴趣的图片也进行展示。


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


微软小冰的对话式音乐推荐


我们会从这几个方向出发,不断拓展可解释推荐的深度和广度。希望不久后的某一天,推荐系统都能像触龙那样厉害。



作者介绍

王希廷,微软亚洲研究院副研究员。2011年于清华大学获得工学学士学位。2017年于清华大学获得工学博士学位。她的研究成果发表在数据挖掘和可视化的顶级会议和期刊上,包括KDD、TKDE、AAAI、IJCAI、VAST和TVCG等。她的一篇一作论文被TVCG选为2016年12月的spotlight article。她曾担任TKDE、TVCG、InfoVis等顶级会议、期刊的审稿人。


谢幸博士于2001年7月加入微软亚洲研究院,现任社会计算组资深研究员,并任中国科技大学兼职博士生导师。他分别于1996年和2001年在中国科技大学获得计算机软件专业学士和博士学位。他在国际会议和学术期刊上发表了200余篇学术论文,并拥有50余项专利。他是ACM、IEEE高级会员和计算机学会杰出会员。他参与创立了ACM SIGSPATIAL中国分会,并曾担任ACM UbiComp 2011大会程序委员会共同主席。


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

Source: 微软亚洲研究院 | 14 Sep 2017 | 9:30 pm(NZT)

可解释推荐系统:身怀绝技,一招击中用户心理

​编者按:推荐系统被广泛应用在电商网站、社交网络、生活服务网站、搜索引擎等平台。一个好的推荐系统不仅需要准确地把握用户的需求,推荐给用户想要的内容,更需要学会与用户沟通,了解用户心理,以用户容易接受的方式给出适当的推荐。


本文中,微软亚洲研究院的研究员王希廷和谢幸将为大家详解可解释推荐系统的分类、推荐解释生成方法以及面临的机遇和挑战。


《战国策》中有个有趣的故事:当年赵国被入侵,只有送出质子才能求来救兵。但是赵太后特别疼爱小儿子,怎么也不愿意让他当质子。大臣们越是劝谏,赵太后就越是愤怒。这时候触龙出面,成功说服了赵太后,让她的爱子出质于齐,换来救兵。他到底是如何做到的呢?


这个故事其实跟我们最近进行的推荐系统的研究非常相关。如果把“送出质子”当作一个推荐给太后的策略,那么故事的关键不在于推荐内容的好坏,而在于对推荐内容的解释。如果要让赵太后这样顽固的用户接受这个推荐,关键点是什么?


触龙给出的答案是:沟通方式、用户心理、合适例证。让我们详细看看他是怎么做的。


触龙刚见到赵太后就开始话家常,说:“我老啦,有个小儿子年龄很小,真是担心他的未来啊。”赵太后问:“你们男人也很宠爱小儿子吗?”触龙说:“比女人更宠呀。我认为赵太后更喜欢您的女儿,而不是小儿子。”赵太后表示不认同。触龙解释道:“您送公主出嫁的时候,尽管伤心,但也希望她不要被赶回来。这还不是为她的长远未来打算?”赵太后同意。触龙又说:“但是您却没怎么为长安君计划未来。您看赵国刚建立时的诸侯王,他们的子孙还有享受爵位的吗?其他国家的呢?”赵太后想了想,表示没有。触龙又说:“那是因为他们荣华富贵太甚,又没有什么功劳的缘故。您现在让长安君有如此高的地位,却不让他有功于国,一旦您驾崩了,长安君凭什么在赵国立足呢?”听了这番话后,赵太后同意了将长安君作为人质。


我们可以在这个故事里看到两类推荐系统。一类是朝廷大臣这种传统的推荐系统(下图(a)),将重心放在提高推荐准确性上,与推荐对象的沟通考虑得不够;而另一类是触龙这种可解释的推荐系统(下图(b)),能够以用户容易接受的方式(话家常),充分抓住用户心理(父母爱自己的小孩,应该为他们长远未来考虑),给出适当的例子(赵太后送公主出嫁)与用户沟通。研究发现,这样的系统不仅能够提升系统透明度,还能够提高用户对系统的信任和接受程度 、用户选择体验推荐产品的概率以及用户满意程度等等。

(a) 传统推荐系统


(b) 可解释推荐系统


设计一个像触龙这样可解释的推荐系统是我们的终极目标。目前,这个方向进展如何呢?未来,有什么比较好的研究课题呢?下面,我来介绍一下可解释推荐的分类、推荐解释生成方法以及可解释推荐面临的机遇和挑战。


可解释推荐的分类


一般来说,可解释的推荐分为下图所示的三大类:以物品为媒介、以用户为媒介、以及以特征为媒介


三大类推荐解释:以物品、用户、特征为媒介


物品为媒介的推荐解释用一句话表述是“这个推荐物品和您喜欢的其他物品相似”。在赵太后的故事中,触龙用了类似的推荐解释: “派长安君做人质”这个推荐策略与赵太后曾经采用过的策略(送公主出嫁)相似。这类解释在各大网站上如亚马逊、Netflix等有较为广泛的应用。它的展现方式常常是一个曾经购买、评论或者浏览物品的列表,列表中的物品和目前推荐的物品比较相似。研究表明这类方法能够增加系统的被接收程度。但是这类推荐解释的问题是用户有时可能难以找到物品之间的关联,另外用户有时可能希望看到一些自己没有购买过的、不一样的物品。


用户为媒介的推荐解释用一句话表述是“跟您相似的用户都喜欢该推荐物品”。在赵太后的故事中,这个与赵太后相似的用户就是也宠爱小儿子的触龙。这类推荐解释展现形式多种多样,生成解释时也往往用到社交信息。微软研究员Amit Sharma等人对四种社交理由进行了用户测试,这四类理由是整体热度(2,612,211位Facebook 用户喜欢它)、朋友热度(您的朋友中有7人喜欢它)、好朋友(张三喜欢它)、好朋友及个数(张三和其他5位您的朋友喜欢它)。最终发现后两种解释方式效果对提升说服力效果最好。使用这两种解释方式时,选择一个正确的朋友非常重要。如果只是随机选择一个朋友,说服力反而会降低。以用户为媒介的推荐解释与以物品、特征为媒介的推荐解释相比,最能说服用户对推荐物品进行评估,但是对用户实际使用物品后喜爱程度影响比较小。如果推荐的物品用户不够喜欢,反而会降低用户的满意程度。


以特征为媒介的推荐解释用一句话表述是“您可能喜欢推荐物品的这些特征”。在赵太后的故事中,触龙抓住了赵太后最关心的特征——子孙的长远利益——进行推荐,从而使得赵太后接受了推荐。这类推荐解释常见的表现形式是将推荐物品中用户感兴趣的主要特征进行列举(如下图)。研究表明这类推荐解释有助于用户准确判断是否喜欢推荐物品,与前两类推荐解释相比,用户对这类推荐的满意度更高。这类推荐需要判断物品特征以及用户对不同特征的感兴趣程度,从而找到最适合用于解释的特征,因此建模粒度更细,也是目前的研究热点。


以特征为媒介的推荐解释


除了上述三种推荐解释以外,还有结构化概览式推荐以及对话式推荐等。其中,结构化概览式推荐将推荐物品用有组织的、可视化的形式呈现给用户,让用户可以看到各个推荐物品的特性和分布,从而在充分了解以后做出挑选。对话式推荐是在与用户聊天时进行推荐、解释、收集用户反馈,有着较高的接受度,也可以很好地解决冷启动问题。这是一个新兴的研究方向,我们也在做一些尝试,将在后文进行讨论。


推荐解释生成方法


刚刚我们谈到了几类推荐解释,其中以特征为媒介的推荐解释建模粒度较细,模型也日趋成熟。接下来重点介绍一下这类推荐解释的生成方法。


生成基于特征的推荐解释时,关键是特征的提取。早期的方法借助一些显式的物品特征,例如事先确定的物品分类、关键词、以及标签信息。在挑选特征进行解释时,主要是综合两个指标:第一是用户对特征的感兴趣程度,第二是推荐商品与特征的相关程度。第一点需要非常了解用户心理,第二点需要对商品进行精确建模,综合两点考虑,才能像触龙一样击中用户内心。早期方法对这两者分别计算之后进行合并,从而找出推荐物品以及解释。这类方法的问题之一是特征的可描述性(Descriptiveness)可能不够。另外这些方法采用的推荐模型还比较简单,一些精巧的、复杂的推荐系统难以用这样的方法进行解释。


为了解决上面的问题,近期一些工作开始利用网上丰富的评论文本进行可解释性的推荐。他们的主要思想是从评论中抽取用户最感兴趣的物品特征,并且将这些特征加入到目前的推荐系统中进行统一建模。其中一个较新的方法是Explicit Factor Model(EFM)。如上图所示,这个方法首先利用词级别的情感分析找出用户评论中提到物品的显式特征(Explicit Features,如Screen、Earphone、Battery)及用户对这些特征的情感倾向(正面或者负面)。利用这个信息,可以构建用户-特征矩阵X以及物品-特征矩阵Y。这两个稀疏矩阵可以用三个低维矩阵U1、U2、V进行建模。这里V中每一行记录了一个显式特征的隐式表达(Latent Representations)。U1(U2)即记录用户(物品)与显式特征隐式表达之间的关系。除了显式特征以外,还有一些隐含特征(Hidden Factors)可能是评论中没有提到的,这些特征用额外的H1、H2矩阵表示。将U1、H1进行拼接就构成了用户与物品所有特征的隐式表达之间的关系,U2、H2也是类似的。该模型希望能够通过这些矩阵拟合用户-物品的评价矩阵A。


JMARS(Jointly ModelingAspects, Ratings and Sentiments)框架


可解释推荐的机遇与挑战


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


解释含有深度神经网络的推荐模型。目前可解释推荐的系统往往是基于较浅层的图模型或者矩阵分解模型,对于含有深度神经网络的复杂、混合模型的解释能力还不够。我们在考虑借鉴对深层卷积神经网络进行解释、分析的技术,将复杂、高级的推荐系统升级为可解释的推荐。


利用知识图谱打通不同媒介之间的关联。现有的可解释推荐所生成的推荐解释往往只局限于以物品为媒介、以用户为媒介或者以特征为媒介中的某一种,对这三类媒介之间的关联挖掘得还不够。我们希望能够利用知识图谱,打通这三类媒介之间的关联,根据具体情况灵活选择其中最合适的媒介对用户进行推荐与解释。这样,我们还可以产生形式更丰富的推荐解释,例如将用户感兴趣的图片也进行展示。


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


微软小冰的对话式音乐推荐


我们会从这几个方向出发,不断拓展可解释推荐的深度和广度。希望不久后的某一天,推荐系统都能像触龙那样厉害。



作者介绍

王希廷,微软亚洲研究院副研究员。2011年于清华大学获得工学学士学位。2017年于清华大学获得工学博士学位。她的研究成果发表在数据挖掘和可视化的顶级会议和期刊上,包括KDD、TKDE、AAAI、IJCAI、VAST和TVCG等。她的一篇一作论文被TVCG选为2016年12月的spotlight article。她曾担任TKDE、TVCG、InfoVis等顶级会议、期刊的审稿人。


谢幸博士于2001年7月加入微软亚洲研究院,现任社会计算组资深研究员,并任中国科技大学兼职博士生导师。他分别于1996年和2001年在中国科技大学获得计算机软件专业学士和博士学位。他在国际会议和学术期刊上发表了200余篇学术论文,并拥有50余项专利。他是ACM、IEEE高级会员和计算机学会杰出会员。他参与创立了ACM SIGSPATIAL中国分会,并曾担任ACM UbiComp 2011大会程序委员会共同主席。


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

Source: 微软亚洲研究院 | 14 Sep 2017 | 9:30 pm(NZT)

开源 | 微软、Facebook联手打造AI生态系统ONNX

​编者按:今日,微软和Facebook宣布将推出Open Neural Network Exchange(ONNX,开放神经网络交换)格式,这是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行迁移。


ONNX是迈向开放生态系统的第一步,AI开发人员可以轻松地在最先进的工具之间转换,并选择最适合他们的组合。ONNX的应用能够弥合实验和生产过程中框架特征不一致产生的差异,让AI开发人员可以选择符合项目当前阶段的框架并实现自主切换。本文转载自公众号“新智元”。英文原文链接:https://www.microsoft.com/en-us/cognitive-toolkit/blog/2017/09/microsoft-facebook-create-open-ecosystem-ai-model-interoperability/


微软一直以来坚持一个信念:将AI传递给更多的人,让每个人都能够亲身感受到技术进步带来的便利。因此,我们为大家提供很多行之有效的平台和工具,包括微软认知工具包,构建深层神经网络的开源框架,以促进AI的普及进程。我们还积极与其他组织展开合作,共同探讨行业问题、寻求解决方案。


今天,我们高兴地宣布,微软和Facebook一起推出Open Neural Network Exchange (ONNX,开放神经网络交换) 格式。 ONNX为AI框架生态系统中的互操作性和创新提供了共享的模型表征。Cognitive Toolkit、Caffe2和PyTorch都将支持ONNX。微软和Facebook共同开发了ONNX这一开源项目,并希望社区能够帮助其不断进化。


什么是ONNX表征?


Cognitive Toolkit和其他框架提供了使开发人员更容易构建和运行用来表征神经网络的计算图的界面。虽然它们提供的功能类似,但是每个框架都有自己的格式对这些图进行表征。 ONNX表征有以下主要优点:


框架互操作性:开发人员可以更轻松地在框架间转换,并为手头的任务选择最佳工具。每个框架都针对具体特性进行了优化,如快速训练,支持灵活的网络架构,在移动设备上进行推理等等。许多时候,研发过程中最重要的特性与生产环节最重要的特性是不同的。这导致开发人员在框架之间进行模型转换时,会因框架使用不正确或明显延迟而使得效率降低。使用ONNX表征的框架简化了这一点,使得开发人员更加灵活。


共享优化:硬件供应商对神经网络性能的优化可以通过定位ONNX表征来同时影响多个框架。优化经常需要被分别整合进入每个框架,这一过程很费时间。ONNX 表征使得优化更容易实现,从而覆盖更多开发人员。


ONNX技术总结


ONNX提供了可扩展计算图模型的定义,以及内置运算器和标准数据类型的定义。起初,我们专注于推理所需的能力(评估)。


每个计算数据流图被构造为形成非循环图的节点列表。节点具有一个或多个输入和输出。每个节点是对一个运算器的调用。该图还包含记录其目的、作者等信息的元数据。


运算器在图外部实现,但是内置运算器的集合在框架之间是可移植的。支持ONNX的每个框架都将提供这些运算器在适用数据类型上的实现。


ONNX的可用性


ONNX代码和文档的初始版本现在已经在GitHub(https://github.com/onnx/onnx)上开源。我们将积极开展基于ONNX的工作,即将推出的Cognitive Toolkit新版本将支持ONNX。我们还计划和Facebook一道,提供部署参考、示例、工具等。


ONNX表征形成了开放生态系统的基础,使AI更容易获取并富有价值。开发人员可以为其任务选择合适的框架,框架作者可以专注于创新,硬件供应商可以简化优化流程。我们希望社区能够支持ONNX,以实现这一令人兴奋的愿景。



 

Source: 微软亚洲研究院 | 9 Sep 2017 | 12:49 am(NZT)

现实版“读心术”,读懂你性格的个性化推荐

​编者按:互联网的迅猛发展为信息量的惊人膨胀提供了肥沃的土壤。丰富的信息资源给用户提供更多选择的同时,信息的泛滥也意味着用户必须为信息筛选付出更大的成本。


应运而生的个性化推荐技术能够在这个被信息淹没的时代,把用户最感兴趣的内容直接呈现在用户面前。本文中,微软亚洲研究院研究员谢幸、张富峥将为你揭开大数据背后个人性格的神秘面纱,近距离感受个性化推荐的神奇之处。原论文刊登于《中国人工智能学会通讯》2017年第07期。


个性化推荐系统大致可以分为三层境界,以电商推荐场景为例,第一层境界是你购买过什么,能够给你推荐类似的商品;第二层境界推荐的是你需要并且也适合你的其他商品;第三层境界,也就是最高的境界,应该是能够基于你的性格、兴趣等个人特性,为你推荐从来没有想过却正中心意的商品,能给你带来意想不到的惊喜。


目前主流的个性化推荐算法,主要包括协同过滤推荐算法和基于内容的推荐算法,还只能达到前两层境界,有可能会产生过于盲目的“精准推荐”,从而使得用户的视野变得越来越狭窄。个性化推荐技术想要更上一层楼,必须对用户的性格进行更深层次的解读,并且有效地融入在推荐模型中。有针对性的个性化推荐不仅是营销界的制胜法宝,在政治、经济、文化等领域同样能够大放异彩。


融合用户的性格到推荐算法中,开启了进一步提升个性化推荐境界的大门。按照用户性格获取的方式,目前该领域的研究工作主要分为基于调查问卷的性格推荐算法和基于模型的性格推荐算法。


基于调查问卷的性格推荐算法


此类算法常常分为两步,首先使用心理学中的调查问卷工具来测量用户的性格特征,然后把用户的性格特征融合到传统的推荐算法中。代表性的工作来自洛桑联邦理工学院的Rong和Pearl,他们在协同过滤的框架中引入了性格特征。如图1所示,根据用户的评分数据以及心理学中的TIPI量表测量得到的大五人格数据,他们使用皮尔逊系数来分别计算两个用户的评分相似性和性格相似性。图2展示了他们的实验结果,可以发现融入性格特征的协同过滤算法能够更好地解决推荐里面常常遇到的冷启动问题。


图1 融合性格相似性和评分相似性的推荐模型


图2 级联式混合模型和基准算法在不同稀疏性配置下的性能比较


互联网上的服务,特别是音乐和电影类的网站,由于跟用户性格有强烈的相关性,也开始尝试使用性格来进行个性化推荐。例如在电影推荐网站Whattorent上,系统会要求用户回答关于性格测量的20个问题,然后根据用户的性格来推荐相关的电影。Gifts是一个礼物推荐的电商网站,系统会用一套心理学量表来测量礼物接收者的性格,然后根据接收者的性格来筛选合适的礼物。


基于模型的性格推荐算法


由于用户填写调查问卷需要花费一定的时间,而且问卷中难免会出现主观偏差的问题,因此基于调查问卷的推荐算法在互联网的个性化服务中存在着难以避免的屏障。而基于模型的性格推荐算法希望跨过调查问卷这道屏障,从用户的行为数据中挖掘用户的性格特征,并直接融入到推荐算法中进行推荐


这个领域的工作刚刚起步,研究成果还较为少见。目前我们正在进行初步尝试,探索如何从用户的行为数据中挖掘猎奇性和消费冲动性等性格特征,并且用于餐馆推荐和商品推荐等场景。


具体而言,在餐馆推荐的场景中,我们需要为用户产生在下一次就餐时的餐馆推荐列表。在传统的电商和新闻等推荐任务中,所推荐的物品主要是用户之前没有购买的商品或者之前没有阅读过的新闻,所以协同过滤等模型主要关注用户对新物品的偏好。而在餐馆推荐中,用户下一次就餐时可能去之前光顾过的餐馆,也可能去一个新的餐馆。



该图统计了用户就餐次数和去新餐馆的概率,可以看到,即使一个用户在100次就餐之后,有接近40%的概率去一个新的餐馆就餐。因此,为了区分是推荐去过的餐馆还是推荐新餐馆,我们从用户的历史就餐行为中学习用户对新餐馆的偏好,而这正是用户性格中的猎奇特性。在下一次餐馆推荐时,首先预测用户是否会选择新餐馆,针对新餐馆和去过的餐馆分别设计不同的推荐算法。如下图所示,若预测用户会去新餐馆时,使用基于环境信息的张量分解算法进行推荐;若预测用户可能会去之前去过的餐馆,则使用隐马尔科夫模型进行推荐。我们使用大众点评中的餐馆签到数据进行了实验,发现猎奇推荐算法明显好于协同过滤等基准算法。


基于用户猎奇特征的餐馆推荐算法


同时我们还发现,用户的消费行为会受到社交媒体的影响。消费数据和社交媒体上相关信息的强关联性表明了很多用户的消费受到社交媒体的刺激,而用户对刺激的反应程度正是由心理学中的消费冲动性格来刻画的。因此,我们设立了基于消费冲动性格的推荐模型:1)计算一段时间内社交媒体上的信息和商品的相似性,即该商品在社交媒体上对用户的刺激程度。2)把每个用户的消费冲动程度设计为一个隐变量。3)使用图模型对用户消费行为进行建模。当用户的冲动状态处于较高的值时,用户更容易被社交媒体上的信息所刺激,选择一个刺激信息较强的物品去消费,而忽略掉自己本身对这些物品的喜爱程度;而当用户的冲动状态处于较低的值时,用户处于较理性的状态,此时用户更易于根据自身的喜好选择物品。


我们针对移动消费数据和在线购物数据进行实验,一方面发现模型能够较为准确地测量的用户消费冲动程度(跟调查问卷的结果存在较强的相关性),另一方面模型也具有良好的推荐性能。


基于物品刺激程度和用户消费冲动的推荐模型


除了对消费者的消费行为进行预测和评估以外,个性化推荐的可应用空间相当可观。微软小冰就能够根据自身算法测量应聘者和面试官的性格,得出二者之间的匹配指数,为双方提供选择参考。


微软小冰测量用户性格


根据微软小冰测量的性格匹配应聘者和面试官


尽管随着心理学和计算机研究的不断进展以及两者的深度融合,有效测量用户的性格特征并融入到个性化推荐场景大有可为,但是基于性格的个性化推荐算法的研究仍然处于初步阶段,前路挑战重重


这些挑战体现在如下几个方面:需要克服调查问卷的依赖性,直接根据用户行为对性格测量的有效性是该领域需要突破的关键性研究问题;用户可能来自不同的地区甚至国家,目前的研究工作还不能很好的考虑到可能存在的文化差异,比如在不同的文化背景下,同样的行为是否反应同样的性格,以及是否应该进行类似的个性化推荐;可解释性是个性化推荐技术很重要的一个评价指标,基于性格的推荐算法如何更好地解释用户对物品的偏好也是该领域的关键性问题。


虽然相关研究已证实了个性化推荐在部分应用领域的潜力,但是目前的研究基础理论不完整,技术方案尚未成体系,应用还不够广泛。作为一个交叉学科,这个领域的成功需要计算机科学家、心理学家和社会学家们一起的努力。


感谢你关注“微软亚洲研究院”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。

微软小冰进驻微软研究院微信啦!快去主页和她聊聊天吧。


 

Source: 微软亚洲研究院 | 7 Sep 2017 | 10:15 pm(NZT)

Save on your hotel - www.hotelscombined.com








Save on your hotel - www.hotelscombined.com

© 澳纽网 Ausnz.net