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


语音识别技术里程碑:错误率降至5.1%,超过专业速记员

编者按:语音识别是众多研究团队和企业正在努力攻克的技术高地,有关识别准确率的竞争和比较从未停止。去年,微软率先实现语音识别系统5.9%的低错误率,在Switchboard对话语音识别任务中已经达到人类对等的水平。


就在昨天,微软语音和对话研究团队负责人黄学东宣布微软语音识别系统错误率进一步降低到5.1%,此次突破堪称是语音识别行业新的里程碑,准确率超过专业速记员。本文译自“Microsoft researchers achieve new conversational speech recognition milestone”。


8月20日,微软语音和对话研究团队负责人黄学东宣布微软语音识别系统继去年之后再次取得重大突破,错误率由5.9%进一步降低到5.1%,可与专业速记员比肩。此次突破大幅刷新原先记录,并在语音识别行业树立新的里程碑。


在微软转录系统达到5.9%的错误率之后,其他研究人员在此基础上分别进行研究,采用了更多参与的多转录程序,成功在语音识别准确性道路上更进一步。


这两次研究转录的都是Switchboard语料库中的录音,Switchboard是一个电话通话录音语料库,自上世纪90年代以来一直被研究人员作为测试语音识别系统的样本。语音识别测试任务包括对陌生人对话交流中的不同话题,比如体育和政治方面的讨论,进行从语音到文字的转录。


研究人员通过改进微软语音识别系统中基于神经网络的听觉和语言模型,在去年基础上降低了大约12%的出错率,同时引入了CNN-BLSTM(convolutional neural network combined with bidirectional long-short-term memory,带有双向LSTM的卷积神经网络)模型,用于提升语音建模的效果。并且,系统中以前就在使用的从多个语音模型进行综合预测的方法,如今在帧/句音级别和单词级别下都可以发挥效果。


除此以外,研究人员还对整个对话过程进行历史记录分析,预测接下来可能会发生的事情,进一步加强识别器的语言模型,使其能够有效适应对话话题和语境的快速转变。


微软认知工具包Microsoft Cognitive Toolkit 2.1(CNTK)在研究过程中表现突出,研究人员充分利用CNTK探索模型架构和优化模型的超参数。此外,微软对云计算基础设施(特别是Azure GPU)的投资,也帮助提升了训练模型、测试新想法的效果和速度。


实现识别准确率上的“人类对等”是语音识别领域过去25年来一直奋力追求的研究目标,微软始终坚持深耕语音识别,并力争将新技术最快、最好地运用到Cortana、Presentation Translator、Microsoft Cognitive Services等微软产品和服务中,让用户能够亲身体验新技术的魅力。微软的研究团队非常高兴可以看到每天有数百万的用户在使用这些产品,未来将更加努力,创造出更具突破性的工作成果。


Presentation Translator:利用语音识别实现多语言观众实时翻译演示文稿


在语音识别领域,业界和学术界有许多研究团队都有重大进展,微软研究团队在行业的整体发展下同样获益良多。尽管目前在Switchboard 语音识别任务中实现了5.1%的低错误率,事实上语音研究领域仍然挑战重重,例如嘈杂环境、录音距离较远场景下的语音识别,方言识别,有限训练数据条件下的语音识别或较少人使用的语言的语音识别,这些距离达到人类相近水平还相差甚远。而且,计算机学会将语音转换为文字并非语音识别的终点,让计算机能够理解其中的含义和目的才是道阻且长。从语音识别到话语理解,将会是语音相关技术的下一个重要前沿。


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

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



 

Source: 微软亚洲研究院 | 21 Aug 2017 | 10:44 pm(NZT)

SIGGRAPH 2017:深度学习与计算机图形学的碰撞

每年由美国计算机协会(Association of Computing Machinery,简称ACM)计算机图形专业组举办的年会SIGGRAPH,是全球最负盛名的图形学和交互技术盛会。今年已经是这场图形学盛宴的第四十四届,本届大会于7月30日至8月3日在美国洛杉矶举行。

作为著名的好莱坞所在地,洛杉矶聚集了大量影视特效等工业界的从业人员,而SIGGRAPH正是工业界展示自己炫酷技术,以及和学术界交流的一个绝佳平台,所以SIGGRAPH组委会多次选择洛杉矶作为大会举办地。 

​除了像其它学术会议一样的学术界论文报告与交流之外,SIGGRAPH大会上各种应接不暇的新鲜技术展示、工业界各大公司五花八门的展览会、以及艺术家们展现自己最新创作成果的动画汇演都吸引着无数参会者的目光。SIGGRAPH会场的热闹程度堪比各种大型的博览会。

深度学习邂逅图形学

本届大会上,令我印象最深刻的是会议第一天的主旨演讲环节,大会邀请到了迪士尼第一位非洲裔动画师Floyd Norman,以谈话的形式,讲述了他如何走上这条道路,以及自身成长的故事。Floyd还分享了自己对动画这一领域的独到见解。这场主旨演讲除了在会场最大的报告厅进行外,会展厅的入口大厅处也摆放了现场直播的大屏幕,而在大屏幕前,很多志愿者、参观者、学术界的教授席地而坐,专心聆听动画大师的分享。

​在这样一个图形学盛会上自然少不了学术界的最新研究成果。对于图形学领域的研究者来说,SIGGRAPH无疑是一个最顶级的发表和交流自己学术成果的舞台,能够在SIGGRAPH上发表论文,就意味着自己的研究成果得到了国际同行的最大肯定。

今年学术报告一个很大的趋势便是深度学习技术在图形学领域开始生根发芽,有很多的论文试图探索利用深度学习技术解决传统的图形学问题——在真实感渲染、表观建模、几何建模与分析等领域都有一些不错的尝试。除了论文的口头报告,在SIGGRAPH大会举办的众多讲座和课程上,我们也能看到许多与深度学习相关的话题。由此可见,如何更加有效地将深度学习与计算机图形学相结合,在近一段时间内仍然将成为图形学学术研究的一大热点。

​本次大会上,微软亚洲研究院共有四篇论文被接收。在这些研究中,我们对于如何利用深度学习技术求解图形学领域的待解难题,也进行了新颖的尝试。

其中,我有幸与微软亚洲研究院的研究员们一起,在表观建模方向上结合深度学习技术进行了一些探索。“Modeling Surface Appearance from a Single Photograph using Self-Augmented Convolutional Neural Networks”就是我们发表于今年大会的论文。

材质的表观精确地刻画了给定材质表面的纹理颜色,以及它的反射、折射等属性,这是对物体进行真实化渲染的重要参数,也是数字化重建的重要步骤之一。在这篇论文中,我们首次尝试利用深度学习技术,仅通过一张未知光照条件下拍摄的平面材质照片,就可以恢复出该材质的表观纹理模型。

这其中最大的难点在于监督数据的严重缺乏。对于表观建模而言,监督数据意味着一张给定的照片及它对应的表观纹理参数。而表观纹理参数的获得目前还是一个很复杂的过程,需要复杂的采集设备和长时间的采集,或是艺术家复杂的交互建模。为了解决这个问题,我们提出了一种全新的自增强神经网络的训练方法,这种方法把真实感渲染这一表观建模的逆映射引入到了训练流程中,使得我们可以使用大量的无标注数据,即平面纹理材质的照片,结合少量的标注数据一起对网络进行训练,从而得到和艺术家人工标注结果相近的表观预测结果。

此外,微软亚洲研究院也在本次大会上介绍了其他的图形学最新研究成果,包括基于八叉树的深度卷积神经网络,可有效的将传统面向图像的卷积神经网络推广到三维空间中;基于深度图像类比的风格转换,可以实现具有语义属性的图像风格迁移;以及交互式的草图建模,可实现对自由曲面的快速造型等。

精彩纷呈的技术展示

在学术报告之外,来自工业界和部分高校的新兴技术展示也吸引了参会者的眼球。今年的各大厂商展台上,虚拟现实(VR)及增强现实(AR)技术成为了一个非常重要的主题,各大厂商各显神通,展示了自己的最新技术成果,炫酷的体验让人大开眼界。

​在大会的Etech(Emerging Technologies)环节,来自日本筑波大学的微软亚洲研究院实习生西田惇做了“Wired Muscle: Generating Faster Kinesthetic Reaction by Interpersonally Connecting Muscles”的demo展示,他与索尼计算机科学实验室进行合作,通过使用配对的可穿戴设备引入一种新的运动学习形式,能够基于生物信号测量和肌肉电刺激来分享两个人之间的肌肉活动。这套可穿戴的肌肉I/O设备是西田惇在微软亚洲研究院的硬件实验室手工设计和制造的,可以通过在使用者的皮肤上施加刺激电压来测量和控制肌肉活动。跟基于视觉刺激的反应过程相比,通过肌肉刺激,用户可以更快地做出相应的运动动作。从而用于对抗性运动训练以及康复治疗过程。

