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
af51f0ce
Commit
af51f0ce
authored
Nov 29, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wording (sec 16, domain adaptation)
parent
5a5a3fef
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
37 行增加
和
30 行删除
+37
-30
Chapter16/chapter16.tex
+37
-30
没有找到文件。
Chapter16/chapter16.tex
查看文件 @
af51f0ce
...
...
@@ -835,23 +835,23 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\section
{
领域适应
}
\parinterval
机器翻译常常面临训练
数据与待翻译问题领域不一致的问题。不同领域的句子存在着很大的区别,比如口语领域的常用词和句子结构较为简单,而体育、化学等专业领域
的单词和句子结构较为复杂。此外,不同领域之间存在着较为严重的一词多义问题,即同一个词在不同领域中经常会有不同的含义,如图
\ref
{
fig:16-1-wbh
}
所示。
\parinterval
机器翻译常常面临训练
时与应用时所处领域不一致的问题,比如,在一个新闻类数据上训练的系统应用在翻译医学文献上。不同领域的句子通常存在着很大的区别,比如,日常用语的结构较为简单,而化学领域论文
的单词和句子结构较为复杂。此外,不同领域之间存在着较为严重的一词多义问题,即同一个词在不同领域中经常会有不同的含义,如图
\ref
{
fig:16-1-wbh
}
所示。
\begin{figure}
[h]
\centering
\includegraphics
[scale=3]
{
Chapter16/Figures/figure-the-meaning-of-pitch-in-different-fields.jpg
}
\caption
{
单词pitch(图里标红)在不同领域的不同词义实例
}
\caption
{
单词pitch(图里标红)在不同领域的不同词义实例
(
{
\color
{
red
}
这个是我们自己找的例子?如果不是,可以改造一下,或者引用论文!
}
)
}
\label
{
fig:16-1-wbh
}
\end{figure}
\parinterval
在机器翻译任务中,某些领域的双语数据相对容易获取,如新闻
或口语
等领域,所以机器翻译在这些领域上表现较佳。然而,即使在富资源语种上,化学、医学等专业领域的双语数据却十分有限。如果直接使用低资源领域的数据训练一个机器翻译模型,由于数据稀缺问题,会导致模型的性能较差
\upcite
{
DBLP:conf/iccv/SunSSG17
}
。混合多个领域的数据进行训练,不同领域的数据量不平衡会导致数据较少的领域训练不充分,模型容易忽略低资源领域的知识,使得在低资源领域上的翻译结果差强人意
\upcite
{
DBLP:conf/acl/DuhNST13
}
。
\parinterval
在机器翻译任务中,某些领域的双语数据相对容易获取,如新闻等领域,所以机器翻译在这些领域上表现较佳。然而,即使在富资源语种上,化学、医学等专业领域的双语数据却十分有限。如果直接使用低资源领域的数据训练一个机器翻译模型,由于数据稀缺问题,会导致模型的性能较差
\upcite
{
DBLP:conf/iccv/SunSSG17
}
。混合多个领域的数据进行训练,不同领域的数据量不平衡会导致数据较少的领域训练不充分,模型容易忽略低资源领域的知识,使得在低资源领域上的翻译结果差强人意
\upcite
{
DBLP:conf/acl/DuhNST13
}
。
\parinterval
{
\small\bfnew
{
领域适应
}}
(Domain Adaptation)方法是利用
{
\small\bfnew
{
其他领域
}}
(Source domain, 又称源领域)知识来改进
{
\small\bfnew
{
特定领域
}}
(Target domain, 又称目标领域
)翻译效果的方法,可以有效地减少模型对目标领域数据的依赖。领域适应主要从两个方向出发:
\parinterval
{
\small\bfnew
{
领域适应
}}
(Domain Adaptation)方法是利用
其他领域(Source Domain
\index
{
Source Domain
}
, 又称
{
\small\bfnew
{
源领域
}}
\index
{
源领域
}
)知识来改进特定领域(Target Domain
\index
{
Target Domain
}
, 又称
{
\small\bfnew
{
目标领域
}}
\index
{
目标领域
}
)翻译效果的方法,可以有效地减少模型对目标领域数据的依赖。领域适应主要从两个方向出发:
\begin{itemize}
\vspace
{
0.5em
}
\item
基于数据的方法。利用其它领域的双语数据或领域内单语数据进行数据选择或数据增强,来提升数据量。
\item
基于数据的方法。利用其它领域的双语数据或领域内单语数据进行数据选择或数据增强,来提升
(
{
\color
{
red
}
目标领域双语?
}
)
数据量。
\vspace
{
0.5em
}
\item
基于模型的方法。针对领域适应开发特定的模型结构或训练策略、推断方法。
...
...
@@ -867,7 +867,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsection
{
统计机器翻译中的领域适应
}
\parinterval
统计机器翻译的领域适应通过增加目标领域的数据量或设计特定的模型,使得模型生成更符合目标领域风格的翻译结果。方法
可以分为基于混合模型的方法
\upcite
{
DBLP:conf/wmt/FosterK07,DBLP:conf/iwslt/BisazzaRF11,niehues2012detailed,DBLP:conf/acl/SennrichSA13,joty2015using,imamura2016multi
}
、基于数据加权的方法
\upcite
{
DBLP:conf/emnlp/MatsoukasRZ09,DBLP:conf/emnlp/FosterGK10,shah2012general,DBLP:conf/iwslt/MansourN12,DBLP:conf/cncl/ZhouCZ15
}
、基于数据选择的方法
\upcite
{
DBLP:conf/lrec/EckVW04,DBLP:conf/coling/ZhaoEV04,DBLP:conf/acl/MooreL10,DBLP:conf/acl/DuhNST13,DBLP:conf/coling/HoangS14,joty2015using,chen2016bilingual
}
和基于伪数据的方法
\upcite
{
DBLP:conf/iwslt/Ueffing06,DBLP:conf/coling/WuWZ08,DBLP:conf/iwslt/Schwenk08,DBLP:conf/wmt/BertoldiF09,DBLP:conf/wmt/LambertSSA11
}
。
\parinterval
在统计机器翻译中,领域适应
可以分为基于混合模型的方法
\upcite
{
DBLP:conf/wmt/FosterK07,DBLP:conf/iwslt/BisazzaRF11,niehues2012detailed,DBLP:conf/acl/SennrichSA13,joty2015using,imamura2016multi
}
、基于数据加权的方法
\upcite
{
DBLP:conf/emnlp/MatsoukasRZ09,DBLP:conf/emnlp/FosterGK10,shah2012general,DBLP:conf/iwslt/MansourN12,DBLP:conf/cncl/ZhouCZ15
}
、基于数据选择的方法
\upcite
{
DBLP:conf/lrec/EckVW04,DBLP:conf/coling/ZhaoEV04,DBLP:conf/acl/MooreL10,DBLP:conf/acl/DuhNST13,DBLP:conf/coling/HoangS14,joty2015using,chen2016bilingual
}
和基于伪数据的方法
\upcite
{
DBLP:conf/iwslt/Ueffing06,DBLP:conf/coling/WuWZ08,DBLP:conf/iwslt/Schwenk08,DBLP:conf/wmt/BertoldiF09,DBLP:conf/wmt/LambertSSA11
}
。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -891,7 +891,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\item
对不同的领域使用调整出的最佳权重,加权整合多个子模型的输出。
\vspace
{
0.5em
}
\end{itemize}
\parinterval
混合模型方法把统计机器翻译的每个模块分为多个模型同时解决问题,有权重地组合多个模型的结果
,对之后神经机器翻译中的模型融合、加权推断等方法有一定的启发
。
\parinterval
混合模型方法把统计机器翻译的每个模块分为多个模型同时解决问题,有权重地组合多个模型的结果
。这个想法对后来出现的神经机器翻译中的模型融合、加权推断等方法有一定的启发(见
{
\chapterfourteen
}
)
。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -899,9 +899,9 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
2. 基于数据加权的方法
}
\parinterval
在真实场景中,
针对每个领域单独训练一个机器翻译模型是不现实的。所以,通常的策略是训练单个机器翻译模型来支持多领域的翻译。虽然混合多个领域的数据可以有效增加训练数据规模,但正如前面所说,由于各个领域样本的数据量不平衡,在训练数据稀缺的领域上,模型表现往往差强人意。一种思路认为,数据量较少的领域数据具有更大的学习价值,可以提供较为珍贵的知识和信息,应该在训练过程中获得更大的权重。数据加权方法使用规则或统计方法对每个实例或领域进行评分,作为它们的权重,然后赋予每个实例
或领域不同的权重来训练统计机器翻译模型。一般来说,数据量较少的领域数据权重更高,从而使这些更有价值的数据发挥出更大的作用
\upcite
{
DBLP:conf/emnlp/MatsoukasRZ09,DBLP:conf/emnlp/FosterGK10
}
。
\parinterval
在真实场景中,
由于每个领域的数据量有限,同时领域数量较多,针对每个领域单独训练一个机器翻译模型是不现实的。所以,通常的策略是训练一个机器翻译模型来支持多领域的翻译。虽然混合多个领域的数据可以有效增加训练数据规模,但正如前面所说,由于各个领域样本的数据量不平衡,在训练数据稀缺的领域上,模型表现往往差强人意。一种观点认为,数据量较少的领域数据具有更大的学习价值,可以提供较为珍贵的知识和信息,应该在训练过程中获得更大的权重。数据加权方法使用规则或统计方法对每个实例或领域进行评分,作为它们的权重,然后赋予每个样本
或领域不同的权重来训练统计机器翻译模型。一般来说,数据量较少的领域数据权重更高,从而使这些更有价值的数据发挥出更大的作用
\upcite
{
DBLP:conf/emnlp/MatsoukasRZ09,DBLP:conf/emnlp/FosterGK10
}
。
\parinterval
另一种加权
方法是通过数据重新采样对语料库进行加权
\upcite
{
DBLP:conf/wmt/ShahBS10,rousseau2011lium
}
。语料库加权方法通过构建目标领域语言模型,比较各个语料库与目标领域的相似性,赋予相似的语料库更高的权重。
\parinterval
上述思想本质上在解决
{
\small\bfnew
{
类别不均衡问题
}}
\index
{
类别不均衡问题
}
(Class Imbalance Problem
\index
{
Class Imbalance Problem
}
)(
{
\color
{
red
}
引用朱老师EMNLP的论文,应该是07 年
}
)。另一种
方法是通过数据重新采样对语料库进行加权
\upcite
{
DBLP:conf/wmt/ShahBS10,rousseau2011lium
}
。语料库加权方法通过构建目标领域语言模型,比较各个语料库与目标领域的相似性,赋予相似的语料库更高的权重。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -909,7 +909,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
3. 基于数据选择的方法
}
\parinterval
源领域大规模的双语数据中通常会包含一些和目标领域相似的句子,基于数据选择的
基本思想是通过相似度函数选择出与目标领域相似的源领域数据,再把选择出的源领域数据与原始目标领域数据混合训练模型,增加目标领域的双语数据规模,从而提高模型在目标领域的性能。相似度可以通过语言模型
\upcite
{
DBLP:conf/lrec/EckVW04,DBLP:conf/coling/ZhaoEV04,moore2010intelligent,DBLP:conf/acl/DuhNST13
}
、联合模型
\upcite
{
DBLP:conf/coling/HoangS14,joty2015using
}
、卷积神经网络
\upcite
{
chen2016bilingual
}
等方法进行计算。
\parinterval
源领域大规模的双语数据中通常会包含一些和目标领域相似的句子,基于数据选择的
方法通过相似度函数选择出与目标领域相似的源领域数据,再把选择出的源领域数据与原始目标领域数据混合训练模型,增加目标领域的双语数据规模,从而提高模型在目标领域的性能。相似度可以通过语言模型
\upcite
{
DBLP:conf/lrec/EckVW04,DBLP:conf/coling/ZhaoEV04,moore2010intelligent,DBLP:conf/acl/DuhNST13
}
、 多模型联合
\upcite
{
DBLP:conf/coling/HoangS14,joty2015using
}
、卷积神经网络
\upcite
{
chen2016bilingual
}
等方法进行计算。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -917,17 +917,17 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
4. 基于伪数据的方法
}
\parinterval
数据选择方法可以从源领域中选择出和目标领域相似的训练数据,但可用的数据量是较为有限的。因此,另外一种思路是对现有的双语数据进行修改或通过单语数据生成伪数据来增加数据量。常用方法包括通过信息检索
\upcite
{
DBLP:conf/acl/UtiyamaI03
}
、平行词嵌入
\upcite
{
DBLP:conf/acl/MarieF17
}
等方法生成一些伪平行句对或
单语n元模型
\upcite
{
DBLP:conf/emnlp/WangZLUS14
}
、平行短语对
\upcite
{
DBLP:conf/coling/WangZLUS16,chu2015integrated
}
来增加可使用的伪双语数据。统计机器翻译可以有效地利用n元模型或
平行短语对来提高模型性能。
\parinterval
数据选择方法可以从源领域中选择出和目标领域相似的训练数据,但可用的数据量是较为有限的。因此,另外一种思路是对现有的双语数据进行修改或通过单语数据生成伪数据来增加数据量。常用方法包括通过信息检索
\upcite
{
DBLP:conf/acl/UtiyamaI03
}
、平行词嵌入
\upcite
{
DBLP:conf/acl/MarieF17
}
等方法生成一些伪平行句对或
平行短语对
\upcite
{
DBLP:conf/coling/WangZLUS16,chu2015integrated
}
来增加可使用的伪双语数据。统计机器翻译可以有效地利用
平行短语对来提高模型性能。
\parinterval
其中,
{
\small\bfnew
{
自学习
}}
(
s
elf-training)是一种具有代表性的生成伪数据的方法
\upcite
{
DBLP:journals/tit/Scudder65a
}
。自学习通过源领域的双语训练数据训练一个基准翻译系统,然后对目标领域的单语数据进行翻译,再从翻译候选集合中选择高质量的译文和源语言句子组合成为双语句对,之后将其加入到训练数据中重新训练翻译系统,该过程将一直迭代到翻译性能稳定为止
\upcite
{
DBLP:conf/iwslt/Ueffing06
}
。基于自学习的统计机器翻译可以从一个性能较好的源领域机器翻译模型出发,逐步引入目标领域的知识,可以显著提高目标领域的翻译性能。
\parinterval
其中,
{
\small\bfnew
{
自学习
}}
(
S
elf-training)是一种具有代表性的生成伪数据的方法
\upcite
{
DBLP:journals/tit/Scudder65a
}
。自学习通过源领域的双语训练数据训练一个基准翻译系统,然后对目标领域的单语数据进行翻译,再从翻译候选集合中选择高质量的译文和源语言句子组合成为双语句对,之后将其加入到训练数据中重新训练翻译系统,该过程将一直迭代到翻译性能稳定为止
\upcite
{
DBLP:conf/iwslt/Ueffing06
}
。基于自学习的统计机器翻译可以从一个性能较好的源领域机器翻译模型出发,逐步引入目标领域的知识,可以显著提高目标领域的翻译性能。
\parinterval
随着神经机器翻译的不断发展,许多基于神经网络的领域适应方法也被提出
\upcite
{
DBLP:conf/coling/ChuW18
}
,其核心思想仍和统计机器翻译时期相似,也是从数据角度和模型角度两方面进行改进。不同之处在于,统计机器翻译模型是多个独立模型的组合,而神经机器翻译是一个整体的模型,因此统计机器翻译
的模型
方法不能直接应用于神经机器翻译。
\parinterval
随着神经机器翻译的不断发展,许多基于神经网络的领域适应方法也被提出
\upcite
{
DBLP:conf/coling/ChuW18
}
,其核心思想仍和统计机器翻译时期相似,也是从数据角度和模型角度两方面进行改进。不同之处在于,统计机器翻译模型是多个独立模型的组合,而神经机器翻译是一个整体的模型,因此统计机器翻译
中基于模型的
方法不能直接应用于神经机器翻译。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subsection
{
神经机器翻译中的数据方法
}
\subsection
{
基于数据的神经机器翻译领域适应
}
\parinterval
增加训练数据是解决低资源领域性能较差问题的一个主要思路。受统计机器翻译时代技术的启发,可以通过类似的思想来增加神经机器翻译的训练数据量。下面分别介绍基于多领域数据的方法、基于数据选择的方法和基于单语数据的方法。
...
...
@@ -937,9 +937,9 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
1. 基于多领域数据的方法
}
\parinterval
一种简单的思路是利用其他领域的数据来辅助低资源领域训练,即基于多领域数据的领域适应
\upcite
{
chu2017empirical,DBLP:journals/corr/abs-1708-08712,DBLP:conf/acl/WangTNYCP20,DBLP:conf/acl/JiangLWZ20
}
。实际上,多领域建模也可以看作是一种多语言建模问题(
\ref
{
multilingual-translation-model
}
节)。通过借助其他相似领域的训练数据,可以缓解目标领域数据缺乏的问题。比如,想要训练网络小说领域的翻译系统,可以通过加入文学、字幕等领域的翻译数据来增加数据量。
\parinterval
一种简单的思路是利用其他领域的数据来辅助低资源领域
上的模型
训练,即基于多领域数据的领域适应
\upcite
{
chu2017empirical,DBLP:journals/corr/abs-1708-08712,DBLP:conf/acl/WangTNYCP20,DBLP:conf/acl/JiangLWZ20
}
。实际上,多领域建模也可以看作是一种多语言建模问题(
\ref
{
multilingual-translation-model
}
节)。通过借助其他相似领域的训练数据,可以缓解目标领域数据缺乏的问题。比如,想要训练网络小说领域的翻译系统,可以通过加入文学、字幕等领域的翻译数据来增加数据量。
\parinterval
但在神经机器翻译中,多领域数据不平衡问题也会导致数据量较少的领域训练不充分,
从而翻译性能较差。目前比较常用的多领域数据方法是在数据中加入标签来提高神经机器翻译模型对不同领域的辨别
\upcite
{
DBLP:conf/acl/ChuDK17
}
,该方法主要通过两种策略来缓解领域不平衡问题:
\parinterval
但在神经机器翻译中,多领域数据不平衡问题也会导致数据量较少的领域训练不充分,
带来较低的翻译品质。目前比较常用的多领域数据方法是在数据中加入标签来提高神经机器翻译模型对不同领域的区分能力
\upcite
{
DBLP:conf/acl/ChuDK17
}
,该方法主要通过两种策略来缓解领域不平衡问题:
\begin{itemize}
\vspace
{
0.5em
}
...
...
@@ -978,16 +978,16 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
% NEW SUB-SECTION
%----------------------------------------------------------------------------------------
\subsection
{
神经机器翻译中的模型方法
}
\label
{
modeling-methods-in neural-machine-translation
}
\subsection
{
基于模型的神经机器翻译领域适应
}
\label
{
modeling-methods-in neural-machine-translation
}
\parinterval
一个神经机器翻译模型的实现分为三个组成部分:设计神经网络模型结构、制定训练策略训练模型、模型推断生成翻译结果。因此,
一个自然的想法是在这三个步骤中对领域适应问题进行研究
:
\parinterval
一个神经机器翻译模型的实现分为三个组成部分:设计神经网络模型结构、制定训练策略训练模型、模型推断生成翻译结果。因此,
领域适应也可以体现在这三个步骤中
:
\begin{itemize}
\vspace
{
0.5em
}
\item
基于模型结构的方法,设计一个更适用于领域适应问题的模型结构
\upcite
{
2015OnGulcehre,2019Non,britz2017effective,DBLP:conf/ranlp/KobusCS17
}
。
\vspace
{
0.5em
}
\item
基于训练策略的方法,制定能够更好利用多领域数据的训练方法
\upcite
{
DBLP:conf/emnlp/WangULCS17,DBLP:conf/aclnmt/ChenCFL17,DBLP:journals/corr/abs-1906-03129,dakwale2017finetuning,chu2015integrated,DBLP:conf/emnlp/ZengLSGLYL19,barone2017regularization,DBLP:conf/acl/SaundersB20,DBLP:conf/acl/LewisLGGMLSZ20
}
。
\item
基于训练策略的方法,制定能够更好利用多领域数据的训练方法
\upcite
{
DBLP:conf/emnlp/WangULCS17,DBLP:conf/aclnmt/ChenCFL17,DBLP:journals/corr/abs-1906-03129,dakwale2017finetuning,chu2015integrated,DBLP:conf/emnlp/ZengLSGLYL19,barone2017regularization,DBLP:conf/acl/SaundersB20,DBLP:conf/acl/LewisLGGMLSZ20
}
。
(
{
\color
{
red
}
引用的文献太多了,因为后面还会说,这里引用经典的就行,控制在2-4个就行
}
)
\vspace
{
0.5em
}
\item
基于模型推断的方法,生成更符合目标适应领域的翻译结果
\upcite
{
DBLP:conf/emnlp/DouWHN19,khayrallah2017neural,DBLP:journals/corr/FreitagA16,DBLP:conf/acl/SaundersSGB19
}
。
...
...
@@ -1001,9 +1001,9 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
1. 基于模型结构的方法
}
\parinterval
统计机器翻译时代基于模型结构的方法集中在提升词对齐模型、语言模型等子模型的领域适应性,从而提升统计机器翻译模型在特定领域的表现。而神经机器翻译模型是一个端到端的框架,
无法像统计机器翻译一样从增强子模型适应性的角度开展工作
。
\parinterval
统计机器翻译时代基于模型结构的方法集中在提升词对齐模型、语言模型等子模型的领域适应性,从而提升统计机器翻译模型在特定领域的表现。而神经机器翻译模型是一个端到端的框架,
因此对模型的调整往往体现在整体结构上
。
\parinterval
在使用多领域数据时,神经机器翻译的结构无法有效地利用多领域语料库的信息多样性,混合多个相差较大的领域数据进行训练会使单个领域的翻译性能下降
。为了解决这一问题,一个比较典型的做法是在使用多领域数据训练时,如图
\ref
{
fig:16-2-wbh
}
所示,在神经机器翻译模型的编码器中添加一个判别器,使用判别器预测输入句子的领域
\upcite
{
DBLP:conf/wmt/BritzLP17
}
,具体的做法为:在编码器的顶部添加一个判别器网络,这个判别器使用源语言句子
$
x
$
的编码器表示
$
x'
$
作为输入,预测句子所属的领域标签
$
d
$
。为了使预测领域标签d的正确概率
$
\funp
{
P
(
d|H
)
}$
最大,模型在训练过程中最小化如式
\ref
{
eq:16-1-wbh
}
所示的判别器损失
$
\funp
{
L
}_{
\rm
{
disc
}}$
。
\parinterval
在使用多领域数据时,神经机器翻译的结构无法有效地利用多领域语料库的信息多样性,混合多个相差较大的领域数据进行训练会使单个领域的翻译性能下降
(
{
\color
{
red
}
参考文献!
}
)。为了解决这一问题,一个比较典型的做法是在使用多领域数据训练时,如图
\ref
{
fig:16-2-wbh
}
所示,在神经机器翻译模型的编码器中添加一个判别器,使用判别器预测输入句子的领域
\upcite
{
DBLP:conf/wmt/BritzLP17
}
,具体的做法为:在编码器的顶部添加一个判别器网络,这个判别器使用源语言句子
$
x
$
的编码器表示
$
x'
$
作为输入,预测句子所属的领域标签
$
d
$
。为了使预测领域标签d的正确概率
$
\funp
{
P
(
d|H
)
}$
最大,模型在训练过程中最小化如下损失函数
$
\funp
{
L
}_{
\rm
{
disc
}}$
。
\begin{figure}
[h]
\centering
...
...
@@ -1012,17 +1012,24 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\label
{
fig:16-2-wbh
}
\end{figure}
\begin{eqnarray}
\funp
{
L
}_{
\rm
{
disc
}}&
=
&
-log
\funp
{
P
}
(d|H)
\funp
{
L
}_{
\rm
{
disc
}}&
=
&
-
\
log\funp
{
P
}
(d|H)
\label
{
eq:16-1-wbh
}
\end{eqnarray}
\noindent
其中,
$
H
$
是编码器的隐藏状态。神经机器翻译模型同时优化对领域标签的预测和对翻译结果的预测,如公式
\ref
{
eq:16-2-wbh
}
和
\ref
{
eq:16-3-wbh
}
所示。这种方法使模型具备了识别不同领域数据的能力,从而可以针对不同领域进行特定的建模,生成符合领域特征的翻译结果。
\noindent
其中,
$
H
$
是编码器的隐藏状态。同时,原始的翻译模型损失为:
\begin{eqnarray}
\funp
{
L
}_{
\rm
{
gen
}}&
=
&
-
\log\funp
{
P
}
(y|x)
\label
{
eq:16-2-wbh
}
\end{eqnarray}
\noindent
神经机器翻译模型同时优化对领域标签的预测和对翻译结果的预测,如下:
\begin{eqnarray}
\funp
{
L
}_{
\rm
{
gen
}}&
=
&
-log
\funp
{
P
}
(y|x)
\label
{
eq:16-2-wbh
}
\\
\funp
{
L
}
&
=
&
\funp
{
L
}_{
\rm
{
disc
}}
+
\funp
{
L
}_{
\rm
{
gen
}}
\label
{
eq:16-3-wbh
}
\end{eqnarray}
\parinterval
此外,还可以利用词频-逆文档频率方法
\upcite
{
DBLP:journals/ibmrd/Luhn58
}
预测输入句子的领域标签,在词嵌入层加上领域特定的嵌入表示。还有一些对模型结构进行更改的工作在于融合语言模型到神经机器翻译模型中
\upcite
{
2015OnGulcehre,DBLP:conf/emnlp/DomhanH17
}
。
\parinterval
这种方法使模型具备了识别不同领域数据的能力,从而可以针对不同领域进行特定的建模,生成符合领域特征的翻译结果。
此外,还可以利用词频-逆文档频率方法
\upcite
{
DBLP:journals/ibmrd/Luhn58
}
预测输入句子的领域标签,在词嵌入层加上领域特定的嵌入表示。还有一些对模型结构进行更改的工作在于融合语言模型到神经机器翻译模型中
\upcite
{
2015OnGulcehre,DBLP:conf/emnlp/DomhanH17
}
。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -1032,13 +1039,13 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\parinterval
因为特定领域的训练数据通常十分稀缺,所以如何更充分地利用数据是一个重要问题。基于训练策略的领域适应方法是神经机器翻译中较为广泛使用的方法,具有易于实现、作用显著的优点
\upcite
{
DBLP:conf/naacl/SimianerWD19
}
。基于训练策略的领域适应方法是指在模型的训练阶段改变获得训练目标的过程,通过加权或者微调等方法更加高效地利用数据。
\parinterval
受到统计机器翻译
时代
数据加权方法的启发,一个简单的思路是给神经机器翻译的训练数据分配不同的训练权重,从而使和目标领域更相似数据发挥更大的作用,并减少不相似数据的干扰。一种常用的做法是通过目标领域内和领域外语言模型计算样本的权重
\upcite
{
DBLP:conf/emnlp/WangULCS17
}
。领域内语言模型对句子的打分越高,表示该句子与目标领域越相似,反之,领域外语言模型对句子的打分越高,表示该句子可能与目标领域无关,会对训练过程造成一些干扰。
\parinterval
受到统计机器翻译
中
数据加权方法的启发,一个简单的思路是给神经机器翻译的训练数据分配不同的训练权重,从而使和目标领域更相似数据发挥更大的作用,并减少不相似数据的干扰。一种常用的做法是通过目标领域内和领域外语言模型计算样本的权重
\upcite
{
DBLP:conf/emnlp/WangULCS17
}
。领域内语言模型对句子的打分越高,表示该句子与目标领域越相似,反之,领域外语言模型对句子的打分越高,表示该句子可能与目标领域无关,会对训练过程造成一些干扰。
\parinterval
与句子级别进行加权方法相似,加权思想还可以应用在词级别,即对每个词进行权重评分,对目标领域中的词赋予更高的权重,以使模型倾向于生成更多目标领域的词
\upcite
{
DBLP:journals/corr/abs-1906-03129
}
。
\parinterval
数据选择方法会降低训练数据的数据量,而在数据量较少的时候模型表现可能较差,针对这个问题,一种方法是在不同的训练轮次动态地改变训练数据子集。动态数据选择使得每轮的训练数据均小于全部数据量,但是在每轮中的训练数据均不同,可能前一轮没有训练的数据在当前轮被包括进来,由此可以缓解训练数据减小的问题。一种做法是先将完整的数据送入模型,再根据相似度逐次减少每轮的数据量,最后得到在目标领域上效果最好的领域适应模型
\upcite
{
DBLP:conf/emnlp/WeesBM17
}
。或者将最相似的句子最先送入模型,让模型可以最先学到跟目标领域最相关的知识,奠定良好的基础
\upcite
{
DBLP:conf/naacl/ZhangSKMCD19
}
。
\parinterval
还有一种方法是不从随机状态开始训练网络,而是使用翻译性能较好的源领域模型作为初始状态,因为源领域模型中包含着一些通用知识可以被目标领域借鉴。比如想获得口语领域的机器翻译模型,使用新闻领域模型作为初始状态训练口语领域模型。同时,微调方法经常配合预训练使用。微调方法的具体过程如下:
\parinterval
还有一种方法是不从随机状态开始训练网络,而是使用翻译性能较好的源领域模型作为初始状态,因为源领域模型中包含着一些通用知识可以被目标领域借鉴。比如
,
想获得口语领域的机器翻译模型,使用新闻领域模型作为初始状态训练口语领域模型。同时,微调方法经常配合预训练使用。微调方法的具体过程如下:
\begin{itemize}
\vspace
{
0.5em
}
...
...
@@ -1050,7 +1057,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\vspace
{
0.5em
}
\end{itemize}
\parinterval
然而微调的方法会带来严重的灾难性遗忘问题,即在目标领域上过拟合,导致在源领域上的翻译性能大幅度下降。如果想要保证模型在目标领域上有较好翻译性能的同时在源领域的翻译性能也不下降,一个比较常用的方法是进行混合微调
\upcite
{
DBLP:conf/acl/ChuDK17
}
。具体做法是先在源领域数据上训练一个神经机器翻译模型,然后将目标领域数据复制数倍和源领域数据量相等,之后将数据混合后对神经机器翻译模型进行微调。混合微调方法既降低了目标领域数据量小导致的过拟合问题,又带来了更好的微调性能。除了混合微调外,还有研究人员使用
\ref
{
multilingual-translation-model
}
节的知识蒸馏方法缓解灾难性遗忘问题,即对源领域和目标领域进行多次循环知识蒸馏,迭代学习对方领域的知识,可以保证在源领域和目标领域上的翻译性能共同逐步上升
\upcite
{
DBLP:conf/emnlp/ZengLSGLYL19
}
。过拟合导致的灾难性遗忘还可以使用
{
\red
{
13.2节的正则化
}}
方法来
降低
\upcite
{
barone2017regularization
}
。
\parinterval
然而微调的方法会带来严重的灾难性遗忘问题,即在目标领域上过拟合,导致在源领域上的翻译性能大幅度下降。如果想要保证模型在目标领域上有较好翻译性能的同时在源领域的翻译性能也不下降,一个比较常用的方法是进行混合微调
\upcite
{
DBLP:conf/acl/ChuDK17
}
。具体做法是先在源领域数据上训练一个神经机器翻译模型,然后将目标领域数据复制数倍和源领域数据量相等,之后将数据混合后对神经机器翻译模型进行微调。混合微调方法既降低了目标领域数据量小导致的过拟合问题,又带来了更好的微调性能。除了混合微调外,还有研究人员使用
\ref
{
multilingual-translation-model
}
节的知识蒸馏方法缓解灾难性遗忘问题,即对源领域和目标领域进行多次循环知识蒸馏,迭代学习对方领域的知识,可以保证在源领域和目标领域上的翻译性能共同逐步上升
\upcite
{
DBLP:conf/emnlp/ZengLSGLYL19
}
。过拟合导致的灾难性遗忘还可以使用
{
\red
{
13.2节的正则化
}}
方法来
缓解
\upcite
{
barone2017regularization
}
。
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
...
...
@@ -1058,7 +1065,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
3. 基于模型推断的方法
}
\parinterval
推断是指将输入序列转换成的向量再次转化为输出序列的过程,是机器翻译模型生成翻译结果的最后一步。
目前只有很少的工作集中在优化推断算法本身
\upcite
{
khayrallah2017neural
}
,即通过更适用于领域适应任务的推断算法去选择最佳的结果,大部分基于模型推断的方法的相关工作集中在把多个模型融合成一个模型以增强模型的推断能力,来获得更适应目标领域的序列。目前比较常用的方法是集成推断,即把多个领域的模型使用
{
\red
{
14.5节(多模型集成)
}}
的多模型集成方法集成
为一个模型用于推断
\upcite
{
DBLP:journals/corr/FreitagA16
}
,具体过程如下:
\parinterval
推断是指将输入序列转换成的向量再次转化为输出序列的过程,是机器翻译模型生成翻译结果的最后一步。
典型的工作是优化推断算法
\upcite
{
khayrallah2017neural
}
,即通过更适用于领域适应任务的推断算法去选择最佳的结果,大部分基于模型推断的方法的相关工作集中在把多个模型融合成一个模型以增强模型的推断能力,来获得更适应目标领域的序列。目前比较常用的方法是集成推断,即把多个领域的模型使用
{
\chapterfourteen
}
的模型集成方法融合
为一个模型用于推断
\upcite
{
DBLP:journals/corr/FreitagA16
}
,具体过程如下:
\begin{itemize}
\vspace
{
0.5em
}
...
...
@@ -1085,7 +1092,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
(扩展阅读)
\parinterval
除此之外,还有很多工作对数据增强方法进行了深入的研究与探讨。探索源语言单语数据在神经机器翻译中的使用方法
\upcite
{
DBLP:conf/emnlp/ZhangZ16
}
;选择何种单语数据来生成伪数据带来的收益更大
\upcite
{
DBLP:conf/emnlp/FadaeeM18,DBLP:conf/nlpcc/XuLXLLXZ19
}
;通过特别标识对真实双语和回译生成的伪双语数据进行区分
\upcite
{
DBLP:conf/wmt/CaswellCG19
}
;在回译过程中对训练数据进行动态选择与加权
\upcite
{
DBLP:journals/corr/abs200403672
}
;利用目标端单语数据和相关的富资源语言进行数据增强
\upcite
{
DBLP:conf/acl/XiaKAN19
}
;通过在源语言或目标语言中随机选择某些词,将这些词替换为词表中随机的一个词,可以得到伪双语数据
\upcite
{
DBLP:conf/emnlp/WangPDN18
}
;随机选择句子中的某个词,将这个词的词嵌入替换为多个语义相似词的加权表示融合
\upcite
{
DBLP:conf/acl/GaoZWXQCZL19
}
;基于模型的不确定性来量化预测结果的置信度,从而提升回译方法的性能
\upcite
{
DBLP:conf/emnlp/WangLWLS19
}
;探索如何利用大规模单语数据
\upcite
{
DBLP:conf/emnlp/WuWXQLL19
}
;还有一些工作对数据增强进行了理论分析
\upcite
{
DBLP:conf/emnlp/LiLHZZ19
}{
\color
{
red
}
,发现XXXX?
}
。(
{
\color
{
red
}
这部分写得不错
}
)
\parinterval
除此之外,还有很多工作对数据增强方法进行了深入的研究与探讨。探索源语言单语数据在神经机器翻译中的使用方法
\upcite
{
DBLP:conf/emnlp/ZhangZ16
}
;选择何种单语数据来生成伪数据带来的收益更大
\upcite
{
DBLP:conf/emnlp/FadaeeM18,DBLP:conf/nlpcc/XuLXLLXZ19
}
;通过特别标识对真实双语和回译生成的伪双语数据进行区分
\upcite
{
DBLP:conf/wmt/CaswellCG19
}
;在回译过程中对训练数据进行动态选择与加权
\upcite
{
DBLP:journals/corr/abs200403672
}
;利用目标端单语数据和相关的富资源语言进行数据增强
\upcite
{
DBLP:conf/acl/XiaKAN19
}
;通过在源语言或目标语言中随机选择某些词,将这些词替换为词表中随机的一个词,可以得到伪双语数据
\upcite
{
DBLP:conf/emnlp/WangPDN18
}
;随机选择句子中的某个词,将这个词的词嵌入替换为多个语义相似词的加权表示融合
\upcite
{
DBLP:conf/acl/GaoZWXQCZL19
}
;基于模型的不确定性来量化预测结果的置信度,从而提升回译方法的性能
\upcite
{
DBLP:conf/emnlp/WangLWLS19
}
;探索如何利用大规模单语数据
\upcite
{
DBLP:conf/emnlp/WuWXQLL19
}
;还有一些工作对数据增强进行了理论分析
\upcite
{
DBLP:conf/emnlp/LiLHZZ19
}{
\color
{
red
}
,发现XXXX?
}
。(
{
\color
{
red
}
这部分写得不错
}
)
{
\color
{
blue
}
肖:不要一条一条罗列,可以做总结,提炼共性问题和方法!
}
(多语言扩展阅读)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论