前沿论文 M5Product 组会 PPT
对比学习(Contrast learning):对比学习是一种自监督学习方法,用于在没有标签的情况下,通过让模型学习哪些数据点相似或不同来学习数据集的一般特征。假设一个试图理解世界的新生婴儿。在家里,假设有两只猫和一只狗。即使没有人告诉你它们是“猫”和“狗”,这个婴儿仍可能会意识到,与狗相比,这两只猫看起来很相似。
作者从理论论文和实践论文的角度都表明,具有不同模态的大规模数据集可以有效地增强对生成特征的区分,从而提高视觉语言任务的性能。然而,目前的进展受到缺乏这种大规模多样化模态数据集的严重限制,最大的公共多模态数据集只包含文本、图像模态和无类别信息[41]。作者采集了结构化和音视频数据来进行训练。
大多数多模态预训练数据集是从社交网站收集的(例如,Twitter和Facebook),并且仅限于为指定任务收集的两种模式。这些数据集可以根据其模态组成分为四类,即,音频/文本、视频/文本、图像/文本等。CMU-MOSEI主要关注情感分析,XMedia用于跨模态检索。除了上述数据集,还有几个电子商务数据集。Dress Retrieval [9],RPC checkout [48]和Product1M [55]是典型的电子商务多模态数据集。可以看出他们的模态只有图片和文本。
近年来,针对视觉-文本多模态学习,研究者们提出了多种视觉语言预训练模型。它们可以粗略地分为两类:1)单流模型,其Transformer层共同对视觉和文本输入进行concat操作,例如VL-bert [42],Image-BERT [37],VideoBERT [44],MMT [12],HERO [26],VisualBERT [27]和UNITER [7]。2)图像和文本输入不连接的双流模型,例如ViLBERT [30],LXMERT [45],CLIP [38]和DALL-E [39]。
读ppt
之前的研究引发了两个关键挑战:
(1)模态交互:如何通过扩展到大量模态的优雅方法,实现从不同模态之间的单峰,双峰,三峰甚至多模态关系中学习共同表示。
(2)模态噪声:如何在训练过程中减少模态噪声(不完整的模态)的影响。后面作者使用零插补进行去除,发现对模型效果有所提高。
读PPT
作为一个真实世界的数据集,与传统的多模态数据集不同,它并不是一个完整的配对数据集。具体来说,这个数据集包含的样本只包含部分模态(即不同类型的数据),而且数据的分布是长尾分布。这意味着大部分样本可能集中在少数几种模态上,而其他模态的样本则相对较少。
方法框架中最下面是SCALE首先对五个模态数据进行处理,然后得到特征,同样每个模态有一个CLS特征来对其他特征进行综合。然后进行对比学习。在由单独的模态编码器处理之后,不同模态的令牌特征被连接并馈送到联合共Transformer(Joint Co-Transformer,JCT)模块中以捕获不同模态之间的令牌关系。
针对每种模态进行了代理任务,利用了之前的掩码区域预测任务(MRP)、掩码语言建模任务(MLM)。为了利用表,视频和音频模态的特性,作者进一步提出了掩码实体建模任务(MEM),掩码帧预测任务(MFP),掩码音频建模任务(MAM)。比如在MLM任务中,模型需要预测输入句子中被随机掩盖(mask)的单词。具体来说,在给定的句子中,某些单词会被特殊的[MASK]标记替换,模型的目标是预测这些被掩盖的单词。
定义了一个针对每个模态的损失函数,其中, t ¬ m s k t_{\neg m s k} t¬msk表示围绕屏蔽令牌 t m s k t_{msk} tmsk的未屏蔽令牌, θ θ θ表示网络参数,并且 M i M_i Mi和 M ¬ i {M}_{\neg i} M¬i分别是第 i i i模态和剩余模态。比如预测一个文本模态的单词,给定其他模态的信息和其他未被掩码的令牌。
首先比较文本特征与图像特征之间的相似性,这需要看上一张图片,特征传入了这个Inter-Modality Scores,生成对应的分数。同样计算其他模态之间的相似性(如音频与视频、文本与结构化数据等)。将所有模态之间的相似性得分整合成一个得分矩阵 S S S。计算模态匹配分数 S ′ = S ⋅ s o f t m a x ( S ) S' = S \cdot softmax(S) S′=S⋅softmax(S)。利用 S ′ S' S′ 来加权模态间损耗和模态内损耗,优化模型。
选择三角形部分 S ∇ S_{\nabla} S∇来加权模态间损耗 L C L L_{CL} LCL,并且使用对角部分S来约束模态内损耗 L M i L_{Mi} LMi,从而得到加权损耗:
L t o t a l = ∑ S i , j S ▽ L C L i , j ( S i , j l o g ı ˙ t i , j ) + ∑ S i S ∖ L M i ( S i l o g ı ˙ t i ) \mathcal{L}_{t o t a l}=\sum_{S_{i,j}}^{S_{\bigtriangledown}}\mathcal{L}_{C L_{i,j}}\left(S_{i,j}l o g\dot{\imath}t_{i,j}\right)+\sum_{S_{i}}^{S_{\setminus}}\mathcal{L}_{M_{i}}\left(S_{i}l o g\dot{\imath}t_{i}\right) Ltotal=Si,j∑S▽LCLi,j(Si,jlog˙ti,j)+Si∑S∖LMi(Silog˙ti)
其中 l o g i t logit logit是损失 l o g i t logit logit。我们可以看到这个图中首先特征给到Inter-Modality Scores 然后两种得分 分别给到对比学习和五个代理任务。
相关文章:

前沿论文 M5Product 组会 PPT
对比学习(Contrast learning):对比学习是一种自监督学习方法,用于在没有标签的情况下,通过让模型学习哪些数据点相似或不同来学习数据集的一般特征。假设一个试图理解世界的新生婴儿。在家里,假设有两只猫和…...
navicat~导出数据库密码
当我们mysql密码忘记了,而在navicat里有记录,我们应该如何导出这个密码呢? 第一步:文件菜单,导出链接,导出连接获取到 connections.ncx 文件 这里需要勾选 导出密码!!! 不然导出的文…...

【Java】 —— 数据结构与集合源码:Vector、LinkedList在JDK8中的源码剖析
目录 7.2.4 Vector部分源码分析 7.3 链表LinkedList 7.3.1 链表与动态数组的区别 7.3.2 LinkedList源码分析 启示与开发建议 7.2.4 Vector部分源码分析 jdk1.8.0_271中: //属性 protected Object[] elementData; protected int elementCount;//构造器 public …...

YOLOv5改进——添加SimAM注意力机制
目录 一、SimAM注意力机制核心代码 二、修改common.py 三、修改yolo.py 三、建立yaml文件 四、验证 一、SimAM注意力机制核心代码 在models文件夹下新建modules文件夹,在modules文件夹下新建一个py文件。这里为simam.py。复制以下代码到文件里面。 import…...
SQL 自学:表别名的运用与对被联结表使用聚集函数
一、表别名的概念与作用 (一)表别名的定义 表别名是为表指定的临时名称,在 SQL 查询中使用别名可以简化表名,提高代码的可读性和可维护性。当表名较长或在复杂的查询中多次引用表时,使用表别名可以避免重复输入冗长的…...

jmeter学习(2)变量
1)用户定义的变量 路径:添加-》配置元件-》用户定义的变量 用户定义的变量是全局变量,可以跨线程组被调用,但在启动运行时获取一次值,在运行过程中不再动态获取值。 注意的是,如果在某个线程组定义了全…...
【C#生态园】C#文件压缩库全面比较:选择最适合你的库
从核心功能到API概览:深度解析六大C#文件压缩库 前言 在软件开发过程中,文件的压缩和解压缩是一个常见的需求。针对C#开发者而言,选择合适的文件压缩库可以极大地简化开发工作。本文将介绍几个常用的C#文件压缩库,包括其核心功能…...

