分享到微博 分享到人人 分享到LinkedIn 分享到Email
Do More, Know More, and Be More through Computational Living

第十六届“二十一世纪的计算”学术研讨会 微软亚洲研究院院长洪小文博士主题演讲

今天我演讲的内容叫Computing Living,我认为在很大程度上就是帮助大家Do More, Know More和Be More。我想利用在最近微软亚洲研究院所做的一些项目,跟大家阐释什么是 “More”。

首先是“Do More”,我想今天早上Peter的演讲也讲了一些小冰、小娜(Cortana)推出以来的故事。我今天跟大家介绍背后的一些核心技术。一个虚拟助手能够帮助我们了解人类通过文本和语音的沟通。我们这个世界上不仅有文字,也有图像,甚至影像。小娜推出了大概两个多月,小冰推出不到五个月,得到了很大的反响。

从技术的角度看,尤其是小娜,它不仅只是一个虚拟助手——如果你了解微软的战略的话,我们今天手机上的必应搜索基本上就变成使用小娜来进行了。大家知道搜索一直以来叫free text search,free text search就是bag-of-words用TF-IDF (词频-逆文档频率法), 再用其他Signal找相关度最高的文件。

最左手边我们叫做KB-Knowledge Base的选择。我自己是做语音的,语音识别不只是辨认出你要讲什么。我们要把指令变成动作,要有动作的话必须大部分的所谓knowledge base后面有一个data base,data base 后面有一个“面向对象模型(object oriented model)”,里面有method, 然后你知道如何来code,不管是订机票,还是查班机最新的状态。这里面也有它的mining和你怎么做语义的理解(semetic understanding)。

这两者之间有一个桥梁,今天大家也听到了一些关于deep learning, deep neural network这样的一些技术,事实上它就是把这些东西“向量化”,变成facter space上的一个model,你可以做一些近似的匹配。

当我们想了解得更多,或者当你一知半解,但是你一定要想办法给一个回复,给了回复以后用户就会再给下一个指令。我们常常听到的“图灵测试”(Turing Test),AI上面不能让人家觉得背后到底是人,还是机器人,还是所谓的人工智能系统。今天的科技不管是小娜或小冰,在很大程度上,在一定范围内都通过了所谓的图灵测试。

今天Peter讲了很多关于speech、translation、understanding等方面的技术。大家会好奇小冰后面的技术是什么?小冰是一个聊天工具,里面有关于事实的,跟semetic matching(语义匹配)有关,我们用一个方法,叫FAQ Search,今天在互联网上面不仅是小冰,有时候我们需要community search——社区搜索。比如今天有一些社区,有人写出来一些问题的答案,我们叫做QA Pair,有一种方法就是用facter space的方法去匹配对应那个问题。当你给任何一个指令或者是一句话,我们就去匹配它最有可能对应到的问题,你的答案就可以呼之欲出。

但是网上有太多的信息,对于一个问题,特别是你允许模糊匹配的话会有一大堆可能的候选答案(candidates),有时候有一百个,上千个,上万个。那你就要做一些搜索排名,有时候还可以给一些随机的东西,让人家觉得比较有生命力。甚至有时候可以建立一个用户模型,可以因时,因地,因人,找一些更合宜的答案,不但能够帮助解决问题,还希望能够博君一笑。

在我深度讲一些核心的技术以前,首先请我的同事王晨曦给我们做一个小娜和小冰的demo。(此处演示环节省略)

大家知道我一直是做语音技术的,尤其是这样的环境下,做语音识别都是非常危险的。与其我们说刚才小娜怯场,还不如说在这样的环境下各方面的包括噪音的因素非常大,有很多话筒的回音,所以刚才有一些小错误,虽然无伤大雅,也让大家知道我们这样的展示是完全真实的demo。事实上大家在用小娜的时候,它的准确率要更高。但是我也非常高兴她弄错了一些东西,如果不错的话,大家以为我们都是提前套好招呢。

我想小冰很多人都已经用过了。我们在两个礼拜前推出了小冰做数学,之所以推出,是因为特别是对于很多学龄儿童们来讲,小冰不仅是聊天,还可以帮他们看一些数学题目,帮他们答疑解惑,所以我们就选择了这个项目。关于用这个项目,大家会觉得数学有什么难的,

事实上最难的一部分在“自然语言”,看懂我们怎么样用自然语言去问。譬如说非常典型的鸡兔同笼问题,小冰都能解。它解的方法和自然语言的了解是一样的,要把它做成很深的passing,你要把它pass成你的knowledge representation,然后变成数学公式.像刚才说的代数题,它就可以解了,然后就可以告诉你结论是什么。

如果你有兄弟姐妹,或者是亲戚朋友有这个需要,至少到现在来讲,小学,甚至到初中程度的代数和各种问题都可以解。我们也做了一个测试,我们之所以做数学,是因为真的有人和小冰谈的时候用数学题目来考它。这是一个很简单的大概一千个测试题,我们发现小冰能够做到超过97%以上的准确率。

接下来呢,刚刚讲了text,那再跟大家讲讲我们怎么样处理image方面的事情。大家知道深度学习在image方面也很有效果。对于pattern recognition(模式识别),当你做一百类的时候,大家知道比如“小冰试狗”,狗的种类差不多有一两百种,几乎涵盖所有狗的品种了。在image里有一个一千个的比赛,也有一个两万二的比赛,越往上面,到了像intrnet image search(网络图像搜索)的时候,甚至已经达到了百万甚至是亿级,十亿级的——即使在Bing里面都超过一百亿的图像。这个时候任何纯pattern recognition的东西都没办法运作,你可以用DNA产生一些visual(视图),然后将它放进去,这方面我们都有。

今天我要跟大家介绍的是,不仅我可以做识别,而且我也可以知道这个东西在哪里,用英文讲叫bonding box或者说一个相片里面如果有人,也有狗,我不但知道这里有个人,我还知道人在哪里,狗在哪里,太阳在哪里。在ImageNet——学术界有个比赛,今天我们参加,我们得到一个很好的成绩,等下我会跟大家讲一些细节,我特别要跟大家讲的是我们的技术,我们到底有什么技术是我们感到非常骄傲。

这个task我再讲一遍,我不但知道这里有只狗,它在哪一个氛围里面,要把它划分出来,在学术界的术语叫localization加recognition。在我们没有参加这个比赛以前,在我们没有做这个技术以前,原来的做法叫做region+CNN,CNN叫convolutional neural network在图像识别(image recognition)上是很有效果的。那么什么叫region CNN? 就是说我用其他的方法做很多boundary的假设或者是segmentation,通常一个图做出上百上千的假设,然后每个假设抛给一个neural network然后去做recognition。大家可以想象deep neural就已经很慢了,你要做一百次,一千次,事实上是做不了的,所以这是一个很大的问题。我们的创新在于,在做neural network的时候,在一层层往上爬的时候,你可以记得每个区域的boundary,你可以把这个记好,然后在最后一层的地方可以放三个,你可以想成是一个match,有16格的,有4格的,1格的。为什么要做这个?因为你不做这个,当范围小的时候,它的参数(parameter)就不是固定的维度。我用了这个东西之后,再用pulling就可以把它变成固定的维度了。这样的话,我就只需要train一个network,而且recognition的时候我只要跑一次deep learning就够了,这样可以省下大量的computation time,不管是在training还是在recognition。

用了这个技术以后,我们在一个很有名的任务VOC上面,和传统技术相比都是很有优势的,特别是做产品时,我们的方法不但快和好,而且还比今天最好的方法快一百倍。

在ImageNet中,今年的比赛竞争越来越激烈。在object dictation上面, 2013年的时候最好的技术只做到22.5,因为不但recognize要对,bonding box也要对。今年得到大量的提升,我们的结果在第二名,成绩是35.1。大家说为什么你没有得到第一名?第一名的方法就是传统的R-CNN的方法,比我们慢一百倍,而且还用的context。我们也可以用context,但是我们想知道单独这个技术会如何,我们要做这些技术是很容易超过这个(第一名)的,但是更重要的是我们要找到一个很实际的解决方案。

