【论文笔记】Improving Sign Language Translation with Monolingual Data by Sign Back-Translation

基本信息

标题: Improving Sign Language Translation with Monolingual Data by Sign Back-Translation
作者: Hao Zhou, Wengang Zhou, Weizhen Qi, Junfu Pu, Houqiang Li
发表: CVPR 2021
arXiv: https://arxiv.org/abs/2105.12397

基本信息

摘要

尽管在手语翻译(SLT)领域已有开创性工作,但存在一个非平凡的障碍,即平行手语文本数据的有限数量。

为了解决这个平行数据瓶颈,我们提出了一种手语回译(SignBT)方法,该方法将大量口语文本纳入SLT训练。

利用文本到gloss翻译模型,我们首先将单语种文本回译成其gloss序列。然后,通过在特征级别上拼接从估计的gloss到手语库中的片段,生成配对的手语序列。

最后,合成的平行数据作为端到端训练编码器-解码器SLT框架的强大补充。

为了促进SLT研究,我们进一步贡献了CSL-Daily,这是一个大规模的连续SLT数据集。它提供了口语翻译和gloss级标注。

主题围绕人们的日常生活(例如,旅行、购物、医疗保健),这是最可能的手语翻译应用场景。

在CSL-Daily上报告了广泛的实验结果和SLT方法的分析。

通过提出的手语回译方法,我们在之前的SLT最先进方法上取得了实质性的改进。

Pipelines of sign language translation (SLT) and sign back-translation (SignBT)

主要贡献

  • 我们提出了一种基于手语回译的方法来解决SLT中的平行数据短缺问题。
  • 我们贡献了一个包含丰富内容和紧凑注释的新大规模SLT基准。
  • 在两个数据集上的大量实验证明了我们手语回译机制的有效性。

Method

给定一个包含TT 帧的手势视频x={xt}t=1T\mathbf{x} = \{x_t\}_{t=1}^{T},手势语言翻译(SLT)可以被定义为学习生成口语句子y={yu}u=1U\mathbf{y} = \{y_u\}_{u=1}^{U} 的条件概率p(yx)p(\mathbf{y}|\mathbf{x}),该句子包含UU 个单词。

此外,现有的SLT数据集提供了用于手势嵌入网络预训练的gloss级注释。

与口语不同,口语是非单调的,手势语言的gloss级注释g={gv}v=1V\mathbf{g} = \{g_v\}_{v=1}^{V} 包含VV 个手势词,与手势动作顺序一致。

我们的SLT框架概述如图2所示。

An overview of our SLT framework

Sign Bank Generation

为了获取gloss到手语的映射,我们致力于建立一个包含视频片段特征并由其gloss词汇索引的手语库。

然而,由于聘请专家的高成本,现有的连续手语数据集只有句子级别的gloss注释,而没有边界真实值。

这阻碍了我们手语库中手语特征序列的分割。

因此,我们提出从预训练的手语嵌入网络中估计对齐路径来建立手语库。

Sign Embedding Layer

与NMT中的词嵌入技术不同,词嵌入技术用于词关联学习,手语嵌入是将一系列视频帧转换为其特征表示。

我们的手语嵌入层Ω\Omega 采用2D和1D CNNs的组合进行时空编码。

在本工作中,嵌入操作在片段级别进行。

我们将视频帧x\mathbf{x} 分割成NN 个片段c={cn}n=1N\mathbf{c} = \{c_n\}_{n=1}^{N}

片段的数量是N=TsN = \left\lceil \frac{T}{s} \right\rceil,滑动窗口大小为ww,步长大小为ss

通过将片段传递给Ω\Omega,提取嵌入f={fn}n=1N\mathbf{f} = \{f_n\}_{n=1}^{N} 如下,

fn=SignEmbedding(cn)=Ωθ(cn)f_n = \text{SignEmbedding}(c_n) = \Omega_{\theta}(c_n)

其中θ\theta 表示 CNN 的参数。

Sign-to-Gloss Pre-Training

嵌入层通常使用gloss级标注进行预训练。

对于我们的嵌入层,我们使用连接主义时序分类(CTC)与Transformer编码器进行gloss级时序建模。

nn 个时间步的gloss概率p(gnf)p(g_n | \mathbf{f}) 可以通过带有 softmax 激活的线性层进行估计。

根据 CTC,条件概率p(gx)p(\mathbf{g} | \mathbf{x}) 被计算为所有可行路径概率的总和,

p(gx)=πB1(g)p(πf)p(\mathbf{g} | \mathbf{x}) = \sum_{\pi \in \mathcal{B}^{-1}(\mathbf{g})} p(\pi | \mathbf{f})

其中π\pi 是手语到gloss的对齐路径,B\mathcal{B} 表示它们之间的映射。

嵌入层通过 CTC 损失Lctc=lnp(gx)L_{\text{ctc}} = -\ln p(\mathbf{g} | \mathbf{x}) 进行训练。

Gloss-to-Sign Bank

给定从Ω\Omega 中提取的手语嵌入序列f={fn}n=1N\mathbf{f} = \{f_n\}_{n=1}^{N} 和其对应的gloss序列g={gv}v=1V\mathbf{g} = \{g_v\}_{v=1}^{V},我们找到它们之间最可能的对齐路径π^\hat{\pi} 如下,

π^=argmaxπB^1(g)p(πf)\hat{\pi} = \arg \max_{\pi \in \hat{\mathcal{B}}^{-1}(\mathbf{g})} p(\pi | \mathbf{f})

搜索空间被限制在符合映射函数B^\hat{\mathcal{B}} 的路径内,且没有空白token(见图3)。

Illustration of constructing a Gloss-to-Sign (G2S) Bank according to the most probable alignment paths

值得注意的是,通过空白token的路径被排除在搜索空间之外,以确保拼接后手语句子的适当长度。搜索问题可以通过维特比算法加速。

通过估计的对齐,我们将每个视频的嵌入序列分割成gloss片段。它们在嵌入空间中构成了一个gloss到手语(G2S)库,该库有一个由gloss词汇索引的查找表。每个gloss slot可能有多个特征片段。

SLT Training with Monolingual Data

与有限的手语-文本对相比,单语种口语语料库容易达到数百万的规模。

为了利用单语种文本,我们提出建立SLT的逆向路径,并利用它来丰富训练的平行数据。

Sign Language Translation

编码器-解码器框架在SLT中得到了广泛的应用和探索。

在这里,我们简要介绍了我们SLT框架中基于transformer的编码器-解码器结构。

值得注意的是,我们的方法并不仅限于这种架构。

编码器由几个堆叠的相同层组成。

每一层都有一个自注意力网络和一个前馈网络。

为了提供序列线索,第一层的输入与位置编码(PE)向量相加,即f^n=fn+PE(n)\hat{f}_n = f_n + \text{PE}(n)

编码器接收所有编码输入f^\hat{\mathbf{f}} 并生成NN 个隐藏向量如下,

h1:N=Encoder(f^1:N)h_{1:N} = \text{Encoder}(\hat{f}_{1:N})

在解码过程中,我们首先将每个词yuy_u 通过词嵌入查找表,如下所示,

wu=WordEmbedding(yu)w_u = \text{WordEmbedding}(y_u)

这里,w^u=wu+PE(u)\hat{w}_u = w_u + \text{PE}(u) 是词yuy_u 的位置编码词嵌入。

解码器网络包括一个额外的层,该层在编码器隐藏向量h1:Nh_{1:N} 和先前预测词的隐藏状态上执行注意力操作,以聚合信息。

然后,在第uu 步生成词的概率如下,

p(yuy<u)=Decoder(w^u,h1:N,y<u)p(y_u | y_{<u}) = \text{Decoder}(\hat{w}_u, h_{1:N}, y_{<u})

这里,y<uy_{<u} 表示在第uu 步之前的所有预测词。

ou=Decoder(w^1:u1,h1:N)o_u = \text{Decoder}(\hat{w}_{1:u-1}, h_{1:N})

zu=softmax(Wou+b)z_u = \text{softmax}(W o_u + b)

初始词是 <bos>,表示句子的开始。

最后,我们计算条件概率p(yx)p(\mathbf{y} | \mathbf{x}) 如下,

p(yx)=u=1Up(yuy1:u1,x)=u=1Uzu,yup(\mathbf{y} | \mathbf{x}) = \prod_{u=1}^{U} p(y_u | y_{1:u-1}, \mathbf{x}) = \prod_{u=1}^{U} z_{u, y_u}

为了优化整个结构,目标函数被定义为LSLT=lnp(yx)L_{\text{SLT}} = -\ln p(\mathbf{y} | \mathbf{x})

在推理过程中,口语文本中的词 word-by-word 预测。使用束搜索策略来估计一个更好的解码路径在可接受的范围内。

Sign Back-Translation

给定一个SLT语料库,手语视频的并行对X\mathcal{X} 和口语文本Y\mathcal{Y} 通过手语嵌入网络转换为(F,Y)(\mathcal{F}, \mathcal{Y}) 对。

同时,收集了与Y\mathcal{Y} 共享相似词汇表的单语口语文本Y\mathcal{Y}'。接下来的目标是使用单语数据Y\mathcal{Y}' 生成合成对(Fsyn,Y)(\mathcal{F}'_{\text{syn}}, \mathcal{Y}'),如图4所示。

Illustration of the sign back-translation process

首先,我们使用现有的(Y,G)(\mathcal{Y}, \mathcal{G}) 并行对训练一个文本到gloss(T2G)网络进行回译。

然后,收集的口语文本Y\mathcal{Y}' 首先被翻译成手语gloss文本Gsyn\mathcal{G}'_{\text{syn}}

我们根据Gsyn\mathcal{G}'_{\text{syn}} 从G2S库中拼接gloss片段到手语嵌入序列Fsyn\mathcal{F}'_{\text{syn}}

由于每个gloss在G2S库中可能有多个特征片段,我们随机从中选择一个片段进行拼接。

在不同的训练轮次中,同一合成gloss序列的拼接特征序列由于随机选择而不同。

这大大丰富了源域中的特征组合。

最后,我们将合成对(Fsyn,Y)(\mathcal{F}'_{\text{syn}}, \mathcal{Y}') 与标注对(F,Y)(\mathcal{F}, \mathcal{Y}) 混合在一起进行SLT训练。

值得注意的是,解码器侧的文本总是来自一个真实的语料库。

CSL-Daily Dataset

CSL-Daily旨在为社区提供一个适用于实际应用和学术研究的新的大型手语语料库。

本节详细阐述了数据集的制作过程。

Summary of public available video-based sign language benchmarks popular for computer vision research

Data Collection

我们的语料库内容主要围绕聋人社区的日常生活。它涵盖了包括家庭生活、医疗服务、学校生活、银行服务、购物、社交接触等在内的广泛主题。

聋人社区的参与对于发展手语语料库至关重要。我们邀请了一个由手语语言学专家和几位手语教师组成的专业团队,帮助设计具体内容并制作录音指导的参考文本。这些文本主要来自一些中文手语教科书和测试材料,部分来自一些中文语料库。

共有10名签字者参与视频录制工作。他们都是来自聋人社区的本土签字者,其中4人从事手语教育。为了消除意义的歧义,提前录制了一位资深签字者的手语视频作为参考。在观看指导视频后,每位签字者再次用手语签署一个或两个参考文本。没有签字者会两次签署相同的参考文本。对签字者的要求是确保手语的自然表达,并尽可能全面地描述参考文本中的内容。

视频的分辨率是1920×1080,帧率为30 FPS。视频开头和结尾的静止帧被仔细裁剪。

Annotation

我们的CSL-Daily提供两种级别的标注,即手语gloss和口语翻译。我们的标注工作依赖于资深本土手语者和本作品的作者合作。首先,视频中出现的每个手势都被标注上具有相似意义的中文词汇。然后,我们采用两种策略将具有相同视觉表达的手语gloss合并。一是检查具有相似意义的手语gloss。二是基于数据集训练和测试手势到释义的网络。通过预测释义的混淆矩阵,我们关注前k个混淆对,并检查它们是否确实具有相同的手势。经过三轮的双向检查,我们将标注的手语gloss词汇量从超过3k减少到2k。然后,根据原始参考文本和手语gloss标注进行口语翻译标注。

Key statistics of the CSL-Daily split

数据集的详细统计信息显示在表2中。此外,生成了一个手语字典(SignDict)。每个非孤立手语都由4位手语教师记录。SignDict可用于未来的手势识别、手语分割、孤立SLR和gloss-free SLT等任务。它还可以作为连续手语相关任务定性分析的参考集合。

实验

Experimental Setup

Statistics of the training data

Implementation Details

Sign Embedding Layer

Temporal Inception Network Architecture [14] (TIN) for sign language embedding

Inference

The effect of beam width and length penalty α on CSLDaily Dev set under S2G2T setting

消融实验

Evaluation of the S2G network combinations on WER (the lower the better)

Performance of CSLR baselines on CSL-Daily

Evaluation of different encoder-decoder frameworks on CSL-Daily

The number of epochs for warm-up on CSL-Daily

The ratio of synthetic data to parallel data for the training process after warm-up

The effect of warm-up on different datasets

The quantity of synthetic data compared to parallel data participating in the training process on CSL-Daily

The quality of synthetic data on CSL-Daily

主实验

Comparison with methods for SLT on PHOENIX-2014T (the higher the better)

Comparison with methods for SLT on CSL-Daily (the higher the better)

总结

本文提出利用单语数据提高翻译质量,这在机器翻译领域很少被研究。

通过设计SignBT管道,我们将大量口语文本转换为源手语序列。

将这些合成对作为额外的训练数据,以缓解训练中平行数据的短缺。

在不改变网络架构的情况下,我们的方法可以轻松应用于基于编码器-解码器的机器翻译方法。

此外,我们贡献了一个包含多种主题和完整注释的大规模机器翻译数据集。

大量实验证明了我们手语回译方法的重要性。