可穿戴的肌肉I/O设备

​该项研究论文已在今年5月份举行的ACM SIGCHI 2017大会上做过口头报告,而在本届SIGGRAPH大会上的展示过程吸引了超过400名来自各个研究机构和公司的体验者,收到了众多有价值的用户反馈和实验数据。

参加学术会议,除了听取世界各地学术研究者的精彩报告之外,和大家进行交流也是必不可少的一个环节。按照惯例,SIGGRAPH会议期间,大会举办了盛大的社交酒会,参加会议的学术界和工业界的从业者们,有机会和不同研究方向的人进行充分的交流分享。

SIGGRAPH就像一个盛大的聚会。正如本届大会的宣传口号“At the heart of Computer Graphics”所说的那样,在这里,学术界和工业界汇聚一堂,新鲜的技术和想法交织出了计算机图形学最绚丽的火花。明年大会将移师加拿大的温哥华举行,期待来年的盛会能继续为我们带来更多新鲜的技术和炫酷的体验。


作者简介 

​李潇是中国科学技术大学和微软亚洲研究院的联合培养博士生。在微软亚洲研究院跟随童欣研究员和董悦研究员从事计算机图形学相关的研究。目前,他的研究兴趣在于物体的表观建模和重建,希望通过相关的研究,使所有人都能够更容易地在虚拟世界创造和再现真实的物体材质,打破真实世界和虚拟世界的鸿沟。

​西田惇是日本筑波大学Cybernics研究中心博士生,曾获得微软亚洲研究院“微软学者”奖学金以及日本文部科学省奖学金。他的研究主要是利用可穿戴设备去延展人的认知和活动能力,并应用到医疗辅助方面。目前他是微软研究院机器人与人机交互组的实习生,研究利用设备和微软产品探索新的人际沟通方式。


相关论文

1. Modeling Surface Appearance from a Single Photograph using Self-augmented Convolutional Neural Networks

http://msraig.info/~sanet/sanet.htm


2. O-CNN: Octree-based Convolutional Neural Networks for 3D Shape Analysis 

http://wang-ps.github.io/O-CNN


3. BendSketch: Modeling Freeform Surfaces Through 2D Sketching

http://haopan.github.io/bendsketch.html


4. Visual Attribute Transfer through Deep Image Analogy

https://arxiv.org/abs/1705.01088


5. bioSync: A Paired Wearable Device for Blending Kinesthetic Experience

https://www.researchgate.net/publication/313445073_bioSync_A_Paired_Wearable_Device_for_Blending_Kinesthetic_Experience


6. Wired muscle: generating faster kinesthetic reaction by inter-personally connecting muscles

https://www.researchgate.net/publication/318692672_Wired_muscle_generating_faster_kinesthetic_reaction_by_inter-personally_connecting_muscles


 

Source: 微软亚洲研究院 | 18 Aug 2017 | 9:11 pm(NZT)

知识就是力量,让机器站在巨人的肩膀上

编者按:人类社会的进步,尤其是科技的进步,大多是站在前人的肩膀上一步一步发展起来的。在人工智能领域,当前很多统计机器学习算法都是从零开始学习数据,而可计算知识的引入则能够让机器读取已知的知识,并以此为基础进行新的学习,在巨人的肩膀上迅速实现进步。

知识对于认知计算的重要性不言而喻,当前聚焦于知识领域的研究和探索也非常丰富。本文中,微软亚洲研究院资深研究员闫峻博士将结合实际案例为大家详解知识领域的“四大问题”,回答你心中有关可计算知识的小疑惑。


知识是什么?抽象来说,是人类对世界的认知,对宏观及微观世界客观规律的总结。具体来说,大到牛顿定律、量子力学中的科学发现,小到自家孩子的生日、太太做饭常用的酱油颜色,都是我们所掌握的知识。如果这些人类掌握的知识可以被表示成计算机可以读取并计算的形式,那就是计算机科学领域研究的可计算知识了。


可计算的知识类型很多,常见的有知识图谱,比如一部电影通过导演这层关系可以链接到一个具体的人,这个人通过国籍关系又可以链接到一个国家,最后所有的实体和关系在一起会构成一个很大的图结构,这就是知识图谱。另一个例子是,我们将大量的常见问题与对应的答案放在一起,就可以构成一个问答知识库,通过自然语言理解技术能让机器进行自动问答。


