CN115034236A - 一种基于知识蒸馏的中英机器翻译方法 - Google Patents
一种基于知识蒸馏的中英机器翻译方法 Download PDFInfo
- Publication number
- CN115034236A CN115034236A CN202210500736.XA CN202210500736A CN115034236A CN 115034236 A CN115034236 A CN 115034236A CN 202210500736 A CN202210500736 A CN 202210500736A CN 115034236 A CN115034236 A CN 115034236A
- Authority
- CN
- China
- Prior art keywords
- decoder
- translation model
- translation
- chinese
- knowledge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013519 translation Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 30
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 2
- 238000004821 distillation Methods 0.000 claims 5
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于知识蒸馏的中英机器翻译方法,包括如下步骤:步骤1:获取中英平行语料,并对平行语料中的每个句子进行预处理;步骤2:设置翻译模型的编码器包括:Transformer encoder编码器;解码器包括:Transformer decoder解码器和Future decoder解码器,在翻译模型中增加知识蒸馏法模块,将步骤1中获取的预处理后的平行语料作为翻译模型的输入信息进行翻译模型训练,翻译模型通过知识蒸馏法将两个解码器进行交互;步骤3:翻译模型训练完成后,去除翻译模型中的Future decoder解码器、知识蒸馏法模块;步骤4:运用步骤3获取的翻译模型进行中英翻译。本发明使模型有效习得前后信息与当前位置词的联系,显著缓解曝光偏差问题。
Description
技术领域
本发明涉及语言处理技术领域,具体涉及一种基于知识蒸馏的中英机器翻译方法。
背景技术
随着深度学习技术的突飞猛进,机器翻译和自然语言处理近年来取得了长足的进步。从实际需求来看,本地化人工辅助翻译、出国旅游随身实时翻译、跨境电商、外贸等场景都需要机器翻译技术。机器翻译的研究历经基于语法规则、统计方法的机器翻译时代,发展到现在基于深度学习的机器翻译(神经机器翻译)。
最初,基于规则的方法是机器翻译研究的主流,缺点是成本高且难以处理非规范语言。20世纪90年代初,IBM的Peter Brown等人正式提出统计机器翻译模型。2013年,Kalchbrenner和Blunsom提出利用神经网络进行机器翻译,随后一两年内,Sutskever等人提出了基于编码器-解码器结构的神经机器翻译模型,标志着机器翻译进入深度学习的时代。神经机器翻译以编码器——解码器为基本框架,利用深度神经网络对翻译过程建模,这个过程不依赖人工定义的特征,整个翻译模型都可以在一种端到端的模式下训练完成,而翻译解码也就变成对神经网络进行前向计算或推断的过程。
现有的神经机器翻译技术常采用的模型是循环神经网络,卷积神经网络和Transformer。这些模型采用的训练策略都是teacher-forcing。teacher forcing算法会带来曝光偏差的问题。解码器在训练时需要目标序列标签作为输入,这时模型生成的序列只是用来计算误差;而在测试时,没有目标序列,所以使用前一个时间步的输出作为当前时间步的输入。采用teacher forcing训练模型,模型的解码结果在训练和预测的时候是从不同的分布中推断出来的,那么这种不一致会导致一些偏差。这种偏差会随着句子长度的增加而增大,最终导致模型生成的译文质量下降。虽然很多学者提出了缓解曝光偏差问题的方法,但这些方法训练时间长,模型参数大,计算成本相当昂贵。
发明内容
本发明提供了一种基于知识蒸馏的中英机器翻译方法,以解决现有技术中因解曝光偏差问题带来的翻译偏差的问题。
本发明提供了一种基于知识蒸馏的中英机器翻译方法,包括如下步骤:
步骤1:获取中英平行语料,并对平行语料中的每个句子进行预处理;
步骤2:设置翻译模型的编码器包括:Transformer encoder编码器;解码器包括:Transformer decoder解码器和Future decoder解码器,在翻译模型中增加知识蒸馏法模块,将步骤1中获取的预处理后的平行语料作为翻译模型的输入信息进行翻译模型训练,翻译模型通过知识蒸馏法将两个解码器进行交互;
步骤3:翻译模型训练完成后,去除翻译模型中的Future decoder解码器、知识蒸馏法模块;
步骤4:运用步骤3获取的翻译模型进行中英翻译。
进一步地,所述Transformer encoder编码器的数学描述为:
其中,是源语言的词嵌入矩阵,X是源语言句子的one-hot矩阵,PX是源句子的位置编码,LayerNorm(·)是layer normalization函数,Et是第t个编码器的输出,EN为Transformer encoder的输出,N为Transformer encoder堆叠的编码器个数。
进一步地,所述Transformer decoder解码器的数学描述为:
其中,是目标语言的词嵌入矩阵,Y是目标语言句子的one-hot矩阵,PY是目标句子的位置编码,Dt是第t个解码器的输出,DN为Transformer decoder的输出,N为Transformer decoder堆叠的解码器个数。
进一步地,所述Future decoder解码器将当前待处理单词之前位置的单词进行屏蔽,所述Future decoder解码器的输出向量以与所述Transformer decoder解码器的输出向量相反顺序排序。
进一步地,翻译模型通过知识蒸馏法将两个解码器进行交互的具体方法如下:
当翻译模型训练完数组句子时,翻译模型通过知识蒸馏法将Future decoder解码器的损失函数反向传递至Transformer decoder解码器。
进一步地,所述步骤1中所述预处理方法为:对每个句子进行分词和字节对编码。
本发明的有益效果:
本发明利用知识蒸馏可以有效实现知识迁移的特点,提出一种基于知识蒸馏的中英机器翻译方法,该方法使用两个解码器分别学习当前词与前文的联系和当前词与后文的联系,并使用知识蒸馏作为两个解码器交互的桥梁,使模型有效习得前后信息与当前位置词的联系,增加译文的流畅度,避免译文出现搭配不当的错误。相较于传统的采用teacherforcing策略的模型训练方法,本方法可以使模型有效习得前后信息与当前位置词的联系,显著缓解曝光偏差问题。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为本发明具体实施例的方法架构图;
图2为本发明具体实施例中的两个解码器掩码方式的对比图;
图3为本发明具体实施例中的Transformer模型结构图;
图4为本发明具体实施例中的自注意力的计算图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于知识蒸馏的中英机器翻译方法,如图1-4所示,包括:
步骤1:从WMT18数据集官网获取中英平行语料,然后对每个句子进行预处理:分词和字节对编码。具体如下:从http://www.statmt.org/wmt14/下载中英新闻语料,使用Moses对英文句子进行分词和大小写转换,使用Standford Segmentor对中文句子进行分词。接着使用BPE-dropout算法将词分解成子词以降低词汇量。具体获得子词表的步骤是:1.准备语料,分解成最小单元比如英文中26个字母加上各种符号,这些作为初始词表;2.根据语料统计出现相邻符号对的频次;3.挑出频次最高符号对,比如说t和h组成的th,加入词表,训练语料中所有该相邻符号对融合(merge),这里即所有t和h都变成th;4.重复2和3操作,直到词表中单词数达到设定量,比如32000。
BPE-dropout在BPE算法的基础上加入了一定的随机性。具体在每次对训练数据进行处理分词时,设定一定概率(如10%)让一些融合不通过,于是即使是相同词,每次用BPE-dropout生成出来的子词也都不一样。使用谷歌的sentence piece工具包实现对词的BPE-dropout处理。
步骤2:将经过预处理的语料输入到翻译模型进行训练,翻译模型的编码器为Transformer encoder,解码器为Transformer decoder和Future decoder,通过知识蒸馏技术将Future decoder学习的知识迁移至Transformer decoder,使模型有效习得前后信息与当前位置词的联系,具体如下:
步骤2.1:Transformer encoder:如图3所示,Transformer encoder端由N个相同的大模块(本实施例中取为6)堆叠而成,其中每个模块又由两个模块构成,这两个模块分别为多头自注意力模块和前馈神经网络模块。第一个大模块接收的输入是Input Embedding,其余大模块接收的前一个大模块的输出,最后一个大模块的输出作为整个编码器的输出。自注意力在整个Transformer结构中是最重要的结构单元,如图4所示,整个计算过程围绕着一个公式展开:
其中,K、Q、V三个向量是在训练过程中通过词向量与三个不同的权重矩阵分别相乘得到的。注意力函数可以描述为将查询和一组键值对映射到输出,其中query,key,value和output都是向量。
每一个encoder层的计算过程如下:
首先计算将输入词嵌入向量X=(x1,...,xn)r与位置编码T=(t1,...,tn)T相加得到加入位置信息的词嵌入X=(x1+t1,...,xn+tn)T供后续使用;
最后计算自注意力和多头自注意力,进行残差连接和层标准化。
步骤2.2:Transformer decoder:如图3所示,Transformer decoder端同样由N个相同的大模块(这里取为6)堆叠而成,其中每个大模块又由三个模块构成,这三个模块分别为多头自注意力模块,编码器-解码器交互模块和前馈神经网络模块。
步骤2.3:Future decoder:Future decoder与Transformer decoder基本一致,也是由多头自注意力模块,编码器-解码器交互模块和前馈神经网络模块构成。两者唯一的区别是多头自注意力的掩码方式:Transformer decoder采用如图2(a)所示的掩码方式,在生成第i个位置的单词时,屏蔽矩阵对单词进行屏蔽;而Future decoder采用如图2(b)所示的掩码方式,在生成第i个位置的单词时,屏蔽矩阵对单词进行屏蔽。
为了使两个解码器(Transformer decoder和Future decoder)在训练期间相互作用以及测试期间压缩模型,通过知识蒸馏将Future decoder学到的信息传递到Transformer decoder。知识蒸馏的损失函数为
其中|V|是目标词表的大小。总的训练损失为:
L=L2+λL1+(1-λ)L3
本实施例将λ设置为0.5。不同于传统的知识蒸馏方式,本实施例从头开始训练所有的参数,但在知识蒸馏过程中仍然保持Future decoder不变。具体来说,只通过L2向Future decoder反向传播梯度,而不是通过L3。
步骤3:翻译模型训练完成后,Transformer decoder已经通过知识蒸馏习得来自Future decoder的知识,为了降低计算成本,提升实际使用时的解码速度,去除模型中的Future decoder模块、知识蒸馏模块;
步骤4:运用步骤3获取的翻译模型进行中英翻译。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (6)
1.一种基于知识蒸馏的中英机器翻译方法,其特征在于,包括如下步骤:
步骤1:获取中英平行语料,并对平行语料中的每个句子进行预处理;
步骤2:设置翻译模型的编码器包括:Transformer encoder编码器;解码器包括:Transformer decoder解码器和Future decoder解码器,在翻译模型中增加知识蒸馏法模块,将步骤1中获取的预处理后的平行语料作为翻译模型的输入信息进行翻译模型训练,翻译模型通过知识蒸馏法将两个解码器进行交互;
步骤3:翻译模型训练完成后,去除翻译模型中的Future decoder解码器、知识蒸馏法模块;
步骤4:运用步骤3获取的翻译模型进行中英翻译。
4.如权利要求1所述的基于知识蒸馏的中英机器翻译方法,其特征在于,所述Futuredecoder解码器将当前待处理单词之前位置的单词进行屏蔽,所述Future decoder解码器的输出向量以与所述Transformer decoder解码器的输出向量相反顺序排序。
5.如权利要求1或4所述的基于知识蒸馏的中英机器翻译方法,其特征在于,翻译模型通过知识蒸馏法将两个解码器进行交互的具体方法如下:
当翻译模型训练完数组句子时,翻译模型通过知识蒸馏法将Future decoder解码器的损失函数反向传递至Transformer decoder解码器。
6.如权利要求1所述的基于知识蒸馏的中英机器翻译方法,其特征在于,所述步骤1中所述预处理方法为:对每个句子进行分词和字节对编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210500736.XA CN115034236A (zh) | 2022-05-09 | 2022-05-09 | 一种基于知识蒸馏的中英机器翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210500736.XA CN115034236A (zh) | 2022-05-09 | 2022-05-09 | 一种基于知识蒸馏的中英机器翻译方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115034236A true CN115034236A (zh) | 2022-09-09 |
Family
ID=83119607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210500736.XA Pending CN115034236A (zh) | 2022-05-09 | 2022-05-09 | 一种基于知识蒸馏的中英机器翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115034236A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392269A (zh) * | 2022-10-31 | 2022-11-25 | 南京万得资讯科技有限公司 | 一种基于多套语料库的机器翻译模型蒸馏方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991195A (zh) * | 2019-12-13 | 2020-04-10 | 北京小米智能科技有限公司 | 机器翻译模型训练方法、装置及存储介质 |
CN113609863A (zh) * | 2021-02-04 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种训练、使用数据转换模型的方法、装置及计算机设备 |
CN113822078A (zh) * | 2021-08-20 | 2021-12-21 | 北京中科凡语科技有限公司 | 融合xlm-r模型的机器翻译模型的训练方法 |
-
2022
- 2022-05-09 CN CN202210500736.XA patent/CN115034236A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991195A (zh) * | 2019-12-13 | 2020-04-10 | 北京小米智能科技有限公司 | 机器翻译模型训练方法、装置及存储介质 |
US20210182733A1 (en) * | 2019-12-13 | 2021-06-17 | Beijing Xiaomi Intelligent Technology Co., Ltd. | Training method and device for machine translation model and storage medium |
CN113609863A (zh) * | 2021-02-04 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种训练、使用数据转换模型的方法、装置及计算机设备 |
CN113822078A (zh) * | 2021-08-20 | 2021-12-21 | 北京中科凡语科技有限公司 | 融合xlm-r模型的机器翻译模型的训练方法 |
Non-Patent Citations (1)
Title |
---|
冯洋;邵晨泽;: "神经机器翻译前沿综述", 中文信息学报, no. 07, 15 July 2020 (2020-07-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392269A (zh) * | 2022-10-31 | 2022-11-25 | 南京万得资讯科技有限公司 | 一种基于多套语料库的机器翻译模型蒸馏方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767718B (zh) | 一种基于弱化语法错误特征表示的中文语法错误更正方法 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN114757182A (zh) | 一种改进训练方式的bert短文本情感分析方法 | |
CN113468895B (zh) | 一种基于解码器输入增强的非自回归神经机器翻译方法 | |
CN115438154A (zh) | 基于表征学习的中文自动语音识别文本修复方法及系统 | |
CN112417092A (zh) | 基于深度学习的智能化文本自动生成系统及其实现方法 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN115658898A (zh) | 一种中英文本实体关系抽取方法、系统及设备 | |
CN115719072A (zh) | 一种基于掩码机制的篇章级神经机器翻译方法及系统 | |
CN112434686A (zh) | 针对ocr图片的端到端含错文本分类识别仪 | |
CN115496072A (zh) | 一种基于对比学习的关系抽取方法 | |
CN114238649B (zh) | 一种常识概念增强的语言模型预训练方法 | |
CN110298046B (zh) | 一种翻译模型训练方法、文本翻译方法及相关装置 | |
CN111428518B (zh) | 一种低频词翻译方法及装置 | |
CN115034236A (zh) | 一种基于知识蒸馏的中英机器翻译方法 | |
CN114548053A (zh) | 一种基于编辑方法的文本对比学习纠错系统、方法及装置 | |
CN113657125B (zh) | 一种基于知识图谱的蒙汉非自回归机器翻译方法 | |
CN112580370B (zh) | 一种融合语义知识的蒙汉神经机器翻译方法 | |
CN114595700A (zh) | 融合零代词与篇章信息的汉越神经机器翻译方法 | |
CN116562275B (zh) | 一种结合实体属性图的自动文本摘要方法 | |
CN117251562A (zh) | 一种基于事实一致性增强的文本摘要生成方法 | |
CN112380882A (zh) | 一种具有误差修正功能的蒙汉神经机器翻译方法 | |
CN115860015B (zh) | 一种基于翻译记忆的转写文本翻译方法和计算机设备 | |
CN115129826B (zh) | 电力领域模型预训练方法、精调方法、装置及设备 | |
WO2023108981A1 (zh) | 文本生成模型的训练方法、装置、存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |