论文阅读 :Masked Autoencoders As Spatiotemporal Learners

news2024/10/5 10:39:55

NeurIPS2022——Masked Autoencoders As Spatiotemporal Learners

Keywords: Videos;object detection;

文章目录

  • NeurIPS2022——Masked Autoencoders As Spatiotemporal Learners
      • 研究动机
      • 本文贡献
      • Introduction & Related work
      • 整体架构:
      • Experiment Data pre-processing
      • 可视化及结果:
      • Conclusion
      • Related

研究动机

深度学习趋向于使用统一方法解决不同领域问题,Bert在nlp,MAE在图像上取得了不错成果,因此作者将MAE扩展到video上做spatiotemporal表征

kaiming组,和上一个videoMAE类似,区别在于本文的spacetime-agnostic masking是时空随机的,而不是上文的tube-masking并消融证明时空随机更优。编码器解码器的结构也和videomae一致。

本文贡献

  1. 消融证明spacetime-agnostic masking更优
  2. 尽量少的领域知识或者归纳偏见就能学到强的representation —— transformer、vit
  3. mask ratio 是一个重要的超参数,并且不同数据种类有很大不同

Introduction & Related work

深度学习趋向使用统一的方法解决不同领域问题(语言、视频、声音),可促使模型几乎完全从数据中学习有用的知识

  1. transformer:图像和语言领域都取得不错成果。
  2. SSL:BERT中的denoising/masked autoencoding methodology被证明是有效的
  3. 引入更少的领域知识(归纳偏见),促使模型纯粹地从数据中学习有用的知识

Denosing autoencoder:DAE

从损坏的输入中重建干净的信号。提出学习表示的通用方法。

  1. NLP: BERT是其很成功的发展

  2. CV:迁移了很多NLP的方法。特别是transformer

  3. iGPT: pixel as a token
    ViT: patch as a token

重建:

  1. MAE: pixel

  2. BEiT: token(dVAE tokenizer )
    (dVAE 可以通过perceptual or adversarial losses 来提升)

    在这里插入图片描述

  3. MaskFeat :HoG作为预测目标是很有效的。
    如何评价FAIR提出的MaskFeat:一种适用图像和视频分类的自监督学习方法?

在这里插入图片描述

SSL on Video:

时间维度是视频数据自监督学习的重点:

相关主题包括时间相干性(‘slowness’)[79, 25],未来预测 [61, 72, 70, 45, 44, 71, 16],对象运动 [1, 75, 49, 76],时间排序 [46 , 23, 38, 78, 81],时空对比 [58, 62, 30, 22, 51, 56] 等。

但是, 本文使用的方法在很大程度上和时空无关(前面强调好多遍了)

视频数据使用掩码方法,之前也有人在做 [65, 73, 77]。

但是, 本文更简单(重建像素)、更少的领域知识。而且本文更省计算。

整体架构:

随机mask视频中的时空patch,并学习自动编码器来重建它们

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ESY4iSdn-1678156935694)(C:%5CUsers%5C%E7%8E%8B%E4%B8%80%E4%BA%8C%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20230306160402774.png)]

Patch embedding

原始ViT给一段video clip,在时空维度上分割为不重叠的patch并拉平经过linear projection,再加入position embedding。此处强调,patch和pos embeding是唯一具有时空相关性的过程(只需要很少的归纳偏置)。

Masking

本文使用图a策略,采用随机的spacetime-agnostic sampling,相比其他方式将更为高效,并且90%最佳

b:tube masking——只是空间随机,传播到全部时间上

c:frame masking——只是时间随机,传播到所有空间位置

d:cube masking——在时空中基于块的采样,去除较大区域

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8lGNNFo7-1678156935696)(C:%5CUsers%5C%E7%8E%8B%E4%B8%80%E4%BA%8C%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20230307092627391.png)]

Autoencoding

  • Encoder:vaniila ViT;
  • Decoder:更小的vaniila ViT,因为decoder需要处理的token的复杂度小于encode(约1/20)
  • Patch prediction:原则上可以简单地预测一个完整的时空patch(t×16×16),但在实践中发现预测patch的单个时间片(16×16)就足够了,这使预测层的大小保持可控;
  • Training loss:MSE,在unknown patches上取平均值。

Experiment Data pre-processing

默认16 frames,224 * 224: 起始帧随机抽,然后时间维度上步长4抽取16帧。

空间维度:random crop 和 random horizontal flipping。

