前沿论文 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…...
【Java Web学习 | 第九篇】JavaScript(3) 数组+函数
【Java Web学习 | 第九篇】JavaScript(3) - 数组与函数进阶(2026最新版) 本篇对数组和函数进行更深入、实用的讲解,这是 Java Web 开发中处理后端返回数据(JSON 数组/对象列表)和封装业务逻辑的核心技能。 由于你特别…...
HelixDB安全特性解析:类型安全查询如何确保生产环境可靠性
HelixDB安全特性解析:类型安全查询如何确保生产环境可靠性 【免费下载链接】helix-db HelixDB is a powerful, graph-vector database built entirely in Rust for millisecond query latency and ease of use. 项目地址: https://gitcode.com/gh_mirrors/he/heli…...
成电计算机复试面试:如何用一份‘心机’简历引导老师提问,并提前准备好答案?
计算机复试策略:如何用结构化简历设计引导面试走向 站在电子科技大学计算机复试的考场外,大多数考生都在反复背诵技术概念和项目细节,却很少有人意识到——面试本质上是一场精心设计的对话博弈。那些最终获得高分的考生,往往不是知…...
Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险
Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险 最近和几个做安全的朋友聊天,他们都在头疼一个问题:现在的网络攻击越来越“花里胡哨”了。以前可能就是一段恶意代码,现在呢?一张精心设计的钓…...
从攻到防:实战演练基于Wireshark与Snort的DoS攻击检测
1. 拒绝服务攻击初探:原理与危害剖析 想象一下周末去热门餐厅吃饭的场景。当所有座位都被占满,门口还不断涌入大量"假顾客"时,真正的食客就会被挡在门外——这就是拒绝服务攻击(DoS)的生动写照。作为网络安…...
QT 基于qcustomplot实现热力图(四):动态数据流与交互优化实战
1. 动态数据流的核心实现策略 在实时监控系统中,热力图的数据往往需要持续更新。我遇到过不少开发者直接粗暴地全量刷新整个数据集,结果界面卡顿得像老式幻灯片。这里分享三种经过实战检验的动态更新方案,每种都有其适用场景。 增量更新法最适…...
3种Cookie管理方案对比:为什么本地导出才是开发者最佳选择?
3种Cookie管理方案对比:为什么本地导出才是开发者最佳选择? 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在Web开发和自动…...
Pixel Mind Decoder 异常情绪监测:在系统日志中定位用户不满信号
Pixel Mind Decoder 异常情绪监测:在系统日志中定位用户不满信号 1. 运维场景中的情绪危机 你有没有遇到过这种情况:系统运行一切正常,监控指标全绿,但用户满意度却在悄悄下滑?等到收到大量投诉时,问题已…...
人肉区块链:用群体记忆对抗AI篡改
当测试数据面临AI篡改危机在生成式AI全面渗透软件开发生命周期的今天,软件测试从业者正面临前所未有的挑战。AI工具在提升测试用例生成、缺陷预测和日志分析效率的同时,也带来了隐蔽而致命的风险:AI驱动的数据篡改。自动化测试结果被注入虚假…...
【课后习题答案】SystemVerilog for Verification 3rd Edition第五章(绿皮书第三版)
1 解答class MemTrans;// a. 8位logic类型的data_inlogic [7:0] data_in;// b. 4位logic类型的addresslogic [3:0] address;// c. 打印data_in和address的void函数function void print();$display("data_in 0x%h, address 0x%h", data_in, address);endfunction// …...