还有一类知识经常容易被忽略,那就是已经被训练好的用来解决具体问题的机器学习模型。因为每个模型都会有定义好的输入和输出,它被训练后已经是对数据或人类经验的拟合,所以,虽然很多情况下模型无法直观地解释,但它其实已经是机器学习到的知识了。


在具体应用中,各种类型的知识还可以通过不同方式组合在一起使用,比如一般意义上的知识图谱中的每个节点或关系,除了可以是电影、国家、国籍这种确定的符号以外,还可以是一个已经训练好的机器学习模型与其它实体或模型链接在一起作为图的一部分,这类例子我们在研究中将其称为广义知识图谱。



为什么要研究可计算的知识?


首先,如果将一个智能的机器与智人来类比,它除了需要一个聪明的大脑,还需要受过良好的教育并具有丰富的经验才能解决实际的问题。而知识的引入就是一种对机器进行教育并赋予其经验的重要手段。儿时我们可能都幻想过是不是可以不用上学,在脑袋上插个东西就可以学会所有课程。这对于人类来讲确实很难实现,但对于机器却是切实可行的。


其次,我们现在的很多统计机器学习算法都倡导一切从数据出发,从零开始学习。但回想人类社会的进步,尤其是科技的进步,大多是站在前人的肩膀上一步一步发展起来的。前人们通常会把学到的东西和积累的经验总结成知识。而这激发了我们去想象为什么不能直接教授给机器知识而一定要机器在数据中从头学起呢?这样的话,可计算的知识就变得十分重要,它可以让机器直接读取已知的知识并在此基础上进行新的学习,也就是让机器站在巨人的肩膀上进步了。


另一方面,我们常把人工智能问题分为感知计算与认知计算。前者学习人的感官,如看东西的能力、听声音的能力等等。后者则学习人的认知,如自然语言理解的能力等。其中,知识对于认知计算具有重要意义。这个论断或许有些抽象,我们举个例子来进行说明:我没有学过基因组学,所以当我拿到一篇这方面的文章时,好像每个词/字都能读出来,但就是看不懂内容。什么原因让我看不懂?因为我没有背景知识,不知道每个词背后有什么深刻的含义,也不知道提及的实体间有什么关系。


人类能理解自然语言,很重要的一个原因是我们拥有相关知识,而不是只靠读表面上的几个字符。反观机器,如果没有背景知识,单纯靠那些字符,有可能真正理解自然语言吗?所以说,我们相信知识对于人工智能领域的进一步发展,尤其是对认知计算的进一步发展,将具有重大意义。


在“知识”这个领域,我们都在研究什么?


接下来,让我们简单看一下在“知识”这个领域,我们都在研究什么问题。在海量的数据中,我们需要的知识在哪?哪些是有价值的知识,哪些是信息垃圾?如何从数据中把我们需要的知识有结构地提取出来?得到知识以后,怎样才能把获取的知识表示成计算机可以计算的形式?以及接下来,由于知识的来源很多,怎样可以把不同来源、不同表示的知识融合在一起?然后在基于知识进行计算的过程中,如何让机器像人一样利用知识进行理性的推理,或者做感性的决策或预测?


事实上,所有这些问题,最终都要和具体的应用相结合来解决,因为机器拥有知识后如果不能融会贯通的使用,那么它就会变成“书呆子”。针对上面这些问题,我们挑选了几个重要的问题稍微细化一点与大家分享。


首先,说一说知识抽取。


一般我们把知识抽取问题分为四种类型,即有结构数据的知识抽取、半结构数据的知识抽取、无结构数据的知识抽取以及其它数据类型的知识抽取。知识抽取的工作传统意义上是把各种数据类型变成有结构的知识数据,就像前面举例过的知识图谱一样。有结构数据源的知识抽取方法相对简单,因为待抽取的数据源本身已经具有一定的结构,只需和我们的需求做好映射即可。


针对半结构数据源,可以举一个例子,购物网站上每个商品介绍网页的结构都很相似,在相对固定的位置有商品名、商品价格及商品的各种属性。如果我们能让机器把这种结构规律学习并总结出来,那么机器就可以把网页中的结构化知识,如每个商品的价格、重量等信息抽取出来了。