patch 切分:

使用 temporal patch size : 2,spatial patch size : 16 * 16—— 2 * 16 * 16

对于 input :16 * 224 * 224,将会产生的patch数目是:8 * 14 * 14个tokens

pos embedding:

Encoder——separable positional embeddings

我们有两个位置嵌入,一个用于空间,另一个用于时间,时空位置嵌入是它们的和。这种可分离的实现可以防止位置嵌入在3D中变得太大。

我们使用 learnable positional embeddings ;sin-cos变量[67]的工作原理类似。

setting:

batchsize:512
optim:AdamW

可视化及结果:

masking ratio = 90% 第一行为原视频,中间为masked video,下一层为MAE output

The video size 为16×224×224,the spacetime patch size 为2×16×16

Each sample has 8×14×14=1568 tokens with 156 being visible.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7XLI8iPm-1678156935697)(C:%5CUsers%5C%E7%8E%8B%E4%B8%80%E4%BA%8C%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20230306162907057.png)]

90%的masking ratio表现最好

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HmdwFKga-1678156935697)(C:%5CUsers%5C%E7%8E%8B%E4%B8%80%E4%BA%8C%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20230307101554940.png)]

Ablation experiments

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3LSyIt0V-1678156935698)(C:%5CUsers%5C%E7%8E%8B%E4%B8%80%E4%BA%8C%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20230307101624445.png)]

Conclusion

本文有几个观察结果:

  • 尽量少的领域知识或者归纳偏见就能学到强的representation —— transformer、vit
  • mask ratio 是一个重要的超参数,并且不同数据种类,有很大不同。
  • 对真实世界未经整理的数据进行预训练,令人鼓舞的结果(ins的实验)

高维视频数据仍然是扩展的主要挑战

Related

视频多模态预训练/检索模型
怎么看待Masked Autoencoders as spatiotemporal learners?

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

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

相关文章

redis进阶:mysql,redis双写一致性,数据库更新后再删除缓存就够了吗?

0. 引言 最近线上的一个状态修改功能出现了问题,一开始是运营找了过来,运营告知某条数据的状态已经开启了的,但是实际使用起来还是没有生效,于是拿到这个问题后,首先就去数据库查了这条数据,发现确实如他所…

深入了解字典树

字典树(Trie) 目录字典树(Trie)一、问题引入二、字典树介绍3、字典树的实现4、存储与查询一、问题引入 现有长度为n的字符串数组,[“go”,“goog”,“google”,“golang”&#xff0…

【数据结构入门】-链表之双向循环链表

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【数据结构初阶(C实现)】 文章目录链表初始化打印链表尾插尾删新建一个节点头插头删查找在pos之前插入*删除pos位…

CSS中的伪元素和伪类

一直被伪类和伪元素所迷惑,以为是同一个属性名称,根据CSS动画,索性开始研究a:hover:after,a.hover:after的用法。 伪元素 是HTML中并不存在的元素,用于将特殊的效果添加到某些选择器。 对伪元素的描述 伪元素有两…

【Verilog】握手信号实现跨时钟域数据传输-handshake

文章目录handshake握手电路使用握手信号实现跨时钟域数据传输接口信号图题目描述解题思路代码设计数据发送模块data_driver数据接收模块data_receivertestbench波形handshake握手电路 跨时钟域处理是个很庞大并且在设计中很常出现的问题握手(handshake)是用来处理信号跨时钟域…

数字化引领乡村振兴,VR全景助力数字乡村建设

一、数字乡村建设加速经济发展随着数字化建设的推进,数字化农业产业正在成为农业产业发展的主导力量,因此数字化技术赋予农业产业竞争力的能力不可小觑。数字化乡村建设背景下,数字化信息技术将全面改造升级农村产业,从农业、养殖…

new set数组对象去重失败

我们知道Set是JS的一个种新的数据结构,和数组类似,和数组不同的是它可以去重,比如存入两个1或两个"123",只有1条数据会存入成功,但有个特殊情况,如果添加到set的值是引用类型,比如数组…

DataGear 4.5.1 发布,数据可视化分析平台

DataGear 4.5.1 发布,严重 BUG 修复,具体更新内容如下: 修复:修复SQL数据集对于DB2、SQLite等数据源预览时会报错的BUG;修复:修复系统对于MySQL、MariaDB等数据源中无符号数值类型有时报错的BUG&#xff1…

借助媛如意让ROS机器人turtlesim画出美丽的曲线-云课版本

首先安装并打开猿如意其次打开蓝桥云课ROS并加入课程在猿如意输入问题得到答案在蓝桥云课ROS验证如何通过turtlesim入门ROS机器人您可以通过以下步骤入门ROS机器人:安装ROS:您需要安装ROS,可以在ROS官网上找到安装指南。安装turtlesim&#x…

英文拼写检查:TX Spell .NET for .NET 10.0 Crack

用于 Windows 窗体应用程序的 TX Text Control .NET 的强大拼写检查和语言工具。 表现 可靠准确的拼写检查 使用 TX Spell .NET for Windows Forms,您可以为基于 TX Text Control 的应用程序添加极其快速、高度可靠和非常准确的拼写检查。将 TX Spell .NET for Wind…

mysql中的共享锁,排他锁,间隙锁,意向锁及死锁机制

一、前言(以下均为读完 高性能Mysql第四版 后的个人理解,建议阅读,挺不错的)在写锁机制前先简单贴出mysql InnoDB引擎中的事务特性与隔离级别:事务的ACID标准(1)原子性-atomicity:一个事务作为一个不可分割…

vue中使用富文本Tinymce

本文是直接引用vue-element-admin中的,在此记录方便下次使用,日后再详细注释。 再src下的components下创建Tinymce 下包含以下文件 index.vue是主体文件 plugins.js 是 插件配置 toolbar.js 是 粗体、斜体等配置 EditorImage.vue 是右上角的上传 封装后…

一文速学-GBDT模型算法原理以及实现+Python项目实战

目录 前言 一、GBDT算法概述 1.决策树 2.Boosting 3.梯度提升 使用梯度上升找到最佳参数 二、GBDT算法原理 1.计算原理 2.预测原理 三、实例算法实现 1.模型训练阶段 1)初始化弱学习器 2)对于建立M棵分类回归树​: 四、Python实现 …

