人工智能
直播中

李艳

7年用户 126经验值
私信 关注
[问答]

神经机器翻译的方法有哪些?

目前,神经机器翻译(NMT)已经成为在学术界和工业界最先进的机器翻译方法。最初的这种基于编码器-解码器架构的机器翻译系统都针对单个语言对进行翻译。近期的工作开始探索去扩展这种办法以支持多语言之间的翻译,也就是通过只训练一个模型就能够支持在多个语言之间的翻译。尽管目前最流行的Transformer模型已经大大推动了机器翻译在单个语言对上性能的提升,但针对多语言的机器翻译模型的研究源于其特殊的需求,如多语言之间互译的模型参数量、翻译服务部署困难等。尽管多语言NMT已经存在大量的研究,然而,识别语言之间的共性以及针对现实场景下的大规模多语言模型等,仍然存在问题和挑战。

回帖(7)

李旗挺

2020-11-24 13:00:00
  MultilingualMachine Translation
  多语言机器翻译的最理性的目标是通过单一模型能够翻译任意一个语言对。如果将所有语言对的全部都只看做为“源语言”-“目标语言”的这样一种特殊的单语言对,那么其概率模型仍可以表示为:
  
  尽管不同的模型有不同的损失计算方式,以Dong等人[1]提出的模型为例,很多模型内部计算损失时,仍将依赖于特定语言对计算:
  
  多语言机器翻译模型的研究存在着多个原因。
  假设我们现在需要针对N个语言之间进行互译,传统的方法就是训练N(N-1)个互译的模型,如果通过某种中介语言,仍然需要训练2(N-1)个互译的模型。当需要互译的语言数N比较大的时候,相应的就会需要大量的模型训练、部署等,耗费大量的人力物力。而通过合理的设计和训练,获得单一模型实现这些语言之间的互译,就会极大的减少开销。由于联合训练以及学习到的知识从高资源语言的迁移,多语言模型提高了在低资源甚至是零资源的语言对互译的性能。然而这也导致了对原本高资源语言对训练的干扰从而降低了性能。同时获得性能的提升仍是一个具有挑战性的问题。从语言对之间映射的角度来看,基于源语端和目标语端所涵盖的语言数量,在多语言NMT模型中,存在三种策略,包括多对一、一对多以及多对多。多对一模型学习将任何在源语端的语言翻译成目标端的一种特定的语言,这种情况下通常会选取语料丰富的语言比如英语,相似的,一对多模型学习将在源语端的一种语言翻译成目标端任意一种语言。多对一这种模式通常会看作多领域学习的问题,类似于源语端的输入分布是不一致的,但是都会翻译成一种目标语。而一对多这种模式可以被看作是多任务的问题,类似于每一对源语到目标语看作一个单独的任务。多对多这种模式就是这两个模式的集合。不管源语端和目标语端语言的数量,多语言机器翻译模型的提升也基于“相关领域”以及“相关任务”之间知识的迁移作用。尽管多语言NMT已经被大量的研究,但是这种研究仍然存在着极大的限制,所验证的语言对数量也很有限。尽管单独的一个模型能将一个大规模语言对的所能达到的性能是值得研究的,但是存在着大量的困难:不同语言对之间的迁移学习;模型本身参数和学习能力的限制。在大规模语言对包括在低资源和高资源数据(这种高低的比较是通过整体数据量的对比)上多语言机器翻译的性能和问题也得到了广泛的研究和探讨。
举报

马超

2020-11-24 13:00:10
训练策略
与针对单对语种的翻译模型的训练方法相比,由于模型和数据分布的不同,多语种的训练方法有着明显的不同。由于多语种数据中是由不同的语言对的数据构成,甚至不同的语言对的数量也有差异,存在数据不平衡的问题。这就使得如果采用与针对单对语种训练方式相同的策略会导致所得到的模型性能的降低。所以制定一个好的训练策略对多语言机器翻译模型是一个比较重要的事。    针对模型训练阶段,不同的模型结构决定不同的策略。Dong等人[1]针对一对多多语言机器翻译模式设计了单一编码器以及多个语言独立的解码器模型结构,在这个结构下,采用了一种轮换的方式去更新模型的参数,在更新迭代的过程中,固定相邻的n个批次的数据为同一种语言,同时轮换不同的语言以相同的方式,这种策略使得在针对单个语言的训练来看“批次”中的数据会变大,为n个批次数据的大小。Johnson等人[2]采用了更加简单的模型结构,与针对单对语种的机器翻译模型相同只采用一个编码器和一个解码器结构,并只针对源语句子上添加一个表示所翻译目标语的前缀标识来训练模型,这种极为简单的模型结构也对模型训练产生了极大的压力,由于数据的不平衡,采用过采样或者欠采样的方式,甚至在构建单个批次时也构建一定比例的不同语言对数量。训练的策略也包括了针对无监督的训练方式(Sen等人[3])、知识精炼(Tan等人[4])以及在原有多语机器翻译上增加新语言对(Escolano等人[5])等不同训练策略。
举报

张玉梅

2020-11-24 13:00:20
大规模多语种机器翻译
为了去探索单个模型最大程度上学习大规模的语言数量。Aharoni等人[10]对此进行了研究和实现了大量的实验。实验采用了Ha等人[6],Johnson等人[2]以及在源语句子上使得能够进行多对多的翻译。翻译模型采用完全基于Attention的Transformer模型架构(Vaswani等人[7])。在所有的实验结果中,采用BLEU(Papineni等人[8])的评测方式。在模型训练中,单个批次混合不同语言对数据。实验采用了内部数据集。该数据集包括102种语言对,由于语言对之间是相互的,可以将它们与英语进行“镜像”转换,每个语言对最多有100万个示例。这样一来,总共可以翻译103种语言,并同时训练204种翻译方向。实验选取了不同语言族的10种语言:
Semitic(Arabic(Ar),Hebrew(He));Romance(Galician(Gl),Italian(It) ,Romanian(Ro));Germanic(German(De),Dutch(Nl));Slavic(Belarusian(Be),Slovak(Sk))以及Turkic(Azerbaijani (Az),Turkish(Tr))。
举报

廖阿朋

2020-11-24 13:00:37
模型结构
实验所采用的模型是Transformer结构,如图1。





图1 Transformer模型结构

更多细节可以参考Vaswani等人[7]的工作。
实验结果
表1就是从10种语言翻译与英语的一对多、多对一和多对多实验结果。其中上表表示了从10种语言翻译到英语的翻译结果,下表表示了从英语到10种语言的翻译结果。





表1 高资源数据中一对多、多对一以及多对多的实验结果
举报

更多回帖

发帖
×
20
完善资料,
赚取积分