十一城

跬步千里,小流江海。

Home Linux ML Python Java Thoughts KmKg BookCan Links About

2018-03-08
科研-城市计算

• 分类: 科研

此文转自机器之心《业界 | 对话郑宇: 做城市计算比AlphaGo难多了, 但这就是我在京东金融继续All in的事》

郑宇老师做的方向是我研究生阶段最初接触的方向,也是一块很有意义的学术界与工业界相结合的领域。有幸见到过郑宇老师一次,他曾告诉我“数学好,编程好,英语好,态度好”是一名合格的数据科学家的四个基本要求。


京东金融和城市计算的关系是什么?这要从刚刚加入公司的郑宇说起。

郑宇说,京东金融的城市计算,是一盘很大的棋。

2018 年 2 月 13 日,城市计算领军人物郑宇正式加入京东金融。此前,他曾是微软亚洲研究院城市计算领域的负责人,毫不夸张地说,「城市计算」一词,就是他提出来的。

郑宇有一连串响当当的头衔——上海交通大学讲座教授(Chair Professor)、香港科技大学客座教授、ACM Transactions on Intelligent Systems and Technology(TIST)主编、全球杰出青年创新者(MIT TR35)、2014 年《财富》杂志中国 40 位 40 岁以下商界精英…… 除了这些,郑宇还在 Google Scholar 城市计算领域世界学者的论文引用排名中名列榜首。

和很多人一样,在得知郑宇加入京东金融这一新闻时,我的第一反应是,为什么要去京东金融?京东金融作为金融科技公司,为什么要做城市计算?毕竟,郑宇这次所带领的,是一个一级事业部。

带着这样的疑问,机器之能采访到郑宇,希望找到问题的答案。以下为采访实录,机器之能做了不改变原意的整理。

京东金融给了我很大的空间,成立了一个一级事业部,从数据到研究到开发到市场,能够形成一个闭环。这种闭环的空间不是什么地方都可以给的。

你加入京东金融这件事在业内反响很大,是什么原因让你做出这个决定?

我觉得有几点原因,首先看大环境,现在人工智能与实体经济结合是大趋势,智慧城市是抓手。这个事情一定要有人来做,我觉得现在是一个很好的时间点。

第二,京东金融给了我很大的空间,也给了我足够的信任来做这件事。包括成立独立的一级事业部等等。另外我们还会建立城市计算研究院,我还兼任整个京东金融的首席数据科学家。我觉得这是非常难得的机会。

一级事业部不像一个小组或者研究院,它是一个独立的事业部,可以发展得很大。我们从数据到研究到开发到市场,能够形成一个闭环。这种闭环的空间不是什么地方都可以给的。

从战略制高点看的话,一级事业部的成立也说明了整个京东金融对城市计算这件事的重视,同时让我感受到京东金融有足够的信心和勇气来对城市计算进行投入。

要做城市计算这件事,一定需要非常大的空间和信任,同时我需要面对的挑战也会更大。以前我可能只关注研究、开发和落地,那现在还要关注市场、数据、资源、客户的对接,各方面的事情都要考虑。

最后一点是,我比较认可京东的文化和价值观,踏踏实实地干事情,然后努力成功。确实有很多企业给我抛过橄榄枝,但是我最后还是选择了京东金融。

你所负责的这个事业部预计要招多少人?

这个暂时要保密,再过一段时间之后,我们会有一个比较官方的宣布。

可以说的是,我们现在正在建立二级部门,分别着眼于环境、交通规划等方面。所以京东金融的城市计算是一个很大的架构,不是说只是一个小团队。

预计会建几个二级部门?

这个到时候大家就知道了,可以说大家关心的我们都会有,像交通、环境都会有,但这个具体数字是多少,得等到具体的情况来看。

京东金融是一家服务金融行业的科技公司,为什么要做城市计算?

这里有两个关键词,金融和科技。京东金融其实是科技公司,它的商业模式是 B2B2C。当然,很多人认为京东金融是一个金融公司,但其实不是这样的,它的业务是为金融行业提供一些科技技术。

比如它为银行提供风控模型,让银行更好地为 C 端客户提供贷款服务。在这里京东金融是第一个 B,银行是第二个 B,然后终端客户是 C。京东金融并不是说直接放贷给个人,它更多地是扮演了一个技术赋能者的角色。

