GAITC专题论坛丨杨易:训练机器自主学习提高检测效率

日期:07-28
GAITC论坛机器自主学习

GAITC专题论坛丨杨易:训练机器自主学习提高检测效率

7月26日,由中国人工智能学会主办、新浪新闻联合浙江大学承办的2020全球人工智能技术大会(2020GAITC)“AI时代下的新媒体与社交娱乐”专题论坛拉开帷幕,新浪集团首席信息官、新浪AI媒体研究院院长王巍,浙江大学特聘教授,悉尼科技大学教授、百度研究院访问教授杨易共同担任论坛主席。

浙江大学特聘教授,悉尼科技大学教授、百度访问教授杨易在本次专题论坛上,与来自业界、学术界的嘉宾们分享了《媒体的智能理解、分析与合成》。

杨易认为,大规模网络视频智能分析面临许多挑战,如视频数据复杂度高,标注数据量少且标注过程缓慢等。如何利用无标注的海量网络视频协助视频特征学习,并提升模型性能是视频分析领域重要的研究问题。

他提到,以前训练一个模型做一件事,现在更多的是让机器自主学习,培养机器的自我学习能力。不仅让机器学会做事,更要教会它怎么去学习,这是元学习的基本想法。比如,让机器学会怎么去做事,新的任务就很容易做自适应。

图注:浙江大学特聘教授、悉尼科技大学教授、百度研究院访问教授杨易作主题演讲。

图注:浙江大学特聘教授、悉尼科技大学教授、百度研究院访问教授杨易作主题演讲。

以下为杨易演讲实录,内容经编辑略有删减:

尊敬的李院士,新浪的王总,以及在场的各位嘉宾和网上观看今天会议的朋友们大家好!今天我的报告比较偏技术一点,因为视频在网络媒体传播里面是最重要的载体,而且今天李院士也讲了,跨媒体是人和设备,计算机交互最重要的一个载体,我觉得视频它有声音,也有文字的信息,可能还有视觉的信息,所以可能是最接近跨媒体信息的媒体类型。

我今天给大家分享一下我们怎么样能够比较智能的去分析、理解和利用、推荐视频的内容。今天是娱乐论坛,其实在娱乐这个领域,我们用得场景视频还是比较多的,比如说体育运动类的视频,比如说社交媒体的视频,电影和电视里的视频。为什么我们要做视频的分析和理解?接下来我将用几个比较典型的应用展开论述。

当我们在发布媒体内容的时候,我们希望对它做比较好的管理和分类。我们希望媒体对这个内容做推荐,我们也希望媒体对这个内容做审查。不管是在国外还是国内都有这种需求,在国外很多的时候有的人会通过媒体发一些极端主义的内容,所以我们无论是推荐,还是审查,还是组织、检索,都需要对视频的内容做比较智能的分析。

实际上为什么视频分析是比较难的,因为视频的规模是非常大的,它和图像比起来,时间和空间的信息复杂度会很高,而且现在我们学术界用的数据相较于我们真实的网络视频和我们要处理的视频还是有一些差距的。比如说这个是我们在训练神经网络用得比较多的数据,但是这些数据可能是运动数据,可是我们真正遇到的数据是用户拍摄的数据,这些数据和我们学术界训练神经网络的数据有一定的鸿沟。另外,我们现在和图像比起来,我们可以训练一个相对比较好的神经网络来做图像的表达。但是视频数据我们可以访问到、标注好的数据规模非常小,而且视频数据又比图像数据更复杂,所以一方面我们的训练数据少,另一方面我们数据的内容又非常的复杂,所以在这种情况下,就使得训练一个很好的可用的神经网络变得非常有挑战性。

我举个例子,我们对视频的理解其实是非常主观的,因为图像相对内容比较简单,所以我标注的时候比较容易,但是对于视频来说,主观性会造成很大的区别,标注有的时候不一致。可能这个小朋友玩的是小朋友的独轮车,这种也是自行车的一种,很多人就把它直接标注成了骑自行车,但是有的时候大人骑自行车,甚至骑一些电动车,也会被标注成骑自行车,所以这个时候,我们标注和现实是非常不统一的。

另外一个问题,我们在做视频研究的时候遇到了一个很大的问题,现在大家标注的视频很多都是与场景相关的视频,大家标注的比较多,真正我们做动作识别,很多时候其实做的是场景识别,不是真正的时序建模。在我们做动作识别的时候,什么动作识别得好呢,是游泳,打篮球这类的运动,为什么这类识别得好呢?因为游泳我们只要识别游泳池我就知道是游泳了,打篮球我只要识别篮球场,就知道是在打篮球。

