2017年5月21日,由中国人工智能学会、中文信息学会主办、亿欧承办的2017·全球人工智能技术大会在北京·国家会议中心拉开帷幕。
作为中国人工智能技术和产业领域规模最大、影响力最强的专业会议之一,本次大会汇聚了全球人工智能学术界和产业界著名学者、顶级专家和业界精英,在48小时的议程中,立体剖析了技术大牛与产业明星眼中的人工智能,硕果累累。
会上,阿里巴巴iDST研究员/资深总监,IEEE Fellow华先胜以“打造云上视觉智能生态”为题做了演讲,分析近两年在阿里云上做的视觉智能方面的工作和一些思考。
以下是观点提炼:
1、数据本身是算法研发的原料,同时又是算法的素材和智能产生的原料
2、深度学习取得了很大的突破,计算能力大的提升,数据更多,但是结果离真正的智能差得很远
3、人工智能将进入各行各业,势不可挡
【华先胜现场演讲实录】
云上的大数据视觉智能
我们首先看一下人工智能的三次“春天”:第一次是在50年代,人工智能的概念首次提出,大家觉得人工智能在20年之内会改变世界,所有的工作都会被人工智能颠覆。但是后来很遗憾,10年以后发现不行,大家很失望。第二次,80年代,神经网络的提出,BP算法的提出,以及专家系统的初步结果,大家又很高兴,人工智能又要改变世界,取代很多人的工作,但是后来证明还是不行,人工智能又一次进入了低估。
第三次就是今天,这次是不是真的春天呢,昨天有一个论坛也在探讨这个问题。这次有一些不一样,有很多不同的观点,有人认为深度学习取得了很大的突破,计算能力大的提升,数据更多,网络带宽大大增加。还有一个很重要的原因,我们已经看到一些结果了,虽然这些结果离真正的智能差得很远,但是在一些领域已经取得了非常不错的结果,不管是闹得玩的还是真正在产业界的应用,都有一些可喜的结果。
今天,人工智能技术将会改变哪些行业呢?我们先从视觉的角度看一看,视觉智能可以从云上做也可以从端上做,我们就从云上来看。我们看看现在发生了什么样的事情,其实有的是发生了很多年的事情。
大家看这些图,左上角是交通的监控场景,右边和左下是治安和教育的场景,最后一个是直播。这个是主动的,前面三个是被动的。这些大量的数据它的价值有没有被充分发掘出来,这是一个很大的问题。
例如,在全世界有数以亿计的摄像头,中国占了一多半,每年有几千万的摄像头被采购,一个城市里,中国一个一级城市里可能有几十万个摄像头。大家可能也注意到一些,这些摄像头的数据到底是怎么被利用,大家开车可能被处罚过,还有交警的控制中心经常要巡检查看,公安局里出了什么案件也需要调录像查看。仅有这些吗?投入了这么多,这些视频的价值怎么才能充分挖掘出来,这是一个很大的问题。
再看个人的图像视频数据,这个数据量也是挺大,和每个人切身相关。我们到一个好的地方,好的风景,自己看没看没有关系,一定要让相机“看”一下。还有各行各业的数据,无人机的数据,工业的数据,医疗的数据,体育娱乐,新闻等等。这些大量的数据,在技术往前发展了一大步的今天,他们的价值能不能充分挖掘出来呢?
我们处理这样的数据,就会是一个视觉大数据的问题。它的特点是显而易见,第一就是数据量非常大,例如,要处理数以万计的摄像头,对计算的效率要求非常高。像城市计算,视觉数据量最大的地方就在城市里面。
有一些电视台有100万小时的数据,已经很多了,后来想一想,如果一个城市里有10万个摄像头,跑了10个小时就是100万小时了。第二,是很多应用有实时性的要求。例如,交通红绿灯的自适应优化,就需要实时进行分析,实时做出决策。第三点,就是数据的复杂度非常高,各种情况下的数据都有,各种应用的数据都有,数据的干净程度和质量都有很大的不同,需要完成的任务,开发的智能也都是不一样的,对算法的普适性的要求很高。
视觉智能的五要素和现状
我们先回顾一下现在的技术和数据等各方面是不是准备好了。第一,从算法的角度来看,准确率是我们首先关注的目标。我们经常看到这个公司又刷新了一个公测集的记录,包括我自己最近也刷了一个车辆检测的记录。这个是不是说明视觉智能已经很厉害、已经超过人了呢?现实的应用当中往往是非常残酷的,公测集上的结果往往只是个开始,在实际应用中还有很多的工作,很多非常繁重的工作,才能使得我们的算法在一个行业里做到可用。
其次,从覆盖率上来讲,这个问题更大了,在座可能很多人都是学生,我们在写论文的时候很少有人关注覆盖率这个问题。覆盖率是什么意思呢?如果从识别的角度来讲,就是识别的范围足够大。这个问题很有意思,例如,ImageNet中1000类物体场景的识别,我们拿到真正的应用场景里去看,是远远不够,或者说应用场景感兴趣的常常不是这些类别,也就是说这些没有覆盖到用户需要的地方。
你要覆盖全世界是非常难的事情,但是不见得是不能做的事情,几年前我微软还尝试过做过百万标签识别的问题,这个准确率当然很难做得高,但是在一些场景下也是可以用的,例如搜索。覆盖率在视觉搜索中的体现,例如,能搜衣服,不能搜鞋子不行,不能搜其他东西也不行。用户的使用体验往往覆盖率非常有关系。
第二方面,计算效率。效率决定了这个事情可不可能发生,比如我们要处理城市的几十万摄像头,需要花几十亿就完蛋了,这不是成本的问题,是这个事情可不可能发生的问题。从计算的角度来讲,不仅仅是计算的效率,还有计算的平台,尤其是当你处理大量数据的时候,不是一台机器两台机器,需要百台千台万台的时候,需要处理系统和流程的问题,比如说容错、流程的控制等等,这就需要一个大的计算平台来支撑它。从计算来讲,效率是非常重要的,包括平台的效率,计算节点的效率,例如一台GPU放多张卡,这些卡如何充分利用起来,还有算法本身实际运行效率的问题。刚才我忘了说一句,关于算法的一个结论:我们确实有很大的进展,但是还有很长的路要去走。对于算法而言,只有把计算的效率发挥到极致,算法的优势才能发挥到极致。
第三方面,数据。数据也是争论最多的问题,昨天也有一个论坛讨论数据的问题。大家经常发现数据的威力有时候会超过算法,当然如果只是学生作为借口,做不好算法说是数据的问题,那是另外一回事。在昨天的论坛上也一直讨论数据和深度学习算法的问题,实际上数据的使用有两个方面的问题,这个还是一直没有说清楚,也就是说,数据的作用到底在哪里的问题。
我觉得很多时候大家只是关注了数据对算法研发的作用,但是这只是其中一个作用,而数据对智能本身是另外一种作用,而且是很重要的作用。没有数据,就没有从数据产生的智能。至于没有大量数据是不是就没有深度学习算法,这个还可以商量,也许少量的数据也是可以的,但是作为智能,尤其是强人工智能的话,如果没有大数据恐怕是不可能的。所以,数据是有两个维度的作用在里面,一个是数据本身是算法研发的原料,同时又是算法的素材和智能产生的原料,这是数据的两个作用。
数据本身也是有很多的困难,数据量大的时候,包括采集、传输、接入、融合和存储等方面都不是简单的事情。还有非技术方面的困难,尤其是数据的开放,其实在中国这件事情已经比西方国家好得多了。在中国,大家对数据开放没有那么纠结,这也是人工智能在中国获得更快发展的一个很重要的原因。
第四点,刚才讲了人工智能风声水起,视觉计算遍地开花,但是,花开了,能不能得到结果呢?就是你做的事情是不是个正确的事情,是不是真的事情。有时候看起来是个真的事情,其实有时候是个伪课题,伪需求。
昨天也有人提到伪需求,我们在实际当中确实是会碰到的。客户有时提出的需求,仔细想一想可能就是伪需求,也就是说不是一个能够带来真正价值的需求,无论你带来了价值是节省了人力,降低了成本,还是提高了安全性等等,这些都是要非常明确的。如果这些不明确,你就没有一个商业的模型和应用,没有明确的商业应用,没有持久的商业应用,这个AI也就不能持久。
总结一下,一共五点:算法,是安身立命之本;计算平台保证算法能大规模处理大量数据,也是计算效率的问题;数据,一方面是算法研发的原料,也是产生智能的原料;用户这个要素刚才没有单独分析,但其跟商业模式和数据是非常相关的。商业上,有大量的用户使用,或者说用户少,使用的频率比较高也是OK的,而用户本身也能产生数据,例如,搜索引擎就是利用了大量的用户的数据,每个人对搜索引擎都是有贡献的。商业刚才讲了,合适的商业模式,保证你做的是正确的事情,不是虚假的问题。
视觉智能实例:拍立淘
下面讲几个例子,有的是已经做好的,有的是正在做的。首先看基于图像的商品搜索。我们今天讲的是视觉的搜索,是通过拍照的方式搜索商品。淘宝上有一个功能就是拍照搜索,叫做“拍立淘”。它要解决问题就是文字之外的搜索入口,是无法用简单的文字描述的搜索需求,是个简单直接的搜索方式。
如果这个应用每天的用户和交易量在千万级别的话,还是很有价值的。这里关键的技术包括,商品识别,商品检测,和商品描述。首先,用户拍了商品照片后,要做出精准的商品类型判断,不然后面就全错了;然后要知道这个商品在图像中的位置,再用一个深度学习网络的做特征提取。后面还有检索,排序,搜索质量判断,以及结果呈现。这里的几乎每一步都是用深度学习来完成的。
我们来看几个例子。这是同一个包,但其实图像是不一样;这是一只鞋子,虽然我们没有找到同款,但找到了非常相像的款式;这是一件圆领衫,没有什么显著的特征,比较难做,但也是找到了很象的衣服;这个杯子是一次开会的时候看到的,你要用文字搜就说不清楚了,但用图像找到同款却是易如反掌;这个例子,是和朋友喝茶的时候,看到这个泡茶杯太好了,我之前没有见过。被子上面有一个红色的按钮,就是水倒下去后,水是在上面泡着茶叶,觉得泡的浓度差不多了,就可以按这个红色的按钮,茶水就流下去了。我想买,也不知道这个被子叫什么。好在我有拍立淘,一拍就知道,这种杯子叫做飘逸杯,淘宝上有很多可以选择。
视觉智能实例:城市之眼
视觉之眼,是城市的眼睛。我们要处理的是城市的摄像头,不管是交通、安防、城管还是个人的,这些摄像头的数据,我们考虑怎么样把它的价值挖掘出来。里面涉及到的技术仍然是视觉数据的检测、识别、系统支持、搜索、挖掘等等。
这个例子是交通视频的分析,对车辆的检测,车辆的跟踪,车辆的属性,就是将路面上发声的事情了解到底朝天的。过去做交通优化的时候有两个信息源,第一个是地感线圈,但线圈数据不知道这个车的属性,车类型,车多长,这个车到哪里去了,这个信息不全。第二个数据,是GPS的数据,但一般只有少数人开启GPS,所以是采样数据。视频数据不同,是“眼见为实”,摄像头见到才是真实完整的数据,所以这个数据是不可替代的。
这个例子是另外一种摄像头,高点的摄像头,虽然细节看不清楚,但是数数可以数得出来,而且,你任意画一个区域就知道关于这个区域物体的移动的情况。比如说过去多少辆车,大概的类型是什么,有的地方不让停车,你可以画个框不让停,一旦有车停了就可以报警。
这些技术也没有什么特别的地方,也有很多人做类似的工作。但是有一件事情不同,就是如果处理大量这样的数据,几万,几十万这样的数据,你需要在一个平台上进行实时处理,这就不是一个简单的事情,而且要处理的效率足够高,这是很关键的事情。我们有离线和实时处理系统,大规模离线视觉分析,这个是阿里的一套系统,对实时要求不高的大量视频数据,离线比较容易处理。
实时的原理也差不多,只不过有延时方面的要求。系统实现上,还有时间上的和空间上的实时协同,比如说一个路口的交通灯进行管控,你要看这四个路口,还要看旁边几个路口,你在实时的时候还要把空间多路信息融合。时间和空间的协同的问题,这个是由平台来支撑的,不是由算法来支撑的,而我们做算法的人员可以集中在算法的设计和优化上。
还有搜索的功能,刚才讲了电商的搜索,这个量级不小,但是还有一个量更大的就是城市的数据,城市的数据量太大了。里面有车有人,人是非常难的事情,人脸相对容易,而看不清人脸的人就非常难。车相对容易一点,我们要学习它的结构化的特征,和它的非结构化的特征,也就是用一个向量表示的视觉特征。
这里面我讲两个精细的视觉数据的理解的例子,第一个是车牌。数据这件事情是非常有意思的,刚才讲了大数据,但是刚才讲的数据一个是研发算法的原料,第二个就是人工智能的原料。对于算法研发而言,往往需要大量的标注数据,但有时候这样的数据并不容易获取,或者获取的成本比较高。例如,有一种车牌的识别。车牌看起来数据量很大,但双层黄车牌的量就要小很多。
有一种思路就是自动生成一些车牌作为车牌识别的训练数据,这两幅图就是例子,是算法生成的以假乱真的车牌。这个车牌产生以后,对识别的准确率是压倒性的提升的。还有场景,数据的获取更可怜,比如事故,但是你有大量正常的样本,一样可以用来做数据的模型,可以作为异常检测的问题来做就可以了。这上面是公开测试级上的结果,视频中间有人撒了一点纸,这个异常的检测响应是非常明显的;下面的这个例子是车辆的刮蹭,是个真实场景,难度就大多了。
从搜索的角度来讲,我们把整个城市的数据如果都搜集起来,放到一个大数据里,建好索引,大家脑补一下,将会对城市的交通优化等应用产生什么样的影响力。如果我们再进一步挖掘数据的价值,有很多应用场景可以考虑……
视觉智能实例:视觉诊断
第三个是视觉诊断,包括诊断人和诊断机器。诊断人比较好说了,就是医疗图像分析,现在也是很热的题目。当然它比其他的方向慢了半拍,一方面由于数据收集的困难,另一方面是需要很强的专业知识。机器诊断是还没有开发的方向,它的问题有点像前面提到的异常检测的问题,一般有三个特点:发生概率很低,正例样本很少,正例样本差异性大的东西。
举个例子,1万个样本,只有10个是有问题,是你要找出来。但是你找不准那10个,只能说找出100个,那10个就在100个里面。这个时候,你的召回率是100%,而准确率呢,很低的,只有10%。但是,这是有没有用呢?我们算算省了多少人力,省了99%,因为你只需要看100个就行了。哪怕我们只有1%的准确率,只要召回率足够,我们也省了90%的人力。所以这类的问题目标也是不一样的,衡量的标准是不一样,省人力是非常重要的指标。其实这里面涉及到各行各业的视觉问题,凡是过去需要人眼来看的,是不是都可以看到用视觉的方法实现。从这个角度来讲,就是遍地黄金,很多地方都可以挖到黄金,不见得出来一个视觉创业公司就一定要去做人脸识别。
视觉智能实例:视觉广告
前面三个是偏分析、搜索的,第四个方向,视觉广告,是合成的方向。视觉广告将视觉数据变现的最直接的方法,特别是对于娱乐的数据,个人的数据,新闻,电视电影等这些数据。这些数据怎么发挥更多的价值,除了人看以外,广告是很重要的方法。但是增加广告后用户的体验不见得好,大家如果看过网上的视频,应该有深切的体会。那广告是不是可以做的更好一点?时间关系,细节我不讲了,我们看几个例子。例如,可不可以把广告放在场景里,作为场景的一部分?当然,这个已经有人工在做这样的事情了,但是人工做不了大量的内容。如果可以自动化,就可以用到大量的视频中,像这个例子,把电视机换成了广告视频,这样也不耽误观看者欣赏视频的内容,也不占观者的时间,但实际上它潜移默化地影响了你。
云上视觉智能生态
阿里云上的视觉技术有一个统一的名字,阿里云眼,是阿里云大数据平台的智能视觉中心,这是它的总图。回到一开始提出的问题,人工智能将会改变什么行业,答案就是:智能将进入各行各业,Intelligence Everywhere势不可挡。但是,人工智能的从业者也是很容易翻船,因为你需要这些五个因素齐备。还有一种选择,就是你可以加入到一个生态里-我终于回到今天讲的主题上来了,打造云上视觉计算的生态。不仅仅是视觉,其他智能也是一样的。
在云上,可以搭一个舞台,这个舞台不仅仅是大公司在玩,小公司也可以玩,个人也可以玩。不管是哪个层次的智能,基础API、功能模块和解决方案都可以。这个舞台上还有一些基本的道具可以使用,例如,搜索引擎,机器学习平台,大规模视觉计算等等,还有最基本的计算和存储,这些东西都可以利用起来,大家都可以在这个平台上玩。其实整个云上的智能也不是一个公司两个公司可以完成的,各行各业的需求量非常大,需要很多人一起努力,把这个生态一起繁荣起来。谢谢大家。