这种 B2B2C 的模式我非常认可。因为我们可以把中间的这个 B 想象成 G。我们给相关主管机构提供技术,让他们更好地为百姓服务。

你可以认为,城市计算是京东金融作为一家科技公司,对现有业务的拓展。TO G 的业务需求会着眼于交通、环境等等,这会反哺京东金融的科技公司属性。

我们的定位是要成为国内最好的智慧城市技术平台和解决方案提供方,同时我们也希望成为产学研一体化的典范。

京东金融当前的业务与城市计算最紧密的连接点在哪里?

智能商业。大家对城市计算了解得比较多的方面可能是环境、交通、规划等,但其实智能商业也是城市计算的很大一部分。包括商业选址、地产价格评估,还有甚至帮银行做一些 B 端的风控等。

举个例子,一个企业到银行贷款,要盖一个娱乐城,那银行就要对这个项目进行风险评估,确保到了还款时间能按时收回贷款。以前银行的方法可能是去评估这个企业本身的一些征信资质,比如坏账率,诚信度等等。

但是企业资质良好,不代表它开发的每个项目都没有风险,因为这个风险不是企业本身决定的,而是由这个地方的发展环境和消费水平决定的。这些东西只能从别的数据反映,银行本身也没有。可以从项目周边居民的消费水平反映,从人们出行的方式反映,从地区周边的配套反应,甚至包括基础设施比如路网、车站是不是变得越来越完善来反映,这些因素综合决定了这个地域本身的发展程度。

这其实代表了城市计算的一个愿景,用多元的、不同的时空数据融合来做一些事情。不管是分析预测,还是因果分析,还是异常检测,都能够从更多维度、更准确地进行。

在京东金融的城市计算布局上你有怎样的规划?

我们的定位是要成为国内最好的智慧城市技术平台和解决方案提供方,同时我们也希望成为产学研一体化的典范。这两点很重要,我们不希望只是一个工程公司,赚很多钱,而是希望真的作为一个科技公司,把产学研带动起来。这是国家一直强调的东西,只有这样产业才有长远的生命力。

这两点定位之后,我们也就知道了应该怎么做。一方面给国家相关机构提供服务,一方面给一些大型国有企业提供服务,帮助他们解决行业痛点,还有就是我们会跟高校进行合作,建立一些人才联合培养机制,联合实验室,也会合作发表一些论文,攻克一些重点难题。我们这三方面会一起做。

至于布局,各个地方的业务需求是不一样的,有些地方可能比较关心环境,有的地方可能比较关心交通,有的地方可能关心他们自己的经济 GDP 问题、脱贫问题等等。所以我们会针对于各个地方的需求,尽量利用我们一个比较通用性的平台,来满足各地差异的需求。

所以是要看具体的需求才能决定业务开展的优先级?还是已经有规划?

我们已经有规划,确定了大概哪几个方向是一定要做的,先把它做起来,然后根据各个地方的需求进行定制化。交通、环境、规划、智能商业这几个方向是一定要做的。

是否有多长时间推进多少个城市这样的计划?

这种量化数字跟我们具体的团队和人数有关系。我觉得其实这不是重点,我相信未来一段时间大家会看到我们更多的布局。

在城市计算这件事上,京东金融的优势是什么?

其实京东金融本身有海量的数据。根据最新财报,京东集团的活跃用户已经有 2.925 亿。我们不仅有京东集团的商城数据,包括产品本身数据、用户交易数据、物流数据,还有京东金融本身的一些理财、支付和消费数据,构成了一个很大的数据群体。

这些数据可以从侧面描述城市的经济维度,甚至跟别的数据融合之后可以反映这个城市的发展趋势,因为材料样本已经足够大。特别是还有物流的数据在里面,其实也反映了城市的一些动态的韵律,跟城市和城市之间的一些消费的交往,以及物流需求的一些往来。所以说京东的数据是很好的,很难得的。

再就是京东集团在地方上跟很多管理部门已经形成了有效配合,它的渠道和品牌效应可以帮助我们比较顺利地开展很多事情。

劣势呢?