所以很多时候,我们视频分析里面做得好的这些动作还是和场景相关的,但是真正有动作的,比如说这是举手还是把手放下来,我是站起来,还是坐下,中间的状态,时序建模现在做的是不太好的。一方面是因为数据库非常少,现在有一个专门讲物体和人的交互的数据集,人的时序建模的数据现在有一些了,但是还是非常少。

现在的深度学习静态的识别已经很好了,我们再进一步是给网络规模的视频做分析,我认为最大的一个挑战是效率的问题。实际上图像为什么快,一方面是因为它是没有时间特征的,我们计算机做时序建模是非常耗费资源的。另外因为一分钟视频就有上百帧,所以视频帧数本来就很大。

另外还有一个效率的问题,我们标注视频的效率也很低,如果人,比如我看到这个的时候,这是一个会场,我一下子就标记出来了,但是如果给大家一个一小时的视频,我让你标出来什么时候人在跑,什么时候人在吃东西,什么时候人在切割。那么我标注视频的标注量也是非常大的。而且我在大量的视频中找相关的视频,比如说在100段视频中找人在切黄瓜的视频就是非常困难的。

所以整个来说,我觉得一方面是计算机计算的效率要提高,另一方面我们标注的效率也要提高,我大概主要是围绕效率问题在讲。

第一个我在讲怎么样提高视频的标注效率,视频有一个很重要的应用,我要把它定位出来,一个是空间定位,这有车,另外一个是时间定位,比如说我知道这一段视频有一个小松鼠,我知道它什么时候在进食,其实这个视频可能总共有10分钟或者20分钟,但是只有几帧是在进食。大家可以想像,如果我是一个动物学家,要看它的生活习性,看动物是怎么吃东西的,可能我就是对这一部分感兴趣,定位实际上是比较复杂。我要在很长的视频里面,把这个定位出来,计算量是非常大的。

不仅计算量是很大的,人要标注的也很多。传统方法下的视频定位操作是比较多的。人工做视频,每一段视频,小松鼠什么时候开始吃,什么时候完成吃,把这一段都要标出来,这个标注工程的工作量是非常大的。

因此大家就提出了弱监督做定位,我有一段视频可能有10分钟,我知道这里面至少有一段视频是小动物在吃东西,那么在这种情况下,这段视频有小东西在吃东西的镜头,但是可能10分钟长的视频只有5秒在吃东西,这种效果虽然标注很快。

这是我们今年和Facebook合作的一个工作,我们能不能这样做,这段视频,我标注它有小动物在吃东西,但是我不用标注它的起始帧和结束帧,我在浏览这个视频的时候,我发现这一帧它在吃东西,我只标一帧,我鼠标点一下就好了,这个时候我在视频中标注一帧,这样计算机基于单帧标注可以逐渐的扩展信息。其实这个东西Facebook最早想做这样的的概念,但是我们把这个东西做完之后,他们产品部门去研究,说这个技术是可行的,现在可能是在往产品里面加入。

这是我们研究的一个过程,简单来说其实就是这样的,我标了一帧之后,我通过单帧监督的数据不断的扩展,往两边扩展,在时间轴上不断的扩展,通过内容分析,可能这些都是进食的帧,或者相关的帧,然后把这个例子自动的照出来再不断的扩展,这是一个迭代的过程。

另外还有一个比较重要的问题,我要做背景的检测,其实我要找最接近正例的背景,我们一般是通过置信度,也是找出正例和负例不断的扩展。这个是在讲我们在做视频检测的时候怎么提高检测的效率。

这是一个快闪的视频,我们的任务是让机器人去检测,这是不是在快闪,大家想想我们人在检测的时候是怎么检测的?现在计算机都是这样做的,从头到尾把视频看完,然后说,这是快闪。

那么,其实真的要让人去看,人可能刚开始发现这些内容不相关,我就快进或者跳过去,中间看了几帧我发现这个地方就是快闪,就不用看完了。我看了大概1/3,前面快进,后面看了1/3部分的视频,我说这就是快闪,所以我就不看了。这个方法我们用强化学习去做,我们训练一个机器,跟人看视频一样,不是从头到尾每一帧都看,我有的时候发现刚开始这些信息不重要,都是字幕介绍,我就用16秒的速度快进。到后来我发现越来越有内容,内容越来越多,我就把快进的速度降低。然后我发现这真的是和快闪相关了,我就一秒一秒认真的看,我看了四帧之后发现这就是快闪,我就不用看完了。

