Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
db111f77
Commit
db111f77
authored
Dec 16, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wording (sec 16)
parent
4dc96dab
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
6 行增加
和
6 行删除
+6
-6
Chapter16/chapter16.tex
+6
-6
没有找到文件。
Chapter16/chapter16.tex
查看文件 @
db111f77
...
...
@@ -215,7 +215,7 @@
\parinterval
因此,一些做法将预训练模型和翻译模型进行融合,将预训练模型作为一个独立的模块来为编码器或者解码器提供句子级表示信息
\upcite
{
DBLP:journals/corr/abs-2002-06823,DBLP:conf/aaai/YangW0Z00020
}
。另外一种做法是针对生成任务进行预训练。机器翻译是一种典型的语言生成任务,不仅包含源语言表示学习的问题,还有序列到序列的映射,以及目标端序列生成的问题,这些知识是无法单独通过(源语言)单语数据学习到的。因此,可以使用单语数据对编码器-解码器结构进行预训练
\upcite
{
song2019mass,DBLP:conf/acl/LewisLGGMLSZ20,DBLP:conf/emnlp/QiYGLDCZ020
}
。
\parinterval
以
{
\small\bfnew
{
掩码端到端预训练
}}
(M
Asked Sequence to Sequence p
re-training,MASS)
\index
{
掩码端到端预训练
}
\index
{
MASS
}
方法为例
\upcite
{
song2019mass
}
,其思想与BERT十分相似,也是在预训练过程中采用掩码的方式,随机选择编码器输入句子中的连续片段替换为特殊词[Mask],然后在解码器端预测这个连续片段,如图
\ref
{
fig:16-7
}
所示。这种做法可以使得编码器端捕捉上下文信息,同时迫使解码器依赖于编码器进行自回归地生成,从而学习到编码器和解码器之间的注意力。为了适配下游的机器翻译任务,使预训练模型可以学习到不同语言的表示,MASS对不同语言的句子采用共享词汇表和模型参数的方法,利用同一个预训练模型来进行不同语言句子的预训练。通过这种方式,模型既学到了对源语言句子的编码,也学习到了对目标语言句子的生成方法,之后通过使用双语句对来对预训练模型的参数进行微调,模型可以快速收敛到较好的水平。
\parinterval
以
{
\small\bfnew
{
掩码端到端预训练
}}
(M
asked Sequence to Sequence P
re-training,MASS)
\index
{
掩码端到端预训练
}
\index
{
MASS
}
方法为例
\upcite
{
song2019mass
}
,其思想与BERT十分相似,也是在预训练过程中采用掩码的方式,随机选择编码器输入句子中的连续片段替换为特殊词[Mask],然后在解码器端预测这个连续片段,如图
\ref
{
fig:16-7
}
所示。这种做法可以使得编码器端捕捉上下文信息,同时迫使解码器依赖于编码器进行自回归地生成,从而学习到编码器和解码器之间的注意力。为了适配下游的机器翻译任务,使预训练模型可以学习到不同语言的表示,MASS对不同语言的句子采用共享词汇表和模型参数的方法,利用同一个预训练模型来进行不同语言句子的预训练。通过这种方式,模型既学到了对源语言句子的编码,也学习到了对目标语言句子的生成方法,之后通过使用双语句对来对预训练模型的参数进行微调,模型可以快速收敛到较好的水平。
%----------------------------------------------
\begin{figure}
[htp]
...
...
@@ -418,7 +418,7 @@
\subsection
{
基于知识蒸馏的方法
}
\parinterval
为了解决基于枢轴语言的方法的问题,研究人员提出基于知识蒸馏的方法
\upcite
{
DBLP:conf/acl/ChenLCL17,DBLP:conf/iclr/TanRHQZL19
}
。知识蒸馏是一种常用的模型压缩方法
\upcite
{
Hinton2015Distilling
}
,基于教师-学生框架,在第十三章已经进行了详细介绍。针对稀缺资源任务,基于教师-学生框架的方法基本思想如图
\ref
{
fig:16-13
}
所示。其中,虚线表示具有平行语料库的语言对,带有箭头的实线表示翻译方向。这里,将枢轴语言(
$
\seq
{
p
}$
)到目标语言(
$
\seq
{
y
}$
)的翻译模型
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
$
当作教师模型,源语言(
$
\seq
{
x
}$
)到目标语言(
$
\seq
{
y
}$
)的翻译模型
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
当作学生模型。然后,用教师模型来指导学生模型的训练,这个过程中学习的目标就是让
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
尽可能
地
接近
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
$
,这样学生模型就可以学习到源语言到目标语言的翻译知识。
\parinterval
为了解决基于枢轴语言的方法的问题,研究人员提出基于知识蒸馏的方法
\upcite
{
DBLP:conf/acl/ChenLCL17,DBLP:conf/iclr/TanRHQZL19
}
。知识蒸馏是一种常用的模型压缩方法
\upcite
{
Hinton2015Distilling
}
,基于教师-学生框架,在第十三章已经进行了详细介绍。针对稀缺资源任务,基于教师-学生框架的方法基本思想如图
\ref
{
fig:16-13
}
所示。其中,虚线表示具有平行语料库的语言对,带有箭头的实线表示翻译方向。这里,将枢轴语言(
$
\seq
{
p
}$
)到目标语言(
$
\seq
{
y
}$
)的翻译模型
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
$
当作教师模型,源语言(
$
\seq
{
x
}$
)到目标语言(
$
\seq
{
y
}$
)的翻译模型
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
当作学生模型。然后,用教师模型来指导学生模型的训练,这个过程中学习的目标就是让
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
尽可能接近
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
$
,这样学生模型就可以学习到源语言到目标语言的翻译知识。
%----------------------------------------------
\begin{figure}
[h]
\centering
...
...
@@ -428,7 +428,7 @@
\end{figure}
%----------------------------------------------
\parinterval
需要注意的是,基于知识蒸馏的方法
需要基于翻译对等假设,该假设为:如果源语言句子
$
\seq
{
x
}$
、枢轴语言句子
$
\seq
{
p
}$
和目标语言句子
$
\seq
{
y
}$
这三个句子互译,则从源语言句子
$
\seq
{
x
}$
生成目标语言句子
$
\seq
{
y
}$
的概率
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
应接近从枢轴语言句子
$
\seq
{
p
}$
生成目标语言句子
$
\seq
{
y
}$
的概率
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
$
,即:
\parinterval
需要注意的是,基于知识蒸馏的方法
基于一个假设:如果源语言句子
$
\seq
{
x
}$
、枢轴语言句子
$
\seq
{
p
}$
和目标语言句子
$
\seq
{
y
}$
这三者互译,则
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
$
应接近
$
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
$
,即:
\begin{eqnarray}
{
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
x
}
)
}
&
\approx
&
{
\funp
{
P
}
(
\seq
{
y
}
|
\seq
{
p
}
)
}
...
...
@@ -437,7 +437,7 @@
\parinterval
和基于枢轴语言的方法相比,基于教师-学生框架的方法无需训练源语言到枢轴语言的翻译模型,也就无需经历两次翻译过程,翻译效率有所提升,又避免了两次翻译所面临的错误传播问题。举个例子,假设图
\ref
{
fig:16-13
}
中
$
\seq
{
x
}$
为源语言德语 “hallo”,
$
\seq
{
p
}$
为中间语言英语 “hello”,
$
\seq
{
y
}$
为目标语言法语“bonjour”,则德语“hallo”翻译为法语“bonjour”的概率应该与英语“hello”翻译为法语“bonjour”的概率相近。
\parinterval
相较于基于枢轴语言的方法,基于知识蒸馏的方法无论在性能还是效率上都具有一定优势。但是,它
仍然需要显性的使用枢轴语言进行桥接,因此仍然面临着“源语言
$
\to
$
枢轴语言
$
\to
$
目标语言”转换中信息丢失的问题。比如,当枢轴语言到目标语言翻译效果较差时,由于教师模型无法提供准确的指导,学生模型也无法取得很好的学习效果。
\parinterval
不过,基于知识蒸馏的方法
仍然需要显性的使用枢轴语言进行桥接,因此仍然面临着“源语言
$
\to
$
枢轴语言
$
\to
$
目标语言”转换中信息丢失的问题。比如,当枢轴语言到目标语言翻译效果较差时,由于教师模型无法提供准确的指导,学生模型也无法取得很好的学习效果。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
@@ -445,7 +445,7 @@
\subsection
{
基于迁移学习的方法
}
\parinterval
{
\small\bfnew
{
迁移学习
}}
\index
{
迁移学习
}
(Transfer Learning)
\index
{
Transfer Learning
}
是一种机器学习的方法,指的是一个预训练的模型被重新用在另一个任务中,而并不是从头训练一个新的模型
\upcite
{
DBLP:conf/ijcnlp/Costa-JussaHB11,DBLP:journals/corr/HintonVD15
}
。迁移学习的目标是将某个领域或任务上学习到的知识应用到不同但相关的领域或问题中。在机器翻译中,可以用
资源丰富的语言对中的知识来改进稀缺资源语言对上的神经机器翻译性能,即将富资源语言对中的知识迁移到稀缺资源知识
中。
\parinterval
{
\small\bfnew
{
迁移学习
}}
\index
{
迁移学习
}
(Transfer Learning)
\index
{
Transfer Learning
}
是一种机器学习的方法,指的是一个预训练的模型被重新用在另一个任务中,而并不是从头训练一个新的模型
\upcite
{
DBLP:conf/ijcnlp/Costa-JussaHB11,DBLP:journals/corr/HintonVD15
}
。迁移学习的目标是将某个领域或任务上学习到的知识应用到不同但相关的领域或问题中。在机器翻译中,可以用
富资源语言的知识来改进稀缺资源语言上的机器翻译性能,即将富资源语言中的知识迁移到稀缺资源语言
中。
\parinterval
基于枢轴语言的方法需要显性地建立“源语言
$
\to
$
枢轴语言
$
\to
$
目标语言”的路径。这时,如果路径中某处出现了问题,就会成为整个路径的瓶颈。如果使用多个枢轴语言,这个问题就会更加严重。不同于基于枢轴语言的方法,迁移学习无需进行两步解码,也就避免了翻译路径中累积错误的问题。
...
...
@@ -459,7 +459,7 @@
\end{figure}
%----------------------------------------------
\parinterval
在迁移学习中,所有任务的输出空间(词表)一样,但是服从不同的数据分布。
由于不同语言空间(词表)不一样,所以多语言任务本身并不是迁移学习问题,因此可以进行共享词表
,让所有语言使用同一个空间(词表)来使得多语言任务变成迁移学习问题。
\parinterval
在迁移学习中,所有任务的输出空间(词表)一样,但是服从不同的数据分布。
可以对词表进行共享
,让所有语言使用同一个空间(词表)来使得多语言任务变成迁移学习问题。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论