导读:本文是“数据拾光者”专栏的第三十六篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践。本篇主要介绍下腾讯2021广告大赛多模态视频广告标签baseline以及优化思路,对于希望解锁视频内容理解的小伙伴可能有所帮助。

欢迎转载,转载请注明出处以及链接,更多关于自然语言处理、推荐系统优质内容请关注如下频道。

知乎专栏:数据拾光者

公众号:数据拾光者

摘要:本篇主要介绍下腾讯2021广告大赛多模态视频广告标签baseline以及优化思路。首先介绍参加比赛的背景,相比于单模态文本理解,多模态视频内容的理解更具挑战;然后介绍了官方提供的一个baseline,包括系统说明、系统整体结构以及baseline源码介绍和运行说明;最后结合工作中的项目实践,介绍了关于优化的几个思路,主要分成从模型层面优化和样本层面优化。对于希望解锁视频内容理解的小伙伴可能有所帮助。

下面主要按照如下思维导图进行学习分享:

01

背景介绍

还是老套路介绍下背景,最近腾讯2021广告大赛开始了,有两个题目,第一个题目是视频广告秒级语义解析,第二个题目是多模态视频广告标签。随着视频尤其是短视频越来越火,人们在视频上投入的时间也越来越多。想要更深入的理解用户,挖掘用户的兴趣,那么对于视频数据源内容的理解也变得越来越重要,所以我选择了第二个题目《多模态视频广告标签》。这个任务本质上是一个视频分类任务,和我当前仅仅理解文本数据相比,视频内容不仅包括文本(视频字幕信息),而且包括视频、音频和图片等多模态信息,可以说更具挑战,想通过这个比赛学习下视频内容理解相关的知识,为后续理解视频内容做技术储备。下面是官方赛题说明图:

图1 腾讯2021广告大赛说明图

比赛官方地址在这里:

https://algo.qq.com/

02

一个不错的baseline

上面介绍了背景,本节主要介绍官方提供的一个baseline,通过这个例子可以快速上手视频分类任务,然后基于这个任务可以尝试各种魔改操作。

2.1 系统说明

多模态视频广告标签任务本质上是一个视频分类任务。视频相比于传统的文本、图片模态来说更为复杂,同时包括视频、音频、图片和文本内容,想要很好的理解视频数据源,那么需要同时理解这四种模态的数据,所以任务的难度大大提升。可以说既需要懂CV知识,还需要懂NLP知识等等,这种任务难度升级,对应的挑战也升级,同时如果能搞定这类任务那么你的技术也会升级,对应的回报也会升级(主要是钱)。明确了动力需求,那么通过下图简单理解下多模态视频广告标签系统:

图2 多模态视频广告标签系统说明

通过上图可以看出,整个系统的输入是视频,输出是视频的标签,整体流程如下:首先会将视频数据抽取视频、音频、文本和图片四种模态的数据,然后获取各模态数据对应的embedding表示向量,接着进行多模态融合,最后输出对应的标签得分。标签总共包括四类,分别是呈现形式、场景、风格和叙事。这四类标签共有82个标签,所以对我们来说就是一个82分类任务,只不过最后提交的比赛数据是每条视频选择topN个标签。

2.2 系统整体结构

通过上面系统说明应该对赛题任务有了更加形象的理解,接下来看看官方提供的baseline的系统整体结构:

图3 官方baseline系统整体结构

如上图所示,系统整体的输入视频内容解析得到的视频信息、音频信息、图片信息和文字信息,输出是82分类得分。得到各模态数据信息之后会经过特征抽取操作,视频和音频信息主要通过NeXtVLAD模型进行抽取特征,图片信息通过resnet_v2_50模型抽取特征,文本信息则通过我们比较熟悉的BERT模型来抽取特征;各模态特征抽取完成之后会通过fusion layer进行特征融合操作;最后会将融合之后的特征用于分类。

2.3 baseline源码介绍和运行说明

Baseline项目工程如下图所示:

图4 baseline项目工程

Baseline项目工程如上图所示,run.sh是程序运行脚本,通过如下命令完成项目初始化和环境搭建:

sudo chmod a+x ./init.sh &&./init.sh run

通过如下命令进行模型训练流程:

sudo chmod a+x ./run.sh && ./run.shtrain

通过如下命令进行模型预测流程:

sudo chmod a+x./run.sh && ./run.sh testcheckpoints/tagging5k_temp/export/step_6000_0.7328