这里是一些结果,都不是很好做的,下面的骆驼和沙子,它的颜色差不多,我还可以区分出骆驼在哪里。

还有一个是专门的recognition的结果,在2012年的时候是16.4,2013年的时候是11.7,我们今年做出8.0,但是这样的成绩排在第三。我们做完这个以后,把我们的NN再加几层,我们可以把它做到6.3,已经超过今年的第一名了。但是我要强调的一点是,你们看前面这个(大屏幕),人在这个测试的performance是5.1,我们的研究还要继续做下去,把它做得更好。

我们在小冰这个系统里面推出了“小冰识狗”,当你推出这个东西以后很多人想挑战小冰。我想这里不只是去辨认狗,在辨认之余,也给大家带来一些趣味。很多人拿不是狗的目标来考小冰,小冰还是很聪明的,当你低于一个标准的时候,它会说我没看到狗。然后有人说那个戴眼镜的,你再看看,旁边还有人在帮腔。结果小冰的回答说:“兄弟,你亮了!”

刚才讲到图灵测试,这是一个很好的例子。小冰不但可以跟你做虚拟助手,还可以做“群聊”。很多人可能不见得常用小冰,有一个朋友说小冰可以很正确地说这是一只什么样的狗,他朋友问小冰是谁啊?朋友说现在一个人专门在网上认狗,因为他不知道小冰,他觉得小冰和人的智力是一样的。还有一个朋友说小冰是机器人。我们会继续利用小冰这个平台推出一些用户所想要的人工智能,希望帮助大家能够在工作上更有效率,在生活上可以增加趣味。

事实上我觉得人追求知识,了解世界,是我们人类生存一个很重要的生活的一个价值和目的。那么我觉得有计算机的时候,它就可以帮助我们。大家都生活在中国,尤其是在北京。那么空气、雾霾,大家都很关心,每天都看得到,也会影响我们的心情,但是更重要的是,在我们全体的努力之下,彻底解决这个问题之前,我们怎么保护自己。如果我可以做一些预测,在空间上做预测。北京很大,我们虽然有十几个站,每天给你报告PM2.5,但是这个站区域还是很大,假如说要想知道某一个点,北京大学,北京大学体育馆的PM2.5,我怎么办呢?我在前两年,去年做了一个项目,就是用天气、交通,计程车的数据,还有人的移动电话。比如说CBD是办公的地方,白天大家到那边办公,晚上大家回家了,人会制造污染,这是一个数据。另外,你每天到做饭的时间,每次炒菜的时候,家里的PM2.5马上飙升3到4倍,您附近餐厅多也会有影响。

北京只有十几个监测站,我们想做到每一个点我们都能知道PM2.5值。大部分都是红跟黄的情况,还是有几个点比较活。假如说我想在某个地方做一个活动,如果知道未来24小时,未来48小时的空气质量的话,我可以提前来计划我的活动,早一天,晚一天的时候就可以避开一些重污染时间。在我们不能完全改变环境的情况下,这可以保护我们自己。

大家知道影响雾霾最大的问题就是天气,除了这个因素之外还有大气压,高气压风就往外吹,就扩散,低气压东西吹进来,雾霾更严重。我们用了这些天气的数据,因为我知道未来天气的预测,过了一两天之后我就可以很有效地做时间的预测,这个东西已经渐渐地上线,我想很快我们会让它完全上线,这个网址就是我们在MSI上做的UrbanAir的在空间和时间上的预测,空间上我们已经运行一年了,时间上我们希望在很快的未来能够正式推出。

