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
8c7e96d8
Commit
8c7e96d8
authored
Dec 15, 2020
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'master' 到 'caorunzhe'
Master 查看合并请求
!609
parents
4c6d9f54
c02dadd9
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
4 行增加
和
4 行删除
+4
-4
Chapter16/chapter16.tex
+4
-4
没有找到文件。
Chapter16/chapter16.tex
查看文件 @
8c7e96d8
...
@@ -242,7 +242,7 @@
...
@@ -242,7 +242,7 @@
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
\subsubsection
{
4. 多任务学习
}
\subsubsection
{
4. 多任务学习
}
\parinterval
在训练一个神经网络的时候,往往会给定模型一个训练目标,希望模型通过不断训练在这个目标上表现地越来越好。我们希望模型在训练过程中可以自动提取到与训练目标相关的所有信息。然而,过分地关注单个训练目标,可能使模型忽略掉其他可能有帮助的信息,这些信息可能来自于一些其他相关的任务
\upcite
{
DBLP:journals/corr/Ruder17a
}
。通过联合多个独立但相关的任务共同学习,任务之间相互``促进'',就是
{
\small\sffamily\bfnew
{
多任务学习
}}
\index
{
多任务学习
}
(Multitask Learning)
\index
{
Multitask Learning
}
方法
\upcite
{
DBLP:journals/corr/Ruder17a,DBLP:books/sp/98/Caruana98,liu2019multi
}
。多任务学习的常用做法是针对多个相关的任务,共享模型的部分参数来学习不同任务之间相似的特征,并通过特定的模块来学习每个任务独立的特征。常用的策略是对底层的模型参数进行共享,顶层的模型参数用于独立学习各个不同的任务,具体示意图可以参考
\ref
{
subsec-15.3.2
}
小节中的
{
\red
{
多任务结构图
}}
。
\parinterval
在训练一个神经网络的时候,往往会给定模型一个训练目标,希望模型通过不断训练在这个目标上表现地越来越好。我们希望模型在训练过程中可以自动提取到与训练目标相关的所有信息。然而,过分地关注单个训练目标,可能使模型忽略掉其他可能有帮助的信息,这些信息可能来自于一些其他相关的任务
\upcite
{
DBLP:journals/corr/Ruder17a
}
。通过联合多个独立但相关的任务共同学习,任务之间相互``促进'',就是
{
\small\sffamily\bfnew
{
多任务学习
}}
\index
{
多任务学习
}
(Multitask Learning)
\index
{
Multitask Learning
}
方法
\upcite
{
DBLP:journals/corr/Ruder17a,DBLP:books/sp/98/Caruana98,liu2019multi
}
。多任务学习的常用做法是针对多个相关的任务,共享模型的部分参数来学习不同任务之间相似的特征,并通过特定的模块来学习每个任务独立的特征。常用的策略是对底层的模型参数进行共享,顶层的模型参数用于独立学习各个不同的任务,具体示意图可以参考
\ref
{
subsec-15.3.2
}
小节中的
多任务结构图
。
\parinterval
在神经机器翻译中,应用多任务学习的主要策略是将翻译任务作为主任务,同时设置一些仅使用单语数据的子任务,通过这些子任务来捕捉单语数据中的语言知识
\upcite
{
DBLP:conf/emnlp/DomhanH17,DBLP:conf/emnlp/ZhangZ16,DBLP:journals/corr/LuongLSVK15
}
。一种多任务学习的方法是利用源语言单语数据,通过单个编码器对源语言数据进行建模,然后分别使用两个解码器来学习源语言排序和翻译任务。源语言排序任务是指对句子的顺序进行调整,可以通过单语数据来构造训练数据,从而使编码器训练地更加充分
\upcite
{
DBLP:conf/emnlp/ZhangZ16
}
,如图
\ref
{
fig:16-8
}
所示。
\parinterval
在神经机器翻译中,应用多任务学习的主要策略是将翻译任务作为主任务,同时设置一些仅使用单语数据的子任务,通过这些子任务来捕捉单语数据中的语言知识
\upcite
{
DBLP:conf/emnlp/DomhanH17,DBLP:conf/emnlp/ZhangZ16,DBLP:journals/corr/LuongLSVK15
}
。一种多任务学习的方法是利用源语言单语数据,通过单个编码器对源语言数据进行建模,然后分别使用两个解码器来学习源语言排序和翻译任务。源语言排序任务是指对句子的顺序进行调整,可以通过单语数据来构造训练数据,从而使编码器训练地更加充分
\upcite
{
DBLP:conf/emnlp/ZhangZ16
}
,如图
\ref
{
fig:16-8
}
所示。
%----------------------------------------------
%----------------------------------------------
...
@@ -824,7 +824,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
...
@@ -824,7 +824,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\parinterval
在统计机器翻译时代,使用基于数据或模型的方法来提升机器翻译模型在特定领域上的翻译性能就已经备受关注,而这些技术和思想也为神经机器翻译中的领域适应技术提供了参考。
\parinterval
在统计机器翻译时代,使用基于数据或模型的方法来提升机器翻译模型在特定领域上的翻译性能就已经备受关注,而这些技术和思想也为神经机器翻译中的领域适应技术提供了参考。
\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/
iwslt/BisazzaRF11,niehues2012detailed,DBLP:conf/acl/SennrichSA13
}
、基于数据加权的方法
\upcite
{
DBLP:conf/emnlp/MatsoukasRZ09,DBLP:conf/emnlp/FosterGK10,shah2012general
}
、基于数据选择的方法
\upcite
{
DBLP:conf/lrec/EckVW04,DBLP:conf/acl/MooreL10,DBLP:conf/acl/DuhNST13,DBLP:conf/coling/HoangS14
}
和基于伪数据的方法
\upcite
{
DBLP:conf/iwslt/Ueffing06,DBLP:conf/coling/WuWZ08,DBLP:conf/iwslt/Schwenk08,DBLP:conf/wmt/BertoldiF09
}
,本小节将对这四种方法进行简单介绍。
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
% NEW SUB-SUB-SECTION
...
@@ -864,7 +864,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
...
@@ -864,7 +864,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
\subsubsection
{
3. 基于数据选择的方法
}
\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,DBLP:conf/acl/DuhNST13
}
、 多模型联合
\upcite
{
DBLP:conf/coling/HoangS14,joty2015using
}
、卷积神经网络
\upcite
{
chen2016bilingual
}
等方法进行计算。
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SUB-SUB-SECTION
% NEW SUB-SUB-SECTION
...
@@ -891,7 +891,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
...
@@ -891,7 +891,7 @@ P(\mathbi{y}|\mathbi{x}) & = & \frac{\mathrm{cos}(\mathbi{x},\mathbi{y})/\tau}{\
\subsubsection
{
1. 基于多领域数据的方法
}
\subsubsection
{
1. 基于多领域数据的方法
}
\parinterval
一种简单的思路是利用其他领域的数据来辅助低资源领域上的模型训练,即基于多领域数据的领域适应
\upcite
{
DBLP:
conf/acl/ChuDK17,DBLP:
journals/corr/abs-1708-08712,DBLP:conf/acl/WangTNYCP20,DBLP:conf/acl/JiangLWZ20
}
。实际上,多领域建模也可以看作是一种多语言建模问题(相关内容见本章
\ref
{
multilingual-translation-model
}
节)。通过借助其他相似领域的训练数据,可以缓解目标领域数据缺乏的问题。比如,想要训练网络小说领域的翻译系统,可以通过加入文学、字幕等领域的翻译数据来增加数据量。
\parinterval
一种简单的思路是利用其他领域的数据来辅助低资源领域上的模型训练,即基于多领域数据的领域适应
\upcite
{
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
}
,该方法主要通过两种策略来缓解领域不平衡问题:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论