论文阅读 - Large-scale weakly-supervised pre-training for video action recognition

文章目录

  • 1 概述
  • 2 数据的收集方式
  • 3 使用的模型
  • 4 预训练时的一系列问题
    • 4.1 预训练的数据是不是越多越好?
    • 4.2 用于预训练的模型是不是越大越好?
    • 4.3 预训练数据的标签种类和数量是不是越多越好?
    • 4.4 用于预训练的每个video有长有短,时长该如何选取?
  • 5 总结

1 概述

本文是对论文Large-scale weakly-supervised pre-training for video action recognition的阅读笔记。在视频领域,一直没有一个像图像中ImageNet那样的标准,庞大且适用于各种下游任务的预训练数据集。这篇文章就是提出了一种构建video action recognition这一任务的预训练数据集的制作方法。因为预训练这种操作,是只要有大佬用N机N卡在N大的数据集上花N天训练好之后分享出来,我们一机一卡的老百姓就可以直接拿过来finetune一下提升自己任务的指标了,所以是非常实惠的一个东西。这么好的东西,自然要记录并分享一下。

代码可见:microsoft/computervision-recipes

论文对预训练这件事抛出了几个问题,并根据他们的实验结果,自行解答了一下,本文第4节也会按这几个问题进行总结。

  • 预训练的数据是不是越多越好?
  • 用于预训练的模型是不是越大越好?
  • 预训练数据的标签种类和数量是不是越多越好?
  • 用于预训练的每个video有长有短,时长该如何选取?

2 数据的收集方式

论文当中的数据都是通过搜索的方式下载的网上的公开视频,因此只要有功夫,数据量可以一直大下去。搜索的时候是根据label去搜索的,而且也会对label的单词进行换位,尽可能搜索到所有相关的视频,比如在找label=“catching a fish"的视频时,也会去搜索"catch fish”,"fish catching"等等。这样收集到的数据必然有一个问题,就是会有很多的视频标签是错的,也就是一大堆脏数据,但这个问题不大,数据的多样性和庞大的数据量可以outdo这个影响。

那么这些label是哪里来的呢?因为是预训练的模型,所以希望这个label涵盖的范围可以尽可能地大。文中有4中类型的label,分别是"IG-Kinetics",“IG-Noun”,“IG-Verb”,“IG-Verb+Noun”。"IG"不用管他,就是说明出自这篇文章的一个标识。"IG-Kinetics"的label来源于Kinetics-400数据集,共359个labels;"IG-Noun"的label来源于ImageNet-1K中的名词,共1428个labels;"IG-Verb"的label来源于"Kinetics"和"VerbNet"中的动词,共438个labels;"IG-Verb+Noun"的label来源于以上两个标签集中名词和动词的组合,共10653个labels。

pic1

3 使用的模型

使用什么模型并不是论文当中的重点,只要是能够测出预训练数据的变化对模型训练的影响就行,论文当中选取了R(2+1)D-d模型,其中ddd表示模型的深度,可以是{18,34,101,152}\{18, 34, 101, 152\}{18,34,101,152}

训练时,虽然一个video可能有多个标签,但是按多标签的方法去训练的话,实验结果不佳,故论文用多类别的方式去训练的模型,也就是如果一个video有多个标签的话,每次从中随机选一个作为训练时的类别。

4 预训练时的一系列问题

4.1 预训练的数据是不是越多越好?

是的。

论文从"IG-Kinetics"中选取了6个子集,数据量的大小分别是{500K,1M,5M,10M,19M,65M}\{500K, 1M, 5M, 10M, 19M, 65M\}{500K,1M,5M,10M,19M,65M},然后做预训练时候,分别在"Kinetics"和"Epic-Kitchens"上进行finetune,finetune采用了整个网络finetune(full-ft)和只finetune最后的全连接层(fc-only)两种方式。为了证明预训练有助于模型的训练,论文还用不用预训练的直接训练的模型结果作为baseline。

下图中,(a)是在"Kinetics"上finetune的结果,纵轴是top-1准确率,横轴是预训练用到的数量大小,其中的黄点(67.0)是baseline的准确率,该值和横轴无关。可见随着数据量的增大,准确率近似对数线性提升,相对baseline有较大提升。同时也可以发现,full-ft的准确率更高,但随着数据量的增大,fc-only的准确率慢慢逼近full-ft。

(b)是在"Epic-Kitchens"上finetune的结果,纵轴是mAP,横轴是预训练用到的数量大小,其中的黄点(12.3)是baseline的准确率,该值和横轴无关。其结论与(a)类似。不过full-ft的结果会比fc-only一直好很多。
pic2
在预训练的数据集中,有很多长尾的标签,图©对采集预训练数据时的方式进行了对比。虚线是随机采样的数据训练得到的结果,实线是把长尾类别的videos都保留训练得到的结果,在fc-only上,保留长尾数据有明显更好的效果。当数据量增大时,随机采样和保留长尾的采样数据越来越接近,训练结果也就越来越接近。

