Quantcast
Channel: 微软亚洲研究院
Viewing all 620 articles
Browse latest View live

程序编写程序:泛用人工智能领域的一颗明珠

$
0
0
​​

2017年2月,微软研究院与剑桥大学宣布他们合作开发了一种新的算法,名为DeepCoder——现在看来可能跟算法的名称有关,因为Coder也是程序员的昵称,有读者以为机器程序员来了,传出了“DeepCoder能够从网络论坛和开源社区中复制代码并加以组合来生成新的程序”的说法。

真是这样吗,程序员真的就要被取代了吗?



显然不是。

如同作者在论文所说,这是一种能根据问题输入输出自动编写解题程序的算法:目前业界使用的编程语言对于机器算法来说还是太难掌握了,DeepCoder使用的编程语言是一种原创的、极其精简的语言,其中只有整数数据类型,内置了基本的四则运算以及一些基本函数,例如排序,或者对数组中的元素依次执行某种操作等等。此外,DeepCoder完成的程序生成是一种叫做Inductive Program Synthesis(IPS,归纳式程序合成)的特例;在这种程序生成方法中,机器通过观察输入输出的样例组合来生成一个 “与当前样例数据行为一致” 的程序。

这就是说,机器连问题的描述都不看,离取代程序员还远着呢,像这样:


不过,尽管原理是如此简单,DeepCoder还是展现了惊人的解题能力:它使用一种非常简单的DSL语言,这种语言允许机器将小的语句和程序块逐个拼接成更大的部分(类似于微软的LINQ语言),这样一来,机器在程序生成的每一步中,只需要考虑下一行执行一个什么操作而不用考虑括号如何匹配、如何安排分支代码这样的问题,也不用自带游标卡尺,大大简化了机器的思考过程

此外,在DeepCoder出现以前的做法(是的,解题机早已存在),更多采用“枚举”的方法依次验证所有程序,就是由“所有程序”组成一个“程序空间”,解题机在这个空间里执行搜索任务,这样做的一个问题在于,枚举法会执行大量的重复操作,生成无数毫无道理的程序。


​ “……前三行和第四行的前四个字都是表达生命对宏伟宇宙的惊叹,最后一个字是诗眼,它是诗人在领略了宇宙之浩渺后,对生命在无限时空中的渺小发出的一声无奈的叹息。”——刘慈欣《诗云》


与此形成对比,DeepCoder并不逐一枚举,而是使用神经网络来辅助搜索过程。在此算法的框架中,神经网络担当了两个任务:一是观察输入输出之间的关系,例如输入是否全是负数,输出是否从小到大有序等等,将其转换成机器理解的一组特征。这一做法受到了前人工作的启发,之前的做法是用手工编写方式列举这些规则,而DeepCoder则使用神经网络将这一过程自动化。二是在通过观察了解数据的特征之后,以特征为输入,通过一个神经网络来预测程序中可能有哪些语句。这个预测过程产生的分布会改变搜索程序选择不同语句的优先级,从而避免生成重复而无意义的程序,使得解题效率大大提高。

目前来看,包括DeepCoder在内的现有程序生成算法还不能独立处理较为复杂的问题。但从另一方面看,既然机器已经能够完成简单的编程任务,那么我们就可以利用它来辅助程序员的工作,或者帮助普通计算机用户来自动化一些工作流程。


DeepCoder解题过程示意图:每行代表一个程序,每列代表一种语句。红色越深代表其神经网络给出的预测值越高;绿色代表最终搜索得出的正确结果。


实现程序自动编写程序是通用人工智能领域学者们一个共同的梦想, 也是我们机器学习组的一个研究方向。与其他AI研究领域类似,在这一领域的探索工作中,存在两种不同的思路,分别是符号派(Symbolic Method)和连接派(Connectionism)

符号派秉承了古典AI的风格,其思路是将所有程序定义在一个空间内并通过搜索方法来寻找一个合适的程序。其中又包含不同的分支,例如DeepCoder所使用的IPS(归纳式)生成方法,以及基于Constraints(限制条件)的求解方法等。符号型程序生成也和机器自动证明(ATP)、编程语言理论(PLT)、静态程序分析(SPA)等领域有着深刻的联系:如果我们能顺着程序语言的语法语义规则进行论证,最终达成问题中需求的逻辑,那么我们也就完成了一个严格正确的程序的生成;反过来,给定一个手工编写的程序,如果我们通过搜索在程序空间中找到了它,那么机器能给出大量程序中隐含的逻辑,为程序员提供另一种看待问题的视角。因此,这类方法能和编程语言一起演化,相互促进。

在基于限制条件的求解方法中,算法不仅从表象上考察输入和输出的特征和其中(可能)蕴含的规律,还能根据问题定义中的符号式限制条件,对程序空间进行更精确的探索。

举例:如果我们用一个可满足模理论求解器(SMT)来玩扫雷游戏,我们可以预先将游戏规则告诉机器,它就能精确地根据当前地图提供的信息进行推导并避免生成触雷的指令。

在这一类问题族谱的另一端,当我们放松条件,不要求输出完全和样例匹配但要尽量接近,就将问题转化成了符号型回归问题。一个符号型回归算法执行的是回归任务,它尝试给出一个模型来逼近样例。与其他回归算法不同,符号型回归算法中并没有一个确定的模板公式(例如线性回归的模板是以权重参数给出输入的线性组合)。这类算法与IPS相似,通过搜索方法来寻找最适合当前数据的公式和参数值。Nutonian公司的Eureqa系统即是这类方法的典型代表;据作者称,它能在仅观察钟摆运动数据的情况下自行推导出牛顿定律。

当前这类方法仍然面临的挑战在于,在问题及语言复杂的情况下,其计算量或将不可承受;此外,归纳式的求解方法也不能完全抓住问题的本质,其关键在于问题中给出的输入输出能否完整覆盖问题本质所包含的逻辑,以及从同质输入输出中排除歧义,这往往非常困难。


二是连接派。随着神经网络的复兴,连接派学者开始使用神经网络来挑战编程任务。与符号型方法的枚举不同,在神经网络型的系统中,算法更多地将程序空间看成一个连续的空间,将程序看作一个由大量参数以及一套可微分的固定规则组成的系统。这样一来,搜索过程无需进行枚举,而是转为在连续空间里面采用可微分优化方法(例如梯度下降)来逼近一个合适的解。由于程序中可能蕴含状态(也就是说,多次调用同一个函数可以得到不同结果),很多连接派的算法都会在网络结构中对内部和外部存储机构进行重点加强。

比如,Google发表的神经元图灵机(Neural Symbolic Machines ,NTM)和后续工作差分神经元计算机(Differentiable Neural Computer,DNC)给出了一个模仿真实计算机架构,利用神经网络学习与预判对外部存储器执行动作序列的方案。神经元符号机(Neural Symbolic Machines)对自然语言进行编码,再根据其特征预测生成一种可组合的函数式编程语句,从而实现访问外部数据,在知识图谱中进行遍历。在神经元编程/解释器中,作者提出将外部状态广泛化,使该算法不仅可以建模存储,也可以建模真实世界中的状态(例如机械臂的位置,摄像头接收的图像等)。算法通过对外部状态的观察,优选一个预先习得的程序来执行,而程序本身又对外部世界造成影响。此外,学界提出了多种对长短时记忆网络(LSTM)的改进方法,使其不仅拥有状态式的短时记忆,也能够结构化的数据进行存取:例如Facebook AI研究院学者提出,可以在LSTM中增加一个栈,入栈出栈的功能由位移式的连接和对操作指令的预测机构实现。这类方法面临的挑战在于过度依赖概率性的决策;由于缺少验证机制,甚至不能保证得到一个“合适”的结果;其次,完全基于神经网络的方法都试图一次性得到答案,也就是说即使能验证出错误,也没有一个明确的方案指导如何撤销错误并重试。

令人感到乐观的是,近几年来上述两派观点开始融合,实现了前所未有的效率提升:神经网络使算法具有了一定的直觉,能够根据当前的程序和数据猜测下一条语句,而搜索方法则提供了试错的机会,如果神经网络犯了错误,搜索框架能凭借记忆撤销错误的代码而转向别的方向思考。可以预见,随着这一结合打开新的思路,有利于将人工智能推向越来越广的应用场景。路漫漫其修远兮,我们离教会机器像人一样思考还有相当的距离。但是我们相信,人的智慧是无穷的。随着计算机科学、认知科学、生命科学等众多学科在此汇聚一堂,学者们在愈加深入地理解机器的同时,也会更多地了解我们自己,人机并进,勇攀科学的高峰。

如果你也对这个题目感兴趣,欢迎访问我们微软亚洲研究院机器学习组官方网页:https://www.microsoft.com/en-us/research/group/machine-learning-research-group/


作者简介:


李亚韬 微软亚洲研究院副研究员


李亚韬现任微软亚洲研究院副研究员,从事分布式计算、图数据库、查询语言和人工智能方面的研究,研究兴趣包括分布式计算平台、知识图谱存储与查询方案,程序语言设计以及符号式机器学习等,是微软图引擎(Graph Engine)的主要设计者与开发者之一。


微软亚洲研究院机器学习组


微软亚洲研究院机器学习组一直致力于推动机器学习理论、算法和应用的学术前沿。我们的研究课题涉及机器学习和人工智能研究的各个方面,目前的研究重点为深度学习、增强学习、分布式机器学习和符号学习。在过去的十几年间,我们在顶级国际会议和学术期刊上发表了大量高质量论文,并把先进的机器学习技术应用到微软很多产品中解决实际问题。我们向开源社区贡献的微软分布式机器学习工具包 (DMTK) 和微软图引擎 (Graph Engine) 受到了开发社区的广泛关注。

机器学习组现招聘实习生,工作内容涉及深度学习、增强学习,分布式机器学习和符号学习等领域的研究及应用。具体工作内容根据个人兴趣和能力确定。要求热爱科研,对机器学习和人工智能研究充满兴趣;有较强的编程能力;有良好的沟通和团队协作能力;半年以上实习期。