我觉得不能说是劣势,就是我们未来会在哪方面进行努力。我们会把科技含量提高,然后我们会跟更多的高校合作,跟政府和企业加强联系合作。有了我们这个事业部之后,我相信城市计算这件事情会更加顺畅,变得更好。

你刚刚说到,京东金融在城市计算的智能商业领域有很好的条件,那在像环境、交通等领域,京东金融会怎样参与?

首先,京东金融作为科技公司,我们用科技服务于各个其他的 B。可以是银行,也可以是有关主管部门,也可以是其下属的大型国有企业。这样的话我们就可以做交通服务、环境服务,我们并没有把自己限制在金融场景里面。

可能现在最初的一些项目是在与金融相关的消费场景中,后面慢慢地我们会建立企业信用,做企业服务,也会和政府有一些项目合作。再往后可能政府以外、金融以外的很多项目也都是我们希望做的。

所以,未来京东金融的定位是科技公司,其根本是 B2 B2 C 的模式。我们强调科技服务,而不强调金融本身。以后大家会越来越发现这个趋势。

京东金融的城市计算和阿里的城市大脑会有怎样的不同?

对于其他公司我不作评价。我在这个领域的工作十几年前就开始了,这十几年来也一直坚持扎根在这个领域。我有这样的一个情怀,希望能用毕生所学真正地服务中国。

这也是我出来最根本的原因。我只希望我们能够实实在在地把城市中的问题解决掉,帮助到城市建设,同时我们也很愿意跟其他公司共同合作来推进这个进程。

所以您认为城市计算的市场容量是很大的,合作大于竞争?

对,行业需求非常大,现在更多的应该是推动行业共同发展。另外,城市计算有它自己特殊的业务逻辑。要做城市计算这个行业,其实不是那么容易,它有它的门槛。除了技术本身的门槛之外,还有业务逻辑和场景的门槛,还有地域的限制。这就导致了为什么到现在还没看到一家特别大的城市计算公司。很少有人能够做到这一点,我们希望能够做成这个最难的事。

城市计算问题状态空间大、动作空间也大、还是一个开放系统,问题解决起来比 AlphaGo 难多了。

城市计算问题和其它人工智能相关问题相比,有哪些特有的技术难点?

第一,城市计算是时空数据,它不是一般的视频图像文本,它所用到的数据管理办法和人工智能方法和其他问题都不太一样,不是说拿一个 CNN 或者 LSTM 就能解决的。它有自己特殊的时空属性,包括时间的趋势、周期和邻近性,包括空间距离和空间层次性。这些特殊的时空特性用普通算法是抓不住的。

还有就是在真正的城市计算里面,会用到多个数据源,而不是单一数据源。比如刚刚我们说到的娱乐城案例,需要用到 POI、路网数据点,加上环境消费等等很多种数据,融合这么多数据才能判断这个地方未来的变化。

多元数据融合本身就是一个难点,在机器学习当中也是一个相对比较新兴的学科和研究方向。来自于不同领域的数据如何做到 1+1 大于 2 的知识发现,这个其实是一件很困难的事情。

同时,城市计算也不是一个简单的云计算问题,现在云计算平台对这种时空数据的支持都不足够好。时空数据的数据结构查询方法,以及刚刚说的多元数据的融合、索引机制都不存在,所以市面上任何一家公司的云直接拿来做城市计算都不太合适。必须要经过特殊的技术积淀,使得云能够具备对时空大数据的管理、分析和挖掘能力,并且形成动态闭环,这非常难,门槛也很高。

所以最后会有一个京东金融城市计算云?

不,我们事业部不做云,我们希望让市场上的云计算公司拥有挖掘分析城市大数据的能力。可以是京东金融自己的云,可以是微软的云,也可以是腾讯的云,华为的云,都可以。我们会让云厂家快速拥有对城市大数据的分析、挖掘和管理能力,并且能够快速形成闭环,做一些实时动态的分析挖掘业务。这是我们的能力所在,也是我们的门槛。

能否举例具体说明一下城市计算之「复杂」?

我讲个具体的例子,比如说交通信号灯的控制问题,就比其他任务,比如 AlphaGo 要难太多。AlphaGo 是一个 19×19 的网格,每个格子上的状态只有黑棋、白棋和没棋三种,状态空间就这么大。

