点击上方“深度学习大讲堂”可订阅哦!
编者按:我们正在邂逅一场前所未有的人工智能技术革命和应用的井喷,现阶段的人工智能发展至今,其背后是以大数据为驱动的。然而,类比人类智能来看人工智能,AI要想真正自主地理解世界,是需要成长与发育的,需要基于小数据乃至0数据情况下的自主学习能力、从有监督到无监督数据的迁移能力、脏数据情况下的纠错能力、少量数据情况下的增广能力、以及多模态的数据协同能力。中科视拓CTO、中科院计算所研究员山世光博士,将从X数据的角度出发,分享他在视觉智能领域的成果。
文章来源:雷锋网 AI科技评论
山世光,中科院计算所研究员、博导,基金委优青,CCF青年科学奖获得者,现任中科院智能信息处理重点实验室常务副主任,中科视拓创始人、董事长兼CTO。他的研究领域为计算机视觉和机器学习。已在国内外刊物和学术会议上发表论文200余篇,其中CCF A类论文60余篇,论文被谷歌学术引用10000余次。曾应邀担任过ICCV,ACCV,ICPR,FG,ICASSP等国际会议领域主席,现任IEEE TIP, CVIU, PRL, Neurocomputing, FCS等国际学术刊物的编委(AE)。研究成果获2005年度国家科技进步二等奖,2015年度国家自然科学二等奖,CVPR2008 Best Student Poster Award Runner-up奖。
如何看待这次AI热潮?
谷歌AlphaGo与李世石的世纪之战,让人工智能(AI)这个话题再度火爆起来。山世光博士早在20年前就开始做AI领域中的计算机视觉技术研究,在这次GAIR大会分享中,他结合自己过去的科研经历和行业观察,分别从四个不同的角度分析,给出了他对此次AI热潮的一些看法:
从方法论角度看:过去几十年流行的人类专家知识驱动的AI方法论被数据驱动的AI方法论全面取代。这里的数据主要指有监督的大数据。人类智能的产生是不是也完全基于有监督的大数据学习而来,尚不得而知。从这个意义上讲,计算智能和人类智能之间的差异也不得而知。
从学术角度来看:虽然有监督大数据驱动的方法论在某些领域已经构建出了超越人类智能的AI,但基于有监督大数据的深度学习是否构建机器智能时代充分而且必要的基础性方法?个人认为至少是不充分的,我们需要新的方法论。
从算法角度来看:主要得益于两个方法:一是深度学习,二是增强学习。增强学习被大家所熟知主要是因为AlphaGo在围棋上战胜了人类最强的棋手。但实际上增强学习在很多场景下是不能用的,至少目前在视觉和语音处理等任务中尚未得到有效的应用。而深度学习可类比人类学习方法里的归纳学习,却不适合演绎学习。深度学习是否可以广泛应用于推理类任务尚不得而知。
从做计算机视觉的角度来讲:包括智能视频监控、考勤门禁等在内的安防应用,以及医疗读图、基于视觉的汽车辅助驾驶等都是计算机视觉技术落地的方向,大量商业化产品已经雨后春笋般涌上市场。
关于演讲主题中的X表示什么意思,山世光博士在接下来的演讲中给出了X数据的五个含义,分别是:第一,大数据;第二,小数据;第三,脏数据;第四,无监督数据;第五,是增广,通过增广获得更大的数据集。下面的分享实录中会有对各个含义的详细解读。
为什么要做X数据驱动?
山世光博士将深度学习算法、强大算力、大数据比作AI革命背后的“三驾马车”,而这“三驾马车“背后的现实问题是金钱投资,需要非常厉害的牛人做深度学习算法、搭建更加强大的计算力平台以及收集更多的数据。其中,数据收集和标注的成本日趋昂贵,所以我们希望在这方面看看能不能做点什么。
关于SeetaVision视觉技术
人脸识别技术:SeetaVision的多姿态人脸检测技术,是在标准人脸检测评测集FDDB上最好的方法之一。在100个误检情况下,SeetaVision的检测率达到了92%,此外还研发了检测加速技术,从而可以在嵌入式设备上实现实时的多姿态人脸检测。第二个人脸核心技术是面部关键特征点的定位,SeetaVision实现了81个关键特征点的超实时检测与跟踪。SeetaVision人脸识别技术的具体应用包括人证一致性验证、员工考勤与打卡、黑白名单目标人监测等。
手势识别:SeetaVision可以实现实时的手语翻译,就像语音识别一样,把1000常用词形成的手语句子翻译成为自然语言文本。基于此,视拓目前已经和美的合作,将其应用于智能家居中。
情感计算:SeetaVision的基本表情识别率超过85%,基于普通摄像头的心率估计的准确率也非常接近医疗设备的测量结果。
视频结构化:面向智能视频监控类应用,SeetaVision实现了嵌入式设备上的实时人车跟踪,准确度超过85%。
无人机视觉:针对无人机地面目标检测任务,SeetaVision实现了高清视频中地面车辆等目标的实时检测、分类与跟踪。
山世光博士还表示,中科视拓的终极目标是让AI知人知面看世界,给每个AI装上智慧的眼睛,让它看清在跟谁交互,周围环境如何,以及正在发生什么事情。而面对目前市场上已有多家做人脸识别等视觉技术的创业公司,如何才能在竞争中脱颖而出,山世光博士表示,将SeetaVision的商业模式定位为“开源赋能”,走差异化竞争路线,重点关注与行业客户之间的深度合作。
在大会分享的最后,山世光博士对AI未来发展需要注意哪些问题做了一些总结,他认为:
其一,鲁棒性可能是AI和视觉智能一个最致命的问题。其二,AI的成长需要多模态协同,不能单靠视觉智能或语音智能等。其三,如何基于小数据甚至是零数据准确完成各类视觉任务,还需要大量的深入研究。
以下是山世光博士在CCF-GAIR 2017上分享的报告:
我今天报告的题目是《X数据驱动的Seeta平台与技术》,可能大家都在想X是什么,这里我们暂时认为X就是一个问号。在接下来的报告中,我会从X数据入手,来重点介绍一下我们所做的工作。
其实我们大家都非常深切的体会到,我们正在邂逅一场前所未有的人工智能技术革命和应用的井喷。在这样的一个状态下,它的背后是有“三驾马车”或者“三个引擎”,就是深度学习算法、强大算力、以及大数据,这些因素的共同作用才产生了这一轮新的AI热潮。
我这次报告的题目为什么叫“X数据驱动”,主要是从数据角度出发,看对AI产业能做什么事情。
这一轮人工智能的热潮,从方法论的角度来讲,主要是源自AI研究范式的变迁,即从人类专家知识驱动的方法论到数据驱动的方法论的变迁。我们指的数据,其实是特指有监督的大数据:一方面是数据量必须足够大,另一方面这些数据还必须是带有内容标签的。人类智能的本质同现在的计算智能之间的差异,在目前而言还是不得而知。因此我们非常有必要从学术角度来探讨,数据驱动或者有监督的大数据驱动这样一种方法论,是否会是我们构建整个机器智能时代的基础设施。
当然,在目前这种有监督大数据驱动的方法论条件下,在某些领域确实已经出现了AI超越人类智能的情况。对于这一轮AI热潮,从算法角度,主要得益于两个东西:一是深度学习、二是增强学习。
增强学习
增强学习被大家熟知主要是因为AlphaGo在围棋上战胜了人类最强的棋手。实际上增强学习并不是放之四海皆可用的方法,它在很多场景下是不能用的,特别是在视觉和语音等场景下并没有得到非常有效的应用。因为它需要AI能够自动的判断对错,比如说下围棋或者一个游戏,做得好或者不好,算法是可以自动去判断好或者不好、对或者错的。像我们的视觉、听觉这样的一些问题,比如说做人脸识别,AI算法本身识别错了,它是不能够知道自己识别错了的,识别对了它自己也不知道,所以很难形成一个迭代的自我增强过程。如果是硬去迭代,很可能会学偏学傻,乃至走火入魔。所以增强学习在这些问题上并没有得到非常好的应用。
深度学习目前适合解决我称之为“好数据肥沃”的领域,并且通常只对应于人类学习方法里的归纳学习。然而,人类的学习除了归纳学习之外,还有演绎推理。针对演绎推理,深度学习则存在严重短板。
举个演绎推理的例子,比如说《几何原本》,是欧几里德从5条公理推演出来的。想用深度学习做这类自动推演,目前来看是完全没有希望的。当然,这是一个很极端的例子。但我们在日常生活中是需要大量推理的,深度学习在这一点上,目前来看也没有太多可以有作为的地方。
李开复老师在过去一段时间里多次提及,在未来10年可能人工智能会取代10种职业50%的工作。我不知道大家怎么看,我个人觉得保姆可能还是很难取代的,也许医生更有可能会被取代。从我们做计算机视觉的角度来讲,医疗读图是一个很重要的方向。对于做人脸识别或者图像识别的人来说,保安则是我们更感兴趣的群体,在未来10年,也许不是50%而是80%的保安,会被一些自动的系统所取代。比如说,我们的一个企业客户,用我们的人脸识别技术做单位的门禁和考勤,在1万个员工的情况下,可以实现不需要员工卡自动做识别、开门和考勤的系统,我想可能未来真的不需要一个保安坐在那儿了。
我和我的学生们在去年8月,基于计算所在视觉信息处学习方面的研究成果做了一个公司,叫做中科视拓,形成了产学研联合体,一起开发SeetaVision技术。我们的目标是让AI知人识面看世界,让每个AI都长上智慧的眼睛,让它看清它在跟谁交流、了解周围正在发生什么事情、以便智能地应对这些场景。
我们主要的底层技术,就是在机器学习特别是深度学习的理论、方法与技术。基于这些机器学习的方法,在人脸识别、情感计算、视频结构化和无人机视觉等方面,我们有自己的一些布局。我们过去的积累包括在这些领域的竞赛中,取得一些最好的成绩,其中包括人脸识别、手势识别、行人检测、图像搜索等等任务。我们刚才也提到,业界已经有像商汤、Face++等等有很多前辈公司,比我们早走了多年。我们在商业模式上也希望不断探索新的路径。当前阶段,我们采取“开源赋能”的差异化做法,与一些重点客户开展了深度合作。
所谓的开源,是指我们可以给B端客户提供源码级的引擎技术。更进一步的是赋能,我们可以提供生成这些引擎的引擎技术。通俗地讲,我们不但卖鸡蛋,还卖下蛋的鸡,这是完全不同的合作模式。去年8月,中科视拓开源了SeetaFace人脸识别引擎,它虽然不是业界最好的人脸技术,但提供了一个优秀的基准,从而显著地提升了业界基准水平,也为一些公司提供了参照。有很多客户把SeetaFace代码用到其产品中,并进而与我们建立了更深度的合作。
在这里我也展示我们的一些核心技术:
1. 多视角人脸检测技术
在人脸检测方面实现多姿态的检测,在FDDB上是最好的方法之一。其实人脸检测大家都非常熟悉,就是我们把这个画面有多少个人脸找出来。FDDB也是在这个领域里面被广泛采用的标准评测集,我们在100个误检时达到了接近93%的检测率。另外,我们还实现了很多加速的方法,实现人脸的快速检测,包括在一些嵌入式设备上实现实时的检测。
2. 面部关键点定位技术
面部关键点定位技术,是指在检测到人脸的基础上,实现面部关键点的定位,我们的技术可以定位80多个面部特征点,当然我们也可以定位更多点,但数目并不是关键。我们已实现超实时的特征点定位,在相关的数据库中我们也取得了最好的成绩。
基于这些技术,我们落地了一些人脸识别应用,包括1:1的人证比对、网纹身份证照片人脸验证、以及人脸考勤系统等。与简单人证比对相比,在公安的应用场景,身份证查验中心会把照片加一个网纹,再传回来,而我们则需要首先把网纹去掉,再跟现场人员比较看看是不是这个人,目前我们的算法是可以正确判断的。在人脸考勤方面,技术已经成功应用,可以实现1万员工的考勤和门禁,在误识率约为1%的情况下,可以达到95%以上的正确识别率。
此外我们公司还在情绪感知方面有一些积累,可以实现85%以上的表情识别率。SeetaVision还可以实现准确的心律估计。这里的心律估计,是指通过摄像头拍摄人脸部视频来估计人的心跳次数,只要摄像条件好,即可准确估计出用户的心跳次数。
我们还有一些手势识别的技术、以及手语实时翻译技术。手语识别是指,用手语打一句话,把手语实时翻译成文本。我们目前已经和美的合作,实现对一些基本手势的准确识别,用于智能家居控制。
此外在视频结构化分析方面,我们也可以实现人车的跟踪,在TX1上做到准确度85%以上的实时检测。
我们还有一个方向是在做无人机视觉,能够实现地面车辆目标检测、以及地面车辆的实时跟踪。左图是地面车辆目标检测,每个绿框都是我们检测出来的车辆。我们特意选了一个堵车的场景,在目标如此小且密集的情况下,人为识别都是有困难的,但我们的算法能够实现接近90%精度的检测。右边的视频是实现跟踪,能够实现对地面上车辆的实时跟踪。
下面我回到报告的主题上来,即X数据驱动,针对X是什么,我想讲几种不同的场景。
第一,X=大,就是大数据驱动的视觉引擎的设计。
现在,无论大公司还是小公司,都是在拼命的收集数据,进行深度学习模型的优化和训练。我们在人脸方面有百万级人数的亿级人脸数据,每个人又进一步有很多不同的场景和照片。我们在车辆和行人方面也有千万量级的图像和视频。而且,我们对这些数据做了大量的标注,如:对人的头部、躯干和四肢的标注信息。在无人机视觉方面,我们大概三四个月时间,就积累了百万量级的无人机视觉数据,可以实现对车辆目标以及车辆类型的检测和估计。
在大数据的条件下,类似于人的熟能生巧和见多识广,见得多你就可以积累出来非常多的经验。
第二,X=小,在很多场景下,我们人类获得智能的能力并没有依赖于大量的数据学习,反而是一些小数据。所以在小数据的情况下,如何使得我们的算法也能够有效果,这是值得研究的问题。
最通常的思路是做迁移学习,所谓迁移学习最简单的是做Finetune,我们把一个已经训练好的模型,用小量的数据做调整和优化,使得它适应这些小数据所代表的应用场景。例如,我们在2015年参加感知年龄估计的竞赛,并取得了亚军。我们采用的算法是首先在人脸识别的数据库里面,利用百万级的数据做训练,再用几万量级真实年龄的数据做Finetune,最后在竞赛方提供的感知年龄的测试数据集上,取得了非常好的效果。
在表情识别方面,我们在2014年参加了一个竞赛,因为没有大量的表情数据,因此,我们采用人脸识别的数据做训练,直接拿人脸识别的特征来做,最后也是取得第一名的成绩。可见我们很多的任务,特别是相关的任务,是可以运用相关领域的数据来实现迁移的。
数据集合并
另外一个例子,比如面部特征点定位,要用到在面部标注点的数据集。现在学术界或者工业界可能会有很多不同类型的数据集,一个数据集可能是68个点、另外一个数据集是74个点,它们之间的定义是不一样的,如何把它们合并起来,使它变大,从而形成更好的算法,也是一个很值得关注的方向。
预测填补+深度回归
我们的一个博士生就做了这样的一个算法,利用预测填补和深度回归的方式解决问题,其背后也是深度学习的方法以及一些适应性的调整。
跨模态
另外一个例子,手机上会有越来越多的摄像头,这些摄像头有可能是彩色的、也有可能是黑白的、还有可能是深度的、还有可能是近红外的。这些摄像头采集的数据,如何实现共用,这也是一个非常值得研究的话题。比如说,在RGB-D数据集不足的情况下,如何基于大量的RGB数据来完成跨模态的融合,以实现更好的结果。
跨模态融合
首先通过不同模态的数据分别建立深度学习的模型,之后再通过共有的网络去实现它们的融合,再反馈回来调整每个模块的深度模型,最终可以实现不同模态数据之间的跨模态比对,以及融合利用。
这种方式其实也是在利用小数据和大数据的关系,在小数据条件下更好地学习算法模型。利用这样的一种方式,我们在去年2016CVPR上发布的模型,实现了彩色和深度信息之间的融合乃至比对。这就是第二个X=小数据。
第三,还有很多情况下是脏数据。
所谓的脏数据,比如在百度图片搜索“成龙”,确实会反馈很多成龙的照片,但是也会有大量的不是成龙的照片。而我们又不想雇1000个人大量的数据把它标注出来,干脆就基于有噪声的数据实现机器学习。
所以我们在今年提出了具有“自纠错学习”能力的深度学习方法,在深度学习的过程中,一边去学习算法,一边去估计哪些样本的标签可能是错误的,我们把一些可能错误的标签修正过来,从而得到更好的算法。利用这种策略,我们发现,即使加了40%或者60%的错误标签,我们的算法也能够实现不错的深度学习效果。
X=脏,这个脏还可能有另外一层含义,比如说有遮挡的情况。我们也提出一个算法,在这个任务里面,我们能够把面部的遮挡部分、脏的部分补出来,补出来之后再去实现感知。把这两个过程迭代起来,形成联合的学习,这个工作发表在去年的CVPR上面,也是取得了非常不错的效果。
第四,X还可能是无监督数据。
所谓的无监督数据是指没有标签可以利用的数据。想象一个场景,比如我们手里面有大量东方人的有标签数据,但是有标签的黑人数据相对比较少,而我们可以在网上找到大量的无标签的黑人数据,我们如何能够利用这些没有标签的数据进行识别,这是一个很重要的问题。因为只用东方人的数据做训练,去识别黑人效果会非常差,反过来也是一样,所以我们要进行模型的调整,以实现从东方人数据到无监督的黑人数据的迁移。我们方面的工作发表在ICCV2015上面。
第五,X还可以是增广数据。
即通过对已有少量数据进行修改的方式,来生成大量数据。人类有一种能力叫做举一反三,比如说给大家一张平面的照片,可能看到这张很帅的照片之后,你就会浮想联翩,怎么浮想呢?可能会想这个人从侧面看是什么样子,他笑起来是什么样子,他戴上眼镜会变成什么样子,我们具备这种能力。我们能不能让机器也有这样的能力,从一张照片增广出大量数据用于学习。这里示例的是我们基于三维模型的方法做数据增广的效果,我们可以生成这位帅哥在不同视角条件下的照片。
完成这个任务,另外一种方法是采用这两年非常火的GAN方法。输入最左侧的照片,用GAN可以生成不同表情的照片。还可以有更加复杂的,比如说戴上眼镜、加上胡子等等更加复杂的变化,当然这个也是有条件的,并不是说每张照片都可以做得这么好。基于GAN生成的人脸图像是不是能够用于提升算法,目前还是存疑的。
总结一下,X等于什么呢?大数据、小数据、无监督数据、脏数据、或者通过增广的方式,实现更大量数据的收集。其实还有一个非常重要的角度,就是类比人,人在很多时候都是自寻烦恼,当然不是自寻烦恼,是自寻数据。例如,在我们观察一个物体的时候,如果从一个角度不能全面观察,我们会移动来收集不同视角的数据,这种主动收集数据的能力,是现阶段AI系统升级为自主AI系统的必备能力,特别是对自主无人机和机器人尤为重要。
此外,从整个视觉智能的宏观角度来说,我们现在已经非常清晰的看到,鲁棒性是视觉智能乃至整个AI的核心问题之一,即如何能够实现万无一失。其实,现在像人脸识别的场景下,有些情况下我们已经做到万无一失,但是仍有很多实际应用的场景,例如智能驾驶等领域,我们需要的是百万无一失,意味着我们需要百万分之一的错误率。在这样的条件下,才能够有更加广泛的应用。在这种情况下,是不是仅有大数据就足够,这一点还存有疑问。
我们类比人类的发育成长过程,人类具备两个特性:一是多模态数据协同,二是基于小样本的自主学习。
1. 多模态数据协同
人类的多模态数据协同是指什么呢?对于人来说,除了眼睛之外,我们有很多其它信息来对我们的智力发育提供帮助,包括语音、姿态、动作、以及背后大量的知识库作支撑。因此,人本身是一个多模态系统协同工作的鲁棒AI,这带给我们一个思路,AI的成长和发育也需要多模态。
2. 基于小样本的自主学习。
对人的智能发育来说,我们生来就有“大脑”,有所谓的智商,我们从一出生的时候,神经系统基本上发育得差不多,到3岁就基本发育完毕。也就是说,人类作为一种高级生物,经过数百万年甚至更长的时间进化出了这样的一个“先天脑”模型。假设我们拿深度学习作为一个模型来类比,相当于人在出生的时候,祖先已经帮我们利用大量数据训练出了一个深度学习模型。
在后期的成长过程中,其实是对这个深度模型基于小数据的不断调整和适应性的优化。所以说,我们认为AI发育的非常重要的一点,就是如何基于小数据甚至是0数据完成智能的发育和后天的学习。比如说我跟大家描述一下某个人长成什么样子,你并没有见过这个人,你并没有见过这个人的照片,我们称为0数据,你如何能够识别这个人,是对人工智能的一个挑战。类似这样的应用场景,将来会有非常多的研究空间。
综上,从人类智能的角度出发来看人工智能,AI要想在更多的场景下实现强大的视觉能力,还需要基于小数据乃至0数据情况下的自主学习能力、以及多模态的数据协同能力,这两种能力为AI的发育提供了可能性,也为AI真正理解世界并服务人类提供了可能。
我的演讲到这里,谢谢大家!
往期精彩回顾
欢迎关注我们!
深度学习大讲堂是由中科视拓运营的高质量原创内容平台,邀请学术界、工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术、产品和活动信息!
中科视拓(SeetaTech)将秉持“开源开放共发展”的合作思路,为企业客户提供人脸识别、计算机视觉与机器学习领域“企业研究院式”的技术、人才和知识服务,帮助企业在人工智能时代获得可自主迭代和自我学习的人工智能研发和创新能力。
中科视拓目前正在招聘: 人脸识别算法研究员,深度学习算法工程师,GPU研发工程师, C++研发工程师,Python研发工程师,嵌入式视觉研发工程师,运营经理。有兴趣可以发邮件至:hr@seetatech.com,想了解更多可以访问,www.seetatech.com
中科视拓
深度学习大讲堂
点击阅读原文打开中科视拓官方网站