【论文笔记】Visual Alignment Pre-training for Sign Language Translation

🍎个人主页:小嗷犬的个人主页

🍊个人网站:小嗷犬的技术小站

🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题 : Visual Alignment Pre-training for Sign Language Translation
作者 : Peiqi Jiao, Yuecong Min, Xilin Chen
发表: ECCV 2024

摘要

手语翻译(Sign Language Translation, SLT)旨在将手语视频翻译为文本句子。

尽管gloss序列为SLT中的视觉表征学习提供了有效的对齐监督信息,但标注gloss的高成本限制了其可扩展性。

现有工作在gloss-free的情况下尚未取得令人满意的结果。

在本研究中,我们将这一挑战归因于视觉token和文本token之间的灵活对应关系,并通过从文本句子中构建类似gloss的约束来解决这一问题。

具体而言,我们提出了一种 视觉对齐预训练(Visual Alignment Pre-training, VAP) 方案,通过以贪婪的方式对齐视觉和文本token来利用视觉信息。

VAP方案增强了视觉编码器捕获语义感知视觉信息的能力,并促进了与在大规模语料库上预训练的翻译模块的更好适配。

针对四个SLT基准的实验结果证明了VAP的有效性,能够生成合理的对齐,并显著缩小与gloss-based方法之间的性能差距。

介绍

主要贡献

  • 探讨了gloss annotation在手语翻译(SLT)中的作用,并展示了在gloss-free设置下利用视觉信息的重要性。
  • 提出了视觉对齐预训练(Visual Alignment Pre-training, VAP),通过以贪婪的方式对齐视觉和文本token来促进视觉表征学习。
  • 对gloss-free的SLT模型训练进行了深入的实验。实验结果表明,VAP具有良好的效果,能够生成可靠的对齐结果,并接近gloss-based的方法。

方法

gloss标注在手语翻译中的作用

手语翻译旨在将手语视频翻译为对应的文本句子。如图2所示,通用的SLT网络可以划分为一个视觉编码器 ψ V \psi_V ψV 和一个翻译模块 ψ T \psi_T ψT。给定一个手语视频或其他类型的输入(例如,骨架数据) X \mathcal{X} X 和对应的文本句子 s = { s 1 , ⋯   , s U } s = \{s_1, \cdots, s_U\} s={s1,⋯,sU}, ψ V \psi_V ψV 从视频中提取视觉特征 V = { v 1 , ⋯   , v r } \mathcal{V} = \{v_1, \cdots, v_r\} V={v1,⋯,vr},而 ψ T \psi_T ψT 基于 V \mathcal{V} V 预测 s s s。网络通过最小化负对数似然来优化,其公式为:

L S L T = − log ⁡ p ( s ∣ V ; θ ψ V , θ ψ T ) . \mathcal{L}{SLT} = -\log p(s | \mathcal{V}; \theta{\psi_V}, \theta_{\psi_T}). LSLT=−logp(s∣V;θψV,θψT).

在自然语言处理(NLP)中,单词对齐通常指的是在平行文本中指示对应单词 a = { a i } i = 1 m a = \{a_i\}{i=1}^m a={ai}i=1m 和 b = { b j } j = 1 n b = \{b_j\}{j=1}^n b={bj}j=1n 的过程,可以表示为矩阵 A ∈ R m × n \mathcal{A} \in \mathbb{R}^{m \times n} A∈Rm×n,其中 A i j ∈ { 0 , 1 } A_{ij} \in \{0, 1\} Aij∈{0,1} 表示 a i a_i ai 是否与 b j b_j bj 对应。考虑到 V \mathcal{V} V 和 s s s 之间的对齐关系 A \mathcal{A} A,最近gloss-based的SLT研究中使用的损失函数可以重新表述为:

L = L S L T + L S L R = − log ⁡ ∑ A p ( A ∣ V ) p ( s ∣ V , A ) − log ⁡ p ( g ∣ V ) , \mathcal{L} = \mathcal{L}{SLT} + \mathcal{L}{SLR} = -\log \sum_{\mathcal{A}} p(\mathcal{A} | \mathcal{V}) p(s | \mathcal{V}, \mathcal{A}) - \log p(g | \mathcal{V}), L=LSLT+LSLR=−logA∑p(A∣V)p(s∣V,A)−logp(g∣V),

其中 g = { g 1 , ⋯   , g M } g = \{g_1, \cdots, g_M\} g={g1,⋯,gM} 表示包含 M M M 个gloss的gloss标注,它与 V \mathcal{V} V 单调对齐。如上文公式所示, L S L T \mathcal{L}_{SLT} LSLT 的监督来自两个方面:对齐本身和翻译与对齐的结合。gloss-based的方法通过引入额外的监督来提高视觉信息的利用率。然而,之前的gloss-free方法表现较差,主要原因在于 V \mathcal{V} V 和 s s s 之间的灵活对应关系,这阻碍了最佳对齐的寻找,并无法为视觉编码器提供足够的监督。

基于以上分析,我们认为解决该问题的关键在于从文本句子中构建类似gloss的约束,并提出了 视觉对齐预训练(Visual Alignment Pre-training, VAP) 方案。

视觉对齐预训练

gloss-based的传统方法通常利用CTC(连接时序分类)对 ψ V \psi_V ψV 进行监督,假设 ψ V \psi_V ψV 中所有的单调对齐均成立,公式如下:

L C T C ( g , V ) = − log ⁡ ( p ( g ∣ V ; θ ψ V ) ) = − log ⁡ ( ∑ π p ( π ∣ V ; θ ψ V ) ) L_{CTC}(g, V) = -\log(p(g|V; \theta_{\psi_V})) = -\log\left(\sum_{\pi}p(\pi|V; \theta_{\psi_V})\right) LCTC(g,V)=−log(p(g∣V;θψV))=−log(π∑p(π∣V;θψV))

其中 π \pi π 表示 V V V 和 g g g 之间的一种对齐关系。我们假设视频中每个手势的近似含义可以在对应的文本句子中找到,并尝试利用 V V V 和 s s s 之间的对齐关系来监督 ψ V \psi_V ψV。然而, V V V 和 s s s 之间存在多达 2 T ⋅ U 2^{T \cdot U} 2T⋅U 种潜在的对齐方式,这对在没有适当约束的情况下(例如单调关系或gloss注解所具有的约束)识别最佳对齐关系提出了挑战。受近期视觉-语言预训练技术的启发,我们提出了一种VAP方案,用于简化对齐过程,以贪婪方式近似最佳对齐,并为视觉编码器提供逐帧标签。

具体而言,给定一个文本句子 s s s,我们首先使用文本编码器 ψ E \psi_E ψE 提取其对应的文本特征 ψ E ( s ) \psi_E(s) ψE(s),然后通过两个简单的线性层将 V V V 和 ψ E ( s ) \psi_E(s) ψE(s) 投影到一个联合特征空间:

v ~ t = Linear ( v t ) , s ~ u = Linear ( ψ E ( s u ) ) . \tilde{v}_t = \text{Linear}(v_t), \quad \tilde{s}_u = \text{Linear}(\psi_E(s_u)). v~t=Linear(vt),s~u=Linear(ψE(su)).

随后,通过识别每个视觉特征与最相似的文本特征,可以计算对齐关系 A V 2 S ∈ R T × U \mathbf{A}^{V2S} \in \mathbb{R}^{T \times U} AV2S∈RT×U:

A t , u V 2 S = { 1 , for u = arg ⁡ max ⁡ u ′ f ( v ~ t , s ~ u ′ ) , 0 , otherwise . A^{V2S}{t,u} = \begin{cases} 1, & \text{for } u = \arg\max{u'} f(\tilde{v}t, \tilde{s}{u'}), \\ 0, & \text{otherwise}. \end{cases} At,uV2S={1,0,for u=argmaxu′f(v~t,s~u′),otherwise.

其中, f ( ⋅ , ⋅ ) f(\cdot, \cdot) f(⋅,⋅) 以余弦相似度的形式实现。为了确保 A V 2 S \mathbf{A}^{V2S} AV2S 的合理性,我们通过以下公式计算视频和文本的相似性 ρ ( X , s ) \rho(\mathcal{X}, s) ρ(X,s):

ρ ( X , s ) = 1 T ∑ t = 1 T f ( v ~ t , A t V 2 S s ~ ) , \rho(\mathcal{X}, s) = \frac{1}{T} \sum_{t=1}^{T} f(\tilde{v}_t, A^{V2S}_t \tilde{s}), ρ(X,s)=T1t=1∑Tf(v~t,AtV2Ss~),

并采用对比学习模式优化 A V 2 S \mathbf{A}^{V2S} AV2S。然而,仅依赖 ρ ( X , s ) \rho(\mathcal{X}, s) ρ(X,s) 进行预训练可能会导致 ψ V \psi_V ψV 的输出坍缩为一个恒定值。为了避免这种情况,我们还计算文本与视频的相似性 ρ ( s , X ) \rho(s, \mathcal{X}) ρ(s,X),该相似性通过为每个文本特征识别最相似的视觉特征 A S 2 V \mathbf{A}^{S2V} AS2V 来计算。

在此基础上,对于包含 N N N 个视频-文本对 { X i , s i } i = 1 N \{ \mathcal{X}^i, s^i \}_{i=1}^N {Xi,si}i=1N 的小批量,可以通过以下公式计算对比损失:

L Align = − 1 2 N ( ∑ i = 1 N log ⁡ exp ( ρ ( X i , s i ) / σ ) ∑ j = 1 N exp ( ρ ( X i , s j ) / σ ) + ∑ i = 1 N log ⁡ exp ( ρ ( s i , X i ) / σ ) ∑ j = 1 N exp ( ρ ( s i , X j ) / σ ) ) , L_{\text{Align}} = -\frac{1}{2N} \left( \sum_{i=1}^N \log\frac{\text{exp}(\rho(\mathcal{X}^i, s^i) / \sigma)}{\sum_{j=1}^N \text{exp}(\rho(\mathcal{X}^i, s^j) / \sigma)} + \sum_{i=1}^N \log\frac{\text{exp}(\rho(s^i, \mathcal{X}^i) / \sigma)}{\sum_{j=1}^N \text{exp}(\rho(s^i, \mathcal{X}^j) / \sigma)} \right), LAlign=−2N1(i=1∑Nlog∑j=1Nexp(ρ(Xi,sj)/σ)exp(ρ(Xi,si)/σ)+i=1∑Nlog∑j=1Nexp(ρ(si,Xj)/σ)exp(ρ(si,Xi)/σ)),

其中, σ \sigma σ 是用于缩放logits的预定义温度。通过所提出的 L Align L_{\text{Align}} LAlign,我们增大了成对的视觉和文本特征序列之间的相似性,这将鼓励每个特征找到其最相关的配对特征并靠拢。

此外,对齐的计算仅依赖于gloss级别的信息,缺乏对齐时间一致性的约束。上文公式的分解表明,翻译损失也显著增强了对齐质量。我们通过实验(表3)展示,仅通过重新初始化翻译模块就可以提升性能,这表明优化对齐过程与提升翻译能力同步进行的重要性。因此,我们将 L SLT L_{\text{SLT}} LSLT 纳入进来,以确保所用翻译模块的时间一致性,从而达到对齐的时间一致性。预训练阶段的最终监督目标如下:

L pre-train = L Align + L SLT . L_{\text{pre-train}} = L_{\text{Align}} + L_{\text{SLT}}. Lpre-train=LAlign+LSLT.

通过以上设计,我们可以计算视觉和文本token之间的近似对齐,并获得一个语义感知的视觉编码器。

端到端微调

与一般的机器翻译数据集相比,公共的手语翻译(SLT)数据集仍然规模有限。因此,我们采用在大规模语料库(如 mBART, T5)上预训练的翻译模块来替代浅层翻译模块,从而在微调过程中缓解对大量训练数据的需求。此外,类似于文献中的 G2T(Gloss2Text)任务,我们设计了一个伪gloss到文本(P2T,Pseudo-gloss2Text)任务,用于微调预训练翻译模块以更好地适应任务。

具体来说,我们可以基于对齐矩阵 A v 2 s A^{v2s} Av2s 为每个手语视频生成一个伪gloss序列 g ~ \tilde{g} g~。由于 A v 2 s A^{v2s} Av2s 为每个视觉特征识别出最相似的文本token,而视频的连续性导致局部窗口内的特征可能会引用相同的token,我们简单地合并重复的token,通过以下公式获得 g ~ \tilde{g} g~:

g ~ = B ( A v 2 s s ) , \tilde{g} = \mathcal{B}(A^{v2s}s), g~=B(Av2ss),

其中, B \mathcal{B} B 表示合并操作。P2T 的训练目标可以表述为:

L P 2 T = − log ⁡ p ( s ∣ g ~ ) . \mathcal{L}_{P2T} = -\log p(s|\tilde{g}). LP2T=−logp(s∣g~).

至此,我们已经有了预训练良好的视觉编码器和微调良好的翻译模块。接下来是对整个模型的端到端微调。我们采用一个两层的 MLP 作为视觉-语言映射器(V-L 映射器),与之前工作中相同,该模块负责将视觉特征投影到文本空间。在微调期间,我们仍然包括 L A l i g n \mathcal{L}_{Align} LAlign 损失以持续改进视觉编码器,最终的总损失可以表示为:

L f i n e − t u n e = L A l i g n + L S L T . \mathcal{L}{fine-tune} = \mathcal{L}{Align} + \mathcal{L}_{SLT}. Lfine−tune=LAlign+LSLT.

对齐质量评估

在上文中,我们假设视频中每个手语的大致含义可以在文本句子中找到,并通过识别最相似的文本token来计算对齐关系。基于这一假设,生成的伪gloss g ~ \tilde{g} g~ 也应该与手语视频单调对齐。然而,由于不同词汇之间的差异,我们无法直接通过gloss来评估生成对齐关系的质量。因此,我们提出了两种方法来间接评估生成对齐关系的质量。

如果 g ~ \tilde{g} g~ 与手语视频单调对齐,它应该能够像gloss一样指导 SLT 网络的学习。因此,我们从零开始训练一个 SLT 网络,类似于大多数gloss-based的 SLT 方法,但用伪gloss g ~ \tilde{g} g~ 替代了gloss,其损失函数可以表述为:

L = L S L T + L C T C ( g ~ , V ) , \mathcal{L} = \mathcal{L}{SLT} + \mathcal{L}{CTC}(\tilde{g}, V), L=LSLT+LCTC(g~,V),

通过这种基于伪gloss的模型与 VAP 的性能差距可以隐式反映生成对齐关系的质量。

与通过翻译性能(如词错误率,WER)评估对齐质量相比,通过对齐性能进行评估更为直观。因此,我们提出通过在预训练中用伪gloss替换文本句子,计算生成伪gloss与对应gloss之间的 WER 来评估对齐方法的质量。换句话说,这种方法旨在检查对齐方法是否能够从无序序列中找到正确的顺序。

总的来说,所提出的方法能够评估对齐关系的质量,包括生成结果和对齐方法本身的质量。

训练与推理

训练

如图 3 所示,VAP 的训练流程包括三个阶段。

视觉编码器在第 1 阶段使用 L pre-train L_{\text{pre-train}} Lpre-train 进行预训练。翻译模块基于大规模语料库进行预训练,并在第 2 阶段使用 g ~ \tilde{g} g~ 进行微调。最后,在第 3 阶段,整个模型使用 L f i n e − t u n e \mathcal{L}_{fine-tune} Lfine−tune 进行端到端微调。

需要注意的是,VAP 是一种gloss-free方法,gloss仅用于如上文所述的伪gloss质量评估。

推理

在经过第3阶段的微调后,整个模型被用于推理。具体来说,视觉编码器首先提取视觉特征 V \mathcal{V} V,然后视觉-语言映射器(V-L mapper)将这些特征投射到文本空间中。接下来,翻译模块以自回归的方式生成文本句子。

实验

主实验

消融实验

可视化

总结

在本文中,我们专注于在无gloss标注情况下,如何在手语翻译(SLT)中利用视觉信息。

我们提出了一种视觉对齐预训练(Visual Alignment Pre-training, VAP)方案,通过从文本句子中构建类似gloss的约束来增强视觉编码器的能力。

VAP以一种贪心的方式逼近视觉特征与文本token之间的最优对齐,同时为视觉编码器提供逐帧的标签,并改善其与在大规模语料库上预训练的翻译模块之间的兼容性。

实验结果表明,所提出的VAP方案在引导视觉编码器学习和建立视觉特征与文本token之间的有意义对齐方面是有效的。此外,VAP生成的对齐结果可以作为伪gloss,为手语翻译模型提供中间监督。

我们预计,所提出的VAP方案将推动未来的研究工作,特别是在将手语翻译扩展到大规模数据集方面,从而促进手语翻译领域的发展。

相关推荐
Aileen_0v01 小时前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
阿正的梦工坊2 小时前
深入理解 PyTorch 的 view() 函数:以多头注意力机制(Multi-Head Attention)为例 (中英双语)
人工智能·pytorch·python
Ainnle2 小时前
GPT-O3:简单介绍
人工智能
OceanBase数据库官方博客3 小时前
向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手
人工智能·oceanbase·分布式数据库·向量数据库·rag
测试者家园3 小时前
ChatGPT助力数据可视化与数据分析效率的提升(一)
软件测试·人工智能·信息可视化·chatgpt·数据挖掘·数据分析·用chatgpt做软件测试
Loving_enjoy4 小时前
ChatGPT详解
人工智能·自然语言处理
人类群星闪耀时5 小时前
深度学习在灾难恢复中的作用:智能运维的新时代
运维·人工智能·深度学习
图王大胜5 小时前
模型 确认偏误(关键决策)
人工智能·职业发展·管理·心理·认知·决策
机器懒得学习5 小时前
从随机生成到深度学习:使用DCGAN和CycleGAN生成图像的实战教程
人工智能·深度学习