但是和 19×19 个格子相比,整个北京的红绿灯路口数量有几万,而且每个路口的状态和动作也会更多,比如这个道路的交通流量速度是 40 公里每小时,另一个是 45,还有 30 的;信号灯的控制的变化可能是红灯 30 秒,绿灯 20 秒,都是连续变量,这个空间状态就比刚才的三个状态要大多了。

而且很多数据是缺失的。可能这一时刻刚好这条路上没有人,或者没有车经过,或者没有埋传感器,那我们就拿不到这条路的数据,拿到的是一个不完整的观察。

另外,还有道路是一个开放系统,在围棋里面,我说一句话,在旁边走两步路,不会影响围棋的结果。但是在道路上,有一个人过马路,哪怕一条狗穿过马路,都会改变道路的状态。

所以城市计算问题状态空间大、动作空间也大、还是一个开放系统,那问题解决起来肯定比 AlphaGo 难多了。

我再举个例子,城市人流量的预测,我们把城市分成很多个网格,要预测每一个网格里面,未来会有多少人进和出。

一个网格中的人流量既跟它自身前一个小时有多少人进和出有关系,也跟他周边那些邻居格子有多少人进和出有关系,因为有人会从旁边过来。还跟离格子很远的地方,某个区域的人的进和出有关系。因为当你这里有大事情发生的时候,会有很多人从很远的地方,坐地铁从地下钻出来,这个时候你如果只是靠网格周边的人员变化,就不能捕捉到大事情发生时的异常,就像一些地方发生的踩踏事件一样。

如果你想对每一个格子都能准确预测人流量,也就意味着你要把城市的所有其他格子的状态都作为输入,来预测这个变化。而且格子和格子之间是相互依赖的,你不能说我先做 A 格子再做 B 格子。因为 A 格子进入了多少来自 B 格子的人,也就意味着 B 格子出来了多少人到 A,这是一个相互的东西,所以要同时做。如果你把每个格子单独拿出来做,那这个模型会相对简单,可是你发现这样做出来,总人数加到一起可能都不等于全城总人数。

要把这么多格子一起做起来的话,有一个传统的方法,就是用 graphic model,把每个格子当作一个节点,每个格子跟其他格子建立边的关系,那这个复杂度就非常非常高了,所以以前的机器学习根本做不了,直到现在深度学习出来之后,才有解决方案。

除了格子本身的数据之外,还有天气、事件等能够影响人流量的数据,都是要动态输入的。这么多数据,需要在秒级或者分钟级得出结果。比如交通量预测,或者预警任务,对时效性要求很高。这么多数据的处理,没有特殊的方法的话,可能一个小时过去了,特征都没提完。

现在我们看像人脸识别这样的任务,就是一张图片和特征,是单一数据源的单一样例,而城市计算是多个数据源的多个样例,所以复杂度是不在同一个量级上的。

京东金融在计算资源上的投入一定很大。

我们有一些特殊的方法,如果没有很好的方法的话,那就只能靠堆机器,必然是不可行的,对国家资源也是一种浪费。我们用特殊的方法,结合分布式技术和时空索引技术,能够用十分之一的机器实现十倍的效率。

说到踩踏事件,当时你发微博说可以用城市计算解决这个问题,最终还发了一篇论文,但是受到了很大的争议,说是在蹭热点,你本人对这件事怎么看?

当时我在微博上说,完全可以通过大数据和人工智能方法提前预测,加强管控,避免踩踏。有些人支持我,相信我一定能把这个问题解决掉。也有一拨人说,「这个东西根本就不需要你预测,谁都知道会有很多人来。」

但其实仔细想一想,很多人是多少人?50 万人很多,100 万人也很多。可是应对 100 万人和 50 万人的安全级别戒备是完全不一样的。另外,就算你知道 100 万人要来,那这 100 万人是分成五个小时均匀来,还是说在某两个小时峰值到达?这两种情况所采取的安全措施也是完全不一样的。所以只能大概知道有很多人要来,但不知道会有多少人、具体什么时候来。这个时候就需要用技术的方法来解决。

现在,我们可以预测各地区的人流进和出,能够提前几个小时告诉城市主管部门,这边可能会有问题,你可以加强管控,提前预防,比如通过媒体通知疏散人流。这些事情一定是越早做越好,人家都来了,你再让人家回去,这也不现实。

