当前位置: 首页 > article >正文

【论文笔记】Leveraging the Power of MLLMs for Gloss-Free Sign Language Translation

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: Leveraging the Power of MLLMs for Gloss-Free Sign Language Translation
作者: Jungeun Kim, Hyeongwoo Jeon, Jongseong Bae, Ha Young Kim
arXiv: https://arxiv.org/abs/2411.16789

基本信息

摘要

手语翻译(SLT)是一项具有挑战性的任务,涉及将手语图像翻译成口语。

为了使SLT模型成功完成这项任务,它们必须弥合模态差距,并识别手语组件的细微变化,以准确理解其含义。

为了解决这些挑战,我们提出了一种新颖的gloss-free SLT框架,称为Multimodal Sign Language Translation(MMSLT),该框架利用了现成多模态大型语言模型(MLLMs)的表征能力。

具体来说,我们使用MLLMs生成手语组件的详细文本描述。

然后,通过我们提出的多模态语言预训练模块,我们将这些描述特征与手语视频特征相结合,使它们在口语句子空间内对齐。

我们的方法在基准数据集PHOENIX14T和CSL-Daily上实现了最先进的性能,突显了MLLMs在SLT中有效利用的潜力。

Comparison of the proposed MMSLT with GFSLTVLP

主要贡献

  • 我们提出了一种gloss-free的SLT框架MMSLT,首次利用现成的MLLM。为了实现高效的推理而不需要使用MLLM,我们设计了一个描述映射模块。
  • 通过分析各种MLLM和提示,我们提出了GSD-MLLM模块,该模块可以从手语图像生成详细的SL描述。
  • 我们引入了MMLP模块,该模块有效地整合了两种模态,即SL描述和手语图像,并将它们与目标句子空间对齐以减少模态差距。
  • 我们通过广泛的实验证明了MMSLT的有效性,在两个基准数据集上实现了SOTA的gloss-free SLT性能。MMSLT显著提高了BLEU-4和ROUGE分数,表明在复杂句法和长上下文中翻译的有效性。

MLLMs and Prompts: Preliminary Analysis

Video-based MLLM vs Image-based MLLM

首先,我们通过评估其描述SL组件的能力来探讨基于视频和基于图像的MLLM在SLT中的潜力。

Comparison of SL descriptions based on the type of MLLM and prompt

如图2a所示,基于视频的MLLM,如Video-LLaMA和Video-LLaVA,在捕捉SL组件方面表现出有限的能力。相反,它们提供简单的总结,如“用手势”,或重复相同的内容,并包含与手语无关的一般性描述,如“穿着西装”或错误信息。

另一方面,基于图像的MLLM,如LLaVa-Next、InternVL、QwenVL2、Pixtral和LLaVA-OneVision,生成SL组件的详细描述,如“手指略微张开”或“眼睛专注并指向”。值得注意的是,如图2c所示,LLaVA-OneVision提供的描述仅关注SL组件,不包括无关信息。

在本实验中,由于生成SL描述的处理时间和资源限制,排除了大型模型,如LLaVA-OneVision 72B。

Prompt Engineering

为了有效地利用MLLM,选择合适的模型并制定明确的提示,以明确提取信息或为内容提供上下文清晰度至关重要。

为此,我们使用六个不同的提示进行推理,如图3所示。

List of prompts

这些提示可以分为简单(1、2)、详细(3、4)和情境(5、6)类型。

提示(1)、(2)和(4)引发的响应主要关注无关信息,如图2b所示,而提示(3)、(5)和(6)生成的响应则更集中于SL组件。

然而,提示(6)的响应包含不准确之处,而提示(5)的响应则更准确,并提供了更详细的信息。

尽管如此,它们往往重复使用示例句子,并在连续的帧中产生重复的答案。

相比之下,如图2c所示,提示(3)提供了SL组件的详细描述,例如手部形状、手势者的目光和嘴型,有效地传达了手势者的手势和面部表情的含义。

此外,它避免了引用与理解手语无关的外部信息,并成功捕捉了连续手势之间的细微差别。

方法

MMSLT overview

Generating SL Descriptions via MLLM

根据前面的分析,我们利用基于图像的MLLM和提示符 p p p 来生成第 i i i 个手语视频 S V i ∈ R T × H × W SV_i \in \mathbb{R}^{T \times H \times W} SViRT×H×W 的一系列SL描述 d i = { d i , t } t = 1 T d_i = \{d_{i,t}\}_{t=1}^T di={di,t}t=1T,如图4所示。在这个上下文中,手语视频的总数是 N N N,帧的高度和宽度分别是 H H H W W W。帧的总数是 T T T

然而,我们观察到MLLM在准确捕捉手语者面部表情方面存在局限性,经常产生唇形的碎片化描述,如“微笑”,或错误地将闭眼描述为“睁眼”。

这表明,尽管SL描述捕捉了SL组件,但它们有时是不准确的,缺乏细节。

Multimodal-Language Pre-training

为了促进两种模态之间的协同作用,我们将手语图像集成到SL描述中。

显然,手语视频和口语句子之间存在模态差距。

为了弥合这一差距,我们提出了MMLP,一个预训练模块,它有效地融合手语视频及其对应的SL描述,并学习将它们与口语句子对齐,如图4所示。

Description Mapper

首先,我们从第 j j j-个手语视频 S V j SV_j SVj 中提取视觉特征 V j ∈ R T × C V_j \in \mathbb{R}^{T \times C} VjRT×C,使用图像编码器 ψ v i s \psi_{vis} ψvis,这是一个在 ImageNet 上预训练的 ResNet18,其中 C C C 表示 V j V_j Vj 的维度。

同时,我们从每个帧 d j , t d_{j,t} dj,t 的 SL 描述中获得描述嵌入特征 D j , t ∈ R 1 × C ˉ D_{j,t} \in \mathbb{R}^{1 \times \bar{C}} Dj,tR1×Cˉ,使用描述编码器 ψ d e \psi_{de} ψde,这是一个预训练的、冻结的 12 层 BERT。

在此上下文中,我们将 [CLS] token的嵌入特征定义为 D j , t D_{j,t} Dj,t,编码句子级信息,其中 C ˉ \bar{C} Cˉ 表示 D j , t D_{j,t} Dj,t 的维度。这些描述嵌入特征共同形成描述特征 D j = { D j , t } t = 1 T D_j = \{D_{j,t}\}_{t=1}^T Dj={Dj,t}t=1T

然而,如果直接利用 D j D_j Dj 来整合手语视频和 SL 描述,通过 MLLM 生成 SL 描述在推理过程中变得必要。这导致计算成本增加和推理时间延长。

为了解决这个问题,我们提出了一种描述映射器 ψ d m \psi_{dm} ψdm,其特征是一个简单的两层 MLP 结构,用于从 V j V_j Vj 预测 D j D_j Dj

这也有助于弥合输入数据源之间的模态差距,并允许我们获得近似描述特征 D ^ j \hat{D}_j D^j

D ^ j = ψ d m ( V j ) , V j = ψ v i s ( S V j ) \hat{D}_j = \psi_{dm}(V_j), \quad V_j = \psi_{vis}(SV_j) D^j=ψdm(Vj),Vj=ψvis(SVj)

为了最小化 (\hat{D}_j) 和 (D_j),我们定义损失函数如下:

L D M = 1 B 1 T ∑ j = 1 B ∑ t = 1 T ∥ D ^ j , t − D j , t ∥ 2 2 \mathcal{L}_{\mathrm{DM}} = \frac{1}{B} \frac{1}{T} \sum_{j=1}^{B} \sum_{t=1}^{T} \left\| \hat{D}_{j,t} - D_{j,t} \right\|_2^2 LDM=B1T1j=1Bt=1T D^j,tDj,t 22

Modality Adapter

为了结合视觉特征和近似的SL描述特征,我们提出了一种Modality Adapter ψ m a \psi_{ma} ψma,它由一个一维卷积层、一个最大池化层和一个两层的MLP组成。

由于手语通常由多个帧组成,且 V j V_j Vj D ^ j \hat{D}_j D^j 是从连续的手语帧中得出的,我们采用了一维卷积进行时间建模。

此外,MLP层用于整合来自两种模态的信息。

捕获到的 V j V_j Vj D ^ j \hat{D}_j D^j 被连接起来,然后输入到Modality Adapter中,从而提取出手势元素特征 S E j ∈ R T ′ × C ′ SE_j \in \mathbb{R}^{T' \times C'} SEjRT×C,其中 T ′ T' T 是减少的序列长度, C ′ C' C 是嵌入维度。这一过程可以表示如下:

S E j = ψ m a ( V j ⊕ D ^ j ) SE_j = \psi_{ma}(V_j \oplus \hat{D}_j) SEj=ψma(VjD^j)

其中 ⊕ \oplus 表示连接操作。

Multimodal Encoder with LoRA

为了提取 S E i SE_i SEi 的表示,我们引入了一个Multimodal Encoder ψ e n c \psi_{enc} ψenc

为此,我们利用了mBART编码器,它由12层组成,并使用在大规模语料库上预训练的参数进行初始化。

为了在保留预训练知识的同时,便于适应手语数据集,我们应用了LoRA技术,该技术通过向LLM的权重矩阵中添加低秩矩阵来实现参数高效的微调。

所得输出称为多模态视觉-文本特征(多模态特征),表示为 M j ∈ R T ′ × C ′ M_j \in \mathbb{R}^{T' \times C'} MjRT×C,可以表示如下:

M j = ψ e n c ( S E j ) M_j = \psi_{enc}(SE_j) Mj=ψenc(SEj)

Multimodal-Language Alignment

M j M_j Mj 包含了视觉和文本信息,然而其与目标口语句子之间仍然存在模态差距。

为了解决这一挑战并将 M j M_j Mj 与目标口语句子对齐,我们提出了一种多模态语言对齐方法。

S L j SL_j SLj 为与 S V j SV_j SVj 对应的目标口语句子。

我们使用文本编码器 ψ t e \psi_{te} ψte S L j SL_j SLj 嵌入到文本特征 L j ∈ R T ˉ × C ′ L_j \in \mathbb{R}^{\bar{T} \times C'} LjRTˉ×C 中,其中 T ˉ \bar{T} Tˉ 表示口语句子中的token数量,使用一个冻结的12层mBART编码器,该编码器在大规模语料库上进行了预训练,类似于 ψ e n c \psi_{enc} ψenc

由于我们的目标是对齐 { M j , L j } j = 1 B \{M_j, L_j\}_{j=1}^B {Mj,Lj}j=1B,我们应用对比学习。

具体来说,我们在帧序列 T ′ T' T 和token序列 T ˉ \bar{T} Tˉ 上执行平均池化,以获得全局多模态特征 M ~ j ∈ R C ′ \tilde{M}_j \in \mathbb{R}^{C'} M~jRC 和全局口语句子特征 L ~ j ∈ R C ′ \tilde{L}_j \in \mathbb{R}^{C'} L~jRC

最后,我们使用损失函数对齐对 { M ~ j , L ~ j } j = 1 N \{\tilde{M}_j, \tilde{L}_j\}_{j=1}^N {M~j,L~j}j=1N,如下所示:

L ALIGN = − 1 2 B ( ∑ j = 1 B log ⁡ exp ⁡ ( s i m ( M ~ j , L ~ j ) / τ ) ∑ k = 1 B exp ⁡ ( s i m ( M ~ j , L ~ k ) / τ ) + ∑ j = 1 B log ⁡ exp ⁡ ( s i m ( L ~ j , M ~ j ) / τ ) ∑ k = 1 B exp ⁡ ( s i m ( L ~ j , M ~ k ) / τ ) ) \begin{aligned} \mathcal{L}_{\text{ALIGN}} = &-\frac{1}{2B} (\sum_{j=1}^B \log \frac{\exp(sim(\tilde{M}_j, \tilde{L}_j) / \tau)}{\sum_{k=1}^B \exp(sim(\tilde{M}_j, \tilde{L}_k) / \tau)} \\ &+ \sum_{j=1}^B \log \frac{\exp(sim(\tilde{L}_j, \tilde{M}_j) / \tau)}{\sum_{k=1}^B \exp(sim(\tilde{L}_j, \tilde{M}_k) / \tau)}) \end{aligned} LALIGN=2B1(j=1Blogk=1Bexp(sim(M~j,L~k)/τ)exp(sim(M~j,L~j)/τ)+j=1Blogk=1Bexp(sim(L~j,M~k)/τ)exp(sim(L~j,M~j)/τ))

其中 s i m ( x , y ) sim(x, y) sim(x,y) 表示 x x x y y y 之间的余弦相似度, τ \tau τ 是一个可学习的温度参数。

因此,我们在 MMLP 中定义最终的损失函数如下:

L MMLP = L ALIGN + λ L DM \mathcal{L}_{\text{MMLP}} = \mathcal{L}_{\text{ALIGN}} + \lambda \mathcal{L}_{\text{DM}} LMMLP=LALIGN+λLDM

其中 λ \lambda λ 是一个超参数,用于控制 L ALIGN \mathcal{L}_{\text{ALIGN}} LALIGN L DM \mathcal{L}_{\text{DM}} LDM 的权重。

Sign Language Translation

为了执行端到端的gloss-free SLT,我们首先继承了MMLP中的预训练网络。

在这种情况下,描述编码器 ψ d e \psi_{de} ψde 不被使用,描述映射器 ψ d m \psi_{dm} ψdm 保持冻结,因为它仅用于预测SL描述。

因此,我们微调视觉编码器 ψ v i s \psi_{vis} ψvis、模态适配器 ψ m a \psi_{ma} ψma 和多模态编码器 ψ e n c \psi_{enc} ψenc

给定手语视频 S V i SV_i SVi,我们提取多模态特征 M ~ i \tilde{M}_i M~i

随后,初始化的LLM解码器 ψ d e c \psi_{dec} ψdec,其结构为12层的mBART解码器,将多模态特征 M ~ i \tilde{M}_i M~i 作为输入,生成预测的口语句子 S L ^ i = ( S L ^ i , 1 , … , S L ^ i , T ˉ ) \hat{SL}_i = (\hat{SL}_{i,1}, \ldots, \hat{SL}_{i,\bar{T}}) SL^i=(SL^i,1,,SL^i,Tˉ)

在此过程中,(\psi_{dec}) 采用自回归方法,从特殊起始token <BOS> 开始翻译,并依次生成单词,直到序列结束token <EOS> 标记句子生成的结束。

我们训练模型以最小化预测 token S L ^ i , j \hat{SL}_{i,j} SL^i,j 与真实 token S L i , j SL_{i,j} SLi,j 之间的交叉熵损失,定义如下:

L S L T = − ∑ j = 1 T ˉ log ⁡ p ( S L ^ i , j ∣ S L i , 1 : j − 1 , S V i ) \mathcal{L}_{SLT} = -\sum_{j=1}^{\bar{T}} \log p(\hat{SL}_{i,j} | SL_{i,1:j-1}, SV_i) LSLT=j=1Tˉlogp(SL^i,jSLi,1:j1,SVi)

实验

主实验

Experimental results on PHOENIX14T dataset

Experimental results on CSL-Daily dataset

消融实验

Ablation study on key elements in MMSLT

Performance comparison using various MLLMs

Performance comparison based on various prompts

Ablation study on ψde

总结

在这项研究中,我们提出了MMSLT,这是一种gloss-free的SLT框架,首次利用了现成的MLLM。

我们利用MLLM通过精心设计的提示生成SL描述,将它们与手语图像结合以有效地表示手语。

我们引入了一个预训练模块,以将融合的模态与口语句子对齐,解决SLT中的模态差距。

此外,我们还提出了一种描述映射器,通过近似SL描述来减少MLLM在推理过程中的计算负担。

这项研究为在SLT中使用MLLM奠定了基础,并为该领域的未来探索开辟了新的途径。


http://www.kler.cn/a/419182.html

相关文章:

  • Linux网络_网络协议_网络传输_网络字节序
  • 深入理解AIGC背后的核心算法:GAN、Transformer与Diffusion Models
  • 【插入排序】:直接插入排序、二分插入排序、shell排序
  • Mysql数据库基础篇笔记
  • LeetCode 动态规划 爬楼梯
  • Cursor AI快捷键的使用场景及作用
  • 网络设备配置指南:交换机、路由器与防火墙的基础配置与管理
  • Scala的练习题
  • C++初阶(十七)--STL--stack和queue详解及使用
  • IDEA Maven 打包找不到程序包错误或找不到符号,报错“程序包不存在“
  • 如何用Excel做数据可视化自动化报表?
  • 泷羽sec-shell(7)for循环与while循环 学习笔记
  • Linux下的三种 IO 复用
  • 文件比较和文件流
  • 大数据治理的介绍与认识
  • LeetCode题解:30.串联所有单词的子串【Python题解超详细,KMP搜索、滑动窗口法】,知识拓展:Python中的排列组合
  • 贝叶斯统计:高斯分布均值μ的后验分布推导
  • 详解QtPDF之 QPdfLink
  • 基于PHP的物流配送管理信息系统的设计与实现
  • 【redis】如何跑
  • flink学习(12)——checkPoint
  • 【Maven】依赖冲突如何解决?
  • 【链表】力扣 2. 两数相加
  • 基于yolov8、yolov5的吸烟行为检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • 如何在 VPS 上使用 Git 设置自动部署
  • linux cenos redis 单机部署