【测试】接口测试与接口自动化
壹、接口测试基础 一、接口测试概念 I、基础概念 是测试系统组件间接口的一种测试。 主要用于检测外部系统与系统间、内部子系统间的交互点;测试重点检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系。 内部接口调用相当于函数调用&am…...
Android设置边框圆角
在Android开发中,圆角设计十分常见,那么实现边框圆角有几种形式呢? 文章目录 设置圆角边框样式使用ClipToOutline进行裁切最后 设置圆角边框样式 常见的方式是在drawable文件夹下设置一个xml文件的边框样式,比如 <shape andro…...

SpringBoot项目打成jar包,在其他项目中引用
1、首先新建一个SpringBoot工程 记得要将Gradle换成Maven 2、新建一个要引用的方法 3、打包的时候要注意: ① 不能使用springboot项目自带的打包插件进行打包,下面是自带的: ②要换成传统项目的maven打包,如下图: 依…...
【音频可视化】通过canvas绘制音频波形图
前言 这两天写项目刚好遇到Ai对话相关的需求,需要录音功能,绘制录制波形图,写了一个函数用canvas实现可视化,保留分享一下,有需要的直接粘贴即可,使用时传入一个1024长的,0-255大小的Uint8Arra…...
解决github每次pull push输入密码问题
# 解决git pull/push每次都需要输入密码问题 git bash进入你的项目目录,输入: git config --global credential.helper store然后你会在你本地生成一个文本,上边记录你的账号和密码。配置项写入到 "C:\Users\用户名\ .gitconfig" …...
Java重修笔记 第六十四天 坦克大战(十四)IO 流 - 标准输入输出流、InputStreamReader 和 OutputStreamWriter
标准输入输出流 1. System.in 标准输入流 本质上是一个InputString,对应键盘,表示从键盘输入。 定义:public final static InputStream in null; 所以 Scanner scanner new Scanner(System.in); 会从键盘中获取数据 2. System.out 标准输…...
prctl的函数和pthread_self函数
1.prctl的函数原型如下: #include<sys/prctl.h> prctl(PR_SET_NAME, “process_name”);第一个参数是操作类型,指定PR_SET_NAME(对应数字15),即设置进程名; 第二个参数是进程名字符串,…...
Vim 命令行模式下的常用命令
Vim 命令行模式下的常用命令 文件操作: :w :保存当前文件。:w filename :将当前内容另存为指定的 filename 。:q :退出 Vim,如果文件有修改但未保存,会提示错误。:q! :强制退出 Vim,…...
【动态规划-最长递增子序列(LIS)】力扣2826. 将三个组排序
给你一个整数数组 nums 。nums 的每个元素是 1,2 或 3。在每次操作中,你可以删除 nums 中的一个元素。返回使 nums 成为 非递减 顺序所需操作数的 最小值。 示例 1: 输入:nums [2,1,3,2,1] 输出:3 解释: …...

Elastic Stack--16--ES三种分页策略
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 方式一:from size实现原理使用方式优缺点 方式二:scroll实现原理使用方式优缺点 方式三:search_after实现原理使用方式优缺点 三…...
[LeetCode] 315. 计算右侧小于当前元素的个数
题目描述: 给你一个整数数组 nums ,按要求返回一个新数组 counts 。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 题目链接: . - 力扣(LeetCode) 题目主要思路&a…...

【hot100-java】二叉树展开为链表
二叉树篇。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …...
如何在在 YOLOv3模型中添加Attention机制
在YOLOv3模型中添加Attention机制需要以下几个步骤: 1. 规定格式 当添加新的模块(如Attention机制模块)时,需要像定义[convolutional]、[maxpool]等层在cfg文件中的格式一样,对新模块进行格式规定。例如对于SE模块&a…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...

CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
Docker、Wsl 打包迁移环境
电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本: 2.2.4.0 内核版本: 5.15.153.1-2 WSLg 版本: 1.0.61 MSRDC 版本: 1.2.5326 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.2609…...