上图中通过下划线重点说明了对于多模态数据的特征抽取流程,其中红色代表对于视频、音频、文本和图片四种模态的特征抽取代码,绿色代表四种模态特征融合代码,黄色代表分类模块代码。个人感觉可以重点学习下项目的配置文件说明,因为最近刚好负责搭建半监督框架项目,感觉baseline中配置文件的管理特别规范,学习很多,所以这里进行详细说明配置文件config.tagging.5k.yaml:

图5 项目配置文件

通过配置文件可以很方便的决定使用哪些模态的数据特征,同时对于不同模态使用对应的特征抽取模型定义和使用也非常方面。同时还包括特征融合层和分类层说明,整个配置文件简洁清晰,使用者可以很方便的进行项目配置和使用。

03

关于优化的几个思路

借鉴实际工作中的经验,关于baseline的优化思路主要分成模型层面优化和样本层面优化。

3.1 模型层面优化

(1) 特征抽取层优化:获取各模态更优质的特征embedding向量

  • 可以通过对比学习获得图片和文本高质量的embedding向量。之前看到微博通过对比学习将图片和文本信息映射到同一向量表示空间,从而得到更好的embedding向量信息。这里可以进行扩展,将视频、音频、图片和文本都映射到同一表示空间,可能会得到不错的效果;

  • 使用更多的数据微调预训练模型获取更好的模型参数。以文本信息为例,可以使用更好的预训练模型比如RoBERTa替代原生BERT等,同时使用线上的数据来微调RoBERTa模型,从而可以得到更好的预训练模型。

(2) 特征融合层优化:Baseline采用的是SE融合方式,参考之前阿里DIN模型的思路,可以对多模态特征进行concat、sum、avg等融合操作

(3) 分类层优化:baseline采用的是LogisticModel,可以使用更复杂的分类层等进行操作。模型层面的优化总结下来就是分别对特征抽取层、特征融合层和分类层分别进行优化。

3.2 样本层面优化

相比于模型层面优化,我其实更趋向于在样本层面做更多的优化工作。因为在实际的NLP工作实践中样本优化带来的收益远大于模型层面优化,主要原因在于现在NLP任务一般都会考虑上BERT等前沿模型,从模型层面来看已经是很好的基线。在这样的前提下样本层面的优化就可以带来更多的收益。样本层面优化的核心目的是增加训练数据,主要有以下几个思路:

(1)获取更多的比赛相关的视频数据集。这里可以是公共数据集,也可以尽量找比赛相关的视频数据集;

(2)可以通过样本增强扩展数据集。比如我尝试过对图片、文本模态数据源进行样本增强,那么可以通过这种方式可以扩展训练集;

(3)通过半监督训练方式增加伪标签样本进行训练流程。

04

总结

本篇主要介绍下腾讯2021广告大赛多模态视频广告标签baseline以及优化思路。首先介绍参加比赛的背景,相比于单模态文本理解,多模态视频内容的理解更具挑战;然后介绍了官方提供的一个baseline,包括系统说明、系统整体结构以及baseline源码介绍和运行说明;最后结合工作中的项目实践,介绍了关于优化的几个思路,主要分成从模型层面优化和样本层面优化。对于希望解锁视频内容理解的小伙伴可能有所帮助。

最新最全的文章请关注我的微信公众号或者知乎专栏:数据拾光者。

码字不易,欢迎小伙伴们点赞和分享。

