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
b8357451
Commit
b8357451
authored
Jan 25, 2021
by
单韦乔
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'shanweiqiao' 到 'caorunzhe'
13章 loss格式和多余空格 查看合并请求
!979
parents
27781c06
78e95635
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
7 行增加
和
7 行删除
+7
-7
Chapter13/chapter13.tex
+7
-7
没有找到文件。
Chapter13/chapter13.tex
查看文件 @
b8357451
...
...
@@ -195,11 +195,11 @@ y &=& f(x)
\parinterval
正则化的一种实现是在训练目标中引入一个正则项。在神经机器翻译中,引入正则项的训练目标为:
\begin{eqnarray}
\widehat
{
\mathbi
{
w
}}
&
=
&
\argmin
_{
\mathbi
{
w
}}
Loss
(
\mathbi
{
w
}
) +
\lambda
R(
\mathbi
{
w
}
)
\widehat
{
\mathbi
{
w
}}
&
=
&
\argmin
_{
\mathbi
{
w
}}
\textrm
{
Loss
}
(
\mathbi
{
w
}
) +
\lambda
R(
\mathbi
{
w
}
)
\label
{
eq:13-2
}
\end{eqnarray}
\noindent
其中,
$
\mathbi
{
w
}$
是模型参数,
$
Loss
(
\mathbi
{
w
}
)
$
是损失函数,
$
R
(
\mathbi
{
w
}
)
$
是正则项,
$
\lambda
$
是正则项的系数,用于控制正则化对训练影响的程度。
$
R
(
\mathbi
{
w
}
)
$
通常也可以被看作是一种先验,因为在数据不充分且存在噪声的情况下,可以根据一些先验知识让模型偏向正确的方向一些,而不是一味地根据受噪声影响的
$
Loss
(
\mathbi
{
w
}
)
$
进行优化。相应的,引入正则化后的模型可以获得更好的
{
\small\bfnew
{
泛化
}}
\index
{
泛化
}
(Generalization)
\index
{
Generalization
}
能力,即模型在新的未见数据上表现会更好。
\noindent
其中,
$
\mathbi
{
w
}$
是模型参数,
$
\textrm
{
Loss
}
(
\mathbi
{
w
}
)
$
是损失函数,
$
R
(
\mathbi
{
w
}
)
$
是正则项,
$
\lambda
$
是正则项的系数,用于控制正则化对训练影响的程度。
$
R
(
\mathbi
{
w
}
)
$
通常也可以被看作是一种先验,因为在数据不充分且存在噪声的情况下,可以根据一些先验知识让模型偏向正确的方向一些,而不是一味地根据受噪声影响的
$
\textrm
{
Loss
}
(
\mathbi
{
w
}
)
$
进行优化。相应的,引入正则化后的模型可以获得更好的
{
\small\bfnew
{
泛化
}}
\index
{
泛化
}
(Generalization)
\index
{
Generalization
}
能力,即模型在新的未见数据上表现会更好。
\parinterval
实践中已经证明,正则化方法有助于使得像神经机器翻译模型这样复杂模型获得稳定的模型参数。甚至有些情况下,如果不引入正则化,训练得到的翻译模型根本无法使用。此外,正则化方法不仅可以用于提高模型的泛化能力,也可以作为干预模型学习的一种手段,比如,可以将一些先验知识作为正则项约束机器翻译模型的学习。类似的手段在本书后续的内容中也会被使用。
...
...
@@ -404,14 +404,14 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\
\parinterval
在进行对抗性训练时,可以在原有的训练损失上增加三个额外的损失,最终的损失函数被定义为:
\begin{eqnarray}
Loss(
\theta
_{
\textrm
{
mt
}}
,
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
x
}}
,
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
y
}}
)
&
=
&
Loss
_{
\textrm
{
clean
}}
(
\theta
_{
\textrm
{
mt
}}
) + Loss
_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
x
}}
) +
\nonumber
\\
&
&
Loss
_{
\textrm
{
robust
}}
(
\theta
_{
\textrm
{
mt
}}
) + Loss
_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
y
}}
)
\textrm
{
Loss
}
(
\theta
_{
\textrm
{
mt
}}
,
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
x
}}
,
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
y
}}
)
&
=
&
\textrm
{
Loss
}_{
\textrm
{
clean
}}
(
\theta
_{
\textrm
{
mt
}}
) +
\textrm
{
Loss
}
_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
x
}}
) +
\nonumber
\\
&
&
\textrm
{
Loss
}_{
\textrm
{
robust
}}
(
\theta
_{
\textrm
{
mt
}}
) +
\textrm
{
Loss
}
_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
y
}}
)
\label
{
eq:13-11
}
\end{eqnarray}
\noindent
其中,
$
Loss
_{
\textrm
{
clean
}}
(
\theta
_{
\textrm
{
mt
}}
)
$
为正常情况下的损失,
$
Loss
_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
x
}}
)
$
和
$
Loss
_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
y
}}
)
$
为生成对抗样本所用到的源语言与目标语言的模型的损失,
$
Loss
_{
\textrm
{
robust
}}
(
\theta
_{
\textrm
{
mt
}}
)
$
是使用修改后得到的对抗样本作为输入,并以原始的译文
$
\mathbi
{
y
}$
作为答案时计算得到的损失。假设有
$
N
$
个样本,则损失函数的具体形式如下:
\noindent
其中,
$
\textrm
{
Loss
}_{
\textrm
{
clean
}}
(
\theta
_{
\textrm
{
mt
}}
)
$
为正常情况下的损失,
$
\textrm
{
Loss
}_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
x
}}
)
$
和
$
\textrm
{
Loss
}_{
\textrm
{
lm
}}
(
\theta
_{
\textrm
{
lm
}}^{
\mathbi
{
y
}}
)
$
为生成对抗样本所用到的源语言与目标语言的模型的损失,
$
\textrm
{
Loss
}
_{
\textrm
{
robust
}}
(
\theta
_{
\textrm
{
mt
}}
)
$
是使用修改后得到的对抗样本作为输入,并以原始的译文
$
\mathbi
{
y
}$
作为答案时计算得到的损失。假设有
$
N
$
个样本,则损失函数的具体形式如下:
\begin{eqnarray}
Loss
_{
\textrm
{
robust
}}
(
\theta
_{
\textrm
{
mt
}}
)
&
=
&
\frac
{
1
}{
N
}
\sum
_{
(
\mathbi
{
x
}
,
\mathbi
{
y
}
)
}
-
\log
\funp
{
P
}
(
\mathbi
{
y
}
|
\mathbi
{
x
}
',
\mathbi
{
y
}
';
\theta
_{
\textrm
{
mt
}}
)
\textrm
{
Loss
}
_{
\textrm
{
robust
}}
(
\theta
_{
\textrm
{
mt
}}
)
&
=
&
\frac
{
1
}{
N
}
\sum
_{
(
\mathbi
{
x
}
,
\mathbi
{
y
}
)
}
-
\log
\funp
{
P
}
(
\mathbi
{
y
}
|
\mathbi
{
x
}
',
\mathbi
{
y
}
';
\theta
_{
\textrm
{
mt
}}
)
\label
{
eq:13-12
}
\end{eqnarray}
...
...
@@ -785,7 +785,7 @@ L_{\textrm{seq}} = - \textrm{logP}_{\textrm{s}}(\hat{\seq{y}} | \seq{x})
\parinterval
当机器翻译系统应用于不同领域时,训练语料与所应用领域的相关性就显得非常重要
\upcite
{
DBLP:journals/mt/EetemadiLTR15,britz2017effective
}
。不同领域往往具有自己独特的属性,比如语言风格、句子结构、专业术语等,例如,“bank”这个英语单词,在金融领域通常被翻译为“银行”,而在计算机领域,一般被解释为“库”、“存储体”等。这也会导致,使用通用领域数据训练出来的模型在特定领域上的翻译效果往往不理想,这本质上是训练数据和测试数据的领域属性不匹配造成的。
\parinterval
一种解决办法是只使用特定领域的数据进行模型训练,然而这种数据往往比较稀缺。那能不能利用通用领域数据来帮助数据稀少的领域呢?这个研究方向被称为机器翻译的
{
\small\bfnew
{
领域适应
}}
\index
{
领域适应
}
(Domain Adaptation
\index
{
Domain Adaptation
}
),即从资源丰富的领域(称为
{
\small\bfnew
{
源领域
}}
\index
{
源领域
}
, Source Domain
\index
{
Source Domain
}
)向资源稀缺的领域(称为
{
\small\bfnew
{
目标领域
}}
\index
{
目标领域
}
,
Target Domain
\index
{
Target Domain
}
)迁移。这本身也对应着资源稀缺场景下的机器翻译问题,这类问题会在
{
\chaptersixteen
}
进行详细讨论。本章更加关注如何有效地利用训练样本以更好地适应目标领域。具体来说,可以使用
{
\small\bfnew
{
数据选择
}}
\index
{
数据选择
}
(Data Selection
\index
{
Selection
}
)从源领域训练数据中选择与目标领域更加相关的样本进行模型训练。这样做的一个好处是,源领域中混有大量与目标领域不相关的样本,数据选择可以有效降低这部分数据的比例,这样可以更加突出与领域相关样本的作用。
\parinterval
一种解决办法是只使用特定领域的数据进行模型训练,然而这种数据往往比较稀缺。那能不能利用通用领域数据来帮助数据稀少的领域呢?这个研究方向被称为机器翻译的
{
\small\bfnew
{
领域适应
}}
\index
{
领域适应
}
(Domain Adaptation
\index
{
Domain Adaptation
}
),即从资源丰富的领域(称为
{
\small\bfnew
{
源领域
}}
\index
{
源领域
}
, Source Domain
\index
{
Source Domain
}
)向资源稀缺的领域(称为
{
\small\bfnew
{
目标领域
}}
\index
{
目标领域
}
,Target Domain
\index
{
Target Domain
}
)迁移。这本身也对应着资源稀缺场景下的机器翻译问题,这类问题会在
{
\chaptersixteen
}
进行详细讨论。本章更加关注如何有效地利用训练样本以更好地适应目标领域。具体来说,可以使用
{
\small\bfnew
{
数据选择
}}
\index
{
数据选择
}
(Data Selection
\index
{
Selection
}
)从源领域训练数据中选择与目标领域更加相关的样本进行模型训练。这样做的一个好处是,源领域中混有大量与目标领域不相关的样本,数据选择可以有效降低这部分数据的比例,这样可以更加突出与领域相关样本的作用。
\parinterval
数据选择所要解决的核心问题是:给定一个目标领域/任务数据集(如,目标任务的开发集),如何衡量原始训练样本与目标领域/任务的相关性?主要方法可以分为以下几类:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论