第二个,除了雾霾,我们还有什么事情想知道?比如说一些重要的事件,比如《中国好声音》,比如我一个礼拜之前在上海第一财经做《创客星球》,全球首创第一个众筹的电视节目,大家知道众筹是大家在上面进行评选,我们想知道谁会赢。还有比赛,英超或者是世界杯,还有美国NBA马上要开赛了,很多人想进行预测。在微软研究院,以下目前有三种技术,对这种预测很有用。在亚洲研究院我们做的一种叫做social data,是用社交网络上大家谈论的内容来预测未来的事件。今年初美国的The Voice节目开始,(相当于《中国好声音》)从那里开始我们有一个Bing Prediction Engine, 用的方法叫做sentiment analysis。这里面呢,一个是完全不需要新的Data,只要用既有的Data做分析,一个是搜索里面,谁被找的多,这个代表他有相当程度的支持,跟重要的是代表大家在社区网络上对他看好的程度。那么我们怎么做这件事情呢?大家会看社区网络上面,讲自己的意见。第一类的事情我们叫做每周监测。什么意思呢?你没有label data,你所拥有的东西叫emoti-CON中文叫表情(情感符号)。当你会画一个笑脸,或者画一个哭脸,虽然有时候有人写的很正面,但是放一个哭脸,(当然这样的例子可能还是比较少)我们就拿这个情感符号来做一个weekly supervise,每个字我们通过一个DNN的embedding去学这些字是贡献积极或者负面,或是中立性质。学了这个以后,还不够,因为字要加起来。比如说”This guy no good”,”Good”是正面的,加了“NO”就不行了。所以你应该怎么做呢?我们需要把字进行composition. 我们需要一些少量的label data我们来做这个sentiment analysis,用了这种东西来预测,针对公开讨论的,特别是在网上能够讨论的东西来说事实上已经非常足够。到目前为止,我们大数据预测的结果其实是非常准的。除了我刚才讲的感性分析(sentiment)以外,也做了几个非常创新的工作,特别是纽约的研究院。第一个叫做active polling,什么叫做active polling呢?就是问卷调查。这里面如果还可以有一个网站问一些东西,让你回答一些事情,而且问的时候技巧很重要。怎么问?比如说你会问谁会赢,“你支持”谁,跟“看好谁”这两个意义完全不一样。所以我们现在在两个礼拜以前成立微软研究院的预测实验室(Prediction Lab),里面就有很多这样的技术。

我们纽约研究院做的第二个叫做scouting,每一个很重要的,运动的比赛,比如说英超、世足、美式足球或者NBA,棒球,会有一些人的工作就是做分析,分析得非常细。他分析到说,比如说拿足球来说,这个人左脚命中率多高,右边命中率多高。这个人喜欢从右侧进攻,这个人喜欢从左侧进攻,某一个人是谁的克星,有的人可能昨天感冒了会影响成绩。用这个东西来做分析,来预测胜率。

事实上几乎所有的球队都要聘请这样的人,教练在运筹帷幄,该派谁上场,都跟这个有关。包括还有罚踢的时候,谁是守门人,我该派谁去罚。事实上我觉得更有趣的是,在MSR的Prediction Lab里面,把所有的这些技术可以做集成,这样的话,我觉得谁能够掌握未来,预测未来,谁就能够掌握未来。所以我想,这在未来的发展有很多很重要的应用。

最后,跟大家介绍,计算人生怎么样让我们BE More,让我们每一个人变成超人。我们人最重要的就是一个门面,人脸(Face),我们一直以来在试图建模做一个3D人脸头像(Avatar)。首先是通过静止画面,怎么样建一个3D的Avatar,之后我可以来做一些操控(manipulation)。第一个,我想跟大家介绍的是我们在一年前所做的一个技术,是用Kinect摄像头,因为它可以测出图像深度,我可以用这个来做出3D的建模,我们只照三张静止的图片就可以做模型了。能做到这个之前我们首先要有个prior,我们可以根据每个不同的人去做,比如说不同的人种,我们可以做一个prior。把这个prior想办法能够move到我们所照到这个相片的特征:眼睛、鼻子、嘴巴。这里是一个我亲自在实验室当小白鼠的例子。我在前面照三张照片,第一个是正面,第二个是左侧,另外一个是右侧。三张照片我们可以产生一个栩栩如生的3D建模。然而,每次看这个东西都觉得自己的头好像被弄下来了一样。