城市计算已经在我们的实际生活中解决了哪问题?

很多,比如 2014 年我给环保部做的雾霾预测,那段时间是北京空气越来越糟糕的时候,我们定义了问题。

第一,怎么根据环保部门设立的这些有限的空气质量监测站点,把那些没有监站的地方的空气质量给估计出来。

城市空气是不均匀的,空气质量会受很多复杂因素的影响,包括周边交通流量,周边是否有厂矿,扩散条件怎么样,是公园绿地还是建筑群等等。这些东西都不是线性的,不是均匀变化的,甚至每个小时差异都特别大。

环保部门只设立了有限个监测点。为什么不多建?因为站点很贵,一个国产的站点大概需要 100 万人民币,进口的要 200 万人民币的样子。而且还要维护,站点的占地面积还蛮大的,它不是一个小盒子就可以做的,一定是要在一个大的地方部署一个很大的设备才能做这件事情。如果真的在北京每一平方公里都放这样一个设备的话,大概需要 3000 多个站点,根本没法维护,所以只能设立有限的站点。

站点有限,空气质量又不均匀,那怎么办?只能用人工智能和大数据的方法,结合交通气象以及地理信息的变化来学习。这就是一个非常典型的半监督学习的案例,只用有限的样本,来推断所有地区的空气质量。

这是第一步,然后第二步还要预测,刚刚是搞清楚现状,现在是预测未来。空气质量会受天气的影响,受地区绿化的影响,受人类地面活动排放的影响,所以看天、看地、还要看人。

另外,我们拿到的天气预报的数据都是不准确的,现在天气预报的准确率只有 40% 左右,你的模型要在很多这种不确定的数据上训练,大数据和人工智能就有这种能力,把很多不确定的数据加在一起,形成确定的数据;把很多稀疏的数据叠在一起,得到一个明确答案。

这篇论文我们发表在 KDD 2013 上,是领域内第一篇用大数据做空气质量分析和预测的文章,引用率特别高。同时技术也已经落地,已经覆盖到中国 300 多个城市。

像今年过年某些地区游客滞留这件事情,能够怎样通过城市计算进行解决?

游客滞留是一大类问题,大家在某段时间大家扎堆过去,但是景区旅客接待能力不足,或者说运力不足导致游客滞留在某地,不能及时返回。这个问题是我一直想做的问题,我觉得很有意思。

国家旅游局希望能够预测未来一段时间,比如黄金周,各个景点的人数。你如果只是把某个地区单独拎出来,根据往年数据来看,预测一定不准。为什么?因为这是一个相关性问题。可能前一年去这个地方的人很多,第二年就没人去了。可能突然某个景区火了,带动了邻近的景区。还有一些景色相似的地区,比如一个地区出现问题了,大家都不去了,导致去另一个相似地区的人突然变多了。或者出国便宜了,出国游的人变多了,国内游的人就变少了。原因有很多,不能单独看,要多维度联动一起看。这些维度有些是关联存在的关系,有些是增强关系,有些是互相的排斥关系,都要搞清楚。

一个厉害的人大概同时能把十个项目撑起来,而一个平庸的团队可能铺一百个人下去,也讨论不出来一个结果。

目前城市计算所面临的最主要的挑战是什么?

缺数据科学家。很多人觉得自己已经将 AI 掌握得很成熟,算法研究的很好,但这不代表他能够解决行业问题。要解决行业问题,还需要对行业本身的了解。

举个例子,比如说空气质量分析和预测工作,你必须知道是什么因素导致了空气污染,这样才能想到用什么样的数据来分析和预测。当反映某个因素的数据不存在的时候,你要想是不是能够有别的数据来替代。还有这个行业里面的传统方法是什么样子?有什么样好的思想可以借鉴?有什么地方是不行的?为什么不行?我们要怎样做才能让它行?你的方法比原来的方法好在哪里?这些问题都要搞得很清楚。

否则即便你做出一个东西,看起来模型结果比较好,行业的人不见得会认可你。因为你讲不清楚,你没有跟别人沟通的语言。业务场景是在别人那,你最终要落到业务场景里去。

