本文整理自阿里iDST科学家华先胜在全球人工智能技术大会上的演讲。今天给大家汇报的主要是这两年在阿里云上做的关于视觉智能的工作和一些思考。先来看人工智能的三大“泉”。第一次是在50年代,人工智能的概念被首次提出。大家都觉得人工智能会在20年内改变世界,所有的工作都会被人工智能颠覆。但是很可惜,10年之后还是没有了,大家很是失望。第二次是80年代,随着神经网络、BP算法的引入,专家系统的初步成果。每个人都很高兴。人工智能本来是要改变世界,取代很多人的工作,但后来证明还是不行。人工智能再次进入低谷。第三次是今天。这次真的是春天吗?昨天有个论坛也在讨论这个问题。这次有些不同,众说纷纭。有人认为深度学习取得了很大的突破,计算能力大大提高,数据更多,网络带宽也大大增加。还有一个很重要的原因。我们已经看到了一些结果。虽然这些成果与真正的智能相去甚远,但在某些领域,无论是公关效果还是现实产业,都取得了非常好的效果。应用,有一些有希望的结果。云上大数据、视觉智能、人工智能技术将改变哪些行业?让我们从视觉的角度来看一下。视觉智能可以在云端完成,也可以在端部完成。今天我们从云端来看。让我们来看看现在发生了什么。事实上,有些事情已经发生了很多年。看这几张图,左上角是交通监控场景,右下角和左下角是安防和教育场景,最后一张是直播。直播是主动的,前三者是被动的。这些海量数据的价值是否被充分挖掘是一个大问题。例如,全球有数亿台摄像头,中国就占了一半以上。每年采购几千万台摄像机,国内一个一线城市就有几十万台摄像机。您可能还注意到这些相机的数据是如何使用的。你可能因为开车被处罚过,交警的指挥中心经常被检查,公安局的任何案件都需要录像。这是唯一的事情吗?投入如此之多,这些视频的价值如何才能得到充分挖掘?这是一个大问题。再看个人的图像和视频数据,这个量也是相当大的,而且和我们每个人都息息相关。每当我们到了一个好地方,有了好风景,不管是不是我们自己看到的,一定要让相机“看到”。此外,还有各行各业的数据,如无人机数据、工业数据、医疗数据,以及体育、娱乐、新闻等。在科技大步向前的今天,这些海量数据的价值能否得到充分发挥?我们处理这样的数据,就是可视化大数据的问题。它的特点很明显,最大的就是数据量非常大。视觉数据量最大的地方是城市。有些电视台有100万小时的数据,已经很多了。再想想,如果一个城市有10万个摄像头,跑10个小时就是100万个小时。二是很多应用都有实时性要求。例如,红绿灯配时的自适应优化需要实时分析和实时决策。第三点,数据的复杂度很高。在各种情况和应用中都有数据。数据的清洁度和质量非常不同。它们各不相同,这就对算法的普适性提出了很高的要求。视觉智能的五要素和现状我们先回顾一下现在的技术和数据是否准备好了。***另一方面,从算法的角度来说,准确性是我们首先关心的。我们经常看到这家公司刷新了公测集的记录,包括我们自己最近的一次车辆检测记录。这是否意味着视觉智能已经非常强大,已经超越了人类?在实际应用中,往往是非常残酷的。公共测试集上的结果通常只是一个开始。在实际应用中,需要做很多非常繁重的工作才能使我们的算法在一个行业中可用。其次,从覆盖率来看,这个问题更大。在座的很多人可能是学生,很少有人在写论文的时候关注覆盖率的问题。覆盖率是什么意思?从识别的角度来说,就是识别的范围足够大。这个问题很有意思。比如ImageNet对1000种物体场景的识别,远远不够我们在实际应用场景中看到;或者,实际的应用场景往往对这些类别不感兴趣,也就是说这些没有覆盖到用户需要的地方。你很难覆盖整个世界,但也不一定不可能。几年前,我也在微软尝试过做百万标签识别问题。当然这个准确率很难做到高,但是也可以用在一些场景,比如搜索。覆盖率反映在视觉搜索中。比如可以搜衣服,就不能搜鞋,更不能搜其他东西。用户体验往往与覆盖率有很大关系。第二个方面是计算效率。效率决定了这件事的不可能。比如我们要处理一个城市的几十万个摄像头,我们需要花费数十亿才能完成。这不是成本的问题,而是这件事情能不能发生的问题。从计算的角度来说,不仅仅是计算的效率,还有计算平台,尤其是当你处理大量数据的时候,不是一两台机器,而是几百台、几千台、几万台机器,你需要处理系统和流程的问题,比如容错、流程控制等,都需要一个大的计算平台来支撑。在计算方面,效率非常重要,包括平台的效率和计算节点的效率。比如一台电脑放多张GPU卡,如何充分利用这些卡。还有算法本身运行效率的问题。刚才忘记说了,关于算法的一个结论:我们确实取得了很大的进步,但是还有很长的路要走。对于算法来说,只有最大化计算效率,才能最大限度地发挥算法的优势。第三个方面是数据。这也是争论最多的问题。昨天还有一个论坛讨论数据的问题。我们经常发现,数据的力量有时会超过算法。当然,如果只是借口让学生算法做得好,说是数据的问题,那就另当别论了。在昨天的论坛中,已经讨论了数据和深度学习算法的问题。其实在数据的使用上有两个问题,没有弄清楚。数据的作用是什么?我认为很多时候人们只关注数据在算法开发中的作用,但这只是一个作用;而数据本身在情报中还有另外一个作用,而且是非常重要的作用。没有数据,就没有数据产生的智能。至于没有大量数据就没有深度学习算法,这个还是可以商量的。也许少量的数据也是可以的,但是作为智能,尤其是强人工智能,没有大量的数据可能就不行了。因此,数据在其中具有两个功能。数据本身是算法研发的原材料,同时数据也是产生智能的原材料。这是数据的两个功能。数据本身也有很多困难。当数据量很大时,采集、传输、访问、整合和存储都不容易。也有非技术上的难点,尤其是数据的开放。其实这件事在中国比在西方国家要好很多。在中国,人们对数据开放没有那么纠结,这也是人工智能在中国发展比较快的一个很重要的原因。第四个方面,刚才讲了人工智能的兴起,视觉计算的开花结果,但是花开的时候,能不能有结果呢?就是你做的事情是不是对的,是不是真的东西。有时候看起来是真东西,其实是伪项目,伪需求。昨天也有人提到了伪需求,我们在实践中确实会遇到。有时候客户提出的需求,仔细想想可能是一个虚假的需求,也就是说,它不是一个能够带来真正价值的需求。你带来的价值是节省人力,降低成本,还是提高安全性等等,这些都必须非常清楚。如果这些都不清楚,你就不会有商业模式和应用。没有明确的业务应用和持久的业务应用,这个AI不会持久。总结一下,一共有五点(有一点没有直接提到):算法是生活的基础;计算平台保证算法可以大规模处理大量数据,这也是计算效率的问题;原材料;用户元素刚才没有单独分析,但是跟业务模型和数据有很大的关系。业务上,用户多就可以,或者用户少,使用频率比较高,用户自己也可以产生数据。例如,搜索引擎使用了大量的用户数据,每个人都为搜索引擎做贡献。至于商业,刚才,合适的商业模式保证你做的是正确的事,而不是虚假的需求。视觉智能的例子:拍立淘下面举几个例子,有的已经在做,有的还在进行中。首先看看基于图像的产品搜索。我们今天说的是视觉搜索,就是通过拍照来搜索商品。淘宝上有一个功能就是图片搜索,叫做“拍立淘”。它要解决的问题是词以外的搜索入口,不能用简单的文字描述的搜索需求,是一种简单直接的搜索方式。如果这款应用的日活用户和交易量处于同一水平,还是很有价值的。这里的关键技术包括商品识别、商品检测和商品描述。首先,用户拍完商品后,一定要对商品类型做出准确的判断,否则以后全错;那么他必须知道产品在图像中的位置,然后使用深度学习网络进行特征提取;后面会有检索,排序,搜索质量判断,结果展示。这里几乎每一步都是使用深度学习完成的。让我们看几个例子。这是同一个包,但图像不同;这是一只鞋,虽然我们没有找到相同的款式,但是我们找到了非常相似的款式;这是一件圆领衬衫,没有什么特别之处,我很难做到,但我也找到了很相似的衣服;我在一次会议上看到了这个杯子。如果用文字搜索是看不出来的,但是用图片很容易找到同款。还有一个例子,和朋友喝茶的时候,看到这个茶杯这么好,我从来没有见过;杯子上有一个红色的按钮,意思是倒水后,水会把上面的茶叶浸湿,感觉冲泡的浓度差不多了,就可以按红色按钮,茶会流下来。想买,不知道这个杯子叫什么。好在我们有排力淘,可以知道这种杯子叫雅杯,淘宝上有很多选择。视觉智能示例:城市之眼视觉之眼就是城市之眼。我们要应对的是城市的摄像头,不管是交通、安保、城管,还是人身。我们思考如何挖掘这些摄像头数据的价值。涉及的技术还是视觉数据的检测、识别、系统、搜索、挖掘等,这个例子是交通视频的分析,车辆的检测,车辆的跟踪,车辆的属性,就是了解发生了什么在自下而上的路上。过去在做交通优化时,信息来源有两个,第一个是地面感应圈;但是线圈数据并不知道汽车的属性,汽车的类型,汽车行驶了多长时间,汽车去了哪里,这些信息是不完整的。第二个数据是GPS数据;但一般只有少数人打开GPS,所以是采样数据。视频数据则不同,它是“眼见为实”,摄像机看到的是真实完整的数据,所以这个数据是不可替代的。这个例子是另一种camera,高位camera,虽然细节看不清楚,但是可以数一数,可以随便画一个区域,就可以知道这个区域物体的运动情况。例如,有多少辆车经过,是什么类型的;在一些不准停车的地方,可以划出一个不准停车的区域,一旦有车停下,就报警。这些技术没有什么特别之处,做类似工作的人很多。但是有一点不一样,就是如果你处理大量这样的数据,几万、几十万的数据,你需要在一个平台上实时处理,这不是一件简单的事情,而且处理效率一定要足够高,这是很重要的事情。我们有离线和实时两套处理系统,大规模离线可视化分析,这是阿里的一个系统,大量的视频数据对实时性要求不高,离线更容易处理。实时的原理类似,但是对延时有要求。在系统实施方面,还有时间和空间上的实时协作。比如控制一个路口的红绿灯,需要看四个路口和相邻的几个路口。您还需要在实时分析期间融合空间多通道信息。时间和空间的协同问题是由平台支撑的,而不是算法支撑的,这样我们的算法人员就可以专注于算法的设计和优化。还有一个搜索功能。刚才讲了电商的搜索。这不是一个小数目,而且还有一个更大的城市数据量。城市的数据量太大了,里面有车,有人。人是很难的东西。看脸比较容易,看不到脸的人就很难了;汽车相对容易。我们需要学习它的结构化特征和它的非结构化特征,也就是用一个向量来表示视觉特征。这里我要讲两个视觉数据的特殊例子,其实是城市视觉识别技术的例子,只是在数据量上与我们的直觉感受不符。首先是车牌。数据问题非常有趣。刚才讲了大数据,但是刚才讲的数据,一是算法开发的原材料,二是人工智能的原材料。对于算法开发,往往需要大量的标注数据,但有时这样的数据并不容易获取,或者获取成本比较高。比如在车牌的识别中,车牌看起来数据量很大,但是双层黄色车牌的数据量就小很多。一种思路是自动生成一些车牌作为车牌识别的训练数据。这两张图就是例子,是算法生成的假车牌。车牌生成后,识别准确率有了明显提升。还有一些数据获取比较差的场景,比如事故,但是你有大量的正常样本,也可以作为数据模型,作为异常检测问题来做。以上是公测级别的结果。有人在视频中间撒了一点纸,异常检测反应非常明显;下面的例子是一辆被划伤的车辆,是真实场景,难度要大很多。从搜索的角度来说,如果我们把整个城市的数据收集起来,放到一个大数据里,建立一个索引,让大家自己拿主意,对城市的交通优化等应用会有什么样的影响.如果进一步挖掘数据的价值,还有很多应用场景可以考虑……视觉智能示例:视觉诊断第三个是视觉诊断,包括诊断人和诊断机器。诊断比较好说,就是医学影像分析,这也是现在很热门的话题。当然,比其他方向慢了半拍。一方面是由于数据收集难度大;另一方面,它需要强大的专业知识。机器诊断是一个尚未开发的方向。它的问题有点像上面说的异常检测的问题。它具有三个特点:出现概率低、正样本少、正样本差异大。例如,在10,000个样本中,只有10个有问题,你需要找出来。但是你找不到那10个,你只能说如果你找到100个,那10个就在这100个里面。此时你的召回率是100%,准确率很低,只有10%。但是,这有用吗?我们算了一下节省了多少人力,节省了99%,因为你只需要看100个。即使准确率只有1%,只要召回率足够,也可以节省90%的人力。因此,此类问题的目标不同,衡量标准也不同。节省人力是一个很重要的指标。其实涉及到各行各业的视觉问题。以往需要用人眼才能看到的问题,都可以用视觉的方法来解决。由此看来,黄金无处不在,很多地方都可以挖到黄金。视觉创业公司不一定要做人脸识别。视觉智能举例:视觉广告前三个方向是分析和搜索,第四个方向——视觉广告是综合方向。视觉广告是视觉数据变现最直接的方式,尤其是娱乐数据、个人数据、新闻、电视电影等数据。如何更多地利用这些数据,除了让人看,广告是一个很重要的方法。但是,加入广告后,用户的观看体验很差。如果看过网上的视频,应该深有体会。广告可以做得更好吗?让我们看几个例子。比如广告是否可以作为场景的一部分投放到场景中?当然,现在已经有人在做这种事情了,但是人做不了很多内容。如果可以自动化,就可以在大量的视频中使用。像下面的例子,将视频中的电视画面部分替换成广告视频。这样的广告既不耽误观看者欣赏视频内容,也不占用观看者的时间,反而在潜移默化中影响了你。视觉技术在阿里云上有一个统一的名字——阿里云眼,是阿里云大数据平台的智能视觉中心。这是它的概况。回到开头提出的问题,人工智能将改变哪些行业?答案是,智能将进入各行各业,智能无处不在,势不可挡。但是人工智能的从业者也很容易翻船,因为你需要这五个要素到位。另一种选择是你可以加入一个生态。终于回到今天的话题——打造云上视觉计算生态。不仅仅是视觉,还有其他智能。可以在云端搭建舞台。这个舞台不仅有大公司在玩,小公司和个人也有。无论智能化程度高低,基本的API、功能模块、解决方案都可以。这个阶段还有一些基础道具可以用,比如搜索引擎、机器学习平台、大规模视觉计算等,还有最基础的计算和存储。这些东西都可以用,大家可以在这个平台上玩。事实上,整个云上的智能化,不是一两家公司就能完成的。各行各业的需求非常大,需要很多人共同努力,才能让这个生态共同繁荣起来。【本文为专栏作者《阿里巴巴官方技术》原创稿件,转载请联系原作者】点此查看作者更多好文