对于无结构的数据,典型的就是从自然语言的一句话中识别出实体并且正确分类出相关实体之间的关系,最终形成结构化知识。以上几类知识抽取技术相关研究很多,比如,我们之前CIKM(ACM International Conference on Information and Knowledge Management)的一篇文章“Extract Knowledge from Semi-Structured Websites for Search Task Simplification”就曾从200亿网页中抽取出了4000亿条事实型的结构化知识。


还有一类知识抽取的技术是从非文本的例如图像数据中抽取结构化知识。例如,如果大量数据表明天空会出现在陆地的上方,我们就可以获取一条关于天空与陆地位置关系的常识知识。这类的常识知识往往是自然语言的文本中很少提及的。



其次,来看一下知识的表示。


我们在工作中把知识表示分为符号表示与分布式表示两种。符号表示就是用符号表达实体间的逻辑关系,如一个人的名字通过国籍关系关联到一个国家的名字。然而这里面一个很大挑战就是,即使知识图谱被建设得很大、很完整,但很多时候还是不好用。这是因为同一个实体的表达方式在人类自然语言的呈现中会有很多种。例如,在我们建立的医疗知识图谱中,用“腹泻”表示一种症状,但在实际应用中,人们会用“拉肚子”进行知识的查找。或者用户还会用刘某某的第二任妻子来指定一个具体的人,等等。所以我们要建立各种符号的等价,包含等一系列关系来具体表示一个符号的语义。但这种表示很难做到完全。


为此,我们借助分布式的知识表示,就是用机器学习的手段把知识的实体、关系、规则映射到向量空间进行数学计算。这方面的相关研究工作也有很多,例如我们在WWW(The International World Wide Web Conference)的一个工作“LINE: Large-scale Information Network Embedding”就是一种有效的把某类特殊关系图映射到向量空间的办法。


再次,来看看机器拥有知识后的计算过程。


我们以知识推理和语义计算的问题作为例子。知识推理的相关工作很多,历史也很悠久。常用的方法如贝叶斯网、粗超集方法等。我想补充的是,拥有了将知识图谱映射到向量空间的好算法以后,知识推理的工作就可以在向量空间中进行计算了,这就和统计机器学习有了很好的契合点。


另外值得关注的一点是,如何在我们此前提到的广义知识图谱上进行推理,会与经典的符号推理有些不同,因为知识图谱中的关系可能不再是固定的符号,而是一个机器学习的模型,这会带来很多新的研究价值。不少应用近期对语义计算的需求比较旺盛,如自动问答系统、聊天机器人等。


我们以一个基础问题为例,就是判断两句话的相似性问题。这个问题并不是新挑战,但有结构的知识在这里会起很大作用。传统方法会用词向量模型,也就是看两句话共有的词的多少来决定两句话有多相似。后来研究人员发现这并刻画不了两句话用词不同但词语间语义相关的问题,于是各种语义表示的算法,尤其是深度学习算法就被应用进来了。不过,有很多情况还是会出错。我们一起看一下下面这个例子:


A. 看了欢乐喜剧人,里面那个秃子主持人的儿子很帅。

B. 这季欢乐喜剧人的主持人郭德纲是个秃头,但很棒。

C. 郭德纲的儿子英俊,比他爹强多了。

D. 看了最强大脑节目,里面嘉宾和主持都不错,帅。


对于A这句话,如果我们用词向量模型,最相关的明显是B,因为共有的词最多。加入语义特征后发现D也很相关,因为两个电视节目的名字语义上同类,相关性很强。但是如果我们拥有一定背景知识,就会知道“欢乐喜剧人”是一档电视节目,主持人叫郭德纲。我们会发现在语义上实际A和C才是最像的。所以在计算文本相似度的时候,有时候会需要一些背景知识。针对这个问题,我们在AAAI(The Association for the Advancement of Artificial Intelligence)上有一篇文章专门做了讨论“Efficiently Answering Technical Questions – A Knowledge Graph Approach”。


无论以上提到的哪个具体问题,从算法的角度来讲,都有一个重要问题最近吸引了大量研究者的目光——如何将统计机器学习与符号化的知识体系进行结合。这样做有很多好处,例如如果可以将已有知识直接教授给机器,那么就可以让机器站在前人的肩膀上进行更快更好地学习,而且机器也将可以像人一样通过理性的推理与感性的理解共同在具体任务中进行决策。我们大概将这方面现有的主流方法划分为六种类型:


第一种,是将知识映射到向量空间后当作统计学习模型的输入。

第二种,是利用逻辑规则当作统计学习模型的后处理,可以筛选模型输出并修正统计学习模型。