感兴趣的同学可以下载并填写申请表(申请表链接: http://www.msra.cn/zh-cn/jobs/interns/intern_application_form_2014.xls)并将其与完整的中英文简历(PDF/Word/Txt/Html形式)一同发送至:ml-recruit@microsoft.com


​​​​
 

实物编程语言:扫清残疾儿童的编程障碍

$
0
0
​​


注:本文译自With Project Torino, Microsoft creates a physical programming language inclusive of visually impaired children


如今,大多数孩子都是通过简化工具第一次接触编程。通过这些工具,他们可以拖放命令块来创建程序,并执行类似“迷宫导航”或“空间穿越”的任务。例如微软就提供了游戏《我的世界》让孩子们能够在游戏中开启对编程的兴趣。微软剑桥研究院的研究人员和设计师团队正努力让这一概念更进一步。他们创造了一种 “实物编程语言”的工具,让孩子们可以连接实物组件连,由此构建程序代码。


始于一个普惠的目标


这个被称为Project Torino的项目的系统旨在帮助患有视力障碍或其他生理缺陷的孩子,确保他们能够与同学一起参与编程课程。但是,如该项目研究人员之一Cecily Morrison所说,Project Torino希望对所有的编程学习者都有所吸引并提供帮助——无论他们是否患有视力障碍或其他生理缺陷。

“我们的关键设计原则之一就是普惠。我们希望这些孩子不再被排除在外,”她说。“为此,我们计划创造一种多数班级可以使用并一同分享的工具。”

项目的终极目标更加雄心勃勃:让更多面临视觉障碍、阅读障碍、自闭症或其他挑战的孩子有机会走向软件工程师和计算机科学家的道路。“很明显,它提供了一个在专业计算领域从业的巨大机会,”Morrison说:“对于这些以往可能难以从事很多工作的孩子,这可以为他们提供可观的职业前景。”

这种项目有助于实现两方面的需求:一方面,技术类企业因缺乏足够的工程师和程序员满足业务需求,正面临着人才需求与供给的缺口;另一方面,如专家们所说,视力障碍人士很难找到有意义的、入行容易的职业道路。世界卫生组织估计,全世界有2.85亿失明或视力受损人士,其中绝大多数人生活在低收入状态。以英国为例,皇家全国盲人协会表示,处于就业年龄段的失明或视力受损成年人中,只有四分之一在从事有薪酬的工作。


从实验室到教室


皇家全国盲人协会方案、战略和规划负责人Steve Tyler目前正就该项目与微软开展合作。他指出,虽然编程是视力障碍者最有前景的职业道路之一,但近年来,随着计算机科学对图片、图形和概念编码方法愈加的依赖,视觉障碍的孩子会更加难以接触到这一领域,而像Project Torino这样的系统则可为他们提供这样一条捷径。“对我们而言,这是参与并支持这个项目的核心原因之一,”Tyler说。

Tyler曾从事过教育工作,他表示,目前一些儿童虽患有视力障碍却对编程感兴趣,或者更广泛而言具备了接触数学和战略思维的基础,但他们可享的资源却少得可怜。这个问题十分严峻,因为孩子们第一次接触这些概念的时刻可能至关重要,这也许决定着他们是否最终有兴趣在这些领域展开职业追求。以往,老师们会借助象棋给视障儿童讲解此类战略概念。“在我看来,这个项目跟象棋有点相似,”Tyler说,“但它更加接近当下趋势,更富活力。”


微软团队花了大约一年左右的时间,与十几名学生对这套系统进行测试。微软剑桥研究院高级研究员Nicolas Villar在Project Torino的设计上发挥了重要作用,他分享了该项目一个意想不到的乐趣:让他有机会与这些以不同方式体验世界的孩子们一起工作。

例如,他指出,团队最初提供的编程组件都是白色的,随后部分视力障碍的孩子们在体验的过程中表达了提供更多彩色组件对学习会更有帮助,团队很快的采取了这一建议。虽然在电子产品领域,人们往往倾向于把尺寸尽可能做小,但通过这个项目,他们发现,如果组件尺寸比较大,孩子们的参与度会更高。一定程度上,这是因为两个孩子一起做功课时,他们经常需要同时握住摸一个组件,这也是团队合作的一部分。

回忆起与孩子们共事的时光,Villar表示,“这真的是一次互相学习的合作,由我们双方一道设计而成。当初的我们曾以为这个项目是单向的,是我们帮助这些孩子,但实际情况却是我们一同参与了设计,我们也从孩子身上学习了很多。”

现在,他们正与英国皇家全国盲人协会合作,与大约100名学生进行扩展测试。研究人员和英国皇家全国盲人协会将于3月中旬在英国视障儿童教育工作者(VIEW)会议期间征寻更多的潜在参与者。

目前,测试工作已在英国展开,并旨在产生更大的影响:让更多孩子对编程产生兴趣。最终,他们希望能把该项目推广到英国以外其他地区的师生。


计算思维入门


Project Torino适合7至11岁的儿童。借助编程工具,学生可以完成作曲等任务,甚至包括编排奇怪噪音、诗歌和其他自主创造的声音。

Morrison表示,孩子们在编写程序时,会学习到一些基础的编程概念,这些概念将指引他们走上计算机科学或相关领域职业道路。“这个过程会潜移默化的传输一些概念,并助力他们成长为计算机科学家、程序员、软件工程师和计算思想家,”她说。“无论将来他们的职业发展方向如何,这都会为他们打下计算机科学基础,同时提供一些与计算科学相关的通用语汇。”

Morrison和同事们还为计划使用Project Torino系统的教师们制定了课程。她说,教师不需要计算机科学背景就可以使用这套课程——事实上,该项目的设定是大多数教师在编程方面并不具备任何专业知识。

在研究员的设计下,该系统还可与孩子们共同成长。Morrison表示,他们创建了一个应用,让孩子们掌握实物编程语言后,可将其使用实物系统完成的代码转换为基于文本的代码,再使用其他辅助性技术继续完善代码。

“我们正在绘制一条通向专业软件工程师之路捷径,而实物编程语言就是一个开始。”Morrison说。


注:阅读关于Project Torino的更多信息,请点击网址https://www.surveygizmo.com/s3/3384927/Project-Torino-Beta-Expression-of-Interest即可查看。


​​​​
 

让搜索引擎更智能需要经历什么?

$
0
0
​​

当你有问题需要解答的时候,你通常会选择去问谁呢?如今在不知不觉中,很多人的选择已经变成了搜索引擎。天气、交通路线、图片、视频、作业答案等等,搜索引擎能够回答人们日常生活中遇到的许多问题。甚至对很多人来说,如果在搜索引擎上找不到答案,那可能这个世界上就没有对这个问题的现成答案了,才需要我们自己去探索。

这么看来,搜索引擎仿佛是一种最强大的人工智能,它从二十年前就开始生活在我们的身边。搜索引擎是如何一步一步变得如此强大,而它接下来又会往哪个方向进化呢?这篇文章就简单的从搜索引擎的发展历程开始进行解读。


搜索引擎的诞生与发展


搜索引擎的诞生,来源于早期人们对高效寻找互联网上信息的需求。采用传统的图书馆信息检索技术的早期搜索引擎并不能满足大家的需求。无论是网页排序的准确度,反应速度和索引网页的数目都不能满足互联网用户的需求。新需求下,产生了目前常见的几个大通用搜索引擎:谷歌、微软必应、雅虎(Yahoo采用微软必应作为其搜索技术的提供商)和百度。它们大都创立于2000年左右。在这些搜索引擎诞生之初,大数据,机器学习,分布式系统这些词就和它们紧密相连。

首先,现代搜索引擎充分利用了互联网数据的特点。网页之间的超链接,网民自发的在网页上留下的足迹,比如商品评论、点赞等,都成为搜索引擎更好的对网页进行排序的依据。同时搜索引擎的系统设计也将其变为一个可以不断自我学习和改善的系统。搜索引擎根据用户对相关结果的点击行为,进行评估自己算法的好坏。

微软基于机器学习算法的排序系统不断的学习,以及总结不同用户对搜索引擎的反馈,于2005年提出了一系列使用神经网络、决策树等为基础的网页排序算法:RankNet, LambdaRank 和LambdaMART。这些算法以大规模机器学习系统为基础,将搜索引擎的排序精度不断的提升。同时,机器学习算法也有其他多个方面的应用,例如检测垃圾网页、提高搜索广告相关性等等。


除了上述算法上的进步以外,系统层面的不断创新也为搜索引擎的进步添砖加瓦。谷歌在创始之初,就开创性的提出了尽量将所有的网页信息保存在计算机内存而不是磁盘上的系统革新,这样可以将回答用户问题的时间从秒级减少到毫秒级。

微软必应搜索引擎在2008年开始,针对固态硬盘的特点,重新设计了网页索引结构。新的多级索引结构不仅能保证和全内存系统相当的查询速度,单台机器支持的网页数目及查询吞吐量得到了几十倍的提升,这样保证搜索引擎可以索引和服务互联网上更多的网页。

大数据系统更是和搜索引擎的发展紧密相连。为了更方便的存储和处理网页信息,谷歌推出的MapReduce, BigTable, GFS等著名分布式系统,掀开了大数据时代的帘幕。与此同时,微软公司也部署了Cosmos, Dryad, Scope, Kirin等系统。其中Dryad和Scope系统由于其更加前瞻的设计理念,成为新一代大数据处理系统的参考设计范本。


更人工智能的搜索体验


机器学习算法的不断进步,搜索引擎巧妙的人机交互设计,分布式系统的革新让搜索引擎在不知不觉中成为人们生活中不可或缺的一部分。同时,随着人们新需求的不断涌现,搜索引擎也没有停下变革的步伐。一方面,搜索引擎尝试以不一样的形式展示在你面前,比如Cortana, Siri, Google Now这类对话式的智能交互技术背后都离不开搜索引擎的支持。同时它也在不停的扩展它新的能力。

如果你够细心的话,你可能会发现当下的搜索引擎可以更加直接的回答你搜索的某个具体问题。比如在搜索结果页面的右边,会有和你搜索相关的其他相近实体的信息。在页面的顶部,某些结果(例如天气,航班等信息)会以更丰富的形式提供答案。最近,一个更加引人关注的变化是,对很多知识性的问题,搜索引擎开始尝试给出直接的答案,而不是某几个网页链接。比如:当你问如何做一份美味的节日点心,如何安装某个新的软件时,微软必应搜索都可以直接给出答案。


搜索引擎是如何做到这一点的呢?要回答这个问题,就不得不提到过去一段时间以来深度学习领域的研究进展。搜索引擎通过大量的数据,利用DNN/RNN等新算法来更加充分的理解网页内容和用户问题之间的关系,从而可以帮助用户在网页中直接找到和问题相关的答案。微软最近收购的由著名深度学习专家Yoshua Bengio 指导的深度学习创业公司Maluuba也旨在加强微软在深度阅读理解领域的实力。而在深度文本理解方面,微软的研究小组也都处于领先位置。

随着算法的发展,搜索引擎的后台也在飞速进化。为了支持以深度学习为代表的新一代机器学习算法,GPU,FPGA以及定制的ASIC芯片已经逐渐走入搜索引擎的数据中心。索引和排序服务系统也在进一步进化以满足算法对处理能力的要求。为了更加实时的处理更大规模的数据,超低延迟网络也正被广泛应用。


智能搜索引擎的下一个目标


以上提到的所有这些努力,都是为了更好的满足人们对搜索引擎的需求。但是搜索引擎真的能完全理解人类的所有知识体系吗?它下一步的任务是什么?

显然,目前搜索引擎已经能够较好的总结互联网的信息用于满足大家的搜索请求,可以直接回答一些常见问题。但是搜索引擎是否能够真正理解这些信息的内在含义,是否可以创造性的解决以前从未出现的问题,以及能否高效的进行自我推演,还不得而知。但是有一点是肯定的,更富创造性的机器学习算法,更加强大的计算能力,以及创新性的人机交互是一切的基础,这些也是工业界和学术界共同努力的方向。

微软亚洲研究院系统研究组主导和设计了必应搜索引擎新一代的的网页处理系统,索引服务系统,语义排序系统。系统研究组同时致力于将新一代大规模人工智能算法更加系统的应用于不同领域。



​​​​
 

回顾AAAI|如何参加国际顶级人工智能大会?

$
0
0
​​

编者按:今年的AAAI大会已于2月份落下了帷幕。来自微软亚洲研究院自然语言计算组的实习生星辰在大会结束之后分享了她的参会经历与体验,一起来看看吧!


一场美国人工智能年会


美国人工智能年会(AAAI Conference on Artificial Intelligence),简称AAAI,是人工智能领域的顶级国际会议。 该会议固定在每年的2月份举行,由AAAI协会主办。今年第三十一届AAAI共计收到2700余篇投稿,最终录取580篇左右,录取率为25%,录取论文涉及博弈论,搜索,视觉,知识表示,机器学习,机器人学,自然语言处理等多个方向。


本次AAAI大会在美国旧金山举行。 旧金山(San Francisco)位于美国太平洋沿岸的湾区,是北加州的商业与文化发展中心,毗邻硅谷,被各大科技巨头公司以及创业公司环绕。本次会议于2月4日至9日在旧金山希尔顿酒店举行。大会获得了多家国内外多家科技巨头的赞助,其中包括微软、亚马逊、IBM和Facebook等。

大会主要包括四大部分,其中包括为期一天多的教程(tutorials),五天的大会会议(technical program)和穿插其中的邀请演讲(invited talks)。大会第一天的教程总共有22个,每个教程时长为4小时。其中,微软亚洲研究院的陈薇博士做了题为“分布式机器学习的最新进展”的教程,获得了参会者的关注和响应。

本次大会最令我感到兴奋的环节是以“AI in practice”为题的系列讲座。该讲座邀请了7位世界科技巨头公司的人工智能负责人,畅谈各个公司最新的人工智能进展以及各自发力的方向。其中,谷歌的 Vincent Vanhouke介绍了他认为的当下人工智能的最大挑战之一,是如何将人工智能引入物理世界,让人工智能为人类创造更加舒适的以人为中心的生活环境;而完成这一目标的关键,是科研人员跳出目前相对舒适的大规模有监督学习的设定,去解决数据稀缺和无监督技能转移等问题。 亚马逊的Alex Smola则介绍了构建深度学习系统所面临的挑战,以及如何使用MxNet构建可扩展的深度学习模型。 百度的王海峰博士系统地介绍了百度在自然语言处理领域以人工智能为目标所做的各项努力。


夺目的最佳会议论文


本次AAAI的杰出论文奖授予了斯坦福大学的Russell Stewart和Stefano Ermon的“Label-Free Supervision of Neural Networks with Physics and Domain Knowledge”。本文试图将神经网络的学习过程,从样例-标签对的结构中解脱出来,利用物理或其他先验知识实现监督学习。具体做法是设计一个约束函数g,把神经网络的输出f(x),映射到符合物理知识或者其他先验规则的空间中。该方法在包括跟踪一个自由落体、跟踪一个行人的位置、根据因果关系检测目标这三个案例上,都取得了与有标签学习相当的准确率。


与AAAI大会的亲密接触


本次大会,我在武威研究员指导下的工作“Topic aware Neural Response Generation”被录用。我们的这项工作主要用于聊天机器人的自动应答生成。传统的应答生成模型Seq2Seq,在生成应答的时候存在一个问题,即经常生成通用性的回答,如“哦我知道了”,“我也是”。这些通用性的回答虽然可以回复多种多样的消息(message),但是由于它们的缺乏多样性和信息性,通常难以取悦用户。我们为了解决这个问题,提出将message的主题相关的信息从额外的数据中提取出来,将这些丰富的主题相关的信息引入生成过程,帮助生成多样的有信息量的应答。


具体来说,我们预先利用大量网络数据训练一个Twitter LDA主题模型,并且让该主题模型为每个message 赋予一个话题;我们用该话题下受欢迎程度最高的n的词组成该message的话题词列表。在生成模型中,我们一方面在输入端设计一个话题注意度,自动选择比较重要的话题词来引入新信息帮助生成;另一方面,在输出端,我们为每个话题词增加一个额外的概率,使得它们在生成应答过程中更容易被选择,从而增加生成的应答的信息量和丰富程度。


我们采取人工标注,随机和生成应答中的相异单词数来评判模型性能。实验结果显示我们的模型TA-Seq2Seq在这三个指标上均很大程度地超过了基本的方法,并且在具体案例的应用中,生成了很多令人兴奋的应答。

我从博士二年级开始在周明老师的自然语言计算组实习。在这里我迈出了我的科研第一步,在老师和同学的帮助下发表了人生中第一篇论文;并且在后续的科研工作中,也极大的受益于老师的指导,组里科研氛围的熏陶,和小伙伴们贴心的帮助和支持。参与AAAI这样的大会对我而言是一次成长很多的体验,感谢组里的导师和同学们,我也期待跟大家一起努力,做出更加有影响力的工作。 



作者简介


我叫星辰,是微软亚洲研究院自然语言计算组的实习生,就读于南开大学攻读博士学位。我的研究兴趣是对话生成,自然语言处理,深度学习。



​​​​
 

讲堂| 刘铁岩:人工智能的挑战与机遇

$
0
0
​​

你离成为人工智能专家,还有多远的距离?


近日,四位来自微软亚洲研究院的资深大咖在中国科技大学进行了一场以“开启智能计算的研究之门”为主题的前沿分享。这四位嘉宾分别是:


● 首席研究员刘铁岩,演讲主题: 人工智能的挑战与机遇

● 首席研究员童欣,演讲主题: 数据驱动方法在图形学中的应用

● 首席研究员曾文军演讲主题:当机器学习遇到大视频数据

● 资深研究员谢幸演讲主题:  用户画像、性格分析与聊天机器人


在接下来的一周里,我们会陆续在本账号中发布这四位研究员的演讲视频及精彩内容,希望这些关于前沿技术的思索能够开启属于你的智能计算研究之门,敬请期待吧!

今天,我们与大家分享的是刘铁岩博士的演讲——人工智能的挑战与机遇,全文如下(文字内容略有精简)。


今天我要讲的内容主要是一些对人工智能这个领域的看法。说到智能计算,我们就不能不提人工智能,人工智能从1956年的达特茅斯会议开始,到现在61年的历史,发展过程中风风雨雨,可以看到几起几落,至少我们经历过两个所谓人工智能的冬天。

每一次人工智能的崛起都是因为某种先进的技术发明,而每一次人工智能遇到了它的瓶颈,也都是因为人们对于人工智能技术的期望太高,超出了它技术能达到的水准。所以政府、基金会等撤资,导致了研究人员没有足够的资金去从事研究。

那么今天我们处在一个什么阶段呢?有人说现在是人工智能的春天,有人说是夏天,还有人悲观一点,说是秋天,秋天的意思就是冬天马上就来了。作为人工智能的学者,我们该怎么看待这件事情,我们能做些什么?不管大家怎么预测,至少今天还是一个人工智能的黄金时代。

为什么这么讲呢?接下来先给大家展示一些最近人工智能取得的成果,确实是之前十几年我们完全想不到的。

首先,我们讲人工智能在语音方面的突破,人工智能在语音识别,语音合成上面最近都取得了非常瞩目的结果。2016年10月份由微软美国研究院发布的一个语音识别的最新结果实现了错误率为5.9%的新突破,这是第一次用人工智能技术取得了跟人类似的语音识别的错误率。

其次,在图像方面,人工智能也有很多长足的进步,比如图像识别的ImageNet比赛,用计算机去识别数据集中1000个类别的图像。在2015年,来自微软亚洲研究院的技术——ResNet,获得了2015年ImageNet的冠军,错误率是3.5%,而人的错误率大概是5.1%。所以可看出在特定领域、特定类别下,其实计算机在图像识别上的能力已经超过了人的水平。2016年我们微软亚洲研究院再接再励,在比图像识别更难的一个任务——物体分割上面取得了冠军。

除了语音和图像以外,其实人工智能在自然语言上面也取得了很大的进展。左边这张图描述了各大公司都在不断地提高各自语音机器翻译的水准和技术,右边这张图展示的是去年12月微软发布了Microsoft Translator的一个新功能,它支持50多种语言,可以实现多个人多种语言的实时翻译,比如大家每个人可能来自不同的国家,只要拿着手机用这个APP我们就可以互相交流。你说一句话或者输入文字,对方听到/看到的就是他的母语。


前面说的这些语音、图像、语言,听起来还都是一些感知方面的东西。大家也知道,最近这段时间,人工智能在一些传统我们认为可能很难由机器来取得成功的领域也获得了突破。比如左边这张图描述的是用人工智能技术来打游戏,大家可以看到这个敲砖块的游戏,在120分钟训练的时候,人工智能就找到了很有效的得分的途径。当我们继续去训练这个人工智能的机器人,到了240分钟以后,它又达到了那种所谓骨灰级玩家的水准,它发现了一些平时我们自己都玩不出来的窍门。



右边展示的是围棋比赛,大家都知道AlphaGo非常火,使用了深度增强学习的技术,经过了非常长的训练时间,引用了大量数据做self-play,最终是以压倒性的优势,4:1战胜了当时的世界冠军李世石。在去年的IJCAI上面,AlphaGo主要的开发人员做了一个keynote,说自战胜了李世石之后,AlphaGo并没有停下脚步,因为它是一个self-play的process,可以继续训练,只要给他足够的运算时间和样例,它就可以不断地去训练。所以也能理解为什么今年年初Master重新回到大家视野里,可以对围棋高手60连胜,因为这个差距太大了。

这些事情都是以前人们觉得人工智能不可以去企及的领域。但正是因为这些计算机科学家、人工智能科学家不断地去模仿人的决策过程,比如他们训练了value network,训练了policy network,就是怎么样根据现在的棋局去评估胜率,去决定下一步该走什么子,而不是走简单的穷举,用这些value network来对搜索树进行有效的剪枝,从而在有限的时间内完成一个非常有意义的探索,所有这些都是人工智能技术取得的本质的进展,让我们看到了一些不一样的结果。

说了人工智能的这些辉煌之后,其实有很多问题是需要我们去冷静思考和回答的。


我们的主题是开启智能计算的研究之门,我想从一个研究者的角度跟大家讨论一下我们还能做些什么,甚至是更有意义的是去做些什么。人工智能表面看起来很火,其实如果把这张魔术的台布展开,你就会发现它千疮百孔,各种各样非常基础的问题其实并没有解决,甚至有很多哲学的方法论的东西从我们的角度来看可能也不准确。

面对这样的情况,更有意义的事情可能是冷静下来,去从事一些能够改变人工智能现状以及未来的很本质的基础研究工作,甚至是去反思人工智能发展的路线图,看看我们是不是应该重启一条道路。这些事情才能使得我们不仅仅是随波逐流,不仅仅是变点现,骗点钱,而是在人工智能发展的真正道路上留下我们自己的足迹,过了几十年当大家回忆的时候,另外一个人站在台上讲述人工智能一百年的时候,他会在那个图上标着一个星星,那里面讲的是你的故事。

前面这些人工智能现象的背后是什么?说到技术层面,现在最火的两个词,一个叫Deep Learning(深度学习),一个叫Reinforcement Learning(增强学习)。深度学习是什么?通俗地讲,它就是一个端到端的学习,我们不需要一些feature engineering,而是用一个非常复杂的、容量很大的模型去直接拟合输入输出,让模型自己探索有意义的中间表达。

什么是增强学习?通俗地讲,就是学习机器不断地跟环境做自主的互动,在互动的过程中用长远的收益来指导当下该做什么决策,通过不断的跟环境互动去调整决策的最优性。


之所以现在深度学习和增强学习能够取得很大的成功,背后有一个很大的原因,就是基于巨大的数据和巨大的运算量训练出的拥有巨大容量的模型,所以它们的成功离不开硬件系统,这也是为什么现在GPU这么火,包括云计算、多机协作已经成了我们必不可少的环节。

这是现在人工智能的现状。面对这样的现状,我们是按照大家指定的这条道路去走,多搞几个GPU去训练一些模型跟别人PK,还是反思一下这条路对不对,有没有什么问题,接下来我想跟大家讨论的就是人工智能的诸多问题。我只列了一些其中的代表,但其实问题远远不止这些。

第一件事,现今的人工智能技术,尤其是以深度学习为代表的,需要大量的标注数据,来让我们能够训练一个有效的模型,它不太依赖于人的先验知识,要learning from scratch。如果想从零开始学习就需要有大量的样本提供规律。比如,图像分类,现在通常会用上千万张图像来训练;语音识别,成千上万小时的有标注的语音数据;机器翻译一般都是在千万量级的双语语对上去做训练,这样的数据之前是不可想象的,但是我们这个时代是大数据时代,所以有了这些数据,就使得深度学习训练成为了可能。但这是不是一剂万能的灵药呢?其实在很多领域里是不可能或者是很难获得类似的数据的。比如医疗上面,很多疑难杂症,全世界也没有几例,那怎么能够对这个类别搜集大数据。所以从这个意义上讲,如果我们能够找到一种方法克服对大的标注数据的需求,我们才能够使得现在的人工智能技术突破目前数据给它划定的边界,才能够深入到更多的领域里面去。

第二个挑战是关于模型大小以及模型训练难度的问题,前面提到了深度神经网络有很多层,而且一般参数都很大,几十亿的参数是家常便饭。面对这样的网络,至少有两个困难,一个是我们经常提到的梯度消减和梯度爆炸的问题,当深层网络有非常多层次的时候,输出层和标签之间运算出来的残差或者是损失函数,是很难有效地传递到底层去的。所以在用这种反向传播训练的时候,底层的网络参数通常不太容易被很有效的训练,表现不好。人们发明了各种各样的手段来解决它,比如加一些skip-level connection,像我们微软亚洲研究院发明的ResNet技术就是做这件事情的,还有很多各种各样的技巧。但这些其实都只是去解决问题的技巧,回过头来,原来的这个问题本身是不是必要的,是需要我们反思的。

再有就是模型爆炸。前面说了几十亿的参数是家常便饭,几十亿甚至上百亿个参数意味着什么,意味着模型本身的存储量是非常大的。举一个简单的例子,如果我们用神经网络来做语言模型,给出的训练数据集是Clueweb整个网络上的网页,大概有十亿个网页的量级。 这样的一个数据,如果要去用循环神经网络去训练一个语言模型,简单计算一下就会知道,它需要用到的模型的大小大概是80G到100G的大小,听起来好像不太大,但是现在主流的GPU板上的存储24G已经算是高配,换句话说,80G到100G的大小已经远远超过一个GPU卡的容量,那么就一定要做分布式的运算,还要做模型并行,有很多技术难度在里面。即便有一个GPU卡,能够放下这80G或100G的模型,如此大的训练数据过一遍也可能要用上百年的时间,这听起来也相当不靠谱。到底需不需要这么大的模型,有没有必要我们非要把自己放在一个内存也不够用,计算时间也非常长,也不能忍受的境地呢,这个是值得思考的问题。



说到大模型,标注数据很大,那必然要提到分布式运算,分布式运算听起来是一个相对成熟的领域,因为系统领域已经对分布式计算研究了很多年。但是回到我们分布式机器学习这件事情上是有所不同的:这里我们做分布式运算的目的是为了让我们能够用更多的资源来容纳更大的模型,使得运算的时间缩短到能接受的程度,但是我们不想丢掉运算的精度。

举个例子,原来用上百年的时间可以得到一个非常精准的语言模型,现在有100台机器,虽然算的很快,但出来的语言模型不能用了,这件得不偿失。

说到分布式运算有两个主流的方式,一个是同步的并行方式,一个是异步的并行方式。同步的并行方式是什么,就是很多机器都分了一个子任务,大家每计算一步之后要互相等待,交换一下计算的结果,然后再往前走。这个过程能够保证对整个分布式运算的流程是可控的,可以知道发生了什么,在数学上可以做建模,能够在理论上有所保证。但它的问题就是所谓的木桶原理,这个集群里面只要有一台机器很慢,分布式运算就会被这台机器拖垮,就不会得到好的加速比。

所以人们开始做异步的并行方式,异步的意思就是每台机器各自做自己的事情,互相不等待,把当前按照各自的数据训练出来的模型更新推到某一个服务器上,再更新整体模型。但这时候又出现了一个新的问题,就是乱序更新的问题,这个过程是不能被我们原来的数学模型所描述的,违背了优化技术的一些基本假设。比如当我们使用随机梯度下降法的时候,可以证明当时用一个不断减小的学习率时,优化过程是有收敛性的。这是因为我们每一次增加的那个梯度是在上一次计算的模型基础上算出来的梯度。一旦加上去的梯度可能是旧的,不是依据前一个模型算出来的,到底优化过还能不能收敛,就不那么清楚了,所以虽然速度快,精度却可能没有保证。


第四个,我把它叫做调参黑科技,难言之隐。这件事情特别有趣,我前一段时间参加过一个论坛,一位嘉宾的一句话给我印象特别深,他说大家知道为什么现在很多公司都有深度学习实验室吗,以前没听说过有一个叫支持向量机实验室的,为什么?这是因为像SVM这样的技术训练过程非常简单,需要调节的超参数很少,基本上只要按部就班去做,得到的结果都差不多。

但深度学习这件事情,如果不来点调参黑科技,就得不到想要的结果。所谓深度学习实验室,就是一批会调参的人,没有他们深度学习就没那么好用。虽然是句玩笑,但是深度学习力要调的东西确实太多了,比如说训练数据怎么来,怎么选,如果是分布式运算怎么划分,神经网络结构怎么设计,10层、100层还是1000层,各层之间如何连接,模型更新的规则是什么,学习率怎么设,如果是分布式运算各个机器运算出来的结果怎么聚合,怎么得到统一的模型,等等,太多需要调的东西,一个地方调不好,结果可能就大相径庭。这就是为什么很多论文里的结果是不能重现的,不是说论文一定不对,但至少人家没有把怎么调参告诉你,他只告诉了你模型长什么样而已。

下一个挑战,叫做黑箱算法,不明就里。这不仅仅是神经网络的问题,更是统计机器学习多年来一直的顽疾,就是用一个表达能力很强的黑盒子来拟合想要研究的问题,里面参数很多。这样一个复杂的黑盒子去做拟合的时候,结果好,皆大欢喜。如果结果不好,出现了反例,该怎么解决呢,这里面几亿、几十亿个参数,是谁出了问题呢,其实是非常难排错的事情。相反,以前有很多基于逻辑推理的方法,虽然效果没有神经网络好,但是我们知道每一步是为什么做了决策,容易分析、排错。所以最近几年有一个趋势,就是把基于统计学习的方法和基于符号计算的方法进行结合,造出一个灰盒子,它既具备很强的学习能力,又能在很大程度上是可理解、可支配、可调整的。


到现在为止,这几件事都是现在人工智能技术层面的问题。接下来,谈的是更像方法论和哲学的问题,仅为个人的观点,跟大家一起分享。

其中一条,我叫做蛮力解法,舍本逐末。这句话什么意思?刚才我提到过深度学习之所以这么成功,是因为它有一个特别强的表达能力,在历史上人们证明过深层神经网络有universal approximation theorem,只要隐结点的数目足够多,任意给一个连续函数,它都可以无限逼近这个函数,换言之,有了很强的表达能力,什么问题都可以学的很好。听起来好像是挺美好的事,但实际上它背后存在一个问题:它拟合的是数据的表象,数据表象可以非常复杂,但是数据背后驱动的规律是不是真的那么复杂呢,如果我们只看到表象不去研究数据产生的本质,很可能你花了很大的力气去拟合,但是浪费了很多时间,得到的结果也不鲁棒。

举个例子,我们发现大自然也好,人类社会也好,其实没有想象的那么复杂,虽然你看到的很多数据很复杂,它们背后的规律可能非常简单。像量子力学有薛定谔方程、量子化学、流体力学、生物遗传学、经济学、社会学也都有类似的简单方程,科学家发现那么纷繁复杂的现象都可以被一个动态系统所刻划,而动态系统背后的规律可能就是一个最高二阶的偏微分方程。大家可以想象,如果不知道这些机理,不对动态系统做建模,只对动态系统的产出数据做建模,就会觉得这个问题非常复杂,要有一个容量非常大的神经网络去逼近这个数据。但反过来,如果目光焦点在这个动态系统身上,可能就两三个参数的一个二阶微分方程就搞定了。

下面也是一个值得思考的问题——动物智能,南辕北辙,虽然前面提到人工智能产生了很多的进步,但其实目前所做的还主要是认知的事情,做一个Pattern Recognition,听听声音,看看图像,这是动物也能做的事。今天的人工智能没有回答一个关键的问题,就是动物和人的区别。可能有人会讲,据说猴子的大脑比人的大脑小很多,有可能是体量的不同。但人的祖先跟大猩猩在包容量上应该没有本质的区别,那到底为什么经过漫长的进化,人能成为万物之灵主宰地球了呢?

我自己的观点是因为人类发明了很多动物界没有的机制和规律。比如我们有文字,我们可以把我们对世界的认知,总结出来的规律写下来,把它变成书,变成资料传给我们的下一代。当老一辈的人去世之后,孩子们读读书,就掌握了之前几百年几千年人们对世界的认识。但是老一代大猩猩死掉之后,它的孩子就要从头学起。另外,我们人类有强大的教育体系,人从幼儿园开始,小学,中学,一直进入大学,用了十几年的时间,就把几百年、几千年的知识都掌握在身上了,可以站在巨人的肩膀上继续往前走,这非常了不起。好的老师,会教出好的学生,教学相长,薪火相传。

这些人类的精髓在今天的人工智能技术里面是并没有充分体现,而没有它们我们怎么能指望深度神经网络达到人的智商呢?

前面列了很多方面,是我们对人工智能领域的一些看法,不管是从技术层面,还是方法论层面,都有很多值得进一步挖掘的点,只有这些问题真正解决了,人工智能才可能稳稳妥妥的往前走,而不只是昙花一现。


基于这些考虑,我所在的微软亚洲研究院机器学习组,对研究方向做了一个相应的布局,比如对偶学习,它解决的就是没有大规模标注数据的时候,该怎么训练一个神经网络、怎么训练一个增强学习模型。该论文发表在去年的NIPS大会上,获得了很大的反响。

还有,我们叫精深学习(Light Learning),为什么叫Light?前面提到很多模型太大,放不到GPU里,训练时间很长,我们这个研究就是去回答是否真的需要那么大的模型。我们展示了一个很有趣的深度学习算法,叫Light RNN,用该技术,只需要用一个非常小的模型在几天之内就可以把整个Clueweb数据学完,而且它得到的结果要比用大模型训练很长时间得到的结果还要好。

并行学习,之前提到并行学习有很多同步异步之间的权衡,我们发明了一个技术,它有异步并行的效率,但是能达到同步并行的精度,中间的技术解决方案其实很简单,在网上也有论文。我们用了泰勒展开,一个非常简单的数学工具,把这两者给结合在一起。

符号学习,就是想去解决黑白之间的那个灰盒子问题。

自主学习,是想去解决深度学习调参的黑科技,既然调参这么复杂,能不能用另外一个人工智能算法来调呢,能不能用增强学习的方法来调呢,所以我们做了一系列的工作来解决怎么去调各种各样的参数,怎么用另外一个机器学习来做这个机器学习。

最后一个方向,我们叫做超人类学习,我们想受大自然的启发,受人类社会发展的启发,去使得我们的人工智能技术接近人类,甚至超过人类,这背后是整个人工智能方法论的变化。

如果大家感兴趣,希望你们关注我们微软亚洲研究院机器学习组,能够跟我们共同从事机器学习的基础研究!谢谢大家!

​​​​
 

讲堂| 谢幸:用户画像、性格分析与聊天机器人

$
0
0
​​


你离成为人工智能专家,还有多远的距离?

近日,四位来自微软亚洲研究院的AI大咖在中国科技大学进行了一场以“开启智能计算的研究之门”为主题的前沿分享。这四位嘉宾分别是:


● 首席研究员刘铁岩——人工智能的挑战与机遇

● 首席研究员童欣——数据驱动方法在图形学中的应用

● 首席研究员曾文军——当机器学习遇到大视频数据

● 资深研究员谢幸——用户画像、性格分析与聊天机器人


在接下来的一周里,我们会陆续在本账号中发布这四位研究员的演讲视频及精彩内容,希望这些关于前沿技术的思索能够开启属于你的智能计算研究之门,敬请期待吧!

昨天我们发布了刘铁岩博士的演讲——人工智能的挑战与机遇

第二位与大家分享的是谢幸博士的演讲——用户画像、性格分析与聊天机器人,全文如下(文字内容略有精简)。



我今天讲的题目叫用户画像、性格分析与聊天机器人,看起来这三个词汇好像互不相关,但其实它们有很强的联系。而这三个词也总结了我们微软亚洲研究院社会计算组最近几年所做的一些研究工作。

首先,之前讲了很多大数据,大数据里面有一类很重要,那就是用户产生的大数据,什么叫用户产生的大数据呢,就是我们每天的行为都会被用数字的方式记录下来。比如手机的各种APP,手机上定闹钟等等,这些都会记录下手机上的一些行为。再比如坐出租车、坐公交车,也都有一些记录,这些轨迹可以用在后续的一些改善服务,或者用在一些数据挖掘里面。

再比如用社交网络,在社交网络上,给商家、餐馆或者商店写的评论,打的分,或者给电影、书籍写的评论,这些都会被记录下来,可以用来分析一个人的兴趣爱好,从而做一些推荐。

大家可以想象,当用户数据越来越多的时候,实际上我们可以非常全面地去了解一个人。过去几年我们一直在做用户画像,用户画像可以有很多维度,比如个人属性,年龄性别等。还有性格,性格有很多种分法,实际上我们也是在想怎么通过用户的数据去看用户是什么样的人。当然,有很多人是研究用户兴趣,兴趣直接就可以用来做推荐,做广告。还有,比如用户当前的状态,用户的社交关系,用户未来的计划,我们可以做一些预测。

用户画像可以做很多维度,而每个维度又可以做很多事情。当然,要做这样一个用户数据的研究,首先需要有用户数据,到底从哪里去获取用户数据,大概四年前,我们在中文的社交网络上搜集了一个比较大规模的用户数据集,叫LifeSpec,很多跟我们合作的学校的老师们都已经用这个数据集和我们做过一些联合的研究。

LifeSpec包括比如照片、评论、用户自己填写的个人属性,或者签到过的地点等。但这里强调的是我们试图把同一个用户在不同网站上的数据连接到一起,如果可以联系到一起,那么就可以非常完整地去了解这个人。我们搜集了大概140万个用户的数据集,要求一个用户至少有一个跨网络的数据。

通过这样一个数据集可以做很多以前做不了的事情。比如做一些跨网站的用户画像,看豆瓣上的信息,是不是能猜到用户在微博上的行为,或者通过地点来推测个人属性等。这个以前做是比较困难的,因为这样的数据并不存在,但现在就可以做这样的事情。这个数据大概有5000多万条,有社交关系的有300多万条,还有将近4000万条位置数据。


这个表展示了在不同城市的数据,因为用户填写了很多城市,有了这个数据集,就可以做很多研究。比如做位置预测,位置预测本身并不是一个新的问题。而我们关注的是分析用户,如果是游客或者是本地人,他们有什么样的区别,通过这个数据我们发现了不同,甚至还可以用这些不同来猜测一个用户是不是真正的本地人。因为在中国人口的迁徙是非常多的,这样一个迁徙所带来的人的行为变化,很多时候反应了一些社会问题,所以之前有很多媒体十分关注我们的这个研究,而这还可以做很多下一步的研究。

如果有这么多用户的位置数据,我们是不是能够通过用户的位置数据来给用户画像呢?实际上这个工作在之前做的比较少,因为这样的数据并不多,所以没法来评测算法好不好。而我们这个数据集就可以用来做这件事情,我们可以去看这些位置的签到和用户的属性之间到底有什么样的联系。

比如有两个人,第一个在中关村上班,他住在机场附近的别墅,经常出没于美国。第二个人经常在街边的小餐馆吃饭,又经常去图书馆,周末可能还去KTV,那么第二个人可能更像是一个学生。这样的区别,我们实际上是可以通过数据来发现的。也就是说我们希望通过用户去过的地点,来把用户的属性猜测出来,比如年龄,性别,甚至教育程度。

这里其实我们就关注三点,第一,我们可以知道用户的移动规律,移动规律就是用户每天早上去哪,晚上去哪,周末去哪,平时去哪等,这样的时间规律对于区分用户很有用。

第二个,是地点的规律性,每个人都有一些常去的地点,大部分人的常去地点是家,另外一个是工作单位。当然,还有经常去的商场、餐馆,通过常去的地点以及时间也可以来对用户进行分类。

我们又加上一些额外的知识——位置知识,就是去过的这些地点,如果只把它当作一个地图上的点来看,信息量太少了,但把这个地图本身的知识加进去,比如前面讲的,住在机场附近,或者工作的地点在中关村等等,这个信息量很大,我们可以用这些信息来帮助做判断。最后把这三方面的信息结合起来,就可以更准确地判断用户的各种属性。

我们之前做了很多用户画像的工作,比如,通过用户的数据,我们能不能进一步知道用户的性格。要了解性格首先要有一些用户,我们能够知道他的性格,又有他的数据,而这件事情在过去很难获取,因为很少有这样规模的数据。

为了做这件事情,首先我们去看到底什么叫性格。性格的分类科学存在于心理学,我们了解到2000多年前,古希腊有一个医学家开始研究性格,他认为人体是由四种体液构成,包括血液,黏液,黑胆汁和黄胆汁,而这四种液体的分布决定了人的性格。他基本上把性格分为两个维度,一个维度是外向、内向,另外一个维度是情绪化和不太容易情绪化。

到了100多年前,近代的心理学家们从语言出发来研究人的性格。他们发现如果要研究性格,首先这个性格一定要能用语言来描述,这个叫做词汇学假说。比如说一个人是否非常健谈,是否非常冷静,冷静或者健谈这样的词汇实际上就是一个很概括的性格的一种分类。

通过查看词典,心理学家找到了4500个可以描述人性格的词,并在此基础上进一步缩减、归类,总结成五个维度,叫大五人格


大五人格的五个维度,每个维度可以再细分成六个小的维度。要了解一个人,一般来说会先邀请这个人来做问卷调查,之后通过答案去计算他的大五人格是什么。但问卷调查的方式很多时候很主观,有的用户他也不知道自己是不是比较健谈,有的比较外向的人,会谦虚说自己比较内向,所以其实很不准确。

怎么样能做到准确呢?实际上,用观测的方法,比如别人的评价,或者基于很多数据的评价,因为观测和自己的理解是不太一样的。

前面我们讲,我们已经有很多用户数据了,通过这些用户数据其实就可以来观测一个人,通过这些观测再来算出人的性格实际上是可行的。

最近几年有一些这样的工作,2013年微软和剑桥大学合作的一个工作,当时就通过Facebook上的数据集来计算Facebook上点赞这个信息和用户性格之间的关系。

我们进一步做了研究,发现用户的数据有很多来源,不光是点赞,还有文本的信息、图像,尤其是用户自己上传的头像,还有喜欢用的表情符号、对话聊天的规律,以及用户自己填写的个人属性,因为这些数据在我们LifeSpec数据集里面都有,我们就可以把它联合在一起来做这件事情,而不只用某一个角度的特征。

所以针对每一种类型的数据,我们都用了一些最新的方法来做计算特征,最后用集成学习的方式来得到最后的结果。

举几个例子,针对文本当然可以做很多事情,前面讲了有大五人格,我们可以看这些文本跟每个维度的关系。


外向性高的人喜欢在微博里写青春、自我、突然,而外向性低的人会写面对、特别、失败、做好。我们可以发现他们用的词的确很不一样。

再来看用户的头像,我们发现头像和性格之间也有一定的联系,比如外向性高的人头像会有卡通,或者表情很夸张。外向性低的人,会用下面这些头像,但这只是一些典型的例子,并不是说所有人都用这个头像。这里面其实也可以用到很多人脸识别或者物体识别的技术。

第三部分就是聊天机器人。我们做聊天机器人是在想用户画像还有性格分析这样的结果到底有什么用途。我们发现现在聊天机器人都有一个特点,它很多时候是用群体的数据来训练的,最多能做到像一类人,但是不能像一个具体的人

怎么才能够让它像一个具体的人呢?这里面首先的难点是某一个人的数据很难获取。我们需要这个人的聊天数据,如果我们能获取某一个人的数据,那么实际上我们就可能训练出跟他很类似的一个聊天机器人。

在《黑镜》的第二集里就讲到一个未来的人工智能公司用聊天数据和社交网络数据训练出了一个跟死去的人一样的机器人。2016年,一位俄罗斯的创业者用他已故朋友的8000条短信训练了一个聊天机器人。

但是如果数据不够多,那么是不是能通过具有某种特点的一群人的数据集来训练出具有一类人特点的机器人,比如儿童,学生或者诗人等,让人感觉到这个机器人具有某一种性格或者特点。这个工作是我们最近在研究的。另一方面,我们也在关注到底做这样的聊天机器人有什么用途,其中一个应用就是心理治疗,为什么关注这个,实际上也是受启发于50年前的项目。

1964年,有一个很有名的项目叫Eliza,很多人讲人工智能的时候都会提到这个项目,Eliza就是一个很早期的聊天机器人,在当时它的效果非常好,以至于很多人都认为是真人在背后操纵。

Eliza实际上做的就是心理咨询师,也就是说这个聊天机器人可以跟人聊天,试图帮助缓解心理问题,它当时采取的一个心理治疗的方法叫罗杰斯流派的方法,比较强调倾听,所以这个机器人很多时候是在听你说什么,而不是在回答问题,它一直在引导人说话。这件事情相对来说比回答问题要容易,但是效果非常好。

基于这个项目,我们受到了启发,想结合最新的技术来做这件事情。首先我们也是试图去引导对话,让用户更多来说自己的事情,这其实是很多心理咨询里面很重要的一点。

当然,在这个基础上,我们进一步去研究,包括通过聊天的数据,也通过用户本身,如果能获取其他的数据,研究用户的心理特质和精神的一些问题,来看看将这些数据结合到一起更准确地做出判断。

再进一步,我们想除了倾听,是不是还可以通过聊天的方式帮助用户缓解问题。比如采取最新的认知行为疗法以及正念疗法等心理学的技术,把它集成在聊天里,这也是我们最新的一些尝试。

总结一下,今天讲的是我们社会计算组里面最近主要做的几个方向,我们从用户画像到性格分析,也做了很多情感的分析,也试图把结果用在聊天里面,看看能不能让聊天机器人具有自己的性格和特点;再来,我们希望聊天机器人也能用在一些心理咨询的场合。当然这里面涉及到很多跟其他领域学者的合作,包括心理学,社会学以及认知科学。我们社会计算组是一个跨学科的领域。希望未来可以和更多学科交流,获得更多研究上的灵感和创新。

谢谢大家!



​​​​
 

微软AI讲堂 · 清华大学站│拥抱智能 对话未来 暨 微软编程之美2017启

$
0
0
​​

人类今天面临的最重要课题之一就是人工智能。纵观人类历史上的诸多创新,像汽车、印刷机、蒸汽机、载人飞机、火箭和人造卫星……它们都不只是孤立的创新,更是推动人类在浩瀚无垠的各领域里迅猛发展的加速器。

早在25年前,微软研究院成立伊始,我们就设想着有一天能创造出通用人工智能,能听、会看、可讲,还能理解人类思维。今天的我们,可能比以往任何一个时刻都更接近这个美好愿望。人工智能不仅使人类的视野得以延展,还让我们的脑力更加强大。

如果说2016年是人工智能元年,那么2017年则可视为人工智能政策的元年。刚刚过去的两会,人工智能登上了热词榜,不仅被写入代表提案,还出现在总理政府工作报告中。毋庸置疑,人工智能的发展迎来了最好的时代。

但作为当前最前端的科技研究,人工智能在普通大众眼中多少有些“深不可测”——复杂的知识结构,天文般的代码,还有云山雾绕的术语。微软深信,这种关乎人类共同体发展的突破性技术应当惠及每个人,向全球公民普及人工智能知识也一直是我们的目标。

基于这样的初心,微软亚洲研究院决定启动“微软AI讲堂”系列活动。我们将通过讲座、分享、讨论等形式多样的活动行程线上线下联动,走进校园,传递知识,普及科学,揭开人工智能的神秘面纱。

微软AI讲堂第一站设在清华大学,主题为“拥抱智能,对话未来”。这场专家分享会将聚焦人工智能领域自然语言理解方向,面向清华大学学生以及北京地区所有微软学生俱乐部同学们。在人工智能时代,我们应该怎样更好武装自己,迎接机遇与挑战?在微软AI课堂第一讲,你不仅能听清华大学和微软亚洲研究院的大咖专家们分享见解,更可围观业界初创公司和校园创新新星间的精彩讨论。


微软AI讲堂


• 时间:  4月6日 星期四  下午14:00~16:40

• 地点:清华大学


嘉宾介绍


潘天佑(Tim Pan)


潘天佑博士现任微软亚洲研究院副院长,全面负责微软亚洲研究院与亚太地区高校、研究机构及政府的学术交流和研究合作。他建立了一系列战略方针、积极探索商业机会,并构建了针对不同层面的多种学术交流和人才培养项目,以加强微软亚洲研究院与学术界之间的伙伴关系。

潘天佑博士拥有获得美国圣路易斯华盛顿大学(Washington University in St. Louis)电机工程博士学位。潘博士具有20余年计算机相关工作经验,曾成功创立两家专注于智能卡芯片和大规模银行系统的技术公司。潘天佑博士2005年至2007年曾任职微软亚洲研究院学术合作部。出于对人才培养和学术合作的激情,2012年潘天佑博士选择再次加入微软亚洲研究院。

潘天佑博士连续十年担任台湾圣约翰科技大学校董,义务授课并就计算机技术和高科技创业发表演讲。潘天佑博士同时是一名信息系统安全专家,拥有CISSP等相关工业认证。


孙茂松


孙茂松,2007-2010年任清华大学计算机科学与技术系系主任。主要研究领域为自然语言处理、互联网智能、机器学习、社会计算和计算教育学。国家重点基础研究发展计划(973计划)项目首席科学家,国家社会科学基金重大项目首席专家。在国际刊物、国际会议、国内核心刊物上发表论文160余篇,主持完成文本信息处理领域ISO国际标准2项。主要学术兼职包括:教育部在线教育研究中心副主任,清华大学大规模在线教育研究中心主任,清华大学-新加坡国立大学下一代搜索技术联合研究中心共同主任,国务院学位委员会第六届学科评议组计算机科学与技术组成员,国家自然科学基金委员会第十二、十三届专家评审组成员,中国科学技术协会第九届全国委员会委员,北京市语言文字工作委员会专家委员会副主任,中国中文信息学会第六、七届副理事长,《中文信息学报》主编,《大数据》杂志编委会副主任,全国计算机慕课联盟副理事长,多个教育部或省市级重点实验室学术委员会主任、副主任,国家语言文字工作委员会“两岸语言文字交流与合作协调小组”成员等。2007年获全国语言文字先进工作者,2016年获全国优秀科技工作者及首都市民学习之星。


周明


微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、 中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事,哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。

1985年毕业于重庆大学,1991年获哈尔滨工业大学博士学位。1991-1993年清华大学博士后,随后留校任副教授。1996-1999访问日本高电社公司领导中日机器翻译研究。他是中国第一个中英翻译系统CEMT-I(哈工大1989年)、日本最有名的中日机器翻译产品J-北京(日本高电社1998年)的研制者。1999年,周明博士加入微软亚洲研究院,不久开始负责自然语言研究组。他带领团队进行了微软输入法、英库词典(必应词典)、中英翻译、微软中国文化系列(微软对联、微软字谜、微软绝句)等重要产品和项目的研发,并对微软Office、必应搜索、Windows等产品中的自然语言技术做出了重要贡献。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。周明博士发表了100余篇重要会议和期刊论文(包括45篇以上的ACL文章),拥有国际发明专利40余项。他多年来通过微软与中国和亚太地区的高校和学术团体在学术研究和人才培养等多方面紧密合作,对推动计算语言学和自然语言处理的研究在区域内的发展做出了杰出贡献。


胡一川


胡一川本科硕士毕业于清华大学,博士毕业于美国宾夕法尼亚大学。2011年,胡一川联合创办了个性化影视推荐公司「今晚看啥」,并在2012年底被百度收购。在百度期间,他带领百度视频团队打造了一个大规模的视频搜索和推荐引擎。2015年6月他离开百度二次创业成立「助理来也」,目标是基于语义、对话和推荐等技术打造一款真正靠谱的人工智能助理产品。「助理来也」目前已覆盖数百万用户,并获得微软、光速、红杉、真格等知名投资机构的多轮投资。


主办单位:

• 清华大学校团委

• 微软亚洲研究院学术合作部

合作单位:

• 清华大学计算机科学与技术系

• 清华大学数据科学研究院

•IEEE

承办单位:

• 清华-微软未来互联网与计算兴趣团队


微软编程之美2017启动仪式


除了以上“微软AI讲堂”活动,更值得期待的是,我们也将在活动上全面启动微软编程之美2017挑战赛。编程之美挑战赛是微软面向学生开展的大型编程比赛,自2012年以来已成功举办了五届比赛,先后有来自国内外77000 高校学生参加过编程之美大赛。现已成为以解决挑战性问题为目标的优秀学生切磋交流及实现梦想的平台。今年,编程之美挑战赛2.0时代到来,它致力于帮助学生们了解、学习最新的技术理念,动手实践最热门的技术,玩转最酷炫的工具,并通过比赛加强他们在协作、沟通等方面的软实力,从而提高青年开发者的综合实践能力,成为能够解决当今热点问题,走在时代前沿的青年典范。

2017编程之美挑战赛的主题为:请同学们利用微软机器人框架(Microsoft Bot Framework)和微软认知服务(Microsoft Cognitive Services),为你所爱的学校打造一个最美Bot。大赛分为资格赛、初赛和决赛三个阶段,资格赛要求参赛队伍以Bot Framework为技术平台,完成例题中规定好的问题,并回答正确。 快来点击网址http://studentclub.msra.cn/bop2017报名吧!

一切都已准备就绪,微软亚洲研究院邀请你前来和我们一起对话,畅聊人工智能的美好未来。现场聆听清华大学和微软亚洲研究院专家们的见解与分享,零距离围观精彩碰撞,赶快行动吧~

​​​​
 

微软AI讲堂 · 清华大学站│拥抱智能 对话未来 暨 微软编程之美2017启

$
0
0
​​

人类今天面临的最重要课题之一就是人工智能。纵观人类历史上的诸多创新,像汽车、印刷机、蒸汽机、载人飞机、火箭和人造卫星……它们都不只是孤立的创新,更是推动人类在浩瀚无垠的各领域里迅猛发展的加速器。

早在25年前,微软研究院成立伊始,我们就设想着有一天能创造出通用人工智能,能听、会看、可讲,还能理解人类思维。今天的我们,可能比以往任何一个时刻都更接近这个美好愿望。人工智能不仅使人类的视野得以延展,还让我们的脑力更加强大。

如果说2016年是人工智能元年,那么2017年则可视为人工智能政策的元年。刚刚过去的两会,人工智能登上了热词榜,不仅被写入代表提案,还出现在总理政府工作报告中。毋庸置疑,人工智能的发展迎来了最好的时代。

但作为当前最前端的科技研究,人工智能在普通大众眼中多少有些“深不可测”——复杂的知识结构,天文般的代码,还有云山雾绕的术语。微软深信,这种关乎人类共同体发展的突破性技术应当惠及每个人,向全球公民普及人工智能知识也一直是我们的目标。

基于这样的初心,微软亚洲研究院决定启动“微软AI讲堂”系列活动。我们将通过讲座、分享、讨论等形式多样的活动行程线上线下联动,走进校园,传递知识,普及科学,揭开人工智能的神秘面纱。

微软AI讲堂第一站设在清华大学,主题为“拥抱智能,对话未来”。这场专家分享会将聚焦人工智能领域自然语言理解方向,面向清华大学学生以及北京地区所有微软学生俱乐部同学们。在人工智能时代,我们应该怎样更好武装自己,迎接机遇与挑战?在微软AI课堂第一讲,你不仅能听清华大学和微软亚洲研究院的大咖专家们分享见解,更可围观业界初创公司和校园创新新星间的精彩讨论。


微软AI讲堂


• 时间:  4月6日 星期四  下午14:00~16:40

• 地点:清华大学


嘉宾介绍


潘天佑(Tim Pan)


潘天佑博士现任微软亚洲研究院副院长,全面负责微软亚洲研究院与亚太地区高校、研究机构及政府的学术交流和研究合作。他建立了一系列战略方针、积极探索商业机会,并构建了针对不同层面的多种学术交流和人才培养项目,以加强微软亚洲研究院与学术界之间的伙伴关系。

潘天佑博士拥有获得美国圣路易斯华盛顿大学(Washington University in St. Louis)电机工程博士学位。潘博士具有20余年计算机相关工作经验,曾成功创立两家专注于智能卡芯片和大规模银行系统的技术公司。潘天佑博士2005年至2007年曾任职微软亚洲研究院学术合作部。出于对人才培养和学术合作的激情,2012年潘天佑博士选择再次加入微软亚洲研究院。

潘天佑博士连续十年担任台湾圣约翰科技大学校董,义务授课并就计算机技术和高科技创业发表演讲。潘天佑博士同时是一名信息系统安全专家,拥有CISSP等相关工业认证。


孙茂松


孙茂松,2007-2010年任清华大学计算机科学与技术系系主任。主要研究领域为自然语言处理、互联网智能、机器学习、社会计算和计算教育学。国家重点基础研究发展计划(973计划)项目首席科学家,国家社会科学基金重大项目首席专家。在国际刊物、国际会议、国内核心刊物上发表论文160余篇,主持完成文本信息处理领域ISO国际标准2项。主要学术兼职包括:教育部在线教育研究中心副主任,清华大学大规模在线教育研究中心主任,清华大学-新加坡国立大学下一代搜索技术联合研究中心共同主任,国务院学位委员会第六届学科评议组计算机科学与技术组成员,国家自然科学基金委员会第十二、十三届专家评审组成员,中国科学技术协会第九届全国委员会委员,北京市语言文字工作委员会专家委员会副主任,中国中文信息学会第六、七届副理事长,《中文信息学报》主编,《大数据》杂志编委会副主任,全国计算机慕课联盟副理事长,多个教育部或省市级重点实验室学术委员会主任、副主任,国家语言文字工作委员会“两岸语言文字交流与合作协调小组”成员等。2007年获全国语言文字先进工作者,2016年获全国优秀科技工作者及首都市民学习之星。


周明


微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、 中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事,哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。

1985年毕业于重庆大学,1991年获哈尔滨工业大学博士学位。1991-1993年清华大学博士后,随后留校任副教授。1996-1999访问日本高电社公司领导中日机器翻译研究。他是中国第一个中英翻译系统CEMT-I(哈工大1989年)、日本最有名的中日机器翻译产品J-北京(日本高电社1998年)的研制者。1999年,周明博士加入微软亚洲研究院,不久开始负责自然语言研究组。他带领团队进行了微软输入法、英库词典(必应词典)、中英翻译、微软中国文化系列(微软对联、微软字谜、微软绝句)等重要产品和项目的研发,并对微软Office、必应搜索、Windows等产品中的自然语言技术做出了重要贡献。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。周明博士发表了100余篇重要会议和期刊论文(包括45篇以上的ACL文章),拥有国际发明专利40余项。他多年来通过微软与中国和亚太地区的高校和学术团体在学术研究和人才培养等多方面紧密合作,对推动计算语言学和自然语言处理的研究在区域内的发展做出了杰出贡献。


胡一川


胡一川本科硕士毕业于清华大学,博士毕业于美国宾夕法尼亚大学。2011年,胡一川联合创办了个性化影视推荐公司「今晚看啥」,并在2012年底被百度收购。在百度期间,他带领百度视频团队打造了一个大规模的视频搜索和推荐引擎。2015年6月他离开百度二次创业成立「助理来也」,目标是基于语义、对话和推荐等技术打造一款真正靠谱的人工智能助理产品。「助理来也」目前已覆盖数百万用户,并获得微软、光速、红杉、真格等知名投资机构的多轮投资。


主办单位:

• 清华大学校团委

• 微软亚洲研究院学术合作部

合作单位:

• 清华大学计算机科学与技术系

• 清华大学数据科学研究院

•IEEE

承办单位:

• 清华-微软未来互联网与计算兴趣团队


微软编程之美2017启动仪式


除了以上“微软AI讲堂”活动,更值得期待的是,我们也将在活动上全面启动微软编程之美2017挑战赛。编程之美挑战赛是微软面向学生开展的大型编程比赛,自2012年以来已成功举办了五届比赛,先后有来自国内外77000 高校学生参加过编程之美大赛。现已成为以解决挑战性问题为目标的优秀学生切磋交流及实现梦想的平台。今年,编程之美挑战赛2.0时代到来,它致力于帮助学生们了解、学习最新的技术理念,动手实践最热门的技术,玩转最酷炫的工具,并通过比赛加强他们在协作、沟通等方面的软实力,从而提高青年开发者的综合实践能力,成为能够解决当今热点问题,走在时代前沿的青年典范。

2017编程之美挑战赛的主题为:请同学们利用微软机器人框架(Microsoft Bot Framework)和微软认知服务(Microsoft Cognitive Services),为你所爱的学校打造一个最美Bot。大赛分为资格赛、初赛和决赛三个阶段,资格赛要求参赛队伍以Bot Framework为技术平台,完成例题中规定好的问题,并回答正确。 快来点击网址http://studentclub.msra.cn/bop2017报名吧!

一切都已准备就绪,微软亚洲研究院邀请你前来和我们一起对话,畅聊人工智能的美好未来。现场聆听清华大学和微软亚洲研究院专家们的见解与分享,零距离围观精彩碰撞,赶快行动吧~

​​​​
 

微软AI讲堂 · 清华大学站 暨 微软编程之美2017启动仪式

$
0
0
​​

人类今天面临的最重要课题之一就是人工智能。纵观人类历史上的诸多创新,像汽车、印刷机、蒸汽机、载人飞机、火箭和人造卫星……它们都不只是孤立的创新,更是推动人类在浩瀚无垠的各领域里迅猛发展的加速器。

早在25年前,微软研究院成立伊始,我们就设想着有一天能创造出通用人工智能,能听、会看、可讲,还能理解人类思维。今天的我们,可能比以往任何一个时刻都更接近这个美好愿望。人工智能不仅使人类的视野得以延展,还让我们的脑力更加强大。

如果说2016年是人工智能元年,那么2017年则可视为人工智能政策的元年。刚刚过去的两会,人工智能登上了热词榜,不仅被写入代表提案,还出现在总理政府工作报告中。毋庸置疑,人工智能的发展迎来了最好的时代。

但作为当前最前端的科技研究,人工智能在普通大众眼中多少有些“深不可测”——复杂的知识结构,天文般的代码,还有云山雾绕的术语。微软深信,这种关乎人类共同体发展的突破性技术应当惠及每个人,向全球公民普及人工智能知识也一直是我们的目标。

基于这样的初心,微软亚洲研究院决定启动“微软AI讲堂”系列活动。我们将通过讲座、分享、讨论等形式多样的活动行程线上线下联动,走进校园,传递知识,普及科学,揭开人工智能的神秘面纱。

微软AI讲堂第一站设在清华大学,主题为“拥抱智能,对话未来”。这场专家分享会将聚焦人工智能领域自然语言理解方向,面向清华大学学生以及北京地区所有微软学生俱乐部同学们。在人工智能时代,我们应该怎样更好武装自己,迎接机遇与挑战?在微软AI课堂第一讲,你不仅能听清华大学和微软亚洲研究院的大咖专家们分享见解,更可围观业界初创公司和校园创新新星间的精彩讨论。


微软AI讲堂


• 时间:  4月6日 星期四  下午14:00~16:40

• 地点:清华大学


​​

嘉宾介绍


潘天佑(Tim Pan)


潘天佑博士现任微软亚洲研究院副院长,全面负责微软亚洲研究院与亚太地区高校、研究机构及政府的学术交流和研究合作。他建立了一系列战略方针、积极探索商业机会,并构建了针对不同层面的多种学术交流和人才培养项目,以加强微软亚洲研究院与学术界之间的伙伴关系。

潘天佑博士拥有获得美国圣路易斯华盛顿大学(Washington University in St. Louis)电机工程博士学位。潘博士具有20余年计算机相关工作经验,曾成功创立两家专注于智能卡芯片和大规模银行系统的技术公司。潘天佑博士2005年至2007年曾任职微软亚洲研究院学术合作部。出于对人才培养和学术合作的激情,2012年潘天佑博士选择再次加入微软亚洲研究院。

潘天佑博士连续十年担任台湾圣约翰科技大学校董,义务授课并就计算机技术和高科技创业发表演讲。潘天佑博士同时是一名信息系统安全专家,拥有CISSP等相关工业认证。


孙茂松


孙茂松,2007-2010年任清华大学计算机科学与技术系系主任。主要研究领域为自然语言处理、互联网智能、机器学习、社会计算和计算教育学。国家重点基础研究发展计划(973计划)项目首席科学家,国家社会科学基金重大项目首席专家。在国际刊物、国际会议、国内核心刊物上发表论文160余篇,主持完成文本信息处理领域ISO国际标准2项。主要学术兼职包括:教育部在线教育研究中心副主任,清华大学大规模在线教育研究中心主任,清华大学-新加坡国立大学下一代搜索技术联合研究中心共同主任,国务院学位委员会第六届学科评议组计算机科学与技术组成员,国家自然科学基金委员会第十二、十三届专家评审组成员,中国科学技术协会第九届全国委员会委员,北京市语言文字工作委员会专家委员会副主任,中国中文信息学会第六、七届副理事长,《中文信息学报》主编,《大数据》杂志编委会副主任,全国计算机慕课联盟副理事长,多个教育部或省市级重点实验室学术委员会主任、副主任,国家语言文字工作委员会“两岸语言文字交流与合作协调小组”成员等。2007年获全国语言文字先进工作者,2016年获全国优秀科技工作者及首都市民学习之星。


周明


微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、 中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事,哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。

1985年毕业于重庆大学,1991年获哈尔滨工业大学博士学位。1991-1993年清华大学博士后,随后留校任副教授。1996-1999访问日本高电社公司领导中日机器翻译研究。他是中国第一个中英翻译系统CEMT-I(哈工大1989年)、日本最有名的中日机器翻译产品J-北京(日本高电社1998年)的研制者。1999年,周明博士加入微软亚洲研究院,不久开始负责自然语言研究组。他带领团队进行了微软输入法、英库词典(必应词典)、中英翻译、微软中国文化系列(微软对联、微软字谜、微软绝句)等重要产品和项目的研发,并对微软Office、必应搜索、Windows等产品中的自然语言技术做出了重要贡献。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。周明博士发表了100余篇重要会议和期刊论文(包括45篇以上的ACL文章),拥有国际发明专利40余项。他多年来通过微软与中国和亚太地区的高校和学术团体在学术研究和人才培养等多方面紧密合作,对推动计算语言学和自然语言处理的研究在区域内的发展做出了杰出贡献。


胡一川


胡一川本科硕士毕业于清华大学,博士毕业于美国宾夕法尼亚大学。2011年,胡一川联合创办了个性化影视推荐公司「今晚看啥」,并在2012年底被百度收购。在百度期间,他带领百度视频团队打造了一个大规模的视频搜索和推荐引擎。2015年6月他离开百度二次创业成立「助理来也」,目标是基于语义、对话和推荐等技术打造一款真正靠谱的人工智能助理产品。「助理来也」目前已覆盖数百万用户,并获得微软、光速、红杉、真格等知名投资机构的多轮投资。


主办单位:

• 清华大学校团委

• 微软亚洲研究院学术合作部

合作单位:

• 清华大学计算机科学与技术系

• 清华大学数据科学研究院

•IEEE

承办单位:

• 清华-微软未来互联网与计算兴趣团队


微软编程之美2017启动仪式


除了以上“微软AI讲堂”活动,更值得期待的是,我们也将在活动上全面启动微软编程之美2017挑战赛。编程之美挑战赛是微软面向学生开展的大型编程比赛,自2012年以来已成功举办了五届比赛,先后有来自国内外77000 高校学生参加过编程之美大赛。现已成为以解决挑战性问题为目标的优秀学生切磋交流及实现梦想的平台。今年,编程之美挑战赛2.0时代到来,它致力于帮助学生们了解、学习最新的技术理念,动手实践最热门的技术,玩转最酷炫的工具,并通过比赛加强他们在协作、沟通等方面的软实力,从而提高青年开发者的综合实践能力,成为能够解决当今热点问题,走在时代前沿的青年典范。

2017编程之美挑战赛的主题为:请同学们利用微软机器人框架(Microsoft Bot Framework)和微软认知服务(Microsoft Cognitive Services),为你所爱的学校打造一个最美Bot。大赛分为资格赛、初赛和决赛三个阶段,资格赛要求参赛队伍以Bot Framework为技术平台,完成例题中规定好的问题,并回答正确。 快来点击网址http://studentclub.msra.cn/bop2017报名吧!

一切都已准备就绪,微软亚洲研究院邀请你前来和我们一起对话,畅聊人工智能的美好未来。现场聆听清华大学和微软亚洲研究院专家们的见解与分享,零距离围观精彩碰撞,赶快行动吧~

​​​​
 

讲堂| 曾文军:当机器学习遇到大视频数据

$
0
0
​​

你离成为人工智能专家,还有多远的距离?

近日,四位来自微软亚洲研究院的AI大咖在中国科技大学进行了一场以“开启智能计算的研究之门”为主题的前沿分享。这四位嘉宾分别是:


● 首席研究员刘铁岩——人工智能的挑战与机遇

● 资深研究员谢幸——用户画像、性格分析与聊天机器人

● 首席研究员童欣——数据驱动方法在图形学中的应用

● 首席研究员曾文军——当机器学习遇到大视频数据


目前,我们已经发布了刘铁岩博士的演讲——人工智能的挑战与机遇,谢幸博士的演讲——用户画像、性格分析与聊天机器人,和童欣博士的演讲——数据驱动方法在图形学中的应用

最后一位与大家分享的是曾文军博士的演讲——当机器学习遇到大视频数据,全文如下(文字内容略有精简)。希望这些关于前沿技术的思索能够开启属于你的智能计算研究之门!


今天很高兴有这个机会给大家分享一下微软亚洲研究院近两年在机器学习和视频大数据的分析和理解方面的一些工作以及一些思考。

AI兴起是由于有大数据等各方面的因素。大数据有各种不同的形态,其中视频信号占很大比重,现在的网络上,百分之七八十的流量是由视频信号所组成的,可以说它是大数据中的大数据

这种大数据给我们带来了挑战,同时也提供了很大的机会。从机会角度来说,这些数据可能在几年前还不太容易得到,但现在我们能够分析这个大数据,提取有价值的信息,从而去支持新的产品或者服务,所以这里面蕴藏了巨大的机会。在有大数据的同时,我们的计算资源也在迅速发展,机器学习和深度学习在这几年也取得了非常快速的进步。现在是IT行业非常兴旺的时代。

关于视觉信号分析,可以发现它的发展也是起起伏伏,到一定阶段都会看到一些瓶颈。其中一个很大的瓶颈就是没有足够量的数据,所以模型或算法上的发展都受到了一定的限制。

2010年左右,李飞飞教授和她的同事以及学生构建了ImageNet Database,这是一个有标注的数据集,应该是目前为止最大的有标注的图像数据集。它按照WordNet的层级去组织,比如从哺乳动物到狗,再到一个明确的狗的品种。因为它有概念,同时每个概念里面也有几百到上千的图像可以跟它associat在一块,所以是一个很好的图像信号的表示,也是一个很好的知识库。这个数据库辅助了图像分析、计算机视觉等相关领域近期的快速发展。

除了ImageNet,近几年也有一些与图像识别相关的比赛,其中图像分类就是希望在100多万的标注图像上,去进行分类。当然,还有一些如物体检测、场景检测、场景分析和语义分割等。

关于ImageNet图像分类比赛,2012年前,错误的概率很大,所以基本上很难适用。2012年,Hinton的实验室第一次把深度神经网络用到这个任务上,一下有了很大的突破,也引起了很大的关注。随后这几年技术就一直有持续的发展,并且神经网络结构上的变化促使了比较大的进步。

短短几年内图像识别这个任务已经做的很不错了。当然还有一些更有挑战性的任务,像语义分割等等。虽然图像上已经有了很大的进步,但视频方面却还是差的很远

视频信号相比于图像信号有更大的挑战,因为它是一个更高维的信号,里面的内容多样性也非常大。所以要去判断它、理解它都很困难,当然数据量很大也是另外一个问题。

还有一个问题,在很多情况下,视频是实时的,比如监控,因此在处理速度等各方面都有很大的要求。而且标注视频数据时每一帧都要标注,也很耗费时间、精力和成本。这也是为什么视频发展相比图像来讲还是落后一些。

缺少训练数据又是另外一个问题,如监控录像的数据很难获得。要解决这个问题,不能像其他视频一样可以从视频网站上找到很多数据做训练,所以发展也受到了阻碍,会稍微慢一点。

接下来,介绍一下微软亚洲研究院在视频分析方面做的一些工作。

我们最近两年尝试了以人为中心的方法(Human  centric approach),意识到在视频里面,人是一个最主要的主体,要理解视频,首先要理解人。因此,我们围绕人,来进行人的检测,以及人的属性和行为的研究工作。

我们用了一些视觉方面的基础技术和深度学习的一些技术。下面举几个例子介绍一下这方面的主要问题、挑战,以及我们取得的一些最新成果。

人脸/人的检测及追踪是非常基础的问题,但在视频处理中,最基本的问题也是非常难的问题。比如要把视频里的人脸模糊掉,就是个难题。大家可能觉得人脸识别在图像方面已经做的很好了。可是一旦用到毫无控制的视频里面,其实并不是一回事。

人脸可能会出现侧面的情况,或者大小不一,各种形象都有可能,要做检测很难。所以一般这种问题,我们都要做检测追踪,如果是做逐帧的检测,很可能在很多帧上都检测不到这个人脸,所以只能通过跟踪的方法,利用全过程的相关性,从能够检测的那帧去跟踪到另一帧里不能检测到的人脸。

在这个视频人脸模糊问题里,因为隐私保护的要求,所以不能漏掉任何一帧里的人脸,如果漏掉一帧,那么就被看见了,因此每帧都在做检测,每帧都在做跟踪。还可能很多情况下,不是所有的人脸都需要被抹掉,可能某些个别的人脸要抹掉,这个问题就更复杂了,因为需要区分不同的人脸,只抹掉需要抹掉的,所以这里面当然就有人脸识别的问题。



同样的技术,用到不同的应用,比如名人识别(celebrity recognition),如果能够检测跟踪并识别到名人的脸,那么就可以知道一个名人他在某个视频里的什么时候出现,出现了多长时间等,这实际上也是一种具体的应用。

人脸当然是一个非常基础的问题,但是很多情况下,可以看到的人脸要么很小,要么看不见,所以必须依靠其他技术,例如,人体的检测与跟踪。人体的问题更复杂,因为它是一个不规则的形状,而且不是不变的,跟踪它比人脸还难,毕竟人脸的形状基本上还是比较固定的。

在这个基础上,我们希望知道一个人的属性是什么,如:性别、是不是戴帽子、衣着的类型等等,这可以被用来做更进一步的研究,搜索一个特定的人或是一类人。也可以做的再细一点,把人体的部分分开,这同样也是为了做理解和搜索,也可以做所谓的Re-Identification,就是在不同的相机视角里面,把同一个人找出来。

我们在这方面做了一些工作,做Re-Identification实际上是一个匹配的过程,要匹配一个人和另外一个人,可以用整个身体去匹配。如果能把一个人分割开,如上衣,下衣等等,理论上可以做的更好。

通过CNN网络学到一些特征,再用一些注意力模型(attention  model)去把重要的部分抽取出来,然后再结合到一起作为一个特征的描述,这样就不是笼统的描述这个人可能是红色的,而是说这个人的这一部分是什么颜色,那一部分是什么颜色,这样做匹配就会更准确。

还有一个例子是在衣着比例不一样的情况下做匹配,这种时候整个人的匹配就会相对比较难。如果能够有一个方法,虽然衣着比例不一样,但是依旧可以把相应的部分提取出来,做局部的匹配,那么就可以做的更好。这些都可以通过深度学习去学的,包括各部分的关系、怎么样把某一部分找出来,实际上都可以通过深度神经网络去学的。



再进一步,我们还想知道人体的主要关节点在哪里,并把它提取出来。这十分有用,我们可以用它做一些动作的分析和识别,来看一个人到底在做什么样的动作。

这个问题其实也很有挑战性。一是动作可以有各种各样的表现,然后还有遮挡的问题,有些关节会被其他的身体部分给挡住。这方面的工作基本是用一个完全卷积网络(fully convolutional network)去提取信息,给出一个热度图,也就是一个概率。这个模型基本上可以给每一个不同的关节一个概率的分布图,这样就能大概知道,哪里可能是头、膝盖等。



关于关节点估计(Pose Estimation)的挑战实际上也很多。第一个问题是相似性,左踝关节和右踝关节可能很难区分。在这种情况下,可能需要利用不同关节间的特殊关系来帮助确认。第二个问题是动作、姿势的多样性。如果利用关节间的特殊关系,就需要想办法去考虑到各种各样的情形,因为图像中不一定在头部左边的就是左肩。我们找到了一个方法可以把比较多样的状况标准化成比较一致的数据,只要数据一致之后就具有一定的统计性,有了统计性就会很好学。



除此之外,我们也在做多人关节点估计,多人情况下一旦有多个人出现并且靠的比较近时就会有更多不明确的信息,谁的左肩、谁的右脚等等,会有更复杂的问题。

还有一个是视频上做关节点估计,传统方法是一帧一帧的去解然后再做关节点的叠加。但原则上应该直接作为一个视频数据,去解决里面动作/关节点的检测和追踪。

在行为识别方面,我们也有一系列的工作。比如一个RGB的视频,我们希望把他的姿态和关节点找出来,从而判断是什么样的动作。如下图,我们设计了一个网络,因为这是一个视频,就算从图像上得到关节的序列,但它还是一个时间序列的数据。所以一般在这种情况下,我们都可以用一个RNN。



图中的LSTM是属于特殊类别的一种RNN,因为它有记忆性,所以在每一个时刻,它不但能看到当前这一帧的骨骼,还记下了前几帧的骨骼信息。因此,它可以做一个总体的判断,来表示在一小段时间里面,动作是如何变化的,这样行为识别可以做的更好。LSTM是目前非常流行的方法,它对于时序数据或者视频数据来说都是一个很好的工具

同时,可能还要加一些约束,比如共现性学习(co-occurrence learning),对一定的动作,某些关节之间会有很大的相关性,所以需要将限制加入到网络中从而帮助更好、更快的学习。因为空间很大、参数非常多,所以一定要利用先验的知识或者一些特性。

此外,在做行为识别时,可以看到一个特定的动作其实不是所有的关节都是同样重要的。比如下图,喝水的时候,手部、肘部的关节可能比较重要,腿部可能就是噪声。



所以我们有一个空域注意力(spatial attention,就是做一个特定动作的分类器,从而更多关注那些需要学习的关节,这样就可以把噪声去掉,在做设计的时候才能做的更好。同样,在输出上也是一样,因为这是一个序列,所以实际上在每一帧里面可能都有一个输出。

在时域中,实际上也有一个注意力的问题,比如踢腿这个动作,可能踢的快到最高点的时候是最主要的点。其他时候也有一些输出,但是不见得是对这个动作最重要的输出。对于最有助于踢这个动作判断的,我们叫时域注意力(temporal attention)。最终得到一个如下所示基本的网络结构。



从NTU这个目前最大的3D skeleton数据集的结果可以看出来,在短短一两年的时间,提升还是很大的。我们的STA-LSTM方法做出的结果有很好的效果。 



前面提到的重点都是在人上,但是其他比较主要的物体,像车我们也在做,包括车的检测、跟踪,双闪灯、左转灯等等,当然车牌也是很重要的一个部分,检测加识别。当然如果有检测和跟踪技术,同样也可以做一些编辑的应用,比如把车牌抹掉,这实际上跟之前提到的视频中的人脸部分的编辑面临同样的问题。

我刚才展示了我们最近做的一些工作。最后想对大家说,微软研究院和学校一个比较大的不同在于微软毕竟是一个大的企业,所以我们除了发很好的论文以外,还要考虑如何把我们的研究成果转化为生产力,去造福这个社会。目前,我们有很多的技术已经被运用到了产品里,有的还正在产品化的过程中,同时我们也在跟许多内部和外部的同行进行合作。我们希望与大家进行更多的交流,从而推动技术的发展!

谢谢大家!


​​​​
 

对话|人工智能先驱Yoshua Bengio

$
0
0
​​

Yoshua Bengio


今年1月份,微软收购深度学习初创公司Maluuba时,Maluuba公司德高望重的顾问、深度学习先驱Yoshua Bengio也接手了微软的人工智能研究顾问工作。最近,Bengio以蒙特利尔学习算法研究所负责人的身份访问了微软位于华盛顿州雷德蒙的园区,并与员工们举行了座谈。本文是此次座谈内容的实录。(本文译自A conversation with AI pioneer Yoshua Bengio, 请点击网址即可查看。https://blogs.microsoft.com/next/2017/04/06/a-conversation-ai-pioneer-yoshua-bengio/#Fu2Sooc4EsSOMJLH.99



●  让我们从最基础的问题开始:什么是深度学习?

Bengio:深度学习是机器学习方法之一,而机器学习则是让计算机从有关我们周围世界或其中某个特定方面的范例中学习,从而让计算机变得更加智能的一种方式。

在所有的机器学习方法中,深度学习是最独特的,因为它的灵感源自我们对人脑探索与研究。深度学习试图让计算机学会很多不同层次的抽象和表达,这可能是使此类系统如此成功的原因。


●  能否给我们举个例子,说明人们是如何运用深度学习的?

Bengio深度学习最常见的运用方法被称为“监督学习”,我们向计算机提供在多种不同情境下应该如何行事的范例。例如,我们向计算机提供数百万个真人朗读句子的语音数据,当然也包括这每一个句子背后的声音数据对应的文本数据,我们希望计算机能够从这些对应的数据中学会将声音转换成文字。计算机像人类一样获得了在现实世界中的信息输入,它将通过对众多样本数据处理方法的学习来模拟人类完成任务的过程。


●  深度学习出现迄今已有数十年。您能否谈谈深度学习是如何从早期的起步阶段努力发展到如今广泛渗透进生活里的各类应用中的?

Bengio这一切都发端于20世纪50年代末,当时人们真正开始思考人工智能,并且意识到:“嘿,我们应该研究大脑是怎么运转的,并从中获取一些线索,用来打造一些更加智能的机器。”但随后深度学习研究一度沉寂,之后又于20世纪80年代初卷土重来并持续到90年代初,尔后再次淡出——因为它的成效并不能满足当时人们过高的期望。时至今日,深度学习研究已迎来第三波浪潮。大约五年前,深度学习技术开始在各类应用中取得惊人突破:诸如语音识别、图像识别以及近期的机器翻译等自然语言相关的应用。



●  作为深度学习的大咖,您认为目前最令人兴奋的研究工作是什么?

Bengio现在我对所谓“无监督学习”领域中所取得的进步感到非常兴奋。在这一领域内,目前最尖端的机器学习和深度学习系统的表现仍远远逊色于人类。一个两岁的幼童都可以通过观察世界并与之互动来学习新知。例如,她不必专门通过上课,而可以通过玩耍和观察来了解重力和压力等物理学知识。这就是无监督学习。我们(的机器)现在还远远不具备这种强大的能力,但好消息是我们已经在这一方面取得了令人惊叹的进步。这非常重要,因为如果要让机器超越它们目前擅长但有限的解决特定问题的能力,我们一定要掌握无监督学习。


●  在微软, 我们讨论的更多的是将人工智能视作是帮助人类完成任务、增强人们体验与能力的手段。您认为在人工智能辅助人类上最有潜力的方面都有哪些?

Bengio谈到我们在人工智能领域,特别是自然语言领域取得进步的第一个重要应用,那就是让计算机能够以更自然的方式与人类交流。眼下,我们与计算机打交道时常常会感到很懊恼,因为我们不知道如何更高效地与计算机进行沟通从而获取我们想要的信息。自然语言处理能力将让很多并非程序员出身的普通人能够更加便利地使用计算机。除此之外,计算机切实理解用户的需要和问题,不仅搜寻信息还可能找出原因,并帮助用户完成工作,这样的创想都是非常有前景的。


●  我想回到您前面谈过的话题:深度学习通常被认为是从人脑的运转方式中获得了灵感。为什么说深层神经网络受到了我们对大脑工作方式理解的启发,这又如何影响其研究潜力呢?

Bengio从神经网络研究的早期开始,人们就有一个想法,大脑中运行的计算可否这样加以抽象化:大脑中的每个神经元都在进行一种非常简单的数学运算。神经网络所做的就是将所有这些小运算组合在一起,但由神经元所执行的每项计算都是可以变化和调整的。这对应于我们大脑中神经元突触的变化——这就是我们人类学习的方式。事实证明,计算机学会如何将许多元素结合在一起,这种机器学习方式是非常强大的。



●   我们目前对大脑工作方式的了解程度如何?

Bengio大脑至今仍然是一个很大的谜。你不妨把它想象成一个大拼图。我们已经手握拼图的所有组件,世界各地成千上万的神经科学家正在研究其中许多不同的组件,但我们却忽略了全局。我和其他一些人相信并且希望的是,我们在深度学习中所取得的进步也将有助于我们发现这一全局。当然,我们不确信,但眼下科学界还有很多令人兴奋的想法,将更多的从机器学习和深度学习中获得的数学理念与神经科学相结合,以便更好地了解大脑。当然,我们也希望反过来也一样有效,因为目前深度学习还根本不能与人类智慧相提并论。人类和人类大脑能够做到机器不能做的事情,所以也许我们也能够通过对大脑工作原理的了解来启发和影响未来的深度学习系统。


●   我们常常听到很多对人工智能可以做什么的猜测。您能否给我们大致描述一下,我们距离创造能够实际模仿人类思维和行为的人造智能或深度学习技术还有多远?

Bengio有很多人向我提出过这个问题,而我的回答总是“我不知道”,而且我相信,没有一个严肃的科学家能给你一个直接的答案,因为还有太多未知数。我的意思是说,从字面上看,我们之所以从事这个领域的研究,就是因为我们不知道如何解决某些问题。但我们知道的是我们正在取得进展。我们也可以猜测,事情正朝着正确的方向发展。但是,比如说,还需要多长时间才能切实地解决一些更难的问题、更复杂的抽象问题?这是不可能有答案的。究竟是5年,15年,还是50年吗?现在我们面临一些障碍,但我们认为自己可以克服。但是,也可能一山更比一山高。


●   你能否谈谈深度学习在人们运用人工智能的各种工具中所处的地位?

Bengio深度学习正在改变过去几十年间人们对于人工智能的观念,将一些理念从相对传统的方式转向人工智能并实现两者的整合,并对其中一些好的想法兼收并蓄。其中最著名的例子就是深度学习与强化学习的融合。

因此,强化学习也是机器学习的一种,其中计算机并不会了解人类在特定情形下会怎么做。学习者这一方只能在一系列行动的实践之后看到行为的结果是好还是坏。在这方面研究的许多最新进展都体现在游戏等方面,但强化学习对于自动驾驶汽车等应用而言仍将是非常重要的。


​​​​
 

可变形卷积网络:计算机新“视”界

$
0
0


如同视觉是人们获取信息的主要渠道一样,计算机视觉也是人工智能研究领域的核心问题之一,已有几十年的研究历史。顾名思义,计算机视觉是研究如何让电脑“看懂”图像,例如,对图像中的物体进行识别、分割、跟踪和三维几何测量等。

由于同样的物体在图像中可能呈现出不同的大小、姿态、视角变化甚至非刚体形变,因此如何适应这些复杂的几何形变是物体识别的主要难点,同时也是计算机视觉领域多年来关注的核心问题。很多传统经典方法,如尺度不变的特征变换(scale invariant feature transform, or SIFT)和可变形部件模型(deformable part models)等,都旨在解决这一问题。然而,由于人工设计特征的局限性,传统视觉方法在物体识别问题上多年来并未取得突破性的进展。

不久前,微软亚洲研究院视觉计算组的研究员在arXiv上公布了一篇题为“Deformable Convolutional Networks”(可变形卷积网络)的论文,首次在卷积神经网络(convolutional neutral networks,CNN)中引入了学习空间几何形变的能力,得到可变形卷积网络(deformable convolutional networks),从而更好地解决了具有空间形变的图像识别任务。

研究员们通过大量的实验结果验证了该方法在复杂的计算机视觉任务(如目标检测和语义分割)上的有效性,首次表明在深度卷积神经网络(deep CNN)中学习空间上密集的几何形变是可行的。该论文的源代码也于近期在GitHub上公布。


卷积神经网络的成功和局限

近年来,随着深度卷积神经网络的普遍使用,很多困难的视觉问题都获得了重大突破。图像识别于两年多前首次超越了人类的识别能力。物体检测、图像分割等也都达到了几年前传统方法难以企及的高度。

由于强大的建模能力和自动的端到端的学习方式,深度卷积神经网络可以从大量数据中学习到有效特征,避免了传统方法人工设计特征的弊端。然而,现有的网络模型对于物体几何形变的适应能力几乎完全来自于数据本身所具有的多样性,其模型内部并不具有适应几何形变的机制。究其根本,是因为卷积操作本身具有固定的几何结构,而由其层叠搭建而成的卷积网络的几何结构也是固定的,所以不具有对于几何形变建模的能力。

举个例子,想要识别出同一图像中不同大小的物体(比如远近不同的两个人),理想的结果是,在对应于每个物体的位置网络需要具有相应大小的感受野(receptive field)。直观的说,为了识别更大的物体网络需要看到更大的图像区域。然而,在现有的卷积网络架构中,图像中任何位置的感受野大小都是相同的,其取决于事先设定的网络参数(卷积核的大小、步长和网络深度等),无法根据图像内容自适应调整,从而限制了识别精度。


消除网络难以适应几何变形的“罪魁祸首”

追根溯源,上述局限来自于卷积网络的基本构成单元,即卷积操作。该操作在输入图像的每个位置时会进行基于规则格点位置的采样,然后对于采样到的图像值做卷积并作为该位置的输出。通过端到端的梯度反向传播学习,系统将会得到一个用矩阵表示的卷积核的权重。这就是自卷积网络诞生之初,已使用二十多年的基本单元结构。

微软亚洲研究院的研究员们发现,标准卷积中的规则格点采样是导致网络难以适应几何形变的“罪魁祸首”。为了削弱这个限制,研究员们对卷积核中每个采样点的位置都增加了一个偏移的变量。通过这些变量,卷积核就可以在当前位置附近随意的采样,而不再局限于之前的规则格点。这样扩展后的卷积操作被称为可变形卷积(deformable convolution)。标准卷积和可变形卷积在图1中有简要的展示。

​图1:展示了卷积核大小为 3x3 的正常卷积和可变形卷积的采样方式,(a) 所示的正常卷积规律的采样 9 个点(绿点),(b)(c)(d) 为可变形卷积,在正常的采样坐标上加上一个位移量(蓝色箭头),其中(c)(d) 作为 (b) 的特殊情况,展示了可变形卷积可以作为尺度变换,比例变换和旋转变换的特殊情况

事实上,可变形卷积单元中增加的偏移量是网络结构的一部分,通过另外一个平行的标准卷积单元计算得到,进而也可以通过梯度反向传播进行端到端的学习。加上该偏移量的学习之后,可变形卷积核的大小和位置可以根据当前需要识别的图像内容进行动态调整,其直观效果就是不同位置的卷积核采样点位置会根据图像内容发生自适应的变化,从而适应不同物体的形状、大小等几何形变,如图2、图3中所展示。

​图2:两层3*3的标准卷积和可变形卷积的区别。(a) 标准卷积中固定的感受野和卷积核采样点。(b) 可变性卷积中自适应的感受野和卷积核采样点。


图 3:更多可变形卷积的示例。每个图像三元组显示了三层3x3可变形卷积核的采样点位置(共729个点),对应于三个不同的图像区域(从左至右,背景,小物体,大物体)。


可变形卷积神经网络:简明深刻的网络结构革新

可变形卷积单元具有诸多良好的性质。它不需要任何额外的监督信号,可以直接通过目标任务学习得到。它可以方便地取代任何已有视觉识别任务的卷积神经网络中的若干个标准卷积单元,并通过标准的反向传播进行端到端的训练。由此得到的网络则称为“可变形卷积网络”。

可变形卷积网络是对于传统卷积网络简明而又意义深远的结构革新,具有重要的学术和实践意义。它适用于所有待识别目标具有一定几何形变的任务(几乎所有重要的视觉识别任务都有此特点,人脸、行人、车辆、文字、动物等),可以直接由已有网络结构扩充而来,无需重新预训练。它仅增加了很少的模型复杂度和计算量,且显著提高了识别精度。例如,在用于自动驾驶的图像语义分割数据集(CityScapes)上,可变形卷积神经网络将准确率由70%提高到了75%。

此外,通过增加偏移量来学习几何形变的思想还可方便地扩展到其它计算单元中去。例如,目前业界最好的物体检测方法都使用了基于规则块采样的兴趣区域(region of interests, ROI)池化(pooling)。在该操作中,对于每个采样的规则块增加类似的偏移量,从而得到可变形兴趣区域池化 (deformable ROI pooling)。由此所获得的新的物体检测方法也取得了显著的性能提升。


卷积网络的新思路

近年来,与神经网络结构相关的研究工作层出不穷,大多是对于各种基本网络单元连接关系的研究。不同于大部分已有的工作,可变形卷积网络首次表明了可以在卷积网络中显式地学习几何形变。它修改了已使用二十余年的基本卷积单元结构,在重要的物体检测和语义分割等计算机视觉任务上获得了重大的性能提升。

可以想象,在不远的未来,在更多的计算机视觉识别任务中(如文字检测、视频物体检测跟踪等)都将看到它的成功应用。


 

周明:未来5-10年,自然语言处理将走向成熟

$
0
0


周明 微软亚洲研究院副院长

近日,微软亚洲研究院副院长周明在「自然语言处理前沿技术分享会」上,与大家讲解了自然语言处理(NLP)的最新进展,以及未来的研究方向,以下内容由CSDN记者根据周明博士的演讲内容编写,略有删减。 

周明博士于1999年加入微软亚洲研究院,不久开始负责自然语言研究组。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。周明博士发表了120余篇重要会议和期刊论文(包括50篇以上的ACL文章),拥有国际发明专利40余项。


微软亚洲研究院在机器翻译、中国文化、聊天机器人和阅读理解的最新进展


机器翻译


今年微软首先在语音翻译上全面采用了神经网络机器翻译,并拓展了新的翻译功能,我们叫做Microsoft Translator Live Feature(现场翻译功能),在演讲和开会时,实时自动在手机端或桌面端,把演讲者的话翻译成多种语言。

图1 神经网络机器翻译

图1概括了神经网络机器翻译,简要的说,就是对源语言的句子进行编码,一般都是用长短时记忆(LSTM)进行编码。编码的结果就是有很多隐节点,每个隐节点代表从句首到当前词汇为止,与句子的语义信息。基于这些隐节点,通过一个注意力的模型来体现不同隐节点对于翻译目标词的作用。通过这样的一个模式对目标语言可以逐词进行生成,直到生成句尾。中间在某一阶段可能会有多个翻译,我们会保留最佳的翻译,从左到右持续。

这里最重要的技术是对于源语言的编码,还有体现不同词汇翻译的,不同作用的注意力模型。我们又持续做了一些工作,引入了语言知识。因为在编码的时候是仅把源语言和目标语言看成字符串,没有体会内在的词汇和词汇之间的修饰关系。我们把句法知识引入到神经网络编码、解码之中,这是传统的长短时记忆LSTM,这是模型,我们引入了句法,得到了更佳的翻译,这使大家看到的指标有了很大程度的提升。

图2 将知识图谱纳入传统的神经网络机器翻译中

此外,我们还考虑到在很多领域是有知识图谱的,我们想把知识图谱纳入到传统的神经网络机器翻译当中,来规划语言理解的过程。我们的一个假设就是虽然大家的语言可能不一样,但是体现在知识图谱的领域上可能是一致的,就用知识图谱增强编码、解码。具体来讲,就是对于输入句子,先映射到知识图谱,然后再基于知识图谱增强解码过程,使得译文得到进一步改善。


以上两个工作都发表在本领域最重要的会议ACL上,得到很多学者的好评。

图3 Microsoft Translator Live Feature工作场景

中国文化


大家会说,中国文化和人工智能有什么关系?中国文化最有代表性的是对联、诗歌、猜谜语等等,它怎么能够用人工智能体现呢?好多人一想这件事就觉得不靠谱,没法做。但是我们微软亚洲研究院就利用然语言处理的技术,尤其是机器翻译的经验,果断进军到中国文化里,这个在全世界独树一帜。

在2004年的时候,当时我们的沈向洋院长领导我们做了一个微软对联:用户输入上联,电脑自动对出下联,语句非常工整,甚至更进一步把横批对出来。这个系统在当时跟新浪进行了合作,做成了一个手机游戏,用户可以通过发短信的方式,将上联发过去,然后通过短信接收下联。当时大家都觉得很有意思。微软对联也是世界上第一次采用机器翻译的技术来模拟对联全过程。过去也有人做对联游戏,都是用规则的方法写很多很多的语言学规则,确保什么样的词跟什么样的词对,并符合对仗、平仄一堆语言学的规则,但是实际效果不好,也没有人使用。

我们把机器翻译技术巧妙用在中国文化上,解决了这个问题。在微软对联的基础上,我们继续去尝试其他的中国文化,其中有一个特色就是字谜。

我们小时候都爱猜字谜,领奖品。字谜是给你谜面让你猜谜底。当然也可以反过来,给定一个谜底,让你出谜面。现在,已经可以用电脑来模拟整个猜字谜和出字谜的过程了,我们也把这个功能放在了微软对联的网站上。

往后,更进一步,我们还会用人工智能技术来发展中国最经典的文化,包括绝句和律诗等。例如宋词有长短句,我们也可以用同样的技术来创作律诗、绝句和宋词。

最近,微软亚洲研究院的主管研究员宋睿华博士就在用这种神经网络的技术来进行诗歌的创作。这件事非常有创意:用户提交一个照片,让系统进行,然后变成一首诗,自由体的诗。写诗是很不容易的,因为要体现意境。你说这是山,这是水,这不叫诗;诗歌必须要升华、凝练,用诗的语言来体现此时的情或者景,由景入情,由情入景,这才是诗。

不久前,微软小冰发布了微软小冰写诗的技能,引起了很多人的关注。我们也在此基础上展示其他的中国文化,把人工智能和中国文化巧妙结合起来,弘扬中国文化。


对话即平台


“对话即平台”英文叫做“Conversation as a Platform (CaaP)”。2016年,微软首席执行官萨提亚在大会上提出了CaaP这个概念,他认为继图形界面的下一代就是对话,它会对整个人工智能、计算机设备带来一场新的革命。


图4 通用对话引擎架构


为什么要提到CaaP这个概念呢?我个人认为,有两个原因。


● 源于大家都已经习惯用社交手段,如微信、Facebook与他人聊天的过程。我们希望将这种通过自然的语言交流的过程呈现在当今的人机交互中,而语音交流的背后就是对话平台。

● 现在大家面对的设备有的屏幕很小,有的甚至没有屏幕,所以通过语音的交互,更为自然直观的。因此,我们是需要对话式的自然语言交流的,通过语音助手来帮忙完成。

而语音助手又可以调用很多Bot,来完成一些具体的功能,比如说定杯咖啡,买一个车票等等。芸芸众生,有很多很多需求,每个需求都有可能是一个小Bot,必须有人去做这个Bot。而于微软而言,我们作为一个平台公司,希望把自己的能力释放出来,让全世界的开发者,甚至普通的学生就能开发出自己喜欢的Bot,形成一个生态的平台,生态的环境。

如何从人出发,通过智能助理,再通过Bot体现这一生态呢?微软在做CaaP的时候,实际上有两个主要的产品策略。

第一个是小娜,通过手机和智能设备介入,让人与电脑进行交流:人发布命令,小娜理解并执行任务。同时,小娜作为你的贴身处理,也理解你的性格特点、喜好、习惯,然后主动给你一些贴心提示。比如,你过去经常路过某个地方买牛奶,在你下次路过的时候,她就会提醒你,问你要不要买。她从过去的被动到现在的主动,由原来的手机,到微软所有的产品,比如Xbox和Windows,都得到了应用。现在,小娜已经拥有超过1.4亿活跃用户,在数以十亿级计的设备上与人们进行交流。现在,小娜覆盖的语言已经有十几种语言,包括中文。小娜还在不断发展,这背后有很多自然语言技术来自微软研究院,包括微软亚洲研究院。

第二个就是小冰。它是一种新的理念,很多人一开始不理解。人们跟小冰一起的这种闲聊有什么意思?其实闲聊也是人工智能的一部分,我们人与人见面的时候,寒喧、问候、甚至瞎扯,天南海北地聊,这个没有智能是完成不了的,实际上除了语言方面的智能,还得有知识智能,必须得懂某一个领域的知识才能聊起来。所以,小冰是试图把各个语言的知识融汇贯通,实现一个开放语言自由的聊天过程。这件事,在全球都是比较创新的。现在,小冰已经覆盖了三种语言:中文、日文、英文,累积了上亿用户。很多人跟它聊天乐此不疲,而平均聊天的回数多达23轮。这是在所有聊天机器人里面遥遥领先的。而平时聊天时长大概是25分钟左右。小冰背后三种语言的聊天机器人也都来自于微软亚洲研究院。

无论是小冰这种闲聊,还是小娜这种注重任务执行的技术,其实背后单元处理引擎无外乎就三层技术:

● 通用聊天,需要掌握沟通技巧、通用聊天数据、主题聊天数据,还要知道用户画像,投其所好。

● 信息服务和问答,需要搜索的能力,问答的能力,还需要对常见问题表进行收集、整理和搜索,从知识图表、文档和图表中找出相应信息,并且回答问题,我们统称为Info Bot。

● 面向特定任务的对话能力,例如定咖啡、定花、买火车票,这个任务是固定的,状态也是固定的,状态转移也是清晰的,那么就可以用Bot一个一个实现。你有一个调度系统,你知道用户的意图就调用相应的Bot 执行相应的任务。它用到的技术就是对用户意图的理解,对话的管理,领域知识,对话图谱等等。

实际上,人类拥有这全部三个智能,而且人知道什么时候用什么智能,就是因为最上头,还有一个调度系统。你跟我闲聊的时候,我就会跟你闲聊;你跟我严肃地问问题,那么我就会回答你的问题。通过一个调度系统,可以想象,我们在做人机对话的时候,其实是在根据用户的提问调用不同的引擎,再根据不同的意图调用不同的Bot。这样整体来实现一个所谓的人机交互全过程。这背后的技术由不同的研究员分别去进行实施,然后再整体通过跟产品组合作体现一个完美的产品流程。

微软想把有关的能力释放给全世界,让每个人都能够体验人工智能的好处,让开发者开发自己的Bot。但是开发者的机器不懂自然语言,怎么办呢?我们就通过一个叫Bot Framework的工具、平台来实现。

任何一个开发者只用几行代码就可以完成自己所需要的Bot。这里有一个简单的例子,这个人想做一个披萨的Bot,他用Bot的框架,这几行语句填入相应的知识,相应的数据,就可以实现一个简单的定披萨的Bot。你可以想象很多小业主,没有这种开发能力,但是就是可以简单操作几下,就可以做一个小Bot吸引来很多客户。

这里面有很多关键技术。微软有一个叫做LUIS(Language Understanding Intelligent Service)的平台,提供了用户的意图理解能力、实体识别能力、对话的管理能力等等。比如说这句话“read me the headlines”,我们识别的结果是他想做朗读,内容就是今天的头条新闻。再比如说“Pause for 5 minutes”,我们理解它的意思是暂停,暂停多长时间?有一个参数:5分钟。所以,通过LUIS,我们可以把意图和重要的信息抽取出来,让后面Bot来读取。

图5 微软语言理解服务

微软的聊天对话技术也在与很多企业合作,赋能这些企业。比如,我们跟敦煌研究院合作。敦煌研究院提供出数据,我们则把我们的引擎加上去,很快就建立了一个敦煌研究院的客服系统,借助敦煌研究院公众号,可以让用户和它聊与敦煌有关的事。用户也可以问问题,例如敦煌研究院什么时候开门、有什么好吃的,他可以把聊天、对话都集成在一个平台上,发挥人工智能在公众号上的作用。

图6 敦煌公众号客服系统

阅读理解


阅读理解顾名思义就是给你一篇文章,看你理解到什么程度。人都有智能,而且是非常高的智能。除了累积知识,还要懂一些常识。具体测试你的阅读能力、理解能力的手段,一般都是给一篇文章,再你一些问题。你能来就说明你理解了,答不上来就说明你不理解。对电脑的测试也是这样。

图7 莱茵河介绍

我给大家举个例子,说明一下阅读理解。图7中,这一段话的大意是在介绍莱茵河,它流经哪些国家,最终在哪里注入大海。莱茵河畔最大的城市是德国科隆。它是中欧和西欧区域的第二长河流,仅次于多瑙河之后,约1230公里。然后,我们问的问题是,什么河比莱茵河长?当你读完了这段话,你就要推断,“after”在这里是什么意思,从而才能得出正确答案是多瑙河。电脑要做这道题,实际上要仔细解析很多问题,最终才能作出回答。


未来5-10年,NLP将走向成熟


最后,再介绍一下我对自然语言处理目前存在的问题以及未来的研究方向的一些考虑,供大家参考。

● 随着大数据、深度学习、云计算这三大要素推动,所谓认知智能,尤其是语言智能跟感知智能一样会有长足的发展。你也可以说,自然语言处理迎来了60余年发展历史上最好的一个时期,进步最快的一个时期,从初步的应用到搜索、聊天机器人上,到通过对上下文的理解,知识的把握,它的处理能力得到长足的进步。具体来讲,我认为,口语机器翻译肯定会完全普及,将来我认为它就是手机上的标配。任何人出国,无论到了哪个国家,拿起电话来你说你的母语,跟当地人交流不会有太大的问题,而且是非常自如的过程,就跟你打电话一样。所以,我认为口语机器翻译会完全普及。虽然这不意味着同声翻译能彻底颠覆,也不意味着这种专业领域的文献的翻译可以彻底解决;但我认为还是会有很大的进展。

● 自然语言的会话、聊天、问答、对话达到实用程度。这是什么意思?这意味着在常见的场景下,通过人机对话的过程完成某项任务。这个是可以完全实现,或者跟某个智能设备进行交流,比如说关灯、打开电脑、打开纱窗这种一点问题都没有,包括带口音的说话都可以完全听懂。但是同样,这也不代表任何话题、任何任务、用任何变种的语言去说都可以达到。目前离那个目标还很远,我们也在努力。

● 智能客服加上人工客服完美的结合,一定会大大提高客服的效率。我认为很多重复的客服工作,比如说问答,还有简单的任务,基本上人工智能都可以解决。但是复杂的情况下仍然不能解决。所以,它实际上是人工智能跟人类智能完美结合来提高一个很好的生产力,这个是没有问题的。

● 自动写对联、写诗、写新闻稿和歌曲等等,今天可能还是一个新鲜的事物,但是5到10年一定都会流行起来,甚至都会用起来。比如说写新闻稿,给你一些数据,这个新闻稿草稿马上就写出来,你要做的就是纠正,供不同的媒体使用等。

● NLP将推动语音助手、物联网、智能硬件、智能家居的普及。

● NLP与其他AI技术一起在金融、法律、教育、医疗等垂直领域将得到广泛应用。

但是,我们也清醒地看到,虽然有一些很好的预期,但是自然语言处理还有很多很多没有解决的问题。以下几个我认为比较重要的。

1.通过用户画像实现个性化服务。现在自然语言处理基本上用户画像用得非常非常少。人与人的对话,其实是对不同的人说不同的话,因为我们知道对话的人的性格、特点、知识层次,我了解了这个用户,知道用户的画像,那么在对话的时候就会有所调整。目前来讲,我们还远远不能做到这一点。

2.通过可解释的学习洞察人工智能机理。现在自然语言处理跟其他的人工智能一样,都是通过一个端对端的训练,而其实里面是一个黑箱,你也不知道发生了什么,哪个东西起作用,哪个东西没有起作用。我们也在思考,有没有一种可解释的人工智能,帮助我们知道哪些地方发挥了作用,哪些地方是错的,然后进行修正,快速调整我们的系统。目前还没有针对这个问题很好的解决方案,尽管有一些视觉化的工作,但是都比较粗浅,还没有达到最精准的判定和跟踪。

3.通过知识与深度学习的结合提升效率。所谓知识和深度学习的结合,有可能很多情况下是需要有人类知识的。比如说客服,是有一些常见处理过程的。那么出现问题我该怎么解决?这些知识如何跟数据巧妙结合,从而加快学习的过程、提高学习的质量,这也是比较令人关注的。

4.通过迁移学习实现领域自适应。如果们想翻某一个专业领域,比如说计算机领域,可能现有的翻译工具翻得不好。所以大家都在研究,有没有一种办法,能够帮助机器进行迁移学习,能够更好的运用到语音自适应上。

5.通过强化学习实现自我演化。这就是说我们自然语言系统上线之后有很多人用,得到了有很多人的反馈,包括显示的反馈、隐式的反馈,然后通过强化学习不断的提升系统。这就是系统的自我演化。

6.最后,我认为也是非常关键的,通过无监督学习充分利用未标注数据。现在都依赖于带标注的数据,没有带标注的数据没有办法利用。但是很多场景下,标注数据不够,你找人工标注代价又极大。那么如何用这些没有标注的数据呢?这就要通过一个所谓无监督的学习过程,或者半监督的学习过程增强整体的学习过程。这里也是目前研究上非常令人关注的。


本文由CSDN根据周明博士的演讲内容编写,已获授权转载


 

Microsoft Pix:让iPhone拍出自带大师范儿的照片

$
0
0

编者按:上个月,我们发表的“AI修图黑科技,Geek也能艺术范”一文中介绍了微软亚洲研究院在图片风格化方面的技术革新。读者纷纷表示希望可以早日用上这个修图黑科技。今天,相机应用Microsoft Pix iOS版更新了新功能,正是基于文中介绍的风格迁移技术,你现在就可以通过这项黑科技去创造媲美大师的作品啦。

微软专为iPhone和iPad打造的基于人工智能技术的相机应用Microsoft Pix最近推出了一项新功能,可以自动为随手拍摄的照片增加艺术化风格,模仿陈列在阿姆斯特丹、巴黎和纽约的著名画廊里的绘画杰作及艺术摄影作品。

这一功能由微软亚洲研究院、Skype团队和Pix团队共同开发,是iOS版Microsoft Pix的重要新功能之一,这款应用通过微软研究人员开发的智能算法套件,能够消除拍摄中的不确定因素,每一次快门都能拍出精美的照片。

​“这些新功能都非常好玩,”微软研究院计算摄影组首席项目经理Josh Weisberg表示,“过去,我们的很多工作都集中在如何运用人工智能和深度学习来更好地捕捉精彩瞬间和提升图像质量,但这些新功能则是为了带来更多乐趣——让照片更酷、更有艺术感。”

新功能之一“Pix风格”能够将照片转换成类似知名艺术作品的风格,或者为照片添加一些艺术效果,例如让照片看上去像是着火了一样。

​与仅能均匀改变相片颜色的滤镜不同,“Pix风格”功能将照片的纹理、图案和色调转化成所选定的风格,使之成为一件独特的创作作品。今天发布的“Pix风格”功能共包含11种独特的艺术风格,未来几周内还将增加更多风格。

第二个新功能是“Pix绘画”,可以制造出以所选艺术风格一笔一笔绘制作品的延时拍摄效果——让用户亲眼见证他们的杰作是如何诞生的。

​在新功能的开发过程中,Pix团队使用了深层神经网络,它可以用来训练大规模数据集——在这个项目中则是大量的画作——从而学习给定的艺术风格的精髓。“Pix风格”功能对照片进行风格转化以及“Pix绘画”功能对照片进行动画重绘便是大规模数据训练的结果。

​“Pix风格”功能可以直接在你的设备上运行,无需在云端进行计算。将人工智能从云端扩展到处于网络“边缘”的设备上,这正是微软所推动的变革之一。这样可以让用户迅速、轻松地将照片变成艺术品而无需使用数据流量,既降低了流量费用,也节省了等待时间。

iOS用户现在可以通过App Store下载使用这款应用,或者访问网站(点击网址https://www.microsoft.com/en-us/research/product/microsoftpix/)了解背后的秘密。


 

金融行业如何借助AI重新定义投资的疆界

$
0
0

上周,微软亚洲研究院与华夏基金共同举办了战略合作发布会,宣布双方将就人工智能在金融服务领域的应用展开战略合作研究。那么在金融领域,人工智能的道路会是怎样一幅画面呢?

发布会上,来自金融投资界和科技界两个领域的最强大脑们,就AI与投资结合所带来的机会及相关问题展开了头脑风暴。特别就两个非常重要的问题进行了讨论:首先,AI会不会改变我们的投资生活。其次,这样的一种改变对我们的财富管理意味着什么?

今天,我们与大家一起回顾科技、金融专家们是如何看待AI与投资结合的未来,发布会全纪录如下(文字内容略有精简)。


AI 投资将为金融领域带来什么样的创造力和智慧


● 洪小文:微软希望让人工智能真正造福投资者


纵观各种创新的技术,人工智能无疑是近年来全民的热词,可是这个热词对微软来说,却是一个老话题。20多年来,微软研究院在云计算、大数据、机器学习、语音识别、图像识别、自然语言理解等领域都取得了丰硕的研究成果。微软不断地推进人工智能的前沿发展,培养了大批人工智能人才。微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研究院院长洪小文博士表示,微软是一个平台公司,希望通过我们的智能服务平台,把人工智能普及化带给更多的企业伙伴跟开发者,让他们能够实现他们的梦想。

微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研究院院长洪小文博士


过去大家常说隔行如隔山,但在今天这个互联网 、AI 的时代,每个不同的行业都被互联网、云计算以及AI这些新技术“加”在一起。这是大势所趋,而能够将掌握的技术转化为生产力的企业,最有可能在数字化转型中抢得先机。

微软和华夏基金此次所展开的战略研究合作,发掘人工智能在金融投资行业的广泛应用,真正用技术转化成持续的动力,普及广大的投资大众。

洪小文博士相信,双方通过跨界的合作研究,能够将不断发展的人工智能技术,与金融行业的现实需求和应用场景相互结合,融会贯通,发掘数据洞察,帮助基金管理者从瞬息万变的市场当中发掘机会,让人工智能真正造福每个投资者。


刘铁岩:人工智能驱动金融产业技术变革


如今,当我们在搜索引擎输入人工智能或者金融这样的关键词,大家会看到很多与此有关的新闻报道和媒体评论,比如我们会看到人工智能让华尔街深感不安… 对冲基金将会用人工智能收割市场如此这般…那么为什么人工智能的到来会让投资界如此震动,人工智能又有哪些优势呢?


微软亚洲研究院副院长刘铁岩博士


微软亚洲研究院副院长刘铁岩博士在大会上从量价数据分析,文本数据分析,知识图谱及推理,以及预测、模拟与决策等方面,简单阐述了人工智能将为金融领域带来什么样的创造力和智慧。



量价数据是股票投资里非常重要的信息源之一。通常,投资经理会按照经验从量价数据的时序序列中寻找时空模式,以此来预测股票的涨跌,并决定何时买入、卖出股票。但这种根据经验的模式抽取,一定会受到个人因素的限制,很难有最优性的保障。所以这时,我们可以利用人工智能技术,依托大数据寻找更加客观、有效的时空模式指导投资,并且微软研究院在与此相关领域内的研究成果也将大有用武之地。

比如,在时序序列分析方面,2016年底,来自微软研究院基于深度神经网络的语音序列识别技术,首次达到了人类语音识别的精度;在二维的模式识别方面,由微软亚洲研究院发明的ResNet技术更是率先地超过了人类的图像识别精度,并获得了2015年ImageNet比赛的冠军,成为了图像识别领域首选的算法。微软的人工智能模型设计经验配合上华夏基金丰富的金融知识积累,我们一定可以为量价数据分析任务设计出高效的人工智能模型。

除了量价数据,文本数据也在金融投资中扮演着重要的角色,我们通过对文本数据的语义分析,主题分析和情感分析,可以预测市场对于一个行业或一个公司的预期,甚至可以去预测股票走势的拐点。

然而,对海量文本信息进行分析并非易事,简单的统计工具、或者标准的分类和主题模型,可能会遇到巨大的挑战。比如,当我们要分析的数据包含千万量级的词表时,相应的分类模型体量可能过大,而使训练时间非常长,甚至长达百年;当我们要对文本数据进行超细粒度的主题分析时,比如要分辨出上百万个不同类型的主题,则可能需要上千台服务器,运行几周到几个月的时间才能完成任务。

但这些看似不可能完成的任务,在微软亚洲研究院的面前,却变得可行。微软拥有能够处理千万词表的新型循环神经网络LightRNN,以及可以分析百万主题的人工智能模型LightLDA,再通过微软的Multiverso参数服务器进行分布式部署,我们就可以用一个只有几十台服务器的小型计算机集群,对海量文本数据进行超细粒度的实时分析,在信息获取和利用方面获得巨大优势。

除了这些原始数据外,在投资时,我们常常需要根据各种金融事件、以及金融实体之间的逻辑关系进行推理。这时就会遇到两个问题,首先,如何构建一个可靠的、信息丰富的金融知识图谱;第二,当我们拥有巨大体量的金融知识图谱时,如何进行高效的分析和推理。

微软亚洲研究院拥有目前世界上最高效的知识图谱索引和分析的开源引擎,有了这种引擎的支持,我们就可以对巨大体量的知识图谱,进行实时的分析推理,使很多隐藏的高阶因果关系浮出水面,给投资经理的决策插上理性的翅膀。



依据前面的人工智能技术构建投资方案之后,投资经理还需要根据市场的反馈不断地对投资方案进行调整。这个过程中,如何对市场的反馈快速响应,以及如何对金融市场其他参与者的行为进行精准建模,将成为致胜的利器。在这些方面,微软亚洲研究院独树一帜的前瞻性决策技术,如对偶增强学习和博弈机器学习,将会帮助投资者获得巨大的先发优势。

以上我们提到的人工智能算法都需要强大计算平台作为支撑,微软研究院拥有目前世界上效率最高的人工智能平台——CNTK(微软认知服务工具包)。在多项第三方评测中,CNTK不管是在单机的训练效率,还是集群的并行训练效率上都表现突出,力拔头筹。


把前面提到的来自微软研究院的优势算法和人工智能平台与华夏基金投研团队的领域知识相结合,我们将共同打造一个由人工智能驱动的全新的金融投资框架。这个框架里面会包含很多新的组成部分,比如端到端的因子提取与动态复合技术,基于金融知识图谱的推理模型,以及基于增强学习和博弈机器学习的自动化交易和资产配置策略等等。当然,想要在这些课题上取得突破性进展还需要深度的研究。比如金融市场环境开放,存在信息缺失、隐藏等问题,将给建模造成困难;市场规律动态变化,非平稳,将对人工智能模型的预测能力提出挑战;金融市场存在多方复杂博弈,且规模较大,将增加建模和分析的难度;黑天鹅等重要事件的小概率本质,不易用大数据、大样本方法预测;高频交易数据量大、实时性强,对人工智能计算平台将提出额外需求,等等。不过我们对于攻克这些难题持乐观态度,而这些挑战的存在也正凸显了我们和华夏基金进行战略合作研究的深远意义。



● 谢幸:用户画像与聊天机器人,打造个性化金融服务


站在华夏基金的角度,我们可以完成一个全新金融投资框架的构建,那么站在用户的角度,结合人工智能技术与金融,我们又能创造出哪些个性化的金融服务呢?

微软亚洲研究院社会计算组资深研究员谢幸博士分享了微软亚洲研究院在用户画像、性格分析和聊天机器人方面的最新进展,以及这些技术如何助力打造未来个性化的金融服务。


微软亚洲研究院资深研究员谢幸博士


用户画像就是根据用户每天在各类社交软件上产生的大数据合集,给用户打造一个更加个性化的环境和服务。而微软希望能够通过用户画像,更好地预测用户的风险偏好,理解用户的理财目标以及用户对资金的需求,以此帮助金融机构给用户设计更好的产品和服务。

在金融领域,我们常常需要了解用户的风险偏好。但现在一般是用问卷的方法,根据用户的问卷回答计算结果。然而这种方式在心理学专家眼里存在很多问题。

一方面,用户其实对自己并不是非常的了解,很多时候打分的标准很模糊。再就是很多用户会因为没有时间或者觉得这个不重要,就粗略地完成问卷,因此,这时我们拿到的结果就会有非常大的“噪音”。

要解决这个问题其实很简单,所使用的方法在心理学中叫做行为测量,其实就是我们去观察用户,通过用户的行为自动分析他的性格。这其中,可以用到微软亚洲研究院的LifeSpec跨平台用户行为数据集。

而在最近的工作中,基于心理学家的“大五人格理论”,我们提出了一个“大五人格推测模型”,通过集成不同来源的用户数据,针对每个维度的数据设计有针对性的计算特征,最后用集成学习的方法计算一个更加准确的大五人格。将这一方法应用在金融领域,不止是风险偏好,也许我们还能知道这些性格特征会怎样影响用户的购买行为,从而更加准确、成功的推荐金融产品/服务给用户。    

此外,微软亚洲研究院还有一个工作是个性化的聊天机器人。我们希望打造一个聊天机器人,类似金融服务里面的智能客服。一个人类客服在跟客户进行交流时,他通常需要了解用户,站在用户的角度考虑怎么样帮助用户解决问题,如何通过更合适的交流方式,来实现用户想做的事情,比如购买金融产品,或者推荐一些用户想要的理财工具。而我们则希望通过聊天机器人这项技术,为用户打造私人定制的金融顾问


金融行业将如何借助AI重新定义投资的疆界


● 汤晓东:AI 金融,仅仅只是个开始


华夏基金和微软的战略合作,可谓是金融领域人脑智慧和人工智能的融合。如果说,工业革命延伸了人类自然力中的"体力",那么人工智能则延伸了人类自然力中的“脑力”。


华夏基金总经理汤晓东


华夏基金总经理汤晓东表示,AI 零售业、AI 工业、AI 农业、AI 能源……传统行业和人工智能相融合,都将产生1 1>2,甚至是远大于2的效果。这种效果不仅仅有社会意义,还具有经济意义并蕴藏着巨大的投资机会。华夏基金作为国内权益类投资的龙头公司,一直致力于挖掘新的投资机会,面对这一大批千亿级的新经济、创新类产业,我们将积极分析、加大投资力度,为投资者创造更多的价值。如今,华夏基金正在积极探索把人工智能全方位应用到投资、销售、客服等各个领域。

华夏携手微软展开的战略合作,就相当于为华夏的投资能力加装了顶级智能装备。利用微软在人工智能领域的深厚积淀以及华夏基金强大的投研实力,探索智能投资的疆界,引领资产管理行业的智能化转型。

我们很难想象人工智能未来会如何改变投资,它究竟会成为投资经理的得力助手还是会成为这个行业的颠覆者,随着研究的深入,我们发现这个问题仅仅只是开始。


● 阳琨:人工智能,重新定义投资的疆界


华夏基金副总经理、投资总监阳琨表示,作为一名传统的基金经理,对于AI 投资这一主题,借用一句广告词来说,“一开始我是拒绝的”。但事实上,计算机已经在改变投资了,比如大类资产的均值方差计算,如果没有计算机的帮助,这必将是一项不可能完成的任务。


华夏基金副总经理、投资总监阳琨


那么未来的投资是什么样?人工智能将如何改变投资的疆界?我们畅想未来,或许有一天人工智能作为我的助手,会告诉我过去一天里证券市场或者财经领域发生了什么样的事情、有什么先例,能够扫除我在学习或者认知上的盲区。而在这个层面上来说,AI作为一种工具来提升投资效率这一趋势毋庸置疑。

AI 投资能够帮助我们提升智力的上限,使我们投资、决策、信息处理变得更加准确,这是我们可以看到的未来。


● 孙彬:人工智能助力资产配置


来自华夏基金的资产配置部总监孙彬则更加细致的阐述了人工智能将如何助力资产配置。人工智能领域,最核心有三个要素:第一个就是它需要有海量的数据做支撑;其次它必须有强大的运算能力做保证,而在这两个元素之后我们必须靠人类输入严谨的推理模式模型。


华夏基金资产配置部总监孙彬


孙彬希望利用机器对海量数据的处理能力和深度学习能力,去对历史上各种经济的数据、市场的数据甚至政策文本的数据进行复盘,帮助我们去归纳、总结市场当中特有的运行机制和几率,给我们的投资提供更多的客观数据和决策的依据。



人工智能在量化投资当中的应用渗透率也非常高。其中一个就是最近最热的一个话题,智能投顾。智能投顾希望用尽量低的成本、尽量标准化的流程、用最专业的投资工具,为海量用户提供差异化的投资顾问服务。

想实现千人千面的组合,首先要对人的需求做刻画,运用每个人身上的互联网节点,对每个投资者的目标进行刻画,描绘投资者的不同投资策略目标,依靠大量、离散的数据信息确定每个客户差异化的投资策略目标。

不同的投资策略目标完成后,需要给予用户一个资产配置的建议。每个人组合的大类资产配置比例以及资产内部的风格配置比例都是不一样的。人类需要给予机器一个恰当的模型,并输入模型所依赖的资产变量。然后,机器根据输入变量,以及每个用户差异化的投资策略目标,刻画每个用户资金的差异化资产配置比例。

资产配置比例形成后,需要通过底层资产的选择,完成资产配置的目的,为客户构建组合。在这个过程中,我们需要确定底层产品的分类和交易规则,告诉机器根据资产配置模型,我们分哪几个类型,以及交易规则是什么样的。机器再基于模型分量规则,对海量基金进行分析、排序,并在任何一个时点,形成可购买的最优组合推荐给客户。

此外,孙彬还介绍了人工智能将如何与资产配置模型做一个有效的、有机的结合。美林投资时钟是管理资产配置理论当中非常传统也是非常有效的理论。但因为各个不同的经济体,或者经济体不同的发展阶段,它在实践的应用中也经常出现一些失效的地方。



如果我们能用机器去对历史上各国,尤其是发达经济体的发展路径、经济数据、政策数据、市场数据进行复盘,也许我们可以找到一些经济增长趋势和经济增长变革当中对资产价格映射的影响,从而帮助我们更好地去捕捉变化的到来。

最后关于估值,一般认为,资产价格会提前对整个基本面的变化发生一些波动,我们需要观察、考虑,当基本面真正发生变化的时候,资产的价格是不是适应这种变化。因此我们有一个估值的指标做衡量,估值正好反映了投资者对未来的预期,所以我们也希望从机器对历史的大数据分析中,寻找资产之间、资产风格类别之间、以及经济基本面和估值之间的勾结关系和映射关系,帮助我们反映估值、资产的价格是否已经反映了投资基本面的变化。

如果我们能充分地利用好人工智能的发展,人工智能可以给主动管理的投资者提供更多的认知经济本质、认知市场本质、认知现实、甚至认知人性的更好的工具。这些工具将可以很大程度帮我们提高投资决策的胜率,帮助我们在未来的投资中获得更多的超额收益。

我们还为大家准备了长达两个小时的完整视频,建议先马后看!

视频地址:https://v.qq.com/x/page/d05141htt8l.html



 

干货 | 手把手带你入门微软Graph Engine

$
0
0


导读:出自微软亚洲研究院的Graph Engine是一个基于内存的分布式大规模图数据处理引擎,能够帮助用户高效地处理大规模图数据,且更方便地构建实时查询应用和高吞吐量的离线分析平台。自2015年发布以来,Graph Engine受到了来自学术界和工业界的广泛关注。点击【阅读原文】访问Graph Engine 的GitHub页面(https://github.com/Microsoft/GraphEngine)。


今天,我们邀请了Graph Engine的主要设计者与开发者之一,微软亚洲研究院机器学习组副研究员李亚韬为大家详解Graph Engine,并演示一些快速上手的实例。


(以下文字整理,内容略有精简)


首先,我们来回顾一下NOSQL中一种很重要的系统——键值存储器 (Key-Value stores)。Key-Value stores是一个字典形式的索引存储系统,里面所有数据都按照Key去索引,每个Key对应一个唯一值。这就像是各种语言,如Python、Java中的Dictionary或者Map。

比如MemCached,就是NOSQL中一个很早出现且非常流行的键值存储器(Key-Value stores)系统。它是一个分布式、多线程的缓存系统。为什么叫缓存系统?因为它其实并不知道用户存储的数据结构是什么样的,只是把数据当成一个个blobs,像二进制的数组一样。这里的例子就是说,当给定一个Foo ID,我们利用MemCached,可以得出一个能够识别的对象(Object)。但实际上MemCached本身无法识别我们这个东西,在它那里其实就是一个二进制的数组。


这所带来的问题是,一个系统如果不知道用户存的是什么东西,那么所有的计算就必须在客户端进行。因为如果系统不知道数据的属性,那就没有办法操作里面的数据。比如我有一个很大的对象,若要更新其中的一个部分,就需要把整个对象从客户端输入,然后进行一些操作再写回去。当两个人同时写一个东西时,就可能会导致一个人的改动被另一个人的冲掉。


Redis系统比MemCached出现得晚一些,它支持几种简单的数据结构。系统中每一个Key对应的值可以是一个数据结构——列表、集合或是字典。每一个值对应着一个小的容器,并且在这个容器上,它所有的操作都保持了原子性并支持事务。


但是在实际使用的过程中,我们会发现,很多时候数据没有办法简单的用列表或字典这些简单的数据结构来表示(因为它不能嵌入)。我们的数据有时候是层次结构的(Hierarchical)的,所以我们必须用某种层次化的数据结构,例如JSON、XML等去表示。在这种时候,Redis就没有办法很好地表达这些数据结构。实际上,业界很多用法都是用JSON模型先把它序列化成一个字符串,然后再输入Redis。但这样就会把Redis又变回MemCached,因为Redis不知道里面存的是什么东西,所以所有的计算操作又回到客户端。


谈到数据建模(DataModeling),我们不妨从另外一个角度,用图数据库去解决这种问题。在图数据库里,我们存储的是实体间的关系。

举个例子,左边是一个表,右边是和它等价的图中的关系。我们可以看到这里有三个人,有老板,也有员工。老板会管理员工,员工也会为了某个项目向老板报告,这种数据模型最核心的数据结构就是图。


图由节点和节点间的边构成。但这里的图和教科书上讲的图有点不一样,我们可以在点或者边上添加一些数据,这种图叫做“带属性图”(Property Graph),即它的点上能够存储数据,比如说一个人的年龄、名字等等。在这种数据模型下,我们可以有一些在图上的查询方法,它能够做到在SQL中很难表达的一些事情。


也正是因为这种灵活的特性,我们在实现图数据库时,会遇到一些挑战。主要的问题是在查询时,会有很多的随机存取。因为在图上查询时,很多是利用遍历实现的。虽然一个点走到另外一个点的代价不是很高,但是如果从一万个点走到它周围的两万个点,再走到周围的四万个点,这样一层一层扩散出去的话,问题就会变得越来越严重。如果把数据放在磁盘上,就会有很高的时延,因为我们没有办法很好地预测一个点的下一步会决定往哪边遍历。


为了解决这个问题,有几个主要的优化手段。一个就是不要像SQL里,同一个实体需要在不同的表里面查找,更多的是直接把一个点上所有相关的信息组织在一起。所以只需查找一次,就能索引到其中的一个实体。另一个方法是,我们要尽可能多的把数据放在内存里,这样随机存取的性能会提高很多。


我们在做图遍历时,如果是单机系统,利用广度优先算法BFS或者深度优先算法DFS都可以。但如果是分布式系统,由于不能跨机器执行单机算法,所以我们需要用消息传递(Message passing)实现图遍历的功能。

图数据模型下对应的查询语言和传统的SQL查询语言会有一些不一样。传统上,如果在多个表里查询数据,我们会用联结操作(join operator)把数据连在一起。但是在图查询语言里,我们更多的是直接从一个点遍历到它的邻居,再从中筛选出符合条件的数据,做操作。


此外,在图查询语言里还可以使用一些特殊的操作符。比如,给定两个点,然后可以查询数据库,找两点之间的最短距离。我们还可以做一些特殊的便利操作,比如从一个点走出去,走过一个三角形,又回到这个点,这样就可以找到这个点周围的所有三角形。以及,告诉系统一直沿着某个条件走下去,就好像正则表达式一样,直到遇到一个停止条件才停下来,我们把这个叫做“闭包”操作。

接下来我们看一个“闭包”的具体例子。假设Karl是部门的大老板,他会管理一些中层干部,这些中层干部会管理一些基层员工;而基层员工可能会在做一些项目,他们需要直接向Karl汇报。现在在Karl管理的部门中,要找到所有向Kark直接汇报的人,应该怎么找?


这里的问题是,我们不能确定管理的链条有多长。因为可能是A管着B、B管着C、C管着D,D又向H报告。如果用SQL,就需要把所有的两跳、三跳、四跳以及等等的操作都做一遍,最后再把结果综合。但是在图里面,由于有“闭包”操作,所以我们可以从Karl这个点出发,沿着管理这条路线走,这样走下去一定是报告和管理的关系,而终止条件是找到一个点,它不再管理其他人,或者是它连回了一条边,比如Karl这条报告的边。

刚才介绍了内存中系统以及Graph model怎么为数据建模,并且简单介绍了图数据库上的查询语句以及它是怎么做计算的。将这些内容结合,我们做了一个系统,就是Graph Engine,用于处理以上工作。


这里有一个系统结构示意图,中间这个三角形是系统的基础架构。最底层是一个内存中的键值存储器(Key-Value stores),以及计算引擎。计算引擎在不同机器之间会传递消息,并且一个机器可以调用另一个机器上某一类消息的响应代码(Handler)。在这种架构上构建图模型层(Graph Model),用户就可以利用图模型层的抽象,做自己的应用。所以Graph Engine系统不仅可以进行图数据的处理,由于它是分布式的,所以存储管理(Memory management)做的也相对较好,可扩展性(Scalability)也比较好。此外它还具有一定的通用性,不仅是图上的计算,还可以用于其他的应用。比如可以简单的把它用作键值存储器,简单的定义数据结构,当成Redis去用。

在系统最底层, RAM store本质上也是一个键值存储器,使用64位整数做Key,Value是任意的一个值。每个机器上有一个本地的RAM Store,不同的机器之间,给定一个Key之后,通过对这个Key进行Hash,可以判断当前的实体,即Cell ID对应的Value是在哪个机器上。这是一种叫Share-nothing的配置方法。当然这是一个可配置的(Configurable)方案,但是默认情况下,它是一个Share-nothing的结构。


拿到一个Key,首先判断它在哪个机器上,如果我们要访问对象,就把这个消息发到那个机器上,机器访问自己的本地内存数据。一个内存存储(Memory store)可以分成很多不同的块(Memory Trunk),里面有一套内存管理系统,所以我们最终可以定位到每一个对象所对应的内存区域。


讲到这儿大家可能会有一个疑问。刚才说,如果把数据按照Blob二进制存的话会有些限制,可现在不还是把数据扔到一个内存块里面,存储为byte数组么?那接下来就讲讲我们是怎么处理这个问题的。

在Graph Engine系统中,我们使用Trinity Specification Language语言,即TSL,来完成以下三种功能。第一个,做数据建模,虽然存储时存成的是一个Blob,但实际上我们有它的数据模式(Schema),并且可以由用户指定,而不是用一些简单的自带数据结构。第二,在做Message passing时,如果期望得到某一种格式的回复,我们可以用TSL来定义消息传递格式。第三,系统和其他外部系统之间需要交互,比如要从C#里传递一个东西,放到Python里,我们也可以通过TSL来进行数据交换,我们可以提供一种标准,作为数据的中间格式。


这里有两个TSL的例子,可以看到TSL和C族语言非常像。首先,看一下图模型的定义,我们用Cell关键字,指明定义的结构体是一种实体——实际上一个cell就是一个Key对应的一个Value,它有自己的内部结构。比如Movie里有电影名字,主演等。同样的,根据演员名字,我们可以得出这个人演了哪些电影。


我们可以在实体的 Cell Type以及它的Filed上加一些属性,用于和系统的其他模块进行交互。在Message Passing里,实际上是一个类似的结构,我们可以定义一个结构,一个cell也可以包含一个结构,不过这个结构体还可以额外用来做Message Passing。


定义结构后,接下来,我们定义了一个通信协议,协议说,发送消息是同步消息,消息发出后,我期待对方处理完返回的还是一个My Message。

定义好TSL后,会有一个TSL编译器,根据用户定义的Cell Struct以及其他定义结构,生成一些对Cell操作的存取器(Accessor)。比如这里的UseMyCellAccesor,这个API不是系统本来提供的,而是Graph Engine的程序集(Assembly)加上用户的TSL生成出的程序集然后再综合生成的一个API。


这个API的使用方法和Struct类似,可以直接操作里面的ID,也可以认为里面Links是个List,直接分配给List一些值。但实际上我们并没有分配一个运行时的List,我们会把操作翻译成对当前Cell对应的内存的操作。也就是说键值存储器负责最基本的给出内存空间。然后生成的代码负责处理用户如何分配数据,系统应该如何理解数据。


这样一来,我们可以用像Struct一样简单的接口,利用Accessor,操作一个虚拟的概念。我们只提供了对操作的描述,具体的执行则是翻译成了低层对内存直接的操作。这样既能保证用户接口的友好性,工作效率也可以做得非常高。


另外,这也是Graph Engine与其他系统一个很显著的区别,系统不仅可以对里面所存的实体进行类型定义,也可以有它自己的结构,甚至这个结构是分层的,因为一个Cell也可以包含其他的Struct。另一方面,由于拥有Accessor这套系统,因此,它可以直接在RAM Store里就地操作数据,从而相应地提高效率。

与此类似的,在用TSL做Message Passing过程中,我们从上图的左上角看起,客户端先初始化了一个请求服务器。在客户端,Graph Engine只负责分配缓冲区(Buffer),然后生成的API就会有Data Accsesor告诉我们如何往缓冲中填充数据,甚至可以直接把RAM Store中的一些数据取出,再通过Accesor传给服务器。在服务器这边,我们有一个IOCP的线程池(Thread Pool),或者在Linux系统中,我们用的是一个事件库。


并且我们还定义了协议(Protocol),每一个协议会对应一个Handler,代表服务器收到该协议的消息后应该做什么动作。我们把这个东西存成一个地址向量,在客户端来了一个请求后,系统通过向量跳转到一个Handler里去执行。执行完成后,根据消息是同步还是异步,可以做一个选择。如果同步,客户端会进行block,直到服务器处理完这个消息,并返回处理结果。


我们注意到,客户端发送的请求ReqWriter以及服务器返回的RspReader,其实都是由TSL编译器生成的。不仅如此,在一个消息到达服务器之后,它有一个调度(Dispatch)的过程,需要把消息翻译成一种数据结构,这里我们可以直接用Data Accessor去读取缓冲器中的内容。所有的辅助过程,包括Handler的抽象接口,都是由TSL Compiler生成的。我们设计系统的目标就是让消息传递(Remote Message Passing)变得尽量简单,就像在本地写GUI程序一样。


关于系统底层的实现细节就先介绍到这里。下面来看一个具体的例子——做一个Twitter的“爬虫”。Twitter本身提供了一组Streaming API,订阅后会不停地给你推送最新的消息。


我们可以在Graph Engine上加一个Message Handler,每次Twitter来了一条新的消息,我们就向这个消息协议转发,这个协议(Protocol)可以是同步、异步,或者是内部的协议,也可以是HTTP的协议,所以和其他语言非常好交互。

我们可以用这个做什么事情呢?当一条推文来了之后,我们可以把它放到Graph Engine里。在消息处理器中找到这条推文应该存的地方,比如,哪个用户发的,提到了哪些人等等。在做这件事情的同时,实体间的关系就建立起来了,因为一个用户发了一个推文,会有一个关系连到一条边,如果推文里提到了其他人,那么系统就不仅是存下了这条信息,还可以把所有关系都实时建立起来。


不仅如此,在不停更新数据的同时,我们还可以在上面跑一些计算,记在数据库里,并进行一些查询。

这里是一个简化的Twitter 图模型,里面有两种实体,一种是用户、一种是推文,我们用边把它们连起来,发现用户可能被其他的推文提到过。与此同时,关于推文的定义,它里面有一个单独的边,指向发推文的用户,并且把文本内容作为一个属性,附在这个点上。

比如,我写好了一个Python的Twitter“爬虫“,调用了官方接口,就可以去监测Twitter中的事件,那么怎么交互呢?在Graph Engine里面定义一个协议(Protocol),标出期望的请求是一个Tweet Message,这里面就包含了用户、时间戳、文本内容。因为这是一个事件定义,文本内容里可能是它发出的一个推文。在指定协议为HTTP后,Graph Engine启动时候就会监测一个HTTP的协议,然后我们就可以在Python里直接把数据传送到Graph Engine。

上图可以看到Post Tweet Handler的具体实现。首先从Python方来了一个请求,我们收到了一个推文消息,然后就可以实时在Handler里用正则表达式看有没有提到用户名的部分。如果有,就抽取出来,变成User ID,然后填充相应的关系。以及在此之后,我们会把当前推文存到系统里面。因为Handler不是单线程的调用,系统有一个thread Pool,所以这样的操作可以在一个Handler里实时完成。

更进一步,在不停的接收(Ingest)数据的同时,还可以定义另外一个协议。现在如果要做全文索引,就可以看到定义了协议后域名下就会多出一个SearchTweet的地址,如果用一个Python代码去访问这个地址,就会触发SearchTweetHandler。这里可以使用LINQ语法,localstorage代表要用自己机器上的RAM Store。后面的Selector是说一但使用Tweet_AccessorSelector,就会把所有推文全部选出来,再之后就可以用“where”做过滤(filtering)。比如,文本里有请求的查询内容,满足条件我们就做一个投影(projection),取出Cell ID,然后我们就拿到了所有符合搜索的推文。


那么问题也来了。Schema是用户自定义的,这里可能包含任何东西,在这种情况下,如何设计一个标准的图模型层?为此,我们采取了一个方案,就是把整个系统做成一个模块化系统(Module System),每一个模块可以提供一个泛型算法(Generic Algorithms),它不和某个具体数据绑定,而是根据某种元规则执行算法,类似C 里面模板库做的事情。


只要泛型算法对于一个数据的观点、看法和用户对于数据的看法一致,那么就可以说用户数据的schema和某个泛型算法是兼容的,进而用户就可以实现一个通用的图模型来完成一些他不方便自己实现的功能。


具体来讲,回到刚才的Tweet Graph上,我们有用户和推文两种实体。我们的目标是要把查询语言,就是LIKQ,应用到Tweet Graph,在Tweet Graph上实现图的查询。问题是现在的Schema里只有List<long>,系统不可能见到List<long>就认为它是一个边,然后去遍历,因为这个Long可能还有别的意思,这样是不现实的。

为了解决这个不匹配问题,我们可以加一些属性。这里的属性是TSL里面的,和C#里是不一样的,可以理解成是一个字符串,我们把字符串的标签(tag)打在了一个实体或者field上。这里打的标签叫做“ GraphEdge”,这样就指定了,它是图里面的边。这就回到了刚才所讨论的,数据和泛型算法对于一个属性有没有统一的认识。比如,如果查询语言觉得GraphEdge是边的意思,那么它就会采取一个方案。如果是一个算法的模块调用一个具体的名字,如遍历判断当前是不是一个用户。如果是用户就从Tweets mentioned_by走过去,那这样就不是泛型算法,因为它引用(reference)一个具体的数据。


为了避免这种情况,我们允许泛型算法直接通过属性,找到一个实体中所有符合属性的部分。它可以请求系统,去当前的实体里寻找所有有GraphEdge标志的部分,并且目标是想从这里面提取出长整型。所以不管你的Graph Engine是List<long>,还是单独的Long,甚至是一个Int,更有甚者,这里存的是个String,都可以通过我们系统的Graph Model中间层,然后尽可能的枚举(Enumerate)出长整型来,使得用户数据和系统的泛型算法间可以联系在一起。


接下来我们看一下具体的图查询语言,即LIKQ 。LIKQ是一个直接可以嵌入编程语言的查询语言,它和LINQ很像,都有一个很流畅的语法,可以直接写在编程语言里。


这里的例子是一个知识图谱,StartFrom这个点,指定一个查询条件,名字叫“比尔盖茨”,从这个点FollowEdge,就说从人这个点走到他的职业,然后再从FollowEdge走到people_profession_people_with_this_profession,就找到了和他相同职业的所有人。


我们不仅可以简单从每条边走出去,同时可以在一个点上时时的添加一些查询条件,方法是给这个点传入一个Lambda表达式,每当遍历的框架遇到这个点,比如走到第三跳时,就会动态执行这个Lambda表达式。


比如这里的例子是找和比尔盖茨相同职业的,会说三种以上语言的人。如果找到了,系统就保存当前路径(Path),否则就终止当前的搜索。


Lambda表达式具有非常灵活的查询(Query)特性,不仅可以调用Count>3,用户甚至可以预先把自己的一些功能注册到LIKQ模块里,只要服务器配置正确且加载了程序集(assembly),客户端就可以直接调用这个接口,调用服务器上预先存好的逻辑,而不用把整个逻辑全部写到Query里面。


LIKQ语言是一种线性遍历语言,所有的查询动作都是图的遍历(Graph Traversal)。比如Tweet Graph中,指定从Graph Engine出发(即Twitter上我们的帐号),从mentioned_by找到所有提到我们的人,不做任何过滤,一旦到达那个点之后,就执行下一跳,走的边是用户。也就是说从Graph Engine mentioned_by出发,找到了一个用户,即有一个用户提到了我们,走到这个用户后继续往前走,找到他们所发的那些推文。


这样一来,一旦到达某个推文之后,不加任何限制条件的时候系统会Action.Return。也就是说,由于它是一个线性的查询语言,因此每个查询表达式对应在图遍历中的一条路径上所有的限制条件,即它的限制条件都是从Graph Engine出发然后到一个用户再到一个推文。所以它只是限定了跳数,以及每一步从什么边跳出去。到达推文之后,它会无条件的把当前路径当成结果的一部分返回,然后做一些投影,把推文里的文本选择出来。这就是LIKQ图数据查询语言的一些简单例子。

看完这篇文章有没有收获很大?还想了解更多相关问题么?快来下方评论区提问吧!


 

微软AI发布会,集齐六大亮点召唤黑科技!

$
0
0

7月12日,微软合作伙伴大会Inspire在华盛顿特区如火如荼地举行。同一天,在相隔5个时区的伦敦,微软还举办了一场关于人工智能的发布会。这是一场智能技术和情感体验两相交融的科技盛宴,既有黑科技,也有让你为之动容的人文关怀。听说你错过了发布会?精彩内容继续回放,集齐六大亮点召唤神龙啦!


1、成立微软研究院人工智能中心(MSR AI)

​微软宣布成立微软研究院人工智能中心,聚焦于解决最复杂的人工智能挑战。团队拥有100多名来自人工智能各个研究子领域的科学家和工程师,包括认知、学习、推理以及自然语言处理,在迎战技术难题的同时,致力于加速将最新的人工智能研究成果转化为产品与服务,让技术尽快为客户和社会造福。新研究中心将追求理论和实践的双重创新,投资包括计算基础以及加速人工智能应用进程的多个项目。微软希望通过成立该中心,凝聚不同领域研究人员的内在力量,合力解决人工智能最复杂的挑战,开发出具有更多用途的学习系统。

2、全新人工智能设计指南


怀抱让所有人充分利用人工智能便利的美好愿景,微软正在努力探索人工智能的设计原则及产品研发道德设计指南。人工智能设计原则的出现将不仅帮助研究人员梳理开发思路、整合开发资源,充分考虑到不同人群的差异化需求,扩大人工智能产品的包容性和应用范围;同时,伦理和道德因素的加入将更好地弥合人类和AI技术二者在情感和智力上的差距,智能和情感的融合能够极大地增强人类的创新力量。


3、“地球计划”:用AI解决环境问题

​面对全球范围内迫在眉睫的环境问题,微软宣布进行“地球人工智能计划”,旨在为环保人士提供技术帮助,以解决世界上最棘手的环境问题,为全人类构建健康可持续发展的未来。该计划将使非政府组织及其它环保团体能够充分利用人工智能工具、服务和技术支持,从而更加高效地解决与水、农业、气候变化和生物多样性相关的问题。微软宣布,明年将向“地球计划”投资超过200万美元用以解决类似环境问题,充分提供微软云计算资源及智能计算资源,同时积极参与技术培训课程和灯塔项目。


4、Seeing AI:计算机视觉的温情演绎

一年前,一款致力于帮助视障人士的智能应用原型“Seeing AI”温情亮相,产品背后的开发理念和价值观感人无数。该研究项目专为盲人和低视力群体而设计,利用人工智能的力量帮助他们开辟视觉世界,为它们描述附近的人物、文字和对象。这是真正能够对盲人群体产生重要意义的发明,有助于为视障人士营造更公平的环境。目前,“Seeing AI”已经登陆全球多地的iOS应用商店,扫描二维码了解更多信息。



5、微软认知服务家族又添新成员

微软认知服务让开发者能够在其应用中轻松添加智能功能,如情绪和情感检测、视觉和语音识别、知识、搜索以及语言理解等。在本次AI发布会上,微软认知服务发布了一系列更新,包括一个全新的必应实体搜索应用编程接口(Bing Entity Search API)、Project Prague手势软件开发套件以及基于Microsoft Translator API开发的Presentation Translator。Presentation Translator是一个PowerPoint的插件,它可以让演示者将10种语言的语音输入,翻译成60多种语言的文字字幕。


6、产品应用场景:AI多领域渗透生活

CochraneTransform 项目的研究人员使用AI和机器学习技术分析挖掘繁琐复杂的文本报告,释放专家评审人员的时间精力以应用于更专业的分析


在活动中,微软以旗下几款人工智能产品为例列举了一些代表性应用场景,涵盖医疗、旅行、泛娱乐、商务等多个领域。例如,医生在拥有大量临床试验数据的基础上,通过科学研究能够增强自己的临床经验,并为患者选择最佳治疗方案;项目研究人员使用AI和机器学习记录繁琐复杂的报告,释放专家评审人员的时间精力以应用于专业分析;用户利用AI可以快速了解视频中发生的所有事情,对视频价值进行最大化开发。所有这一切表明人工智能有充分理由且有能力渗透到人类生活的方方面面,人工智能遍地生花已是不远的将来。


正如微软全球执行副总裁,微软人工智能及微软研究事业部负责人沈向洋在会上重申的,微软的人工智能愿景是希望坚持以人为核心,通过那些能够认知、理解并与人互动的智能技术来提升人类的创造力,并让这些技术与人一起,帮助我们解决社会上一些最根本性挑战。


看过这六大亮点,你最喜欢哪一个?欢迎给我们留言。



你也许还想看:


微软沈向洋:以人工智能服务人类社会,微软责无旁贷

● 微软推出演讲实时翻译字幕功能 Presentation Translator

● 媒体 | 洪小文:AI绝非无所不能,要想进步需关注基础研究


 

机器学习六步曲——“小马医生”养成记

$
0
0

编者按:近年来,机器学习和大数据领域的突破进展使人工智能急速回温,训练计算机模拟甚至实现人类的学习行为则是目前人工智能领域最受关注的研究课题之一。很多人都难以想象,看似冷冰冰的机器如何能在短时间内学得一身本领的?其实,培养计算机具有一定的专业能力与培养一个专业人才的过程具有很多相似性。微软亚洲研究院资深研究员闫峻博士撰写本文,通过“小马医生”成长的例子,带你破解机器学习的神秘过程。



计算神器,天资超凡


老马有一个小儿子叫小马,他非常可爱,且拥有超乎常人的记忆力,基本过目不忘。小马的算数能力同样惊人,各种加减乘除,非一般儿童可比。经过儿时的培养和精心呵护,老马惊喜地发现自己的孩子还耳聪目明,听写考试成绩永远名列前茅,对所看到事物的辨识力也十分了得。老马总是骄傲地和朋友们说:“我的孩子是个小天才,小小年纪已经学会好几种语言了,我们全家出国旅游,他都可以当个小翻译了。”就在前几天学校的下棋比赛上,小马轻轻松松拿了第一名。于是,老马决定,要好好培养这个孩子。


机器学习小课堂

计算机与人类相比有很多先天的优势。比如记忆能力、基本运算的速度等方面都是正常人类所无法比拟的。随着人工智能技术的发展,计算机在感知计算如语音识别、图像识别等领域的能力也已经开始赶超人类。在基于大数据的机器翻译,以及基于搜索算法与增强学习的棋类竞技上,计算机也表现出了强有力的竞争力。于是,人们期望计算机能做的更多、更好。虽然计算机有先天的优势,但自身仍有不足。在努力了解计算机并帮助这个 “天才儿童” 成长的过程中,我们是否可以利用一个或多个具体的应用领域来更好地认识“他”并更有效地挖掘“他”的潜力呢?因此,我们计划从一个小目标开始,看看计算机能不能成为一名称职的人类医生助手,甚至未来是成为一名医生。


知识工程,美中不足


小马果然没有辜负家人的期望,以优异的成绩考入了全国知名的医学院。在学校里,小马认真阅读了大量书籍和文献,知识积累越来越丰富。眼看大学就要毕业了,小马被派到一所知名医院进行实习。凭借自己的知识积累,小马决定一展身手。可是当小马到了医院见到了形形色色的患者后,他发现书本里学到的知识有点不太够用。患者对症状的含糊描述让他不知所措。而且很多患者的现实情况和书本里讲的经常不太一样,总是多出或缺少几个他没见过的特殊症状表现,所以小马没办法用他在学校里学到的知识严谨的推理出合理的结论给患者。这让小马感觉挫败,他觉得自己的知识零散,不灵活,于是他决定回到学校继续读研深造。




读研期间,小马勤学好问,把他遇到过的、不知道如何解决的问题归纳总结起来,向导师询问,学习到了很多书本里学不到的新知识。他意识到:要成为一名好医生,不能光靠书本知识,经验也很重要。研究生毕业后,小马如愿以偿加入到他实习时的这家知名医院成为了一名医生,并开始积累他的临床经验。


机器学习小课堂

知识工程是早期人工智能技术关注的焦点。知识的提取、知识的表示与推理曾被认为是人工智能的基础。但在应用的过程中,人们逐渐发现高质量专业知识抽取的成本很高,也很难做到完备,知识的表示也很难做到易用的语义层面,这一切都给知识推理带来了巨大的挑战。这些挑战所带来的后果就是人们发现在很多应用领域单纯依赖于知识工程的方法成本高,也难以达到预期的效果。因此,人们开始对知识工程产生质疑,甚至对人工智能产生质疑。



另一方面,随着统计机器学习的发展以及计算机对大数据处理能力的提高,人们开始重新解读人工智能。虽然知识工程遇到了很多问题,但大批科学家还是坚信计算机的智能不能单纯依靠统计学习,它离不开前人知识的总结。在微软亚洲研究院,针对知识图谱的建立,我们研究了一系列知识挖掘工具,并定义为Knowledge Mining API。针对知识的语义表示,我们研究并开放了 Microsoft Concept Graph等能够在语义层面表达知识的方法。所有的这些努力都是为了以更低的成本建立更完备、更易于计算的知识图谱来“武装”我们的计算机


统计学习,返璞归真

小马的勤奋让人动容,除了每天出诊,他还阅读了大量科室内之前的治疗记录,他的学习速度让其他医生望尘莫及。经过一段时间的拼搏,小马已经是一名颇有经验的医生了。对于患者的诊断,他有了自己的心得甚至可以称之为感觉。很多时候小马像条件反射一样,凭感觉就能快速给出判断和治疗方案,一般的患者小马都能轻松诊断。慢慢地,小马觉得他已经不需要按照医学院里学的那些条条框框工作了,他的经验和直觉足以应对。


然而有一天,科里发生了一起医疗事故:有一位资深医生根据自己经验治疗的一名患者出了问题,“人走了”,患者家属要打官司。于是医院决定,再有经验的医生在诊断之后也要有理有据,可以给出诊断理由。



这件事对小马触动很大,他成为科室里第一个做出快速反应的人。因为小马在学校里学习的知识很有逻辑性,所以他很快地把自己的经验和之前的知识做了研究,找出了其中的核心联系。同时,令人惊喜的是,小马发现,当他的理性知识结合他的感性经验后所做出的诊疗结果比以前更加有效,这也让他加速成为了一名令人信服的专家医生。同时,他的经验也给书本知识进行了很大的补充。这些收获让小马思考了一个新的问题:“我从事了这么久的临床治疗,获得了一些书本里没有的经验,这本身就是一种创新。除了把它们总结下来,我能不能有更大的创新来推动医学的进步呢?”


机器学习小课堂

基于大量数据的统计机器学习包括深度学习,近年异军突起,尤其是深度学习。由于对复杂非线性模型的逼近能力与对数据的自适应能力,因此深度学习在很多应用领域表现优异,在很多应用中深度学习得出的结论甚至可以与人类专家的决策相媲美。但人们也陆续发现了一些深度学习的不足之处——一个突出的问题就是完全参数化模型导致的结果具有不可解释性。另外,很多科学家还在想的一个问题是,既然人类的进步总是站在前人的肩膀上,那么机器学习为什么一定要从零开始,是否可以把前人的经验和知识利用起来,融入到机器学习的过程中?于是,知识工程与统计机器学习的结合引起了越来越多的关注。


目前针对知识与统计机器学习结合的相关研究主要集中在把知识表示为统计学习目标函数的归一化项或把知识当作输入数据表示的扩展。当然还有一些更加简单粗暴的方式,如多个不同独立模型加权后的共同决策、知识图谱当作统计学习的后处理过滤器等等。各种早期尝试都让我们看到了二者结合带来的进步,但目前还没有显著的帮助。这个方向是我们当前研究的一个重点。


创新野心,假设求证


人人都在谈创新,可创新谈何容易,该从何下手呢?忽然,小马想起了读研时导师对他所选择课题的建议“大胆假设,小心求证”。对,创新的方式很多,就从“大胆假设,小心求证”开始,小马决定。“以前学到的知识可以让我进行理性地推理,积累的经验可以让我进行感性地决策。二者的结合让我成为了一名专家医生。创新要基于我的知识和经验,但不能局限于此,一定要有所超越!”小马心里想到。


于是小马在各种病症与诊断用药之间寻找联系,基于他的知识和经验寻找新的可能性。小马常问自己的一句话是“这个病人为什么不能那样治呢?”当提出这样的问题后,小马查找大量资料,寻找临床证据,当证据相对充分时,他便提出临床实验请求。终于功夫不负有心人,小马一个大胆的假设被多个病例所验证。因为此事,小马成了院里知名的具有极强科研能力的专家医生。这一切,也让小马的父亲倍感骄傲。




再来谈谈老马。老马是一名大学教授,主攻计算机领域的机器学习理论。有一次,老马对小马说:“孩子,爸爸的算法研究在应用时就像在治病,具体问题是病,算法就是药,药没有万能的,算法也一样。”小马无意间想到了和父亲的那次谈话,他突然意识到,现在各个领域都在讲跨界是有道理的,“我们行医也可以借鉴一些其他领域的知识,触类旁通可以得到更多的灵感来激发我的创造力。”



机器学习小课堂

无论是知识工程还是统计机器学习,如今人们开始愿意相信计算机的理性推理和感性决策能力。但即使二者结合,人们还是无法预期计算机是否将会具有创新能力。想想人类的创新,很多情况是基于两点:一是灵感,这是具有很强随机性的东西;另一个是联想,就是触类旁通。关于灵感,人类的很多创新灵感是在理性推理与感性认知后的一种假设检验,即先想到“能不能这样”,然后再去求证。那么计算机是否可以模拟这一过程呢?


由于灵感即假设的某些随机性,我们开始重新关注近期并没有被重视的随机算法。比如遗传算法,可以通过数据向量基因表示的遗传变异得到一些新的假设,然后利用大数据搜索技术寻证。由于计算机的超强记忆与快速搜索能力,这条路是否可以让计算机具有一定的创新力?从另一个角度来看,这种假设检验的思路也是对现有大部分统计学习和知识推理的一种有效补充。


统计学习是基于大数据的,也就是说,可以从大量数据中学到统计规律。知识图谱的建立往往也是基于大数据的,那么能解决的问题也就主要集中在数据分布的前端,往往忽略了长尾。比如,有一个罕见疾病在不经意间被某些治疗手段治好了,但这种案例很少,也容易被人忽视,那么大数据观点是很难建立出相应的模型和知识图谱的。但如果通过假设检验的方式,一旦假设被建立,检验过程就是去寻找相应的证据,哪怕相关数据量很小,也可能被捕捉。所以,我们的一个长线研究课题就是这种基于假设检验的机器“创新”。


跨界人才,触类旁通


小马从小爱好广泛,历史、地理、物理、化学样样精通。然而,小马以前的这些知识所在领域分散,看起来相互之间好像没有什么关联。但自从在和父亲的谈话中意识到跨领域思考可以触类旁通的道理以后,小马遇到各种事情都会想一想:是否在其它问题中学习到的道理可以被应用。


果然,在一次诊疗过程中,小马发现病人所面临的情况和治理城市污染的道理相似。表面上看到各个排污企业都安装了环保设备,但因为使用成本过高,很多企业没有真正投入使用,所以污染依旧。同样的道理,这个病人虽然使用了看上去最好的药物,但这些药物会消耗正常细胞,导致身体抵抗力下降,所以身体可能会出于本能主动阻止药物发挥应有的作用。



于是,小马果断调整了治疗方案,让病人获得了更好的疗效。同时,在和病人沟通的过程中小马发现很多患者听不懂他关于病情的解释,但如果根据患者的知识背景用一些比喻的方式解释,患者很快就会接受诊疗建议。小马想到,这同样也是运用一个领域的知识来解释另一个领域的问题,只要道理是一样的。


从此以后,小马养成了一个习惯,就是遇到任何问题都会联想到他在生活、学习和工作中遇到的其他领域可以触类旁通的情景。很快,小马的诊疗技术进一步突飞猛进,也越来越受患者的喜爱。 


机器学习小课堂

人类的很多创新来自联想。另外,人的举一反三地能力也不同程度地依赖于联想。联想是什么?从我们研究的观点看,可以片面理解为从某个未被解决的具体问题搜索到已被解决或已被部分解决的类似问题,这个类似问题的解决方案或背后隐藏的道理可以被应用来解决当前问题。这种联想往往是跨领域的。


回到当前研究的热点领域,在统计机器学习中,transfer of learning(迁移学习)就是一种机器通过联想解决问题的途径。从知识图谱的角度看,要实现机器的联想能力,首先要建立一个跨领域的知识图谱。现今所有常见的知识图谱一般都不会为“父亲”和“大山”建立关系,也不会为“生活”与“巧克力”建立关系。但在人类的常识体系中,他们是有一定联系的,也是经常会被人们联想到的。当前,我们研究的一个早期尝试,就是建立这种跨领域的知识关系图谱,以此赋予机器一定的联想能力。


情感注入,人性沟通


小马在事业上的一帆风顺并不能掩盖他自身的一些问题。由于名气越来越大,找他看病的患者也越来越多,他发现自己很多时候对患者没那么有耐心。很多患者反映:和小马医生交流时,他总是面无表情,语言生硬。小马的一个很大优点就是发现问题尽量马上解决,他意识到,除了给患者治好病,还要让患者满意。




于是,他开始学习各种沟通技巧。慢慢地,小马能够从与患者的沟通中体会患者的心理需求,能够体会患者的喜怒哀乐,并能察言观色给患者体贴的呵护与治疗。他还开始主动关心每一位患者,并提出个性化的建议。不仅治病,小马还会给出防病、养生的建议。此后,小马成为了一名真正受欢迎并具有创造力的医学专家。


机器学习小课堂

在关注计算机硬能力的同时,为了更好地让机器与人类沟通并服务于人类,我们也要关注计算机的软能力。这包括用户个性化建模的能力、情感理解与表达的能力等等。我们关注的另一个重点是主动模型与被动模型的区别。目前我们建立的很多计算机服务都是被动模型,也就是说以有求必应为目标。但很多情况下主动地提醒、建议在很多实际应用中是非常必要的。然而主动模型的度很难把握,多了会烦、少了会想。因此,关于主动模型的研究也是我们当前研究的一部分。



时代人才,综合素质


小马的成功不是偶然的,其中付出了巨大的努力。他天资聪慧,具有某些如记忆、算数天分这样的超常能力,经过培养后感知能力超群,无论听还是看。他勤奋好学,对书本有很强的学习能力,并快速建立了自己的知识体系。他学习迅速,可以快速从大量案例中积累经验。更了不起的是,他能很好地把经验和书本知识相结合。


之前一直有亲戚担心小马天资过于聪慧。“上帝给了你超群的能力,为你开了很多门,就会给你关上几扇窗。你的创造力可能不如别人,可能没那么强的联想能力,也可能会自闭,和别人的沟通可能会出问题”,各种质疑曾经频繁出现,但小马一次次证明了自己。他比别人更细心,这让他的大胆假设更容易被验证,这就赋予了他超乎常人的创造力。通过知识体系的建立,小马拥有自己超群的联想能力。而他的细致让他更容易察言观色每一个人,也赋予了他更强的情感沟通能力。在这样一个日新月异的时代中,小马的综合素质能够使他脱颖而出,成为最优秀的明日之星。



闫峻博士,微软亚洲研究院资深研究员。他的研究兴趣包括人工智能中的知识挖掘,基于知识的机器学习,文本处理技术,信息检索,互联网广告等并更加关注医疗健康领域的人工智能研究。至今为止,他的数十项研究成果被应用到微软的不同技术产品中,获取技术专利数十项,发表高质量学术论文70余篇。他是很多高质量学术会议的程序委员会成员及资深程序委员会成员, 并且是很多高质量期刊的审稿人。


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

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


 

大会聚焦|开源技术盛会LinuxCon首次来到中国,大咖齐聚关注业界动态

$
0
0

2017年6月19-20日,开源技术盛会LinuxCon ContainerCon CloudOpen(LC3)首次在中国举行。两天议程满满,包括 17 个主旨演讲、8 个分会场的 88 场技术报告和微软等公司的技术展览和动手实验。LinuxCon 吸引了众多国际国内互联网巨头、电信巨头和上千名业界人士参会,包括Linux创始人Linus Torvalds,大咖齐聚共同关注业界动态。



SDN/NFV:两大支柱构建未来网络


本次LC3 会议,探讨未来网络的构建,其中出现频率最高的关键词就是 SDN(软件定义网络) 和NFV(网络功能虚拟化) 。传统网络是个“黑盒子”,管理不够灵活,支持的网络规模不够大,网络状态的可见性和可调试性不足。随着云计算兴起的软件定义网络(SDN)和网络功能虚拟化(NFV)就致力于解决“黑盒”的问题。SDN 南向接口统一了纷杂的网络设备 API,北向接口则可以提供网络全局视图,方便集中运维。NFV 则是用软件来实现防火墙、负载均衡、虚拟网络隧道等网络功能(network function),使得网络功能更加灵活。


在会议上,云计算和5G 巨头纷纷指出使用 SDN 和 NFV 的新理由:异构网络需求的集中调度。不管是云服务,还是万物互联的 5G 电信网络,客户和应用的需求都千差万别,有的需要高带宽,有的需要低延迟,有的需要高稳定性。这就需要云计算平台和 5G 电信网络的基础架构能够在一张物理网络上支持多张虚拟网络,并为不同的虚拟网络提供不同的服务质量保证(QoS)。只有软件定义的网络管理、网络功能和网络调度才能灵活应对客户和应用的异构网络需求。


开放网络生态系统


随着SDN 和 NFV 在业界的广泛采用,生态和分享变得越来越重要,ONAP、ODL、OPNFV等网络管理、网络功能的开源项目受到众多企业关注。


快速增长的网络速度和Linux 网络协议栈处理能力之间的差距日渐明显,Linux 网络协议栈也存在延迟的不稳定性,多个技术报告提到使用 Intel DPDK、eBPF 等技术提高数据平面的吞吐量和延迟稳定性。Open vSwitch 开发组的报告中,特别提到用 P4 作为 CPU 和可编程交换机上统一的 SDN 编程语言,减轻用 C 语言开发 OVS 功能的负担。DPDK 开发组提出了基于 fd.io 的cryptodev 框架,使用 Intel QuickAssist 等硬件加速设备加速数据包加解密,利用异步和向量包处理实现了单机40 Gbps 线速的IPSec 网关。Azure云使用 SR-IOV 和 FPGA 加速,提供了单虚拟机25 Gbps 的网络吞吐量、比软件虚拟交换机低 10 倍的延迟。


大规模虚拟网络的SDN 控制器性能是业界共同关注的话题。例如阿里云一个数据中心超过 10 万台服务器,每秒上报一次 heartbeat;如果数据中心断电后电力恢复,10 万台交换机初始化配置需要多久;虚拟机迁移在不断发生,全部由 SDN 控制器处理负载过高。阿里云的解决方案是做配置缓存,每台服务器采用类似 ARP 的方式自学习网络配置,减轻 SDN 控制器的负载;使用 UDP、定制高性能 TCP 协议栈来加速 SDN 控制器。


虚拟网络层次众多,需要抽象和封装才能让人理解


SDN 控制器传统上是只负责config、provisioning,思科提出,还应该加入实时数据分析(例如硬件支持的数据包路径跟踪、统计和采样能力)、端到端的资源管理、基于身份的策略支持,使得开发者不必关心虚拟和物理网络的结构,而是可以直接指定应用的需求。阿里云也强调了虚拟网络的调试和运维能力,依赖 SDN 控制器实现了抓包的软件化、API 化,即上层输入用户和虚拟机信息,下层自动对相关数据包进行染色和镜像。


软件定义的概念不仅在网络,在存储领域也得到了实践。华为的 OpenSDS 把传统管理员视角的命令行配置 API 改进成统一、简单、表意的 YAML 配置文件,把依赖存储专业知识的非自动化配置改进成基于策略的自动化业务编排,并允许应用在云平台上体现差异化的高级特性。


Microservices:开发和管理的最灵活选择


传统基于脚本的软件安装部署容易导致复杂的依赖问题和不一致的运行环境,现代服务应当拆分为多个微服务(microservice)的组合。以Docker 为代表的容器(container)技术是微服务目前应用最广泛的载体。


Windows 支持的三种容器部署方式


容器是软件封装、部署、分发的一种工具。容器可以运行在Linux 内核命名空间里,可以运行在 CoreOS、Atomic等定制操作系统上,也可以运行在半虚拟化或全虚拟化的虚拟机里。Windows 系统也已经支持三种容器部署方式:基于 Linux 子系统的原生 Linux 容器、基于 Hyper-V 虚拟机的 Linux 容器、基于 Hyper-V 虚拟机的 Windows 容器。事实上,由于 EPT、SR-IOV 等硬件辅助虚拟化技术的成熟,基于虚拟机的容器带来的虚拟化开销是可以接受的,还提供了更好的隔离性。


虚拟机、容器、虚拟机内容器、Unikernel 的比较


除了容器,Unikernel也是部署微服务的一种高效方案。既然hypervisor已经提供了资源管理、调度和隔离,虚拟机里如果只运行一个任务,为什么还需要虚拟机里的内核呢?虚拟机里的应用可以直接通过一套library 访问 hypervisor。剑桥大学和Docker 社区联合开发的 MirageOS 就是用 OCaml编写的一套library OS,提供了clean-slate design的类型安全 API,支持 Xen、KVM 虚拟机和 x86、ARM 架构。对于较简单的微服务,Unikernel 更加高效;对于依赖关系较复杂的微服务,可以使用 LinuxKit 精简现有的容器。


容器技术栈


微服务带来的主要性能挑战是:微服务的粒度比传统的虚拟机小很多,容器的数量多、生命周期短。Red Hat 援引New Relic 的统计,46% 的容器只存活不到一个小时,25% 的容器甚至存活不到 5 分钟。Google 把绝大多数内部服务容器化、使用 Kubernetes 管理,每周需要新建 20 亿个容器,这意味着平均每秒新建 3000 多个容器,每个容器又需要 IP 地址,这对容器编排系统(orchestrator)和虚拟网络管理系统提出了可扩放性的挑战。此外,对于同样数量的物理服务器,容器的数量比虚拟机多一个数量级,给监控和日志分析带来了挑战。


将传统服务拆分为微服务、每个微服务部署为一台容器后,每台物理机上运行的容器数量多、容器间的通信频繁,容器的网络通信和容器之间的上下文切换都会成为性能瓶颈。Red Hat 提出了预创建容器的方法,维护一个容器池以分摊容器创建销毁的开销;在网络方面,容器间互联的overlay network需要用硬件加速MACVLAN、IPVLAN 等隧道协议和 IPSec、MACSec 等加密解密。在虚拟机网络中,通常使用 SR-IOV 把虚拟机暴露给物理网卡虚拟出的 VF 实现加速,然而容器的数量通常远远多于虚拟机,网卡无法虚拟出足够的 VF 给容器,而 Docker 默认使用的Linux bridge 吞吐量和延迟稳定性都不能满足要求,业界多使用 DPDK 等高性能数据平面来解决容器间的通信问题。


多种网络访问模型


容器中的应用程序访问网络的接口有DPDK、socket、定制协议栈等;容器间通信和汇聚的 overlay 层面有OVS、Linux bridge、SR-IOV 直通等;物理网卡的驱动程序又有多种。不同的网络访问模型在性能、灵活性、兼容性间有不同的折中,华为云网络实验室提出了 iCAN 容器网络框架,简化编程多种容器网络的数据通路、控制策略和服务质量要求,支持 flannel、OpenStack等多种容器网络编排器(orchestator)。


容器技术致力于微服务的可靠部署,从微服务源码到二进制的编译过程也是需要保证可靠性的,这就是可重现构建(reproducible build)。可重建构建采用输入校验和、有序编译过程、编译环境版本号一致、消除未初始化内存、伪装时间戳、清洗文件属性等技术保证生成的软件包是逐字节完全确定的。Debian 等发行版已经采用可重现构建技术。

GPU虚拟化:共享、安全、高效


LinusTorvalds(左)与Dirk Hohndel(右)进行访谈


Linux 和Git 的创始人、开源软件的精神领袖 Linus Torvalds 与VMWare VP Dirk Hohndel 的访谈是 LC3 大会的最大看点。Dirk 的一个问题是,如果你从今天开始,准备做什么项目。Linus 回答,他创造Linux 的时代,计算机硬件的编程比他童年时代变得容易了很多。Linus 自嘲自己不是一个硬件高手,因为总是把硬件弄坏。在今天,Linus 可能会考虑做 FPGA,如果对芯片设计感兴趣的话,因为 FPGA 的开发成本现在低了很多;或者 Raspberry Pi,可以做一些很酷的小东西。


在云和机器学习相结合的浪潮中,GPU 虚拟化和 GPU 容器的调度带来了新的技术挑战。GPU 可以通过 PCIepass-through 绑定到虚拟机内,Azure 等云服务就采用了这样的技术实现虚拟机的高效GPU 访问。当多个虚拟机需要共享 GPU 时,vSphere和 Xen 支持把一个物理 GPU 的核分割分配到多个虚拟机里,但是采用 hypervisor 虚拟设备转发的方式,性能较低。Intel的 GVT 和 NVIDIA的GPUvm 技术可以把一个 GPU 虚拟化成多个 vGPU,vGPU 可以被分配到不同的虚拟机里,以实现物理 GPU 的空间多路复用。为了实现 GPU 的分时多路复用,Intel 提出了 GPU 命名空间和控制组,容器内核的显卡驱动把各个容器的计算任务按照优先级和时间片调度到GPU 执行。


Intel GVT-gGPU 虚拟化技术


GPU 虚拟化是为了复用 GPU 解决多个小型的计算问题(一虚多),而一些大规模的计算问题需要多个 GPU,这就需要调度互联的 GPU 虚拟机或容器(多虚一)。GPU 之间可以通过 NVLink、PCIe或者GPUDirect RDMA 通信,比通过CPU 的网络协议栈通信高效得多。随之而来的挑战,在虚拟网络环境下谁来给 GPUDirect RDMA 的数据包做隧道封装和访问控制;如何在虚拟机和容器的调度算法中体现 GPU 通信的需求。


微软:与开源共舞


Azure 支持的开源软件


云计算平台也正在打破公司的界限,拥抱开源和开放技术。微软在主旨演讲中提到,Azure 公有云平台中国区超过60% 的虚拟机运行 Linux,全球 30% 的虚拟机运行 Linux,这个比例还在逐年增加。Azure 云从操作系统、容器编排服务到数据库、编程语言、运维框架、应用程序都全面支持开源。之前只能运行在 Windows 上的SQL Server、PowerShell 等也支持 Linux 了。与此同时,Windows 对开发者的友好程度也在与日俱增,例如 Linux 子系统使Linux 开发工具可以原生运行在 Windows 系统上、VisualStudio 与 Git 的集成、Hyper-V 对 Docker 容器的支持。


李博杰 个人介绍



李博杰,本科毕业于中国科学技术大学少年班学院,2014年加入中国科学技术大学与微软亚洲研究院的联合培养博士生项目,研究方向是数据中心网络和可重构硬件(FPGA)上的编程。


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

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



 

写影评、看图写诗、甚至生成视频,梅涛博士讲解视频理解的最新进展

$
0
0

​编者按:计算机视觉技术的突飞猛进和深度学习的发展不仅拓宽了图像领域的应用,同时也给互联网视频内容带来了新的可能性。数据显示,人们在视频上花费的时间是图片的2.6倍,越来越多的人正在主动成为视频内容的消费者,视频领域研究和应用大有可为。

7月9日,微软亚洲研究院资深研究员梅涛博士在CCF-GAIR 2017全球人工智能与机器人峰会上进行了主题为《Video Content 3C: Creation, Curation, Consumption》的演讲,即视频的创造、处理和消费,分享了多年来在视频研究领域的收获和心得。文章转载自微信公众号“AI科技评论”。


微软亚洲研究院资深研究员梅涛博士


为什么要以“视频内容”为主题做分享?


梅涛博士从三个方面讲了他为什么想和大家分享「视频内容」这个话题。首先视跟图像相比信息更丰富,处理起来也更富挑战性;其次,计算机视觉技术领域,如人脸识别,人体跟踪等研究的比较多,而互联网视频内容相对来说研究的比较少;最后,他说在十年前就开始做视频方面的研究,所有人都说视频是下一个风口,今天看来这个说法也是对的。


在传统的视觉理解的方法里,要做视觉问题基本上分三个步骤:


第一,理解一个物体,比如说识别一个桌子,首先要检测一个关键点(比如角、边、面等);

第二,人为设计一些特征来描述这些点的视觉属性;

第三,采用一些分类器将这些人为设计的特征作为输入进行分类和识别。


而现在的深度学习,尤其是在2012年开始以后:


图像理解的错误率在不断降低,深度神经网络也从最早的8层到20多层,到现在能达到152层。我们最新的工作也表明,视频理解的深度神经网络也可以从2015年3D CNN的11层做到现在的199层。


梅涛博士也在演讲中表示,视频内容的生命周期大致可以分为三个部分,即视频的创作、处理和消费:


Creation 创作

要讨论视频的创作,这里面涉及到一个基本概念,那就是视频的产生原理。“Video的产生是先把Video切成一个一个的镜头,可以看成是一个一个断码,然后每一个镜头再组合编成一个故事或场景,每一个镜头还可以再细成子镜头,每个子镜头可以用一个关键帧来代表。通过这种分层式结构可以把一段非线性的视频流像切分文章一样进行结构化,这种结构化是后面做视频处理和分析的基础。通过这种结构化将视频分解成不同的单元,就可以做视频的自动摘要,即将一段长视频自动剪辑为精彩的短视频,或将一段长视频用一些具有高度视觉代表性的关键帧表示。这些摘要使得用户对长视频的非线性快速浏览成为可能。”

梅涛博士表示,微软目前将视频摘要的技术用在了Bing的视频搜索里,现在全世界有八百万的Bing用户通过一种叫multi-thumb的技术,可以快速预览每一个视频搜索结果。


Curation 处理

当用户有了视频之后,研究者要做的事情是给视频片段打上标签,这样后面的搜索就可以基于标签搜到视频的内容里面去。“我们最近的工作可以对视频内容打上1000多个静态标签和超过500个以上的动作标签。我们设计的P3D(pseudo 3D resent)是专门为视频内容理解而精心设计的3D残差网络。”

做图像分析目前最好的深度神经网络是微软亚洲研究院在2015年提出的152层的残差网络(ResNet),目前最深可以做到1000层。但是在视频领域,专门为视频设计的最有效的3D CNN目前才11层。

为了解决这一问题,梅涛博士表示,团队最近借用ResNet的思想,将3D CNN的层数做到了199,识别率能在UCF 101数据集上比之前的3D CNN提高6到7个百分点。这一对视频进行自动标签的技术,将会被使用在微软的Azure云服务中。

实现了视频自动标签技术外,梅涛博士还阐述了团队“更进一步”的研究工作:用一段连贯通顺的自然语言,而不是孤立的单个标签,来描述一段视频内容。

“比如给定这段视频,我们能不能生成一句话来描述这个Video?以前我们说这个Video是一个舞蹈,现在可以告诉你这是一群人在跳一段什么舞蹈,这个技术就叫Video Captioning。这个技术使得自动生成视频的标题成为可能。”

微软亚洲研究院目前把这个技术用在了聊天机器人的自动评价功能里,例如微软小冰,当用户上传视频给小冰,它会夸赞对方。在这个技术上线一个月后,小冰在某视频网站上的粉丝数涨了60%。当然,小冰现在还可以根据图片内容写现代诗,将来我们希望小冰能够根据视频来写诗。

“我们也可以将Video进行编辑,加上滤镜,或是做风格的转换,把自然的Video变得非常卡通。Video中的人物分割出来可以放到另外一个虚拟的场景里面去。你可以想象,当两个人在异地谈恋爱的时候,我们能够给他一个房间,让他们在同一个房间里、在星空下、在安静湖面上的一艘小船上进行聊天。另外,我们也可以提供storytelling的服务,让原始的、没有经过任何编辑和处理的image、video集合变成一段非常吸引人的、有一定设计感和视觉感的故事,这段视频demo就是机器自动产生的效果。加上人工的处理,视频就可以变得更加时尚。”


Consumption 消费

视频的消费往往和广告紧密相关。梅涛提到,做Video广告有两个问题需要解决:第一个问题是广告到底放在Video的什么位置;第二个问题是选什么样的广告,这个广告跟你插入点的信息是不是相关,使得用户接受度更加好。

他们的解决方案是将Video进行分解,并计算出两种度量,一个是discontinuity,衡量一个广告插入点的故事情节是否连续;另一个是attractiveness,衡量一段原始视频的内容是否精彩。对这两种度量进行不同的组合就可以满足符合广告商(advertiser)或用户(viewer)的需求。

最后梅涛总结道,在做科研的人看来,AI也好,深度学习也好,落地都有很长的路要走。“虽然计算机视觉已经发展了50多年,虽然现在AI炒的很火热,但做科研和技术的,还是要脚踏实地去解决一个个的场景和一个个底层的基础难题。”


(以下为梅涛博士分享的精简版文字整理)

很高兴跟大家聊一下视频内容领域。为什么讲视频内容呢?有三个原因:第一个原因是视频跟图像相比更加深入,视频是信息领域的东西,研究视频是一个非常大的挑战。第二是大家在很多专场看到视觉领域,人脸、安防方面的进展,视频领域对大家来说是相对比较崭新的东西。第三是我本人在十年前做视频方面的研究,所有人都说视频是下一个风口,今天看来这个说法也是对的。



计算机视觉(CV)可以认为是人工智能的一个分支,1960年代CV的创始人之一Marvin Minsky说,“给计算机接上一个相机,计算机可以理解相机所看到的世界。”这是做CV人的一个梦想。到最近的50年,CV领域发展有很多成果,如果来总结一下,从视觉理解角度来看,要做视觉问题基本上分三个步骤:首先,理解一个东西,比如说识别一个桌子,我们要检测一些线条,一些拐角。第二,人为设计一些特征来描述所检测的特征。第三,设计一些分类器。这是我们2012年以前大家做CV的三个步骤。



大家可以从这个图中看到CV的一些进展,举几个例子,比如说这篇论文SIFT(Scaled Invariant Feature Transform)文,已经被引用55000次了。另外,如果大家做人脸识别就会知道,需要定位人脸的区域。我们2001年有一个方法是Boosting Cascade,做快速的人脸定位。到今天为止,虽然大家知道做人脸定位有很多深度学习的方法,但是这个方法依然是最先的必经的步骤之一。这个论文到目前为止已被引用了30000次,在学术界有一篇论文被引用超过10000次已经是相当了不起了。到了2012年以后,基本上所有人都在用深度学习,从Hinton的学生用AlexNet在ImageNet上面能得到近乎15%的错误率,从那开始,所有视觉的东西都在用CNN,代表性的有GoogLeNet,AlexNet等等,我们的任务也会越来越多,越来越有挑战,比如现在正在做的从图片中生成语言,不仅要在图片或视频中打上一些标签,还要把这些标签变成能用自然语言描述的一句话。



我们今天讲的是视频理解,如果从理解一个像素或理解一个图片或视频来说,可以把这个理解问题分成几个层次。最难的是需要理解图片或视频里面每个像素代表什么标签。再往上是我们关心每一个物体在什么位置、属于什么类别。第三部分是不关心这个物体在什么地方,你给我一图片或者视频,我就知道这个图片或者视频里面有什么标签。再往前走一步,比如说我给你一个图片,要求不仅要生成单独的标签,还要看你能不能生成一个非常自然的语言来描述这个图片。再往上,我给你一个图片,能不能给我一个故事,比如说现在机器能不能产生这样一个故事。



大家看一下这个图(见PPT),Image Classification(图像分类)从最早8层到20多层,到现在我们的152层。我们在微软做了很多工作,image里面有很多image recognition computational style transfer(图像识别计算的风格转换)等等。微软跟这个相关的产品有很多,比如说小冰不仅可以跟你用文字聊天,还可以通过图片和视频跟你交流。从图像到视频,理解一个视频必须理解每一个帧里面的运动。为什么今天要谈论视频呢?



全世界现在每天有超过50%的人在线看视频,每天在Facebook上会观看37亿个视频,YouTube上每天会观看5亿小时时长的视频。我们做视频,大家首先想到的就是做广告,视频上面的广告每年都是30%的速度递增的,在YouTube上面也是每年30%的增长态势。人们在视频上花的时间是图片上的2.6倍。视频的生成比文字和图片要多1200%。2016年中国视频用户超过7亿。


今天从另外一个角度来看视频内容的产生、编辑、管理会经历哪些过程,有哪些技术来支撑,我们从Creation(创作)到Curation(处理)、到Consumption(消费)的顺序来讲。



怎么去创作一个视频?这里面有一个基本概念,视频的产生是先把视频切成一个一个的镜头,你可以看成是一个一个断码,然后每一个镜头再编成一个故事,每几个语言可以放成一个故事。每一个镜头可以分成子镜头,然后有一个数据,这是我们做视频的前提。



今天一个视频,可能15分钟,可能是1个小时,能不能给你5个关键帧你就知道这个镜头。一个8分钟的视频能不能生成30秒的内容,比如说来了一个运动视频,通过智能分析知道这个运动视频里面哪个部分最应该看,这是它的重点。


另一个话题是视频生成,今天我给你一段文字,你给我生成一个新的视频,这个事情听起来天方夜谭,但是值得挑战。我告诉你生成一个视频,也就是一个数字8在上面不停的游动。另外给你数字6和0,能不能让数字6和0在这里面游动,这个事情是非常难的。最近我们做了研究,发现可以做一些简单的事情,比如说一个人在烤牛肉。实际上这还是很难的,因为我们生成的视频准确性非常低,所以这是非常难的事情。



当有了视频之后要做的事情是给视频打标签,至今为止可以打上1000个的静态标签,你有了这些静态的标签就可以设置到内容里面去。比如说视频里面出现一个桥,这个桥的位置在哪里。比如说一些运动,这是我们能够识别出来的运动,左边都是运动的视频,右边是我们日常生活中的一些行为。有两个动作最难识别,一个是跳跃,一个是三级跳,但是我们现在已经可以区分出这些非常细微的差别。



这是我们今天讲的唯一的一个技术性的部分。我们最近做的一个非常好的工作,就是可以做深层次的网络,我们可以通过一些方式使得深层次的网络是可行的。比如说这个到现在可以做到152层,也可以做到1001层,性能超过了任何网络。我们能不能从这个网站的图片扩展到视频?我把二维的卷积盒变成三维的,当它卷积的时候是沿着X、Y和T这个方向卷积的。C3D模型是可以做到13层,它非常复杂。我们有一个想法,把它进行分解,一个是可以找出这个物体的数量,使的这个过程可行,另外还可以在图像上进行处理。我们做了很多工作,比如说这个视频是一个太极的动作,我们通过P3D可以找出来4个点,这个已经非常了不起了。


我们可以很精确的告诉你这个视频中每一个关节是怎么运动的(见PPT),比如说我今天做一个智能的健身教练,可以把你的动作进行分解,告诉你哪个动作是不准确的。还有一个是Video captioning(视频说明),给你一个视频,能不能生成一句话来描述这个视频。以前我们说这个视频是一个舞蹈,现在可以告诉你说这是一个什么舞蹈。



这是我们生成的一个视频(见PPT)。小冰能够做auto-commenting(自动评论),不仅告诉你很美,还能告诉你美在什么地方。后面是一个小孩子,它说你的女儿很漂亮、很时尚。基本上它可以给自拍的视频做评论,给小孩的视频做评论,也可以给宠物视频做评论。



小冰还可以写诗,最近我们发表了一个小冰诗集。小冰说:“看那星,闪烁的几颗星,西山上的太阳,青蛙儿正在远远的浅水,她嫁给了人间许多的颜色”。



我们另外还做style transfer(风格转移),给你一个油画或者卡通,能不能把这个风格转移到视频中,可以把这个水的波纹表达出来。



下面这幅图是某个娱乐节目,我们可以把这个人物分割出来放到另外一个虚拟的场景里面去。你可以想象,当两个人在异地谈恋爱的时候,我们能够给他一个房间,让他们在房间里面进行聊天。



还有Storytelling(讲故事),我能不能给你提供服务,让你的图片、视频变得更好,这都是机器产生的效果(见PPT)。这个风格叫Fashion,我们只要加上人工的处理,视频就可以让你的图片变得更加时尚。这很容易用在一些to C(针对消费者的市场)的场景里面。



讲一下最后一个题目,这个广告是我十几年前加入微软的项目。那时候我们做的视频广告有两个问题需要解决:第一个问题是广告到底放在视频的什么位置;第二个问题是选什么样的广告,这个广告跟你插入点的信息是不是相关,使得用户接受度更加好。这两个问题怎么解决?当时我们提出一个方案,我来了一个视频,把这个视频分解,我们有几个值,第一个是discontinuity(不连续),看每一段是不是可以做广告,它的间断点使得用户的接受度更好。还有就是在是激动人心的阶段放广告。另外一个是Attractiveness(吸引力),让它变得可计算,当时我们有两个曲线,这两个曲线有不同的方式,第一种方式是要符合广告商的需求。



这个视频里面,当出现车子爆炸的镜头,我们可以识别出来这个内容,可以在这里放广告,使得广告和内容无缝连接在一起。我们也可以在故事需要的地方放广告。



刚才讲了很多场景和技术,但是在做科研的人看来,AI也好,深度学习也好,落地有很长的路要走,我们要脚踏实地的一个一个的去实现。


梅涛 个人介绍


梅涛博士,微软亚洲研究院资深研究员,国际模式识别学会会士,美国计算机协会杰出科学家,中国科技大学和中山大学兼职教授博导。主要研究兴趣为多媒体分析、计算机视觉和机器学习,发表论文 100余篇(h-index 42),先后10次荣获最佳论文奖,拥有40余项美国和国际专利(18项授权),其研究成果十余次被成功转化到微软的产品和服务中。他的研究团队目前致力于视频和图像的深度理解、分析和应用。他同时担任 IEEE 和 ACM 多媒体汇刊(IEEE TMM 和 ACM TOMM)以及模式识别(Pattern Recognition)等学术期刊的编委,并且是多个国际多媒体会议(如 ACM Multimedia, IEEE ICME, IEEE MMSP 等)的大会主席和程序委员会主席。他分别于 2001 年和 2006 年在中国科技大学获学士和博士学位。


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

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


 
Viewing all 620 articles
Browse latest View live