一种基于类注释注意力和知识迁移的手语翻译方法和系统
文献发布时间:2023-06-19 19:28:50
技术领域
本发明涉及无注释手语翻译领域,尤其涉及一种基于类注释注意力和知识迁移的手语翻译方法和系统。
背景技术
当下,手语翻译任务已经引发了广泛关注,成为一项重要的人工智能任务,该任务旨在将手语视频转换为口语句子,使聋人或听力障碍者更容易与听力正常的人进行交流。
现有的技术可以分为三类,1)两阶段的注释监督方法,2)端到端的注释监督方法,以及3)端到端的无注释方法。
前两种方法依赖于注释,即按时间顺序标注的手语词,以协助模型学习对齐和语义信息。但注释的标注需要手语专家花费大量的时间来完成,所以是昂贵而繁琐的。当下,现有技术开始将注意力转向端到端的无注释方法,直接学习将手语视频翻译成口语句子,而不需要注释的帮助,这使得该方法更加通用。但不足的是,没有充分学习到连续手语视频中的语义边界的位置,同时没能充分全局理解手语视频的语义。若解决这两类问题,则可有效提升手语翻译的精确程度。
发明内容
为了克服现有技术中没有充分学习到连续手语视频中的语义边界的位置以及没能充分全局理解手语视频的语义的缺陷,本发明提供一种基于类注释注意力和知识迁移的手语翻译方法和系统,以将手语视频翻译成口语文本。
本发明所采用的具体技术方案是:
第一方面,本发明提出了一种基于类注释注意力和知识迁移的手语翻译方法,包括如下步骤:
1)获取手语视频和对应的口语文本组合作为训练集,分别获取手语视频嵌入特征向量序列和口语文本嵌入特征向量序列;
2)利用包含多头类注释注意力机制的编码器对手语视频嵌入特征向量序列进行编码,再利用解码器自回归生成目标口语文本;
3)根据训练集中手语视频和口语文本之间的一对一语义关系,获取基于知识迁移的损失函数项;将口语文本嵌入特征向量序列和由编码器编码后的手语视频嵌入特征向量序列作为解码器的输入,对于解码器自回归生成目标口语文本的过程,获取手语翻译的交叉熵损失函数项;结合基于知识迁移的损失函数项和手语翻译的交叉熵损失函数项,训练编码器和解码器;
4)获取待翻译的手语视频嵌入特征向量序列,并利用训练好的包含多头类注释注意力机制的编码器对手语视频嵌入特征向量序列进行编码,再利用训练好的解码器自回归生成目标口语文本。
进一步地,所述的手语视频嵌入特征向量序列和口语文本嵌入特征向量序列的获取方法为:
手语视频:提取手语视频的特征序列,对于特征序列中的每一个元素,依次通过一个线性层、批量归一化和非线性的激活函数,并加入位置编码,获得手语视频嵌入特征向量序列;
口语文本:利用预训练的子词分割模型中的子词嵌入作为嵌入层的初始化值,对于初始化值经过词嵌入后所得的词向量,依次通过一个线性层、批量归一化和非线性的激活函数,并加入位置编码,获得口语文本嵌入特征向量序列。
进一步地,所述的多头类注释注意力机制具体为:
3.1)将长度为T的手语视频嵌入特征向量序列中各个特征向量横向拼接,再取转置得到表示矩阵X;
3.2)对于步骤3.1)所得的X,分别生成查询矩阵Q、原始键矩阵K、原始值矩阵V;
3.3)对于查询矩阵Q,将其等价表示为若干列向量分块拼接,所构成矩阵的转置,记为Q=[q
3.4)根据查询向量计算出N个偏移量,以动态地调整注意力的位置;
3.5)将原始键矩阵K表示为K=[k
遍历位置t∈[1,T],得到T个线性插值后的键矩阵
3.6)利用步骤3.5)求得的键矩阵K’和值矩阵V’,计算得到一系列的单头类注释注意力向量;遍历位置t∈[1,T],得到T个单头类注释注意力向量,合成单头类注释注意力矩阵Z;
3.7)重复步骤3.2)到步骤3.6),通过在步骤3.2)中生成不同的查询矩阵Q、原始键矩阵K、原始值矩阵V,最终产生多个不同的单头类注释注意力矩阵,聚合得到多头类注释注意力矩阵
其中,W表示投射矩阵,concat(·)表示在第一个维度上连接各个矩阵的操作,Z
进一步地,步骤3.4)中,偏移量和调整注意力位置的计算公式为:
O=W
其中,O表示偏移量矩阵,W
进一步地,步骤3.5)中,线性插值后的键和线性插值后的值计算公式如下:
/>
其中,
进一步地,步骤3.6)中,单头类注释注意力向量的计算公式为:
其中,z
进一步地,所述的编码器由若干个编码器层堆叠组成,每一个编码器层由层归一化操作、多头类注释注意力机制、残差连接和前馈神经网络按照如下公式构建:
z=MHGA(LN(x))+x
其中,x表示编码器层的输入向量,z表示编码器层内的中间结果,
进一步地,所述的基于知识迁移的损失函数项获取方法为:
3.1)使用Sentence BERT语义相似度预训练模型,获取口语文本中句子的预训练嵌入向量,并计算所有句子之间的余弦相似度矩阵S;
5.2)对于编码后的手语视频嵌入特征序列中各向量直接拼接,得到代表整个手语视频的嵌入向量e
5.3)计算每个视频的嵌入向量e
其中,
第二方面,本发明提出了一种基于类注释注意力和知识迁移的手语翻译系统,包括:
手语视频预处理模块,其用于获取手语视频嵌入特征向量序列;
口语文本预处理模块,其用于获取口语文本嵌入特征向量序列;
编码器模块,其包含多头类注释注意力机制,用于对手语视频嵌入特征向量序列进行编码;
解码器模块,其用于在训练阶段根据口语文本嵌入特征向量序列和由编码器编码后的手语视频嵌入特征向量序列自回归生成目标口语文本,在实际翻译阶段根据由编码器编码后的手语视频嵌入特征向量序列自回归生成目标口语文本;
训练模块,其用于根据训练集中手语视频和口语文本之间的一对一语义关系,获取基于知识迁移的损失函数项;将口语文本嵌入特征向量序列和由编码器编码后的手语视频嵌入特征向量序列作为解码器的输入,对于解码器自回归生成目标口语文本的过程,获取手语翻译的交叉熵损失函数项;结合基于知识迁移的损失函数项和手语翻译的交叉熵损失函数项,训练编码器和解码器。
与现有技术相比,本发明具备的有益效果是:
本发明为一种利用类注释注意力机制和知识迁移解决无注释手语翻译任务的方法,在实现时,本发明使用了类注释注意力机制和从口语文本的知识迁移。
(1)通过使用类注释注意力机制,本发明使模型隐式地学到连续手语视频中的语义边界的位置,并使其能够将注意力集中在局部具有相同语义的视频片段中,就类似注释帮助现有的有注释手语翻译模型一样,从而取代标注费用昂贵的注释,实现高效的无注释手语翻译。
(2)通过从口语文本的知识迁移,本发明将句子与句子相似性的知识从自然语言模型转移到手语翻译模型中,让模型知道哪些手语视频在语义上相似,哪些在语义上不同,以帮助模型更好地在句子级别上全局地理解手语视频的语义特征,实现高效的无注释手语翻译。
综上所述,通过联合使用类注释注意力机制和从口语文本的知识迁移,本发明可以充分学习到手语视频局部的语义边界和全局的语义特征,取代标注费用昂贵的注释,给模型提供的局部和全局的语义监督信息,实现高效的无注释手语翻译。
附图说明
图1是单头类注释注意力机制的示意图;
图2是本发明实施例示出的基于类注释注意力和知识迁移的手语翻译方法的整体框架示意图,其中
图3是编码器层的具体结构;
图4是解码器层的具体结构。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步阐述和说明。(为阐述方便,编码器和解码器均简化为单层,完整的编码器和解码器是由如图2所示的多层堆叠而成)
本发明一种利用类注释注意力机制和知识迁移解决无注释手语翻译任务的方法包括如下步骤:
步骤1,利用单层前馈神经网络获取手语视频嵌入特征向量;
步骤2,利用单层前馈神经网络获取口语文本嵌入特征向量;
步骤3,构建多头类注释注意力机制(MHGA);
步骤4,利用包含类注释注意力机制的编码器对手语视频嵌入特征向量进行编码;
步骤5,利用手语视频和标注的口语文本之间的一对一语义关系,获取基于知识迁移的损失函数项;
步骤6,对于解码器自回归生成目标口语文本的过程,利用如下公式计算手语翻译的交叉熵损失函数项;
步骤7,将步骤4和步骤5获得的损失函数项结合,得到最终的完整损失函数,通过训练,完成无注释手语翻译任务。
上述步骤1和2分别获取手语视频嵌入特征向量和口语文本嵌入特征向量可具体采用如下实现方式。
训练集是这样组织的,有D
对于每一个给定的手语视频,将其经过预训练的I3D网络,提取为特征序列X′=(x′
其中,x
最终得到手语视频嵌入特征向量序列
对于训练集中每一个给定的口语句子(包含U个词),首先在句子前加上特殊符号
其中,
最终得到该口语句子对应的词嵌入特征向量序列
其中,U为该口语句子包含的词数,
步骤3所述的构建多头类注释注意力机制(MHGA),为描述方便起见,首先描述其特例,单头类注释注意力机制,流程如图1所示;具体为:
3.1)对于步骤2所得的特征向量序列
3.2)对于步骤3.1)所得的X,按照如下公式,分别生成查询矩阵Q,原始键矩阵K,原始值矩阵V:
Q=W
K=W
V=W
其中,
Q=[q
3.4)根据输入的查询计算出N个偏移量,以动态地调整注意力的位置;按照如下公式计算:
其中,t定义同3.3),表示特征序列X′的第t个位置,q
3.5)将原始键矩阵
其中,t定义同3.3),表示特征序列X′的第t个位置,
遍历位置t∈[1,T],得到T个线性插值后的键矩阵
3.6)利用步骤3.5)求得的键矩阵K’和值矩阵V’,按照如下公式计算得到一系列的单头类注释注意力向量z
其中,t定义同3.3),表示特征序列X′的第t个位置,i和j分别代表特征序列X′的第i和j个位置,q
遍历位置t∈[1,T],得到T个单头类注释注意力向量,直接合成为维度T×D的单头类注释注意力矩阵Z,如图1所示;
要计算多头类注释注意力机制,需要重复步骤3.1)到步骤3.6)的操作,由于步骤3.2)中查询映射矩阵、原始键映射矩阵和原始值映射矩阵初始化的不同,最终会产生多个不同的单头类注释注意力矩阵;假设重复h次,即计算头数为h的多头类注释注意力机制,那么会产生h个不同的单头类注释注意力矩阵Z
其中,投射矩阵
步骤4中,对于步骤1处理所得的手语视频嵌入特征向量序列
其中,
最终可得到编码后的手语视频嵌入特征序列
步骤5中,利用训练集中手语视频和标注的口语文本之间的一对一语义关系,获取基于知识迁移的损失函数项;具体为:
5.1)使用Sentence BERT语义相似度预训练模型,获取口语文本中句子的预训练嵌入向量,并计算所有句子之间的余弦相似度矩阵
5.2)对于步骤4编码后的手语视频嵌入特征序列
对于训练集中D
5.3)通过最小化每个视频的嵌入向量e
其中,
步骤6中,对于解码器自回归生成目标口语文本的过程,本质上是建模从一段手语视频
由全部U步解码器的输出,利用如下公式计算手语翻译的交叉熵损失函数项;具体为:
其中,
步骤7中,将步骤5和6得到的基于知识迁移的损失函数项
其中,λ
利用该损失函数,采用梯度下降学习方法,对模型中同时考虑的两种因素涉及的所有参数进行训练,完成从手语视频生成口语文本,从而完成无注释手语翻译任务。
下面将上述方法应用于下列实施例中,以体现本发明的技术效果,实施例中具体步骤不再赘述。
本发明在三个真实的手语翻译数据集PHOENIX14T、CSL-Daily、SP-10上进行实验,每个数据集均测试无注释手语翻译任务。为了客观地评价本发明的性能,本发明在所选出的测试集中,使用了BLEU和ROUGE-L两套评价标准来对本发明的效果进行评价,并与下述现有技术的模型进行对比:
对比1.Conv2d-RNN模型,这是第一个提出的无注释手语翻译模型,它使用基于门控循环单元(GRU)的编码器-解码器架构进行序列建模;
对比2.Tokenization-SLT模型,在PHOENIX14T数据集的ROUGE得分上达到了最先进的水平,它利用对抗性学习、多任务学习和转移学习来寻找半监督的标记化方法,以减少对词汇注释的依赖性;
对比3.Joint-SLT模型,它是第一个基于Transformer架构的手语翻译模型,它共同学习了手语识别和手语翻译的任务;
对比4.TSPNet模型,在PHOENIX14T数据集的BLEU得分上达到了最先进的水平,它通过学习手语的分层特征提高了翻译性能,其中TSPNet-Sequential指按顺序依次应用尺度间和尺度内的注意力的版本,TSPNet-Joint指对局部视频和非局部视频的联合建模的版本。
按照具体实施方式中描述的步骤,所得的实验结果如表1至表3所示,本发明的模型表示为GASLT。
表1:本发明针对于PHOENIX14TPHOENIX14T数据集获得的无注释手语翻译任务的测试结果
表2:本发明针对于CSL-Daily数据集获得的无注释手语翻译任务的测试结果
表3:本发明针对于SP-10数据集获得的无注释手语翻译任务的测试结果
从表1中可以发现,GASLT方法的翻译性能明显优于原来的两个最先进的无注释手语翻译模型,Tokenization-SLT和TSPNet-Joint,BLEU4得分从13.41提高到15.74(17.37%),ROUGE-L得分从36.28提高到39.86(9.86%)。
从表2、3可以发现,GASLT的方法在这两个数据集上都优于现有的方法。受益于本发明提出的类注释注意力机制中关于语义时间定位的先验信息的注入和灵活的注意力跨度,GASLT模型可以将注意力保持在正确的位置。再加上知识迁移的帮助,GASLT模型与以前的无注释手语翻译方法相比效果都好,说明对于无注释手语翻译任务,利用类注释注意力机制和知识迁移的方法是有效的。
在本实施例中还提供了一种基于类注释注意力和知识迁移的手语翻译系统,该系统用于实现上述实施例。以下所使用的术语“模块”、“单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能的。
手语视频预处理模块,其用于获取手语视频嵌入特征向量序列;
口语文本预处理模块,其用于获取口语文本嵌入特征向量序列;
编码器模块,其包含多头类注释注意力机制,用于对手语视频嵌入特征向量序列进行编码;
解码器模块,其用于在训练阶段根据口语文本嵌入特征向量序列和由编码器编码后的手语视频嵌入特征向量序列自回归生成目标口语文本,在实际翻译阶段根据由编码器编码后的手语视频嵌入特征向量序列自回归生成目标口语文本;
训练模块,其用于根据训练集中手语视频和口语文本之间的一对一语义关系,获取基于知识迁移的损失函数项;将口语文本嵌入特征向量序列和由编码器编码后的手语视频嵌入特征向量序列作为解码器的输入,对于解码器自回归生成目标口语文本的过程,获取手语翻译的交叉熵损失函数项;结合基于知识迁移的损失函数项和手语翻译的交叉熵损失函数项,训练编码器和解码器。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可,其余模块的实现方法此处不再赘述。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明的系统的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。系统实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
- 一种手语翻译系统、手语翻译手套及手语翻译方法
- 基于多阶采样和早期注意力的手语翻译方法