4.2 用于预训练的模型是不是越大越好?

一定程度上,是的。

这里的大,指的是模型的层数越来越多。下表就是论文在"IG-Kinetics-65M"上用d={18,34,101,152}d=\{18, 34, 101, 152\}d={18,34,101,152}训练得到的结果。可见随着模型越来越深,准确率也越来越高。但我们也可以看到在"Epic-Kitchens"上,101101101的准确率要高于152152152的准确率。论文认为是数据量限制了大模型的效果,不过这也是猜测而已,尚待深究。当然,大模型消耗的资源更多,速度也更慢,这是一个trade-off,现在来看,R(2+1)D−101R(2+1)D-101R(2+1)D101是个不错的选择。

pic3

4.3 预训练数据的标签种类和数量是不是越多越好?

标签种类和目标数据集标签种类越一致越好,数量越多并不一定好,标签的多样性和数量同时增长才好。

下图是论文用"IG-Kinetics",“IG-Noun”,“IG-Verb”,“IG-Verb+Noun"分别作为预训练数据,然后在"Kinetics”,“Epic-Kitches-Noun”,"Epic-Kitchens-Verb"和"Epic-Kitchens-Action"上finetune得到的结果。同时也用了"Sports-1M"和"Kinetics"作为预训练数据,把其结果作为baseline参考。

可以观察到(a)中的"Kinetics",在"IG-Kinetics"数据集上预训练后得到的结果最好,(b)中的"Epic-Kitches-Noun"在"IG-Noun"上的结果最好,©和(d)也是如此,都是在和自己label最接近的预训练数据集上的表现最好。但是"IG-Noun-Verb"里什么label都有呀,为没有其他的好呢?论文认为是标签分布不均匀导致的。

总之,预训练的标签和目标数据集的标签越一致越好。
pic4

论文还进行了另两个实验,就是固定预训练数据集的总量,改变其中标签的数量。当标签数量比目标数据集标签数量大时,随着标签数量的增加,提升的效果一下子就饱和了;当标签数量比目标数据集小时,则随着标签数量的增加,准确率也近似线性提升。

pic5

4.4 用于预训练的每个video有长有短,时长该如何选取?

视频数量固定时,长视频更有利;视频总时长固定时,短视频更有利。

通过搜索得到的视频长短是不齐的,长的视频中并不一定是整个视频都和标签相对应的,这就引入了temporal noise,但长视频同时也有更多但visual diversity,这就是个trade-off。

论文把"IG-Kinetics"拆成了3份,分别是

  • short-N: N个时长在1-5秒的短视频
  • long-N: N个时长在55-60秒的长视频
  • long-center-N: N个截取long-N中视频的中间4秒得到的视频

论文先是固定了每份中视频的总数量,然后分别预训练后得到结果,发现都是长视频的效果更好,见下表F1。论文又固定了视频的总时长,然后预训练后得到结果,发现都是短视频的效果更好。真实情况下,还是要我们自行判断。我个人认为,都是短视频就可以了。
pic6

5 总结

Large-scale weakly-supervised pre-training for video action recognition主要讨论了预训练这件事,给我们自己做项目提升模型性能提供了一个“便宜”的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel记账本模板_原来这才是老板最喜欢看的财务报表!这些模板送你,录入自动生成...

【原来这才是老板最喜欢看的财务报表!这些模板送你,录入自动生成】都说财务报表做好,会计下班会很早!财务报表做的妙,升职加薪少不了!会计每到下班拖后腿的就是要整理好各种报表然后发给领导,会…

五、PHP框架Laravel学习笔记——回退、当前路由、单行为

一.单行为控制器 之前的课程,我们简单的创建和定义了控制器,并继承了控制器基类;为何要继承基类?因为继承基类后,可以使用基类的方法,比如中间件等;继承基类后除了支持中间件快捷使…

Chapter7-7_Deep Learning for Coreference Resolution

文章目录1 什么是coreference resolution2 框架2.1 Mention Detection2.2 Mention Pair Detection2.3 End-to-End2.4 Span Representation2.5 Pratical Implementation2.6 Result3 应用本文为李弘毅老师【Deep Learning for Coreference Resolution】的课程笔记,课程…

pwn和逆向的区别_Pwn之简单patch

亲爱的,关注我吧9/27文章共计1389个词图片xue微有点多注意流量哦预计阅读7分钟来和我一起阅读吧1引言在攻防的时候不仅仅需要break,还需要fix将漏洞patch上。2工具 这里我使用的是keypatch这个ida脚本下载地址:https://github.com/keystone-engine/keypatch/blob/ma…

python n个list如何组成矩阵_通过学习在processing中操作图片,掌握python 列表操作...

这次的教学非常简单,只需要安装了python模式的processing就可以(安装教程见专栏目录)。我从网上找了一个比100*100稍微大一点的图片,你可以也找一个。然后我们就可以一起开始今天的学习啦~(请先阅读本专栏中的processi…

六、PHP框架Laravel学习笔记——响应设置和重定向

一.响应设置 路由和控制器处理完业务都会返回一个发送到浏览器的响应:return;比如字符串会直接输出,而数组则会输出 json 格式,本身是 Response 对象; return [1, 2, 3]; //输出 json 格式 return respo…

论文阅读 - TransNet and TransNet V2

文章目录1 概述2 模型结构简述2.1 TransNet2.2 TransNet V23 数据集的构建4 模型效果5 参考文献1 概述 有些时候,一段视频是由多段短视频拼接而成的。拼接可以是直接拼接(硬拼接,见图2),也可以是由一个转场过渡拼接&a…

工厂方法模式及php实现

工厂方法模式: 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共…

Chapter7-8_Deep Learning for Constituency Parsing

文章目录1 什么是Constituency Parsing2 解决方案2.1 Chart-based Approach2.2 Transition-based Approach2.3 Grammer as Foreign Language本文为李弘毅老师【Deep Learning for Constituency Parsing】的课程笔记,课程视频youtube地址,点这里&#x1f…

html插入flash代码_初学者必备Web开发APP,支持代码补全,一键插入代码,厉害了!...

新手学前端神器,HTML代码补全功能太牛了!讲过学习后端的许多优秀APP,这次来推荐一下前端用的软件。前端,包含了HTMLCSSJavaScript这一整套的流程,缺一不可。其实,市面上用来编写前端的优秀APP有很多&#x…

七、PHP框架Laravel学习笔记——资源控制器

一.资源控制器 声明:资源控制器是某个特定场景下的产物,完全理解需要 PHP 项目基础;比如开发过博客系统,留言帖子系统之类,具有类似思维,否则你懂的…;只是学习了 PHP 基础&#xf…

留言板练习

这个练习做下来发现大体的步骤怎么走怎么做基本清晰&#xff0c;能实现可是做的很糙&#xff0c;没有老师细致……好多需要判断的地方没有想到 denglu.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DT…

Chapter7-9_Deep Learning for Dependency Parsing

文章目录1 什么是Dependency Parsing2 模型结构本文为李弘毅老师【Deep Learning for Dependency Parsing】的课程笔记&#xff0c;课程视频youtube地址&#xff0c;点这里&#x1f448;(需翻墙)。 下文中用到的图片均来自于李宏毅老师的PPT&#xff0c;若有侵权&#xff0c;必…

八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护

一&#xff0e;表单伪造 之前一直用的 GET 请求方式&#xff0c;而表单可以实现 POST 方式&#xff0c;我们来实验下&#xff1a; 先在 TaskController 创建两个方法&#xff0c;一个表单页&#xff0c;一个接受表单数据路由&#xff1b; public function form() { return v…

高通的快充协议_高通:后续骁龙旗舰将标配100W快充

高通于昨晚正式推出了Quick Charge 5充电解决方案&#xff0c;经过3年时间的准备&#xff0c;高通这一次在Quick Charge快充的升级可谓重磅&#xff0c;在功率上实现了重大突破&#xff0c;达到了100W。官方数据显示&#xff0c;高通Quick Charge 5的性能较前代平台显著提升&am…

团队作业(六)

团队项目设计文档 1、系统框图 用户对手机进行设置&#xff0c;包括时间和解锁方式轨迹。手机对用户进行闹铃提醒&#xff0c;同时提供解锁方式。手机对数据库发送数据以保存响铃时间&#xff0c;数据库对手机提供响铃时间信息。 系统框图如下&#xff1a;2、系统结构框图 项目…

Chapter7-10_Deep Learning for Question Answering (1/2)

文章目录1 什么是Question Answering(QA)2 按答案分类2.1 答案是一个单词2.2 答案是多个选项2.3 答案是source中的一段话2.4 答案是生成的一段话3 按source分类3.1 source是网页3.2 source是图片或者视频3.3 source是语音3.4 source是视频本文为李弘毅老师【Deep Learning for …

十、PHP框架Laravel学习笔记——数据库配置入门

一&#xff0e;配置数据库 框架支持原生、查询构造器和 Eloquent ORM(关系型对象映射器)来操作数据库&#xff1b; 数据库的配置在 config/database.php&#xff0c;如果是本地可以直接配置.env 文件&#xff1b; 我们通过.env 文件配置数据库连接的相关信息&#xff0c;以提…

selenium firefox驱动_Python3+selenium配置常见报错解决方案

第一个报错问题geckodriver executable needs to be in PATH1.1如果启动浏览器过程中报如下错误&#xff1a;Traceback (most recent call last):File "", line 1, in <module>File "D:\test\python3\lib\site-packages\selenium\webdriver\firefox\webdr…

Chapter7-11_Deep Learning for Question Answering (2/2)

文章目录1 Simple Question: Match & Extract2 Complex Question: Reasoning3 Dialogue QA本文为李弘毅老师【Deep Learning for Question Answering (2/2)】的课程笔记&#xff0c;课程视频youtube地址&#xff0c;点这里&#x1f448;(需翻墙)。 下文中用到的图片均来自…