比如我接到过的城市需求是发展大数据产业。你要自己找到问题,比如充电桩选址是个问题,你要提出方法,用什么数据,怎样实现。在这方面北京和上海会好一些,但是如果我们要求全国各城市都具备计算机问题的分析能力,那要求太高了。政府是城市管理部门,不是科研部门。

所以现在我不担心硬件不发达,或者算法上不去,或者算法本身研究不出来,这都不是问题,我相信总会有突破。怎样把这些 AI 大数据人工智能算法跟行业的问题对接,是需要一大批数据科学家来支撑的。

合格的数据科学家需要有怎样的特质?

既要深度地了解行业,也需要懂数据背后的知识,而不是数据表面的格式。要懂各种各样的模型,不单单要具备底层的机器学习能力,还要有可视化、数据管理能力。他要懂得云平台怎么用,因为最后产品会落到云平台上来,做一个好的数据科学家是站在云平台上看问题,想数据关联模型,把模型有机地组合到一起,部署到我们的云平台上。

我觉得以后我们国家要加大力培养数据科学家,而不是简单地培养 AI 人才。在学校里上几门课,学学算法,学学工具,这些都不难。难的是学了之后要到各行各业里面去工作,解决行业问题,这中间有很高的门槛。这种经验的积累不是在学校里能够学得到的,需要靠数据和项目去喂养,在实战中去修炼。

所以我很鼓励高校的一些学生,特别是高年级的研究生们,能够多出来接触实际的企业,看到实际的问题,用真实的数据做一些东西。除了理论研究之外,我们也可以看看这个研究怎么落地应用,并从中得到一些反馈,同时你也会发现新的问题,甚至可能是核心的研究问题,是以前没想到的问题。所以我觉得这是一个产学研一体化的东西。

我们需要多长时间才能拥有足够多的数据科学家?

按照以往经验的话,7 到 10 年培养这样的一个人。五年的博士加上两年的工作经验,如果博士全在学校里面,那可能还不行。

我发现在我带的学生里面,有很多人有这样的问题。你给他培训得很细致,让他做了很多项目,但是他没有环境转换能力,换了就不懂。因为他没有快速的学习能力、高度的抽象能力、以及举一反三的能力。这可能跟悟性是有关的,还需要数据敏感性。有的人一看到问题,马上就能想到什么数据可以反映这个问题,但很多人就很难建立这个思路。

比如他看到出租车数据就想到出租车,想不到可以变成车流、人流,还能反映区域的经济、交通环境的变化。这个思路穿过来之后,就能用领域 A 的数据解决领域 B 的问题。

这个真的是看悟性,有时候你教都教不来。我从这么多的学生中观察,成才率很低。培养数据分析师很容易,可能数据分析师国家有几千几万名,但是数据科学家真的非常少。所以说中国一定要加大力度培养这种人才,才能在世界上立于不败之地。

在这方面我们的团队还好,因为我们团队已经磨合了很多年了,在这个方向我们也研究了很久,经验积累比较多。然后我自己学生跟我读书也读了四五年的博士,所以相对来说他们是有一些经验的。

一家公司想做城市计算的话,需要有怎样的素质?

我觉得需要有数据和团队。首先,做城市计算需要有良好的数据基础和数据资源。大家都以为政府数据特别多,但其实不是这样的,很多时候政府也需要行业数据来支撑他们的决策,共同解决问题。

还有一个就是团队。其实我觉得人才是最关键的,现在都说 AI 大战其实是人才大战。但不是说 AI 比赛是千军万马的比赛,不是说我有一百个人就比你十个人要厉害。很多时候能不能解决问题,往往靠一个人灵光一现。比如说问题卡在那,某一种数据缺失,怎么想都搞不定。这种时候往往是靠某一个人灵光一闪,发现另外一种数据,通过怎样的转变,怎样的使用就能解决问题了。当几个看上去没用的数据组合在一起的时候,在一种特殊场景和模型下面,能够发挥出一些意想不到的优势,这就是人才的作用。

一个厉害的人大概同时能把十个项目撑起来,而一个平庸的团队可能铺一百个人下去,也讨论不出来一个结果。所以 AI 真的不是一个靠千军万马过河的学科。京东在这方面已经意识到了战略储备的重要性,也在花大力气投入引进尖端人才。


dzzxjl

Home Linux ML Python Java Thoughts KmKg BookCan Links About