机器不学习:短视频打标签技术解析与应用
最近几年出现了很多以短视频的创作和分发作为主打的手机应用软件,这极大地丰富了文本和图像之外的信息创作和分发方式。这些短视频应用自从问世以后,便迅速地占领了市场,得到了广大用户的青睐。目前,短视频正逐渐成为互联网上的一种重要的信息传播方式,由此产生了大量的短视频数据。
为了更好地利用短视频数据,提升短视频的创作和分发效果及效率,需要为短视频打上各种有用的标签,这些标签可以作为短视频所记录的内容的概括和总结。以此为基础,推荐系统或搜索引擎就可以利用短视频标签为用户提供精准的短视频推荐或搜索服务了。
为了推动视频理解的技术进展,2016年谷歌发布了目前业内最大的视频数据集YouTube-8M,并基于此在2017年和2018年举办了两届视频理解挑战赛,挑战赛的目标是在谷歌给定的训练数据以及预先提好的音视频特征上设计并训练机器学习模型,以求在测试集上达到最佳的性能。以2018年的挑战赛为例,谷歌发布的视频数据共计600多万条,包含的标签共计3800多个,吸引了来自全球40多个国家和地区的390多支队伍参赛。这个比赛具有很大的挑战性,所有标签的标注都是视频级别的,也就是我们只知道这个视频中有给定的标签,但是,我们并不知道它在视频中出现的具体时间段。我们针对爱奇艺短视频打标签的解决方案便是源于对这两次竞赛自研的神经网络模型。
技术分析
在预先提好的音视频特征基础上设计神经网络模型进行打标签的问题,可以归结为设计一个有效的音频和视频特征聚合模块的问题,这里所谓聚合就是将若干个特征向量组成的矩阵变成一个向量,从而可以输入任意的分类器进行分类。
我们针对音频和视频特征聚合采用了相似的处理流程,并在最后对音频和视频的聚合结果进行融合,然后输入混合专家神经网络进行分类并输出标签。以视频特征聚合为例,视频首先通过采样变成了若干张图像,然后对每张图像提取一个固定长度的特征向量。我们分别考察了特征向量的不同分量的重要性以及不同的特征向量的重要性,提出了基于门控和注意力机制的神经网络聚合模块,简称为门控注意力神经网络,该模块的所有参数可以通过反向传播算法学习得到。
特征向量的不同分量的重要性主要是通过将一个视频的所有特征向量进行时序平均池化生成一个池化向量,并将其输入一个两层的神经网络,第一层的神经元数目小于池化向量的元素数目,这构成了一个瓶颈结构,这个两层的神经网络的输出经过Sigmoid函数激活后逐点地乘以视频的每个特征向量的不同分量,这个结构被称为瓶颈门控,通过学习可以自动地得到特征向量每个分量的重要性。
不同的特征向量的重要性是通过注意力机制实现的,通过引入若干个可学习的注意力向量,对于每个注意力向量我们可以得到每个特征向量的权重,然后将特征向量进行加权平均得到一个池化向量,最后将这些池化向量拼接起来就可以得到视频的所有特征向量的聚合结果。
案例
下面我们给出在姜饼短视频上采用我们研发的模型打标签的结果,如下面的图片所示。这里的每一张图片来自一段15秒的短视频的截图,我们把打出的标签以及置信度叠加到了图片上。我们的打标签模型可以打出实体类标签,比如,宠物和美食;可以打出人物类标签,比如,萌娃;可以打出动作类标签,比如,舞蹈;可以打出时尚类标签,比如,美妆;还可以打出技术流特效这种标签。这里仅举了几个例子,实际上我们的模型可以涵盖姜饼短视频的几十种类型标签。
效果说明
我们研发的单个神经网络模型在2017年YouTube-8M挑战赛的测试集上领先于最佳单模型NetVLAD达到0.9个百分点GAP(Global Average Precision)。2018年的YouTube-8M挑战赛增加了模型大小的限制,要求提交的模型解压缩后小于1GB,并且可以被TensorFlow的API直接读取。我们扩展了针对2017年挑战赛设计的模型,提出了一种多分支特征聚合方法,该方法在2018年的YouTube-8M挑战赛的测试集上领先于两个并列的最佳单模型NeXtVLAD和谷歌最新版本的DBoF达到0.3个百分点GAP,并且是唯一一个GAP超过88%的单模型。
针对上面介绍的模型,我们进一步加入了文本特征,文本特征来自于标题经过神经网络处理后的固定长度的向量。通过融合音视频和文本特征我们的打标签模型的性能可以得到进一步的提升。目前短视频打标签模型已经在公司内部的姜饼短视频、信息流等业务中落地,覆盖上万种高质量内容标签和几十种类型标签,每天持续而稳定地提供短视频打标签服务。
总结/延伸
我们针对弱标注下的短视频打标签这个问题进行了深入研发,得到了几种神经网络模型,取得了业内性能领先的短视频打标签单模型,申请了若干项中国发明专利,并成功地在公司的几个业务中落地。但是现在的技术只输出了视频级别的标签,对于更长的视频可能会有需求希望能够定位到标签出现的具体时间段,未来可以扩展相关技术不仅实现打标签,还要实现标签的时间段定位。
未来规划
短视频应用方兴未艾,可以预见的是未来将会有大量的短视频数据被创造出来并发布到互联网上,将短视频打上标签是活用短视频数据的主要途径之一。我们针对短视频打标签这个问题进行了深入的研发,并取得了一些结果,但是,仍然有很多问题亟待解决。
第一,我们目前的模型只覆盖了上万种高频的标签词,但是,这些标签词只能代表短视频内容的一部分,未来还需要对标签词的数量进行扩展,以覆盖尽可能多的视频内容;
第二,我们研发的模型受限于底层提取音视频和文本特征的神经网络的性能,未来还需要研发性能更好的提取音视频和文本特征的神经网络模型;
第三,我们无法期望仅用一个模型解决所有的短视频打标签问题,未来我们会针对现有模型无法很好处理的标签类型研发更好的短视频打标签模型。