这种3D建模还是建的蛮准的。当然这里面有两点,一个是说,尤其是现在的RGB的分辨率(resolution)还不是特别高。但是这很容易解决,我可以拿另外一个用手机照的高分辨率的人皮往上贴,这样只要他的Model准确,他的皮也是正确的。

另外就是这个头发不是很好,等下介绍我们怎么做头发。我们除了刚才做的方法以外,其实大家如果在这个领域也会知道,还有很多的技术,比如说用stereo。什么叫做stereo,就是说,不是像上一种方法可以知道深度,而是像用手机,这个是用手机做的。手机转一圈,然而,因为手机转一圈,上面看不到,所以这上头发这里就等于是拆出来的,不准。但是你可以看,用手机马上往云端传,事实上可以做出非常准确的3D人头的建模。

刚才讲完了静止的人脸,有了静止的人脸以后,我可以让他嘴巴动一动,鼻子动一动。有一个很重要的应用就是说现在我们可以用skype做远程会议,但是远程会议你用video就好了,有人可能会问我们为什么要用这个东西?因为我们能够增强现实。以前我们叫做直拨现实(virtual reality),今天我们叫做增强现实(augumented reality),做的不是仿真,而是做的比真实还更好,增强现实。什么叫做增强现实,一个很好的例子,就是刚才小陈也讲到了,她缺钱的时候,老妈打来,需要告诉她妈妈自己缺钱了。你要这样做的话,可能每天早上要定时跟我们的老妈来问好。但是我早上起来的时候,来不及刷牙,来不及梳头,蓬头垢面,我可以用我比较好看,比较得体的的人头,配合我当时的表情把她弄上去,你不能说那不是我,那真的是我,而且是我当时的表情。这个叫做增强现实。当然拍电影就更不用说了,我想大家知道,拍电影可以在一个人的脸上贴一些点,把一个人的表情换到另外一个人的表情,你可以去操控,但是你怎么样捕捉那个动作?事实上,你如果不去捕捉真正人的动作,你做出来会像假的。所以我们怎么抓住动态的脸部?现在传统上,尤其是电影,我们就拿好莱坞做电影来说,事实上每一帧要做编辑,所以非常耗费时间,而且花很多的钱,花很多的人力。我们希望做一个很容易做的方法,这些东西能够把一个人动态的表情转换到另外一个人脸上,甚至我还可以编辑它。你为什么编辑呢?因为你想要夸大,比如说我们人的嘴巴只能张这么开,但是我希望他能够张更开。那么我要编辑他,并且还让它感觉还是栩栩如生。

我们做的方法就是说,把它拆分成两个channel,一个叫做large scale 一个叫做fine scale,large scale就是大概上轮廓我怎么动。detail scale或者fine scale,就是指甚至于我的鱼尾纹和皱纹都可以捕捉到,才会让大家感觉栩栩如生。

用了这个方法,我们看到,把一个人的表情放到另外一个人表情上面,嘴巴可以张的比原来大。我们做视频的时候,不需要做每一帧,其实只要做关键的一两帧就够了,其他的都可以带过去,你也可以interprete过去一个结果。

这个是另外一个例子,是把人放到一个怪物的脸上。如果你们注意看,可以看到他鱼尾纹的地方有很多细节的信息在里面。这个是真正把人的表情放到狗上面。我们可以做出一个真正狗的表情。

头发确实发是非常难做的。在电脑呈像上来说,头发是比脸还难做的,因为头发实在太多了。我们中国人说我们有三千烦恼丝,一个正常的人大概要多少根头发?大概通常是接近上万的。这么多头发既是问题,也是祝福。头发这么多,你每根都做模拟非常困难,但是头发这么多,我只模拟1000根,你也看不出来,谁去看谁去数你上面有多少根头发呢?这个也就是我们做这个项目很重要的核心技术,我们基本上要去模拟每一根头发,但不是指字面上说的“每一根”,是要模拟足够的根数就可以做出栩栩如生的,利用人头发的个性。所以第一个项目是静止的,我只要拿一个2D的照片,然后,我就可以一根一根模拟出来,因为头发还是有它的一定的纹路。

