【论文极速读】视频检索中的模态均衡方法

news2024/11/26 21:23:22
【论文极速读】视频检索中的模态均衡方法
FesianXu 20231206 at Baidu Search Team

前言

传统的视频搜索系统相关性部分主要以文本匹配为基础手段,在其中引入多模态向量容易收到『模态不均衡』的问题,论文[1]尝试对其进行解决,本文进行笔记。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注明出处,谢谢。

∇ \nabla 联系方式:

e-mail: FesianXu@gmail.com

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用(https://www.zhihu.com/column/c_1265262560611299328)

微信公众号:机器学习杂货铺3号店


传统的视频搜索系统相关性部分主要以文本语义匹配/字面匹配为基本手段,其模型的输入基本上都是文本,并无视觉的语义向量。如果希望在这样一个纯文本的系统中加入视觉语义向量(此处的视觉语义向量可以是上游模型的产出,比如CLIP的产出),那么很容易遇到所谓的『模态不均衡』的问题,即是由于文本匹配更为简单(毕竟骨架网络都是基于文本进行过很多次迭代了),那么新引入的视觉语义向量就很容易在整个训练过程中被视为噪声,或者被忽视,其视觉本身的作用不容易建模出来。在论文[1]中,作者同样报告了这样一个现象,并且提出了通过『模态混洗(Modality-Shuffle)』的方法进行优化,整个框架被称之为MBVR(Modality-Balanced Video Retrieve)。如Fig 1.所示,对于一个文本-视觉成对的样本 < Q i , T i , V i > <Q_i, T_i, V_i> <Qi,Ti,Vi>,通过在batch内混洗视觉输入,得到难负样本 < Q i , T i , V j > , i ≠ j , i , j ∈ B <Q_i, T_i, V_j>, i \neq j, i,j \in \mathcal{B} <Qi,Ti,Vj>,i=j,i,jB,此时对于其文本检索 Q i Q_i Qi而言, Q i Q_i Qi T i T_i Ti是匹配的,但和视觉 V j V_j Vj不匹配,通过这种方法构建出的难负样本,有利于加强视觉特征的作用力度。
fig_1_framework_ms

Fig 1. 模态混洗的方式构建出文本匹配,但是视觉不匹配的难负样本。

除此之外,作者还提出用动态margin去建模,不过笔者觉得并不关键,因此就不阐述了。从整体来看,其loss如公式(1-1)所示,其中的 L b i = L q m + L m q \mathcal{L}_{bi} = \mathcal{L}_{qm} + \mathcal{L}_{mq} Lbi=Lqm+Lmq,表示Query-Doc匹配和Doc-Query匹配的损失, L v \mathcal{L}_{v} Lv表示 < Q i , V i > <Q_i, V_i> <Qi,Vi>的匹配损失,同理 L t \mathcal{L}_{t} Lt表示了 < Q i , T i > <Q_i, T_i> <Qi,Ti>的匹配损失,而 L m s \mathcal{L}_{ms} Lms即是通过模态混洗构建难负样本带来的损失,如公式(1-2)所示,其中的 M m s \mathcal{M}_{ms} Mms表示构建出来的模态混洗负样本。

L = L b i + α L v + β L t + γ L m s (1-1) \mathcal{L} = \mathcal{L}_{bi} + \alpha \mathcal{L}_v + \beta \mathcal{L}_t + \gamma \mathcal{L}_{ms} \tag{1-1} L=Lbi+αLv+βLt+γLms(1-1)

L m s = − log ⁡ exp ⁡ ( s ( q , m ) / τ ) exp ⁡ ( s ( q , m ) / τ ) + ∑ m ^ ∈ M m s exp ⁡ ( s ( q , m ^ ) / τ ) (1-2) \mathcal{L}_{ms} = -\log \dfrac{\exp(s(q,m)/\tau)}{\exp(s(q,m)/\tau)+\sum_{\hat{m} \in \mathcal{M}_{ms}} \exp(s(q,\hat{m})/\tau)} \tag{1-2} Lms=logexp(s(q,m)/τ)+m^Mmsexp(s(q,m^)/τ)exp(s(q,m)/τ)(1-2)

那么如何验证效果呢?作者进行了一些离线消融实验,并且进行了线上实验(该论文来自于快手,本方案应该是在线上进行了实验),均发现有所收益,这些常规指标就不在这里累述了。同时作者通过定向的分析,验证了模态混洗带来的优势,如公式(1-3)所示,作者定义了一个 R v t R_{vt} Rvt,其中的 F v , F t , F m \mathcal{F}_v,\mathcal{F}_t,\mathcal{F}_m Fv,Ft,Fm分别表示视觉、文本以及联合视觉文本模型的表征,那么 R v t R_{vt} Rvt指数表示了视觉在该联合模型中,占据的重要程度与文本在该联合模型中占据的重要程度的比例,这个值越高表示了视觉在模型中地位越重。(注,此处的联合模型可表示为 L m = H ( F v , F t ) \mathcal{L}_{m} = \mathcal{H}(\mathcal{F}_v,\mathcal{F}_t) Lm=H(Fv,Ft)
R v t = cos ⁡ ( F v , F m ) cos ⁡ ( F t , F m ) (1-3) R_{vt} = \dfrac{\cos(\mathcal{F}_v, \mathcal{F}_m)}{\cos(\mathcal{F}_t, \mathcal{F}_m)} \tag{1-3} Rvt=cos(Ft,Fm)cos(Fv,Fm)(1-3)

在Fig 2 (a) 中,作者对基线模型和MBVR模型的 R v t R_{vt} Rvt分布的绘制,我们可以明显看出引入了MBVR之后,视觉特征在视文联合模型 H ( ⋅ , ⋅ ) \mathcal{H(\cdot, \cdot)} H(,)中的作用力度更大了,同时作者在Fig 2 (b)和(c)中对比了正样本和难负样本在基线模型和MBVR模型中的打分分布变化,可以明显看出引入了MBVR模型之后,难负样本打分更低,和正样本打分分布产生了明显的变化。

Fig 2. (a) R值分布变化,引入了MBVR之后视觉的作用力度有明显提升;(b)基线模型中,正样本和难负样本区分度小,(c)引入了MBVR之后,正样本和难负样本有了明显的区分度。

笔者认为这篇论文对于工业界落地多模态特征还是具有一定指导意义的,模态不均衡的问题在实际落地过程中真实存在,作者提出的解决方法不失一种有效可行的手段,在构造MS难负样本这块,后续可以继续探索,构造一些更合适的难负样本应该是有一定收益空间的。同时,也可以引入类似于MLM的,某种跨模态mask机制,去建模模态间的关系,笔者认为同样可以缓解模态不均衡的问题。

Reference

[1]. Wang, Xun, et al. “Modality-Balanced Embedding for Video Retrieval.” Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval. 2022.

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

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

相关文章

ROS小练习——话题订阅

目录 一、话题与消息获取 二、代码编写 1、C 2、python 三、编译运行 一、话题与消息获取 rostopic list rostopic type /turtle1/pose rosmsg info turtlesim/Pose 二、代码编写 1、C //包含头文件 #include "ros/ros.h" #include "turtlesim/Pose…

如何本地搭建Linux DataEase数据可视化分析工具并实现公网访问

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#xff0c;从而实现业务…

在JSP项目中编写一个接口返回JSON 供JSP界面异步请求数据

首先 我们要引入json处理的依赖工具 在 pom.xml文件的 dependency 标签中加入如下代码 <dependency><groupId>com.googlecode.json-simple</groupId><artifactId>json-simple</artifactId><version>1.1.1</version> </dependenc…

旺店通:API无代码开发的集成解决方案,连接电商平台、CRM和客服系统

集成电商生态&#xff1a;旺店通的核心优势 在数字化转型的浪潮中&#xff0c;旺店通旗舰版奇门以其无代码开发的集成解决方案&#xff0c;正成为电商领域的关键变革者。商家们通过旺店通可以轻松实现与电商平台、CRM系统和客服系统的连接&#xff0c;无需深入了解复杂的API开…

MATLAB将动画演示以及将过程保存为gif动态图片

平时想要做一个动画图片来演示&#xff0c;本人一般有两种方法&#xff1a; 一种是截很多张图之后&#xff0c;将这些图片合成为一张gif动画&#xff1b; 另一种就是录屏再制作成gif&#xff0c;我一般是录下视频之后&#xff0c;使用QQ影音&#xff0c;里面的影音工具箱有一个…

【玩转TableAgent 数据智能分析】-- 数据分析不再是专业人士的专利

文章目录 前言一、TableAgent介绍TableAgent 数据分析智能体融合创新应用的新成果Table Family 二、注册TableAgent访问TableAgent注册用量 三、 体验TableAgent样例数据集体验选择样例数据集样例数据集进行数据分析数据图 样例数据集进行数据分析规定图表格式数据图 自定义数据…

解决:IndentationError:unindent does not match any outer indentation level

解决&#xff1a;IndentationError:unindent does not match any outer indentation level 文章目录 解决&#xff1a;IndentationError:unindent does not match any outer indentation level背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在…

Ui自动化概念 + Web自动化测试框架介绍!

1.UI自动化测试概念:我们先明确什么是UI UI&#xff0c;即(User Interface简称UI用户界面)是系统和用户之间进行交互和信息交换的媒介 UI自动化测试: Web自动化测试和移动自动化测试都属于UI自动化测试&#xff0c;UI自动化测试就是借助自动化工具对程序UI层进行自动化的测试 …

Mysql之数据处理增删改

Mysql之数据处理增删改查 插入数据INSERT INTO语句的使用INSERT 与子查询结合 更新数据(修改数据)UPDATE SET语句 删除数据DELETE FROM语句 Mysql8新特性&#xff1a;计算列 插入数据 INSERT INTO语句的使用 用 INSERT INTO 语句&#xff0c;向表中插入数据 方式一&#xff1a;…

网络安全威胁——DDoS攻击

DDoS攻击 1. 定义2. DDoS攻击类型2.1 网络层攻击2.2 传输层攻击2.3 应用层攻击 3.DDoS攻击态势特点 1. 定义 分布式拒绝服务&#xff08;DDoS&#xff09;攻击是一种常见的网络攻击形式。攻击者利用恶意程序对一个或多个目标发起攻击&#xff0c;企图通过大规模互联网流量耗尽…

活动预告 | 中国数据库联盟(ACDU)中国行第四站定档西安,邀您探讨数据库前沿技术

作为墨天轮社区与中国数据库联盟的品牌活动之一&#xff0c;【ACDU 中国行】已走过深圳、杭州、成都三大城市&#xff0c;在线下汇集数据库领域的行业知名人士&#xff0c;共同探讨数据库前沿技术及其应用&#xff0c;促进行业发展和创新&#xff0c;同时也为开发者们提供一个友…

什么是HTTPS加密协议?

文章目录 应用层协议什么是HTTP&#xff1f;认识URL工具 什么是HTTPS协议&#xff1f;什么是“加密”&#xff1f; 应用层 我们程序猿写的一个个解决我们实际问题&#xff0c;满足我们日常需求的网络程序&#xff0c;都是在应用层。 协议 协议是一种 “约定”。socket api的…

富时中国a50指数准确吗

富时中国A50指数简介 富时中国A50指数&#xff08;FTSE China A50 Index&#xff09;是富时罗素指数有限公司&#xff08;FTSE Russell&#xff09;编制的&#xff0c;旨在反映中国A股市场50家市值较大、流动性较好的公司的股价表现。它是国际上对中国A股市场投资者影响较大的…

springbootmybatisPlus

分页 1.加 Configuration public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor());return …

前端笔记(四)Flex 布局

标准流 标准流也叫文档流&#xff0c;指的是标签在页面中默认的派不规则&#xff0c;例如&#xff1a;块元素独占一行&#xff0c;行内元素可以一行显示多个。 但是很多的网页布局都是块元素在一行中显示的&#xff0c;这时候就需要浮动和 Flex 布局&#xff0c;浮动只需要了解…

【Java基础系列】JavaWeb入门

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【LeetCode】2629. 复合函数

复合函数 题目题解 题目 请你编写一个函数&#xff0c;它接收一个函数数组 [f1, f2, f3&#xff0c;…&#xff0c; fn] &#xff0c;并返回一个新的函数 fn &#xff0c;它是函数数组的 复合函数 。 [f(x)&#xff0c; g(x)&#xff0c; h(x)] 的 复合函数 为 fn(x) f(g(h(x…

MYSQL练题笔记-高级查询和连接-最后一个能进入巴士的人

一、题目相关内容 1&#xff09;相关的表和题目 2&#xff09;帮助理解题目的示例&#xff0c;提供返回结果的格式 二、自己初步的理解 一群人要上巴士但是巴士有体重限制&#xff0c;那只能有限个人才能上去 最后输出这个最后一个上去还不超重的人的名字 我认为首先要缩小…

Java+Swing: 登录和重置按钮的点击事件 整理6

1. 在Login类中给按钮添加事件 // 按钮添加鼠标点击事件loginButton.addActionListener();resetButton.addActionListener(); 2. 创建一个事件处理的类&#xff0c; 该类实现了ActionListener package com.handler;/*** Author&#xff1a;xiexu* Date&#xff1a;2023/12/7 13…

K8S 删除命令空间时 一直卡住怎么办?

当使用完一个命名空间后&#xff0c;想删除了又删除不掉&#xff0c;这个时候查看命名空间的状态一直是Terminating。使用强制删除&#xff0c;也是还是不行。&#xff08;找了好多办法都不行&#xff09; [rootk8s-master kubernetes-yaml]# kubectl delete ns mem-example Er…