广告行业中那些趣事系列36:腾讯2021广告大赛多模态视频广告标签baseline介绍和优化思路...相关推荐

  1. 广告行业中那些趣事系列32:美团搜索NER技术实践学习笔记

    导读:本文是"数据拾光者"专栏的第三十二篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践.本篇主要是学习美团技术团队分享的<美团搜索中NER技术的探索与实践> ...

  2. 手写数字识别中多元分类原理_广告行业中那些趣事系列:从理论到实战BERT知识蒸馏...

    导读:本文将介绍在广告行业中自然语言处理和推荐系统实践.本文主要分享从理论到实战知识蒸馏,对知识蒸馏感兴趣的小伙伴可以一起沟通交流. 摘要:本篇主要分享从理论到实战知识蒸馏.首先讲了下为什么要学习知识 ...

  3. 广告行业中那些趣事系列60:详解超好用的无监督关键词提取算法Keybert

    导读:本文是"数据拾光者"专栏的第六十篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践.本篇从理论到实践介绍了超好用的无监督关键词提取算法Keybert,对于希望使用无 ...

  4. 广告行业中那些趣事系列2:BERT实战NLP文本分类任务(附github源码)

    微信公众号:数据拾光者.愿结交更多的小伙伴,一同走人生路. 摘要:上一篇广告中那些趣事系列1:广告统一兴趣建模流程,我们了解了如何为广告主圈人群以及如何刻画用户的兴趣度.要想给用户打标签,我们需要构建 ...

  5. 广告行业中那些趣事系列51:超牛的kaggle比赛Favorita Grocery Sales Forecasting冠军方案...

    导读:本文是"数据拾光者"专栏的第五十一篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践.本篇分享了kaggle比赛<Corporación Favorita G ...

  6. 广告行业中那些趣事系列59:详解当前大火的提示学习prompt learning

    导读:本文是"数据拾光者"专栏的第五十九篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践.本篇主要从理论到实践介绍了当前超火的提示学习Prompt Learning,对 ...

  7. 广告行业中那些趣事系列39:实战广告场景中的图片相似度识别任务

    导读:本文是"数据拾光者"专栏的第三十九篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践.本篇从理论到实践介绍了广告场景中的图片相似度识别任务,对于希望解决图片相似度识 ...

  8. 广告行业中那些趣事系列26:基于PoseNet算法的人体姿势相似度识别

    摘要:本篇从理论到实践分享了基于PoseNet算法的人体姿势相似度识别项目.首先介绍了项目背景,因为部门搞活动需要大家去模仿夸张搞笑的表情和姿势来提升活动的可玩性,所以需要利用CV算法对图片进行相似度 ...

  9. bert 多义词_广告行业中那些趣事系列15:超实用的基于BERT美团搜索实践

    摘要:本篇主要学习和分析BERT在美团搜索排序中的项目实践.首先介绍了业务背景,主要对比了美团搜索业务场景和我们的应用场景:然后讲了下计算query和doc相关性的方法,主要包括计算字面相关性和计算语 ...

  10. 激光切割机在金属广告行业中起到什么作用?

    创意升级.材料多样的广告行业,小批量定制市场的日益增长,使得批量生产显得没有特点,与其独特性.多样性相对应的行业特点来说,金属激光切割机的灵活性发挥了非常大的作用. 迅镭激光-中低功率光纤激光切割机- ...

最新文章

  1. 眼界,是学习撑大的!
  2. “CEPH浅析”系列之八——小结
  3. linux_base-f10-10_7 linuxulator is not (kld)loaded
  4. 讨论帖:比特币中的SHA256算法的实现与标准的SHA256算法实现是否相同?
  5. gstat | 空间插值(三)——克里金插值之泛克里金和简单克里金
  6. jQuery动画实现下拉菜单二级联动
  7. 好用的android剪辑软件,最好用的视频剪辑app软件有哪些?自媒体人都在用的六款app软件...
  8. 手机管家中的黑名单功能
  9. 计算机里的音乐怎么设置,realtek高清晰音频管理器怎么设置
  10. PTES_Technical_Guidelines(渗透测试执行标准)
  11. mysql如何导出数据脚本_MySQL 导出数据
  12. 四旋翼无人机飞行器基本知识(四旋翼无人机结构和原理+四轴飞行diy全套入门教程)
  13. 于飞seo:dedecms织梦文件目录说明讲解大全
  14. 非诚勿扰2最后李香山人生告别会上的孙红雷的台词
  15. 各种数据类型的取值范围
  16. vue接口总是请求超时_vue axios调用接口时请求超时
  17. CentOS8下超详细安装配置kubernetes(K8S)
  18. [渝粤教育] 天津大学 21 秋 物理化学2B(李松林,侯德榜) 参考 资料
  19. STM32学习之CAN控制器简介
  20. 发那科机器人请关闭电源_FANUC机器人常见错误恢复步骤,你真的都会吗?

热门文章

  1. 如何获取mac虚拟机激活码 一步学会
  2. 解决Unity TextMeshPro 不能显示中文问题
  3. 数据分析SQL日期维度表生成(含节假日)
  4. 计算机硬件测试流程,驱动精灵如何检测电脑硬件 检测硬件看完你就懂了
  5. xrld读取excel 中合并单元格内容
  6. 仿宋小二在html中怎么设置,HTML简短设置字体
  7. 新东方的负载均衡架构探索和实践
  8. pdf怎么转换成word格式不变?
  9. pycharm无法创建虚拟环境Virtualenv(Directory ...\python not found)
  10. 【iOS取证篇】iOS设备去除备份密码提取数据