这里就是用静止的2D的照片做出来的Model。大家可以看,对比我们的跟传统的方法做,特别是你用显微镜放大的话,你可以看出来他们的差别。有了这样的东西,有什么随之而来的应用呢?第一个就是“换发”。我们每个人都有到理发店的经历,男生也好,女生也好,最怕就是被“毁容”。

你还没有换发型之前,不知道会变成什么样,现在你就可以尝试各种发型,想好了,觉得这样好,我才开始去做,不管染发也好,剪发也好,换发型也好。我们可以做出很多的照片,做出排列组合,一张照片你可以产生120个,或者60个换发。还有古人,比如说贝多芬如果有牛顿的头发,或者爱因斯坦,如果有玛莉莲梦露的头发会是什么样。还有我自己,我的头发就是按照刚才的方法做出来的,看起来还是蛮逼真的。以前我都没有勇气染成金发,现在可以试试看,如果看上去满意了,说不定下次我来跟大家演讲就顶着一头金发。你还可以跟理发师讨论第一刀从哪里剪,试了各种都没有疑问了以后再开始剪,这样就不会有什么意外。

大家问说我可以做图像,可不可以做视频?一样的概念,我这个是一个视频,我拿第一帧做头发的模拟,接着我把这个东西转到每一帧里面,这样的意思就是说,我整个视频可以换发色,可以换发型,因为我想很多人,我们人生一个重要的时刻,比如说你的毕业典礼,或者是结婚,常常说当时如果我头发做的好看一点,我就有很好的回忆,从今以后你就不用有这样的遗憾,你随时可以改。像这个例子,第一帧,做好以后就模拟,做了模拟之后,你现在爱怎么变,就怎么变。

这样子研究还没有完,这是我们做静止时候的东西。我们还可以让头发动一下,明显还可以看出来,这个不见得很真。所以我们就在想,就跟刚才人脸一样,如果可以静止捕捉,我能不能动态捕捉呢?因为动态捕捉是最真。所以,如果我可以有动态脸部捕捉、动态的身体捕捉,那么如果我有静止的头发,是不是也就可以有动态的头发?讲到动态捕捉的话,最近有一个公司叫做GoPro,他的摄像头捕捉能力是非常高的,通常在60帧以上,因为头发这么多,几千烦恼丝,一旦动起来每一根头发都可以有不同的动法。所以你要捕捉他很难,这样你可以捕捉得很准。所以我们就拿一个人,在下面摇摇头发。架了20几个高像素的相机去拍这个头发,弄了这样以后,我们就可以看,右边是我们所做出来的头发。

这里第一个给大家放的是四倍慢的速度,因为头发真正动起来的速度要比这个快的多了。大家可以再看一遍四倍慢的速度下的样子,这跟刚才的静态捕捉不一样,因为他是动态,所以你可以用不同的角度观察,刚才你发现你可以从不同的角度看,现在可以从右边,从左边,因为我有完全几何的信息。可以再看更多的,4倍的,1/4的速度,四倍慢速度是现在显示的这样,然而真正的速度是这样的。

好,今天我们短短的45分钟介绍了我们最近做的一些项目,展示怎么样可以帮助我们Do More, Know More, Be More。在结束我的演讲以前,我想对大家说,今天看到大家,2500位同学,我是非常羡慕你们的。我念书的时候,没有今天的互联网,也没有今天的计算机技术和其他丰富的IT的东西。今天我们有这么好的环境,我相信大家在未来自己的生活中,能够替这个社会,这个国家,这个世界多做一些事情,能够帮助更多的使用者,Do More, Know More, Be More。我觉得你们的前途,以及所能够替这个世界做的东西,比我们今天所有的演讲嘉宾都能做的都更多。所以,我衷心地期盼看到更多的你们Do More, Know More, Be More,谢谢大家。

演讲嘉宾

  • 洪小文
    微软亚洲研究院院长
    微软亚太研发集团主席
    微软杰出首席科学家,电气电子工程师学会(IEEE)院士

相关链接