Spring_让Spring 依赖注入彻底废掉

在Spring之基于注解方式实例化BeanDefinition(1)_chen_yao_kerr的博客-CSDN博客中,我们在末尾处分享了一个甜点,就是关于实现了BeanDefinitionRegistryPostProcessor也可以实例化bean的操作,首先需要去了解一下那篇博客…

宝塔(二):升级JDK版本

目录 背景 一、下载JDK17 二、配置环境变量 三、配置新的JDK路径 背景 宝塔的软件商店只有JDK8,不满足我当前项目所需的JDK版本,因此想对JDK版本进行升级,升级为JDK17。 一、下载JDK17 先进入 /usr/lib/jvm 目录 点击终端,进…

OpenCV——line、circle、rectangle、ellipse、polylines函数的使用和绘制文本putText函数以及绘制中文的方法。

学习OpenCV的过程中,画图是不可避免的,本篇文章旨在介绍OpenCV中与画图相关的基础函数。 1、画线条——line()函数 介绍: cv2.line(image, start_point, end_point, color, thickness)参数: image: 图像start_point&#xff1a…

拉链表(小记)

拉链表创建外部表将编写的orders.txt上传到hdfs创建一个增减分区表将orders表的数据传入ods_orders_inc查看分区创建历史表插入数据操作创建外部表 create database lalian; use lalian;create external table orders(orderId int,createDate string,modifiedTime string,stat…

Redis集群方案应该怎么做?

今天我们来跟大家唠一唠JAVA核心技术-RedisRedis是一款流行的内存数据库,适用于高性能的数据缓存和实时数据处理。当需要处理大量数据时,可以使用Redis集群来提高性能和可用性。Redis在单节点模式下,虽然可以支持高并发、快速读写、丰富的数据…

sizeof与一维数组和二维数组

🍕博客主页:️自信不孤单 🍬文章专栏:C语言 🍚代码仓库:破浪晓梦 🍭欢迎关注:欢迎大家点赞收藏关注 sizeof与一维数组和二维数组 文章目录sizeof与一维数组和二维数组前言1. sizeof与…

专业版即将支持自定义场景测试

物联网 MQTT 测试云服务 XMeter Cloud 专业版于 2022 年底上线后,已有不少用户试用,对数千甚至上万规模的 MQTT 并发连接和消息吞吐场景进行测试。同时我们也收到了希望支持更多物联网协议测试的需求反馈。 新年伊始,XMeter 团队全力聚焦于 …