所以,这个例子里我可能看四帧就知道了,我不需要均匀采样,然后把它检测出来。这是我们的做法,大概我们看1/60的帧,我们得到的结果和全看差不多。我们的题目当时是说,你只看很小的一部分,就和全看都一样了,我们是策略性的去挑,模仿人怎么去识别视频的内容。

这个是我们在检测的过程中怎样提高效率,这个方法实际上是说模型怎么样快,检测的时候我只看几帧就可以了,但是模型还是很复杂的。因为我们做视频分析用凡是涉及到时间序列的检测,复杂度是呈指数级在增加的。但是视频有一个特点,冗余度非常高。比如说这是一个人在跳舞大家可以看到,这是从0到3秒,我都把它列出来,冗余度非常高。我们怎么去利用这个冗余度来降低模型的复杂度呢?一般我们是说,模型越大,越复杂。如果模型越复杂,它的性能越好,但是如果是做简单的模型,虽然复杂度下降很多,可能有N个小模型,因为它有冗余度,所以我用复杂的大模型带若干个小模型之后,这样我用N个小模型取代原来要做的N个大模型。

在这种情况下,我们希望把模型的效率提高,这有一个问题,一个大模型带N个小模型,怎么样累加起来,性能还很好?这是我们用的模型,实际上我们提出了一种快速的循环神经网络的思想,对模型做融合。实际上大家可以看性能是非常好的,比大模型都好。

最重要的是,大家可以看到,我们的计算量大概是削减了10倍,但是我们的结果还是很好的。这个技术也是和Facebook合作的,我们在所有公开的数据集上做的试验,基本上性能是最好的,同时我们的复杂度降低了10倍。一个大模型带若干个小模型,如果我们有好的方法,不但会更快,而且会更好。

这是我们今年新做的一个工作,因为视频标注太复杂了,所以我们想能不能用机器自主学习的方法去做,这个时候我们就说能不能使用视频里面自己蕴含的信息,我们能够把好的神经网络训练出来。其中我们用到了教学视频,有一个很好的特性,比如说我做饭,第一步切黄瓜,第二步黄瓜里面放盐,第三步我倒酱油,第四步放到锅里,第五步炒。所以一边说一边做这个动作,这个时候给我们提供了很好的监督信息,我们就不用在标数据,我们就是用教学视频去训练机器的。

这个就是Google提出的自主训练的方法,基本上像填空,这些技术细节就不细说了,后来有人把它放到图像这部分,我们的工作把它扩展到三个支路,一支是做的动作的特征,另一部分我们做区域的检测,另外因为它有一边说一边做,所以我们有自然语言的模型。这个有一点像跨媒体的思想在里面,我们把图像的特征,时序的动作的特征和自然语言的信息放到一起再训练。这个结果是非常好的,我们在这上面训练出来的模型,在所有的下游任务上都提高了性能,而且这个是我们不需要标注的。整个过程不需要人工的标注。但是我们比如说在视频的文本摘要,在做视频动作切割以及做视频的动作定位和跨媒体检索和视频问答,所有的下游任务里我们都取得了最好的性能。

最后我讲一下,以前的时候我们训练一个模型做一件事,我们现在就想能不能让机器自主学习,培养机器的自我思考能力。我们不仅让设备学会做这件事,更要教会它怎么去学习,这是元学习的基本。所以说我现在训练你,我让你学会怎么去做这件事,这样一来新的任务就很容易做自适应。所以我们提出复合记忆网络,是深度学习的一个机制。我们提出了复合记忆网络,它有几个好处,一个我们用摘要模型可以做快速的检索,另外用分块模型去做视频的匹配,这个工作是一个小样本,因为机器学东西就像我们小学、初中、高中上完之后,我再去大学里面学专业的知识,可能很快就学会了。但是如果说,小学、初中,高中学的东西跟大学学的没有关系,可能大学专业是学计算机,人工智能,但是我不上小学、初中、高中直接去上大学我又学不好,所以我们还是让计算机有自主学习的能力,另外我们基于这个工作加了无监督的数据,我们教会机器自主学习,机器有了学习的能力之后,小样本数据就能学得很好了,在此基础上,我们再加入大量的无监督的数据,没有标注的数据,我们的性能就又能提高一部分。

机器学会自主学习后大概就是这样,基本上检测每一个视频,大概检测两三个样本就可以得到较好的结果,我的分享结束,谢谢大家。

责任编辑:刘德宾 SN222

港府宣布:根据中央指示,暂停履行港加、港澳、港英刑事司法互助协定 房灵敏:发挥监督首责 助推监察权规范高效运行
相关阅读: