Neural Sign Language Translation,2018
Abstract
手语识别(SLR)是过去两十年来一个活跃的研究领域。然而,迄今为止的大部分研究都将SLR视为一个简单的手势识别问题。SLR旨在识别连续手势的序列,但忽略了手语与口语之间丰富的语法和语言结构的差异。 相反,我们引入了手语翻译 (SLT) 问题。在这里,目标是从手语视频中生成口语翻译,考虑到不同的词序和语法。
我们在神经机器翻译(NMT) 框架下对SLT进行形式化,包括端到端和预训练设置(使用专业知识)。这使我们能够共同学习空间表示 、潜在的语言模型以及手语和口语之间的映射关系。
为了评估神经SLT的性能,我们收集了第一个公开可用的连续SLT数据集,RWTH-PHOENIX-Weather 2014T。该数据集提供了天气广播的德国手语视频的口语翻译和词汇级别的注释。我们的数据集包含超过95万帧,涵盖了超过67,000个手势,手语词汇量超过1,000个,德语词汇量超过2,800个,总计超过99,000个词汇。我们报告了各种SLT设置的定量和定性结果,以支持这个新建立的领域的未来研究。翻译性能的上限计算为19.26 BLEU-4,而我们的端到端帧级和词汇级分词网络分别能够达到9.58和18.13。
Neural Machine Translation (NMT)
spatial representations
Introduction
手语是聋人社区的主要语言。尽管存在一些常见的误解,手语有其特定的语言规则,而不是逐字翻译口语。因此,尽管在手语识别(SLR)方面取得了许多进展,甚至转向具有挑战性的连续手语识别(CSLR)问题,但我们仍无法对手语用户所说的内容进行有意义的解释。这个翻译任务在图1中有所说明,手语注释提供了手语在视频中的意义和顺序,但口语等效物(实际上是所需的内容)在长度和顺序上都与手语不同。
迄今为止,在SLR领域进行的大部分研究将任务视为基本的手势识别问题,忽视了手语的语言属性,并假设手语与口语之间存在一对一的映射关系。与SLR相反,我们提出将完整的翻译问题作为NMT任务来处理。我们使用最先进的序列到序列(seq2seq)的深度学习方法来学习:手语的时空表示 、这些手语之间的关系(即语言模型),以及这些手语如何映射到口语或书面语言。 为了实现这一目标,我们引入了新的视觉方法,与标准NMT的分词和嵌入步骤相似。我们还推出了第一个连续SLT数据集,RWTH-PHOENIX-Weather 2014T,以便未来的研究可以朝着手语到口语翻译的方向进行。本文的贡献可以总结如下:
- 对视频到文本SLT问题的首次探索。
- 第一个公开可用的连续SLT数据集PHOENIX14T,其中包含视频片段、手语注释和口语翻译。
- 在新的语料库上提供了广泛的基准结果,包括不同的分词和注意力机制 ,以及参数推荐。
spatio-temporal representation
tokenization
embedding
attention schemes
Related Work
有各种因素阻碍了SLT的进展。尽管有一些研究(如[9])识别孤立的手势以构建句子,但据我们所知,直到现在还没有数据集或研究直接从视频中实现SLT。此外,现有的关于SLT的语言学研究仅处理文本到文本的翻译。尽管仅包含文本信息,但这些数据集规模非常有限(平均总词数为3000个)。第一个重要因素是收集和注释连续手语数据是一项费时费力的任务。虽然存在来自语言学来源和广播手语解释的数据集,但它们的注释不够准确,并且缺乏传统手语识别方法所依赖的人体姿势信息。这导致许多研究人员只能收集孤立的手语数据集,且仅在受控环境下具有有限的词汇量,从而限制了SLT的最终目标。缺乏SLR的基准数据集使得大部分研究无法进行比较,阻碍了该领域的竞争性进展。
随着能够从弱标注数据中学习的算法的发展,以及人体姿势估计领域的改进,在语言数据和广播手语解释上进行研究成为可行的选择。在这些进展之后,Forster等人发布了RWTH-PHOENIX-Weather 2012 及其扩展版本RWTH-PHOENIX-Weather 2014 ,这些数据集是从天气预报的手语解释中获取的。PHOENIX数据集是为CSLR而创建的,提供了序列级别的手语注释。这些数据集很快成为CSLR的基准。
与此同时,深度学习(DL) 在计算机视觉 、语音识别以及最近在机器翻译领域等各个领域取得了卓越性能。 直到最近,SLR方法主要使用手工制作的中间表示,并使用经典的基于图的方法(如隐藏马尔可夫模型(HMM)、条件随机场或基于模板的方法)对这些特征的时序变化进行建模。 然而,随着深度学习的出现,SLR研究人员迅速采用了卷积神经网络(CNN) 来进行手动和非手动特征表示,以及循环神经网络(RNN) 来进行时序建模。
annotation
linguistic sources
human pose information
in controlled environments
Deep Learning
Computer Vision
Speech Recognition
Conditional Random Fields
temporal changes
Convolutional Neural Networks (CNNs)
Recurrent Neural Networks (RNNs)
深度学习中最重要的突破之一是序列到序列(seq2seq)学习方法的发展。对于seq2seq任务来说,获得强标注是困难的,因为其目标是学习两个序列之间的映射关系。为了能够以端到端的方式从弱标注数据进行训练,Graves等人提出了连接主义时间分类(CTC)损失 ,它在计算错误时考虑了两个序列之间的所有可能对齐方式。 CTC很快成为许多seq2seq应用中流行的损失层。它在语音识别等多个任务上取得了最先进的性能,并且在手写识别方面表现出色。计算机视觉研究人员采用了CTC,并将其应用于弱标注的视觉问题,如唇语识别、动作识别、手势识别和连续手语识别(CSLR)。
另一个常见的seq2seq任务是机器翻译,旨在开发能够学习两种语言之间映射关系的方法。尽管CTC很受欢迎,但它不适用于机器翻译,因为它假设源序列和目标序列具有相同的顺序。此外,CTC假设目标序列内部具有条件独立性 ,这不允许网络学习隐式语言模型。这导致了编码器-解码器网络架构的发展,以及NMT领域[47]的出现。编码器-解码器网络的主要思想是使用一个中间的潜在空间来映射两个序列,类似于自动编码器中的潜在空间,但应用于时间序列。这是通过首先将源序列编码为固定大小的向量,然后从中解码出目标序列来实现的。Kalchbrenner和Blunsom提出的第一个架构使用单个RNN同时进行编码和解码任务。后来,Sutskever等人和Cho等人提出将编码和解码委托给两个单独的RNN。
尽管编码器-解码器网络改进了机器翻译的性能,但仍然存在源序列编码为固定大小向量的信息瓶颈问题,以及源序列和目标序列之间的长期依赖性问题。 为了解决这些问题,Bahdanau等人提出使用注意力机制向解码器传递额外的信息。根据编码器输出,他们的注意力函数计算源序列和目标序列之间的对齐关系。Luong等人进一步改进了这种方法,引入了其他类型的注意力得分计算和输入提供方法。自那时以来,针对NMT的各种基于注意力的架构被提出,例如GNMT将双向和单向编码器结合在深层架构中,引入了基于卷积的seq2seq学习方法。类似的基于注意力的方法已经应用于各种计算机视觉任务,如图像字幕生成、唇语识别和动作识别。
Connectionist Temporal Classification (CTC) Loss
lip reading
conditional independence
implicit language model
Encoder-Decoder Network architectures
intermediary latent space
attention mechanism
the alignment
attention score calculation
inputfeeding approach
bi-directional
uni-directional
image captioning
我整理的时间线:
SLR使用经典的基于图的方法(如隐藏马尔可夫模型(HMM)、条件随机场或基于模板的方法)对这些特征的时序变化进行建模
->深度学习的出现,SLR采用了卷积神经网络(CNN)来进行手动和非手动特征表示,以及循环神经网络(RNN)来进行时序建模。
->对于seq2seq任务来说,获得强标注是困难的,为了能够以端到端的方式从弱标注数据进行训练,提出了连接主义时间分类(CTC)损失
->CTC不适用于机器翻译,因为它假设源序列和目标序列具有相同的顺序,且目标序列内部具有条件独立性,这不允许网络学习隐式语言模型,这导致了编码器-解码器网络架构的发展
->存在源序列编码为固定大小向量的信息瓶颈问题,以及源序列和目标序列之间的长期依赖性问题。提出使用注意力机制向解码器传递额外的信息。根据编码器输出,他们的注意力函数计算源序列和目标序列之间的对齐关系。针对NMT的各种基于注意力的架构被提出。
Neural Sign Language Translation
将手语视频翻译成口语是一种典型的序列到序列学习问题。我们的目标是学习条件概率 p ( y ∣ x ) p(y|x) p(y∣x),即给定一个包含 T 帧的手语视频 x = ( x 1 , x 2 , . . . , x T ) x = (x_1, x_2, ..., x_T) x=(x1,x2,...,xT),生成一个包含 U 个单词的口语句子 y = ( y 1 , y 2 , . . . , y U ) y = (y_1, y_2, ..., y_U) y=(y1,y2,...,yU)。这并不是一个简单的任务,因为手语视频的帧数远远大于其口语翻译的单词数(即 T ≫ U)。此外,手语和口语序列之间的对齐通常是未知且非单调的。另外,与其他处理文本的翻译任务不同,我们的源序列是视频。这使得使用传统的序列建模架构如循环神经网络 (RNN) 变得困难。因此,我们提出将卷积神经网络 (CNN) 与基于注意力的编码器-解码器相结合,来建模条件概率 p(y|x)。我们尝试采用端到端的训练方式,同时学习手语视频到口语句子的对齐和翻译。我们的方法概述如图 2 所示。在接下来的部分,我们将详细描述我们架构的每个组件。
attention-based encoder-decoders
Spatial and Word Embeddings.空间和词嵌入。
神经机器翻译方法首先对源序列和目标序列进行标记化,并使用词嵌入将它们映射到连续空间中。使用词嵌入的主要思想是将稀疏的独热向量表示 (其中每个单词之间的距离相等 )转换为更密集的形式,其中含义相似的单词更接近。这些嵌入可以从头开始学习,也可以在更大的数据集上进行预训练,并在训练过程中进行微调。然而,与文本不同,手语是视觉形式的。因此,除了对目标序列(口语句子)使用词嵌入之外,我们还需要学习空间嵌入来表示手语视频。为此,我们利用二维卷积神经网络 (CNN)。给定一个手语视频 x,我们的 CNN 学习提取非线性的帧级空间表示,如下所示:
f
t
=
S
p
a
t
i
a
l
E
m
b
e
d
d
i
n
g
(
x
t
)
f_t = SpatialEmbedding(x_t)
ft=SpatialEmbedding(xt) (1)
其中
f
t
f_t
ft对应于通过 CNN 传播视频帧
x
t
x_t
xt 生成的特征向量。
对于词嵌入,我们使用一个全连接层,它学习从口语单词的独热向量到更密集空间的线性投影,如下所示:
g
u
=
W
o
r
d
E
m
b
e
d
d
i
n
g
(
y
u
)
g_u = WordEmbedding(y_u)
gu=WordEmbedding(yu) (2)
其中
g
u
g_u
gu是口语单词
y
u
y_u
yu 的嵌入版本。
tokenization
word embeddings
the sparse one-hot vector representations
equidistant
fine-tuned
spatial embeddings
a fully connected layer
linear projection
Tokenization Layer.标记化层。
在神经机器翻译中,输入和输出序列可以在多个不同复杂性水平上进行标记化:字符、单词、N-gram 或短语。低级别的标记化方案,如字符级别,可以使用更小的词汇表,但会极大增加序列建模问题的复杂性,并要求保持长期关系。高级别的标记化使得识别问题更加困难,因为词汇量大大增加,但语言建模通常只需要考虑少数相邻的标记。
由于关于手语翻译的先前研究并不存在,目前尚不清楚哪种标记化方案最适合这个问题。而且,与神经机器翻译研究不同的是,输入的手语视频的标记化与输出文本的标记化之间没有简单的对应关系。
本文提出的框架是通用的,可以在空间嵌入序列 f 1 : T f_{1:T} f1:T上使用各种标记化方案**,表示为 z 1 : N = T o k e n i z a t i o n ( f 1 : T ) z_{1:N} = Tokenization(f_{1:T}) z1:N=Tokenization(f1:T)(3)。
在实验中,我们探索了“帧级别”和“词汇级别”的输入分词方法,其中后者利用了RNN-HMM强制对齐方法。输出的分词是以单词为单位的(与大多数现代NMT研究相同),但这可能是未来的一个有趣方向。
tokenization schemes
spatial embeddings sequence
frame level
gloss level
RNN-HMM forced alignment approach
Attention-based Encoder-Decoder Networks.基于注意力的编码器-解码器网络。
为了能够根据帧级别视频输入
x
x
x的分词嵌入
z
1
:
N
z_{1:N}
z1:N生成目标句子
y
y
y ,我们需要学习一个映射函数
B
(
z
1
:
N
)
→
y
B(z_{1:N}) → y
B(z1:N)→y ,该函数将最大化概率
p
(
y
∣
x
)
p(y|x)
p(y∣x) 。 我们提出使用基于注意力的编码器-解码器网络来建模B,该网络由两个专门的深度RNN组成。通过使用这些RNN,我们将任务分解为两个阶段。在编码阶段,将一个手语视频的特征逐个投影到一个固定大小的向量空间中,以便在解码阶段用于生成口语句子。**
在编码阶段,编码器网络逐个读取特征向量。给定一个表示
z
1
:
N
z_{1:N}
z1:N的序列,我们首先在时间域中颠倒其顺序,如[56]建议的那样,以缩短手语视频开头和口语句子之间的长期依赖关系。然后,我们将反转的序列
z
N
:
1
z_{N:1}
zN:1馈送给编码器,编码器模拟视频帧的时间变化,并将其累积表示压缩在其隐藏状态中,表示为:
o
n
=
E
n
c
o
d
e
r
(
z
n
,
o
n
+
1
)
o_n = Encoder(z_n, o_{n+1})
on=Encoder(zn,on+1) (4)
其中
o
n
o_n
on是由重复单元
n
n
n生成的隐藏状态,
o
N
+
1
o_{N+1}
oN+1是一个零向量,最终的编码器输出
o
1
o_1
o1对应于序列
h
s
i
g
n
h_{sign}
hsign的潜在嵌入,该嵌入传递给解码器。
解码阶段通过使用潜在向量
h
s
i
g
n
h_{sign}
hsign来初始化解码器网络的隐藏状态。在经典的编码器-解码器架构中,这个潜在表示是解码阶段的唯一信息源。通过将其前一个隐藏状态
(
h
u
−
1
)
(h_{u−1})
(hu−1)和先前预测的单词
(
y
u
−
1
)
(y_{u−1})
(yu−1)的词嵌入
(
g
u
−
1
)
(g_{u−1})
(gu−1)作为输入,解码器学习生成序列中的下一个单词
(
y
u
)
(y_u)
(yu)并更新其隐藏状态
(
h
u
)
(h_u)
(hu) :
y
u
,
h
u
=
D
e
c
o
d
e
r
(
g
u
−
1
,
h
u
−
1
)
y_u, h_u = Decoder(g_{u−1}, h_{u−1})
yu,hu=Decoder(gu−1,hu−1) (5)
其中
h
0
=
h
s
i
g
n
h_0 = h_{sign}
h0=hsign是由编码器学习的手语视频的时空表示,
y
0
y_0
y0是特殊标记
,表示句子的开头。这个过程持续进行,直到预测到另一个特殊标记
,它表示句子的结束。通过
逐词生成句子,解码器将条件概率
p
(
y
∣
x
)
p(y|x)
p(y∣x)分解为有序的条件概率:
p
(
y
∣
x
)
=
∏
u
=
1
U
p
(
y
u
∣
y
1
:
u
−
1
,
h
s
i
g
n
)
p(y|x) = \prod^U_{u=1}p(y_u|y_{1:u−1}, h_{sign})
p(y∣x)=∏u=1Up(yu∣y1:u−1,hsign)(6)
这用于通过为每个单词应用交叉熵损失函数来计算错误。对于端到端的实验,这些错误通过编码器-解码器网络反向传播到CNN和词嵌入,从而更新网络的所有参数。
temporal domain
spatio-temporal representation
cross entropy loss
Attention Mechanisms.注意力机制。
使用经典的编码器-解码器架构的一个主要缺点是使用固定大小的向量表示整个手语视频时出现的信息瓶颈。此外,由于帧数较多,我们的网络面临长期依赖和梯度消失的问题。为了克服这些问题,我们利用注意机制为解码阶段提供额外的信息。通过使用注意机制,我们的网络能够学习在生成每个单词时应该关注的位置,从而提供手语视频和口语句子的对齐。我们采用了由Bahdanau等人提出的最著名的注意力方法,后来由Luong等人进行了改进。
注意机制背后的主要思想是创建源序列的加权摘要,以辅助解码阶段。这个摘要通常被称为上下文向量,在本文中表示为
c
u
c_u
cu。对于每个解码步骤
u
u
u,通过对编码器输出
o
1
:
N
o_{1:N}
o1:N进行加权求和,计算出一个新的上下文向量
c
u
c_u
cu,如下所示:
c
u
=
∑
n
=
1
N
γ
n
u
o
n
c_u =\sum^N_{n=1}γ^u_no_n
cu=∑n=1Nγnuon(7)
其中
γ
n
u
γ^u_n
γnu表示注意权重,可以解释为编码器输入
z
n
z_n
zn对生成单词
y
u
y_u
yu的相关性。当可视化时,注意权重还有助于显示编码器-解码器网络学习到的手语视频和口语句子之间的对齐。这些权重是通过将解码器的隐藏状态
h
u
h_u
hu与每个输出
o
t
o_t
ot进行比较来计算的,如下所示:
γ
n
u
=
e
x
p
(
s
c
o
r
e
(
h
u
,
o
n
)
)
∑
n
′
=
1
N
e
x
p
(
s
c
o
r
e
(
h
u
,
o
n
′
)
<
/
p
>
<
p
>
γ^u_n =\frac{exp(score(h_u, o_n))}{\sum^N_{n′=1} exp(score(h_u, o_{n′} )}</p> <p>
γnu=∑n′=1Nexp(score(hu,on′)exp(score(hu,on))</p><p>(8)
其中评分函数取决于所使用的注意机制。在这项工作中,我们研究了两个评分函数。第一个是由Luong等人提出的基于乘法的方法[44],第二个是由Bahdanau等人提出的基于连接的函数[4]。这些函数如下所示:
其中W和V是可学习的参数。然后将上下文向量
c
u
c_u
cu与隐藏状态
h
u
h_u
hu相结合,计算注意向量
a
u
a_u
au如下:
a
u
=
t
a
n
h
(
W
c
[
c
u
;
h
u
]
)
a_u = tanh(W_c[c_u; h_u])
au=tanh(Wc[cu;hu])(10)
最后,我们将
a
u
a_u
au馈送到一个全连接层,以建模公式6中的有序条件概率。此外,
a
u
a_u
au还被馈送到下一个解码步骤
u
+
1
u+1
u+1,从而将公式5改写为:
y
u
,
h
u
=
D
e
c
o
d
e
r
(
g
u
−
1
,
h
u
−
1
,
a
u
−
1
)
y_u, h_u = Decoder(g_{u−1}, h_{u−1}, a_{u−1})
yu,hu=Decoder(gu−1,hu−1,au−1) (11)
vanishing gradients
context vector
我总结的nslt:
利用二维卷积神经网络 (CNN)。给定一个手语视频 x, CNN 学习提取非线性的帧级空间表示,空间嵌入来表示手语视频, f t = S p a t i a l E m b e d d i n g ( x t ) f_t = SpatialEmbedding(x_t) ft=SpatialEmbedding(xt) 。在空间嵌入序列 f 1 : T f_{1:T} f1:T上使用各种标记化方案, z 1 : N = T o k e n i z a t i o n ( f 1 : T ) z_{1:N} = Tokenization(f_{1:T}) z1:N=Tokenization(f1:T)。使用基于注意力的编码器-解码器网络来建模,该网络由两个专门的深度RNN组成。
在编码阶段,给定一个表示 z 1 : N z_{1:N} z1:N的序列,首先在时间域中颠倒其顺序,然后将反转的序列 z N : 1 z_{N:1} zN:1馈送给编码器,编码器模拟视频帧的时间变化,并将其累积表示压缩在其隐藏状态中, o n = E n c o d e r ( z n , o n + 1 ) o_n = Encoder(z_n, o_{n+1}) on=Encoder(zn,on+1)。解码阶段通过使用潜在向量 h s i g n h_{sign} hsign来初始化解码器网络的隐藏状态。使用一个全连接层,它学习从口语单词的独热向量到更密集空间的线性投影, g u = W o r d E m b e d d i n g ( y u ) g_u = WordEmbedding(y_u) gu=WordEmbedding(yu),词嵌入。通过将其前一个隐藏状态 ( h u − 1 ) (h_{u−1}) (hu−1)和先前预测的单词 ( y u − 1 ) (y_{u−1}) (yu−1)的词嵌入 ( g u − 1 ) (g_{u−1}) (gu−1)作为输入,解码器学习生成序列中的下一个单词 ( y u ) (y_u) (yu)并更新其隐藏状态 ( h u ) (h_u) (hu), y u , h u = D e c o d e r ( g u − 1 , h u − 1 ) y_u, h_u = Decoder(g_{u−1}, h_{u−1}) yu,hu=Decoder(gu−1,hu−1)。通过逐词生成句子,解码器将条件概率 p ( y ∣ x ) p(y|x) p(y∣x)分解为有序的条件概率, p ( y ∣ x ) = ∏ u = 1 U p ( y u ∣ y 1 : u − 1 , h s i g n ) p(y|x) = \prod^U_{u=1}p(y_u|y_{1:u−1}, h_{sign}) p(y∣x)=∏u=1Up(yu∣y1:u−1,hsign)。利用注意机制为解码阶段提供额外的信息。创建源序列的加权摘要,以辅助解码阶段。这个摘要通常被称为上下文向量 c u c_u cu, c u = ∑ n = 1 N γ n u o n c_u =\sum^N_{n=1}γ^u_no_n cu=∑n=1Nγnuon,其中 γ n u γ^u_n γnu表示注意权重,可以解释为编码器输入 z n z_n zn对生成单词 y u y_u yu的相关性。然后将上下文向量 c u c_u cu与隐藏状态 h u h_u hu相结合,计算注意向量 a u a_u au, a u = t a n h ( W c [ c u ; h u ] ) a_u = tanh(W_c[c_u; h_u]) au=tanh(Wc[cu;hu])。最后,将 a u a_u au馈送到一个全连接层,以建模公式6中的有序条件概率。此外, a u a_u au还被馈送到下一个解码步骤 u + 1 u+1 u+1,从而公式5改写为: y u , h u = D e c o d e r ( g u − 1 , h u − 1 , a u − 1 ) y_u, h_u = Decoder(g_{u−1}, h_{u−1}, a_{u−1}) yu,hu=Decoder(gu−1,hu−1,au−1)。
Sign Language Translation Dataset.手语翻译数据集。
正如第2节所讨论的,目前没有适合支持SLT研究的合适数据集。由于标注的成本,现有的语言学数据集对于深度学习来说太小了。
在这项工作中,我们介绍了“RWTH-PHOENIX-Weather 2014T”这个大词汇量的连续SLT语料库。PHOENIX14T是PHOENIX14语料库的扩展,PHOENIX14近年来已成为SLR的主要基准。PHOENIX14T是一个平行语料库,包括手语视频、手语-词汇注释以及德语翻译(由新闻主播口述),这些都被分割成平行句子。由于口语和手语之间的句子分割不同,简单地在PHOENIX14上添加口语层是不够的。相反,分割边界还必须重新定义。在需要添加翻译层导致新的句子边界的地方,我们使用了[35]的强制对齐方法来计算新的边界。
除了边界的变化,RWTH-PHOENIX-Weather 2014T由于规范化方案的一些改进而略微减少了词汇量。这意味着在PHOENIX14和PHOENIX14T上的性能将是相似的,但不完全可比。然而,我们已经确保PHOENIX14的开发/测试集不与新的PHOENIX14T训练集重叠,并且新的PHOENIX14T开发/测试集与PHOENIX14训练集也不重叠。
这个语料库对于研究社区是公开可用的,以促进SLT研究的未来发展。数据集的详细统计信息可以在表1中看到。OOV代表训练集中没有出现但在测试集中出现的词汇。Singletons仅在训练集中出现一次。该语料库涵盖了9位不同签名者的无约束手语,词汇量包括1066个不同的手势和德语口语的2887个不同词汇。该语料库采用专业的手语翻译员进行注释,并由聋人专家使用手语注释。德语口语翻译来自新闻播音员。它经过自动转录、手动验证和规范化处理。
定量实验。Quantitative Experiments.
利用我们的新PHOENIX14T数据集,我们进行了几组实验,为SLT创建了一个基准。我们将实验分为三组:
- Gloss2Text (G2T):在这组实验中,我们模拟拥有一个完美的SLR系统作为中间标记化过程。
- Sign2Text (S2T):这组实验涵盖了直接从帧级手语视频到口述语言的端到端翻译流程。
- Sign2Gloss2Text (S2G2T):这组实验使用SLR系统作为标记化层,以添加中间监督。
我们的编码器-解码器网络都使用四个堆叠层的残差循环单元构建,每个循环层包含1000个隐藏单元。在S2T实验中,我们使用AlexNet去掉最后一层(fc8)作为我们的空间嵌入层,并使用在ImageNet上训练的权重进行初始化。对于S2G2T实验,我们使用Koller等人提出的CNN-RNN-HMM网络作为我们的标记化层,这是目前最先进的CSLR方法。它在PHOENIX14T的开发/测试集上实现了25.7%/26.6%的词错误率的手势识别性能。我们的网络的其余部分使用Xavier初始化方法进行初始化。我们使用Adam优化方法,学习率为 1 0 − 5 10^{-5} 10−5,并使用默认参数。我们还使用梯度裁剪,阈值为5,以及丢弃连接,丢弃概率为0.2。
我们的所有网络训练直到训练困惑度收敛,平均需要约30个epochs。我们每半个epoch在开发/测试集上评估我们的模型,并使用在开发集上表现最好的模型来报告结果。在解码阶段,我们使用束搜索生成口述语言句子,束宽为3,经验上显示这是最佳的束宽大小。
为了衡量我们的翻译性能,我们使用BLEU和ROUGE分数,这是常用的机器翻译评估指标。作为ROUGE分数,我们使用ROUGE-L F1-Score,作为BLEU分数,我们报告BLEU-1,2,3,4,以便更好地了解不同短语级别上的翻译性能。
我们使用TensorFlow进行网络实现。基于Luong等人的NMT库。
residual recurrent units
Spatial Embedding Layer
Tokenization Layer
gradient clipping
threshold
dropout connections
beam search
ROUGE 是通过统计系统生成的机器翻译与人工生成的标准翻译之间重叠的基本单元(n 元语法、词序列和词对)的数目,来评价翻译的质量。
BLEU 得分是手语翻译常用的评估指标。假设一个文本由机器和人工各翻译一次,BLEU 的值为 n 个连续的单词序列(n-gram)同时出现在机器翻译和人工翻译中的比例。根据n-gram可以划分成多种评价指标,如BLEU-1、BLEU-2、BLEU-3、BLEU-4。
G2T: Simulating Perfect Recognition.模拟完美识别。
我们的SLT框架支持各种输入标记化。在第一组实验中,我们模拟使用一个理想的SLR系统作为中间标记器。NMT网络被训练从真实的手语注释生成口述语言翻译。我们将其称为G2T实验。G2T实验有两个主要目标。第一是为端到端SLT创建一个上限。第二是研究不同的编码器-解码器网络结构和超参数,并评估它们对手语到口述语言翻译性能的影响。由于训练S2T网络比G2T慢一个数量级,因此我们在训练S2T网络时使用G2T实验中的最佳设置。
请注意,我们预计翻译性能的上限会明显低于100%。在所有自然语言问题中,有很多种方式可以表达相同的意思,因此有许多同样有效的翻译。不幸的是,使用任何现有的评估方法都无法量化这一点。
Recurrent Units: GRUs vs LSTMs.循环单元
在神经机器翻译中,使用了各种类型的循环单元。Kalchbrenner和Blunsom提出的第一个编码器-解码器网络使用了单个带有普通循环单元的RNN。后来的方法使用了深层的LSTM单元和门控循环单元(GRU)。为了选择使用哪种循环单元,我们进行了两个G2T网络的实验,一个使用LSTM,一个使用GRU。这两个网络都使用批大小为128,并使用第3节中描述的Luong注意机制。
如表2所示,GRU在BLEU和ROUGE分数上表现优于LSTM单元。这可能是由于LSTM单元中额外参数和有限的训练序列导致的过拟合。与LSTM相比,GRU具有更少的参数(两个门 vs. 三个门),这使得它们训练更快,更不容易过拟合。因此,我们在接下来的实验中使用门控循环单元。
Long Short-Term Memory (LSTM)
Gated Recurrent Units (GRUs)
over-fitting
Attention Mechanisms: Luong vs. Bahdanau.注意机制。
接下来,我们评估了不同的注意机制对于G2T翻译任务的影响。我们使用了在第3节中详细介绍的Luong和Bahdanau注意机制,还训练了一个不使用任何注意机制的网络。所有的网络都使用了门控循环单元和批大小为128进行训练。
从这个实验中我们的第一个观察是,使用注意机制显著改善了翻译性能,如表3所示。当比较注意机制时,Luong注意机制优于Bahdanau注意机制,并且在测试集上具有更好的泛化性能。我们认为这是因为Luong注意机制在生成目标词u时使用了解码器网络在时间u的隐藏状态。我们使用Luong注意机制训练我们剩下的G2T网络。
What Batch Size to use?使用什么批大小?
在使用随机梯度下降(SGD)时,已经有过几项关于批大小的研究。虽然较大的批大小具有提供更平滑的梯度的优点,但它们会降低收敛速度。 此外,关于深度学习背后的信息理论的最近研究表明,较小批大小提供的噪声有助于网络更有效地表示数据。此外,seq2seq数据集的训练和评估集分布本质上是不同的。当在训练过程中使用早停时,更小批大小提供的额外噪声使得优化能够更接近目标分布。这表明在给定网络设置的情况下存在一个最佳批大小。因此,在我们的第三组实验中,我们评估了批大小对翻译的影响。我们使用不同的批大小(128、64、32、16和1)训练了五个G2T网络。所有的网络都使用了GRU和Luong注意机制进行训练。
这个实验中的一个有趣观察是,使用较小批大小训练的网络收敛速度更快,但训练困惑度更高。我们认为这是由于梯度之间的高方差造成的。为了解决这个问题,当训练困惑度停滞时,我们将学习率降低到 1 0 − 6 10^{-6} 10−6,并继续训练100,000次迭代。结果表明,较小批大小有助于翻译性能。如表4所示,批大小为1的G2T网络优于使用较大批大小训练的网络。考虑到这些结果,我们接下来的实验都使用批大小为1。
Stochastic Gradient Descent (SGD)
perplexity
variance
Effects of Beam Width.波束宽度的影响。
编码器-解码器网络最直接的解码方法是使用贪婪搜索,即将概率最高的单词视为预测,并输入到解码器的下一个时间步。然而,这种贪婪方法容易出现错误,因为预测可能具有低置信度。为了解决这个问题,我们在解码阶段使用了简单的从左到右的波束搜索,其中存储并传播一定数量的候选序列,也称为波束宽度,通过解码器。然而,较大的波束宽度并不一定意味着更好的翻译性能,并且会增加解码的持续时间和内存需求。因此,为了找到最佳值,我们使用表现最好的G2T网络对可能的波束宽度进行参数搜索,并报告开发集和测试集上的翻译性能,以BLEU-4分数的形式。
如图3所示,对于我们的G2T网络,波束宽度为2或3是最佳的。虽然波束宽度为2在开发集上产生了最高的翻译性能,但波束宽度为3在测试集上的泛化性能更好。此外,随着波束宽度的增加,BLEU-4分数趋于稳定,然后开始下降。综合考虑这些结果,我们继续使用波束宽度为3进行后续的实验。
greedy search
low confidence
S2T: From Sign Video To Spoken Text. 从手语视频到口语文本。
在我们的第二组实验中,我们评估了S2T网络,它能够在端到端的方式下从手语视频中学习生成口语。在这个设置中,我们的标记化层是一个恒等函数,直接将空间嵌入输入到编码器-解码器网络中。使用我们G2T实验的超参数,我们训练了三个具有不同注意机制选择的S2T网络。
与G2T任务类似,利用注意机制可以提高S2T网络的翻译性能(见表5)。然而,与G2T相比,翻译性能较低。我们认为这可能有几个原因。由于手语视频中的帧数远远多于其手语级别表示的数量,我们的S2T网络受到了长期依赖和梯度消失的困扰。 此外,我们使用的数据集可能太小,无法使我们的S2T网络在考虑参数数量(CNN+编码器-解码器+注意力)时具有泛化能力。此外,期望我们的网络能够识别视觉手语并将其翻译成口语,只通过单一的监督可能要求过高。因此,在我们下一组实验中,即S2G2T,我们引入了手语级别的监督,以帮助从手语视频进行完整翻译的任务。
Identity function
spatial embeddings
S2G2T: Gloss Level Supervision.手语级别监督。
在我们的最后一个实验中,我们提出在从手语视频到口语翻译过程中使用手语级别作为中间表示。为了实现这一点,我们使用了[36]中提出的CNN-RNN-HMM混合模型作为我们的空间嵌入和标记化层。我们评估了两个设置。在第一个设置中:手语到手语级别(S2G)→手语级别到文本(G2T),我们使用表现最好的G2T网络而无需重新训练,从估计的手语标记嵌入中生成句子。在第二个设置中:S2G2T,我们从头开始训练一个网络,学习从预测的手语进行翻译。
S2G→G2T网络表现出了令人惊讶的良好性能,尽管没有进行额外的训练。这表明我们的G2T网络已经学会了对噪声输入的一定鲁棒性,尽管在训练过程中使用了完美的手语。这可能是由于训练过程中采用了dropout正则化。我们的第二种方法S2G2T超过了这些结果,并且获得了接近G2T网络理想性能的分数。这可能是因为翻译系统能够纠正标记化器中的失败模式。如表6所示,与S2T网络相比,S2G2T在性能上取得了很大的优势,这表明中间的手语级别监督对简化训练过程的重要性。
dropout regularization
Qualitative Experiments.定性实验。
在这一部分,我们分享了我们的定性结果。评估翻译的一种明显方法是检查生成的翻译结果。为了让读者更好地理解,我们在表7中分享了从我们的G2T、S2T和S2G2T网络生成的翻译样本,并附有地面真实的德语和逐字英语翻译。
我们可以看到,最常见的错误模式是日期、地点和数字的错误翻译。虽然这不影响翻译句子的整体结构,但它告诉我们对于这些不常见单词学到的嵌入可以有所改进。
在图4中,可以看到S2T和S2G2T系统的示例注意力图。这些图显示了每个输出标记(水平轴)对每个输入标记(垂直轴)的依赖程度。S2T网络的注意力主要集中在视频的开始部分,但在翻译的最后几个词时会跳转到视频的结尾。相比之下,S2G2T的注意力图显示了输入到输出的更清晰的依赖关系。这部分是因为中间的标记化消除了不同手语通道之间的异步性。值得注意的是,我们仍然观察到许多对一的映射,因为许多口语单词并没有明确地用手语表示,而是需要通过上下文来解释。
Conclusion
在本文中,我们介绍了具有挑战性的手语翻译任务,并提出了第一个端到端的解决方案。与先前的研究不同,我们采用了机器翻译的视角,将手语视为一种完全独立的语言,并提出了手语翻译(SLT)而不是手语识别(SLR)作为与聋人进行交流的真正途径。为了从手语视频中实现神经机器翻译,我们采用了基于CNN的空间嵌入,各种标记化方法,包括最先进的RNN-HMM混合模型[36]和基于注意力的编码器-解码器网络,共同学习对齐、识别和将手语视频翻译成口语文本。
为了评估我们的方法,我们收集了第一个连续的手语翻译数据集PHOENIX14T,该数据集已公开提供。我们进行了广泛的实验,并提出了一些建议,为未来的研究提供支持。
作为未来的工作,将注意力机制扩展到空间领域以对齐手语的构建模块,也称为子单元,与其口语翻译相对应,这将是一个有趣的方向。还可以使用类似于SubUNets的方法,注入专业的中间子单元知识,弥合S2T和S2G2T之间的差距。