第三种,是将符号规则当作统计学习模型目标函数的正则项进行同时优化。

第四种,是把统计学习与符号推理当作两个独立模型,但二者在解决问题的过程中可以相互作用。

第五种,是将统计学习模型加入为知识图谱一部分,在广义知识图谱上进行推理。

第六种,是以上各种方式的各种变种和组合。


我们在每种类型上都有一些相关的工作和努力,例如在WSDM(ACM International Conference on Web Search and Data Mining)上的一篇文章“Concept Embedded Convolutional Semantic Model for Question Retrieval”就是针对第一种类型的一个初级工作。




最后,我们看看关于知识的应用。


知识的应用可以分为两类,一类是端对端的应用,例如搜索引擎中的知识卡片、基于知识的自动问答系统、任务完成系统等等。另一类是在解决具体问题时的中间步骤或某些重要模块中的应用,例如利用知识提升语义理解的算法能力,利用知识更好地判断用户与广告之间的相关性等等。知识图谱的构建与应用已经在医疗、金融、法律等垂直领域产生了巨大的经济价值。例如,在医疗领域,通过知识图谱的构建及知识的语义表示,机器可以帮助患者更快捷地寻找医学知识并获得诊前、诊中、诊后各个阶段的帮助。


除了以上介绍的这些基本问题,我们也正在努力构建一些可以相对通用的知识图谱来辅助此研究领域的进一步发展。比如,我们已经发布的概念知识图谱Microsoft Concept Graph,已经被证明在很多自然语言处理及语义相似度计算的任务中都可以起到很好的作用。


此外,我们希望构建更多的知识图谱以帮助计算机实现联想、创造等方面的能力。就像,如果提到太阳,人们会联想到“热”、“温暖”;看到跑的很慢的老爷车,会想到“蜗牛”;看到沉迷网络的少年,会想到“毒品”。人们会直观地联想到的这些知识,对机器来讲是非常困难的,所以我们也会努力构建这种赋予机器跨领域联想能力的知识图谱。



另一方面,人的很多创造力来自基于已有知识的假设,那么如何让机器基于知识图谱生成具有创造性的相对合理假设呢?我们最近发表在WWW上的一篇短文“Can MachineIntelligently Propose Novel and Reasonable Scientific Hypothesis”就是这方面的一些早期努力。我们期望用知识与统计机器学习的结合来打破机器智能一些瓶颈问题,如统计机器学习模型无法被人理解的问题、机器对文章的理解一般停留在字面而非深层逻辑结构理解的问题等等。


总而言之,对于人类来讲,知识就是力量,对于机器,也是一样。


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

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


 

Source: 微软亚洲研究院 | 14 Aug 2017 | 11:17 pm(NZT)

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

​编者按:计算机视觉技术的突飞猛进和深度学习的发展不仅拓宽了图像领域的应用,同时也给互联网视频内容带来了新的可能性。数据显示,人们在视频上花费的时间是图片的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。

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


 

Source: 微软亚洲研究院 | 8 Aug 2017 | 11:07 pm(NZT)

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

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。

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



 

Source: 微软亚洲研究院 | 4 Aug 2017 | 9:25 pm(NZT)


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

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



计算神器,天资超凡


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


机器学习小课堂

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


知识工程,美中不足


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




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


机器学习小课堂

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



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


统计学习,返璞归真

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


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



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


机器学习小课堂

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


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


创新野心,假设求证


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


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




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



机器学习小课堂

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


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


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


跨界人才,触类旁通


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


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



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


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


机器学习小课堂

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


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


情感注入,人性沟通


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




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


机器学习小课堂

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



时代人才,综合素质


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


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



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


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

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


 

Source: 微软亚洲研究院 | 3 Aug 2017 | 10:52 pm(NZT)

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

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绝非无所不能,要想进步需关注基础研究


 

Source: 微软亚洲研究院 | 14 Jul 2017 | 11:22 pm(NZT)

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


导读:出自微软亚洲研究院的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图数据查询语言的一些简单例子。

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


 

Source: 微软亚洲研究院 | 23 Jun 2017 | 10:51 pm(NZT)

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

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

发布会上,来自金融投资界和科技界两个领域的最强大脑们,就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



 

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

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

编者按:上个月,我们发表的“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/)了解背后的秘密。


 

Source: 微软亚洲研究院 | 16 Jun 2017 | 3:39 pm(NZT)











© 澳纽网 Ausnz.net