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
48609dee
Commit
48609dee
authored
Jan 13, 2021
by
单韦乔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
13章问题修正
parent
cbb308e3
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
20 行增加
和
7 行删除
+20
-7
Chapter13/chapter13.tex
+6
-7
bibliography.bib
+14
-0
没有找到文件。
Chapter13/chapter13.tex
查看文件 @
48609dee
...
...
@@ -371,7 +371,7 @@ R(\mathbi{w}) & = & ({\Vert{\mathbi{w}}\Vert}_2)^2 \\
\rule
{
0pt
}{
15pt
}
替换操作
&
We are really looking forward to the
{
\red
vacation
}
\\
\rule
{
0pt
}{
15pt
}
插入操作
&
We are really looking forward to the holiday
{
\red
tomorrow
}
\\
\rule
{
0pt
}{
15pt
}
删除操作
&
We are really looking forward
{
\red
\s
ou
t
{
to
}}
the holiday
\\
\rule
{
0pt
}{
15pt
}
删除操作
&
We are really looking forward
{
\red
\st
{
to
}}
the holiday
\\
\rule
{
0pt
}{
15pt
}
交换操作
&
We are really
{
\red
forward
}
{
\red
looking
}
to the holiday
\\
\end{tabular}
\end{center}
...
...
@@ -417,7 +417,7 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\label
{
eq:13-12
}
\end{eqnarray}
\parinterval
无论是黑盒方法还是白盒方法,本质上都是通过增加噪声使得模型训练更加健壮。类似的思想在很多机器学习方法中都有体现,比如,最大熵模型中使用高斯噪声就是常用的增加模型健壮性的手段之一
\upcite
{
chen1999gaussian
}
。从噪声信道模型的角度看(见
{
\chapterfive
}
),翻译过程也可以被理解为一种加噪和去噪的过程,不论这种噪声是天然存在于数据中的,还是人为添加的。除了对抗样本训练,机器翻译所使用的降噪自编码方法和基于重构的损失函数
(
{
\color
{
red
}
引用降噪自编码的论文!还有,Neural Machine Translation with Reconstruction
}
)
,也都体现了类似的思想。广义上,这些方法也可以被看作是利用“加噪+ 去噪”进行健壮性训练的方法。
\parinterval
无论是黑盒方法还是白盒方法,本质上都是通过增加噪声使得模型训练更加健壮。类似的思想在很多机器学习方法中都有体现,比如,最大熵模型中使用高斯噪声就是常用的增加模型健壮性的手段之一
\upcite
{
chen1999gaussian
}
。从噪声信道模型的角度看(见
{
\chapterfive
}
),翻译过程也可以被理解为一种加噪和去噪的过程,不论这种噪声是天然存在于数据中的,还是人为添加的。除了对抗样本训练,机器翻译所使用的降噪自编码方法和基于重构的损失函数
\upcite
{
DBLP:conf/icml/VincentLBM08,tu2017neural
}
,也都体现了类似的思想。广义上,这些方法也可以被看作是利用“加噪+ 去噪”进行健壮性训练的方法。
%----------------------------------------------------------------------------------------
% NEW SECTION
...
...
@@ -546,7 +546,7 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\noindent
公式
\eqref
{
eq:13-15
}
使用了
{
\small\bfnew
{
策略梯度
}}
\index
{
策略梯度
}
(Policy Gradient
\index
{
Policy Gradient
}
)的手段将
$
\vartriangle
(
\hat
{
\seq
{
y
}}
,
\seq
{
y
}^{
[
k
]
}
)
$
提到微分操作之外
\upcite
{
DBLP:conf/nips/Kakade01,DBLP:journals/corr/abs-1810-02525
}
。这样,就无需对
$
\vartriangle
(
\hat
{
\seq
{
y
}}
,
\seq
{
y
}^{
[
k
]
}
)
$
进行微分,因此最小风险训练允许任意不可微的损失函数,包括BLEU等常用的评价函数。使用公式
\eqref
{
eq:13-15
}
就可以求出模型参数相对于风险函数的损失,进而进行基于梯度的优化。
\parinterval
这里需要注意的是,公式
\eqref
{
eq:13-15
}
中求期望的过程是无法直接实现的,因为无法遍历所有的译文句子。通常,会使用采样的方法搜集一定数量的译文,来模拟译文空间。例如,可以使用推断系统生成若干译文。同时,为了保证生成的译文之间具有一定的差异性,也可以对推断过程进行一些“干扰”。从实践的角度看,采样方法是影响强化学习系统的重要因素,因此往往需要对不同的任务设计相适应的采样方法。
{
\red
最简单的方法就是在产生译文的每一个词时候,根据模型产生的下一个词的分布随机选取词当作模型预测,直到选到句子结束符或者达到特定长度的时候停止
\upcite
{
DBLP:conf/emnlp/EdunovOAG18
}
。其他方法还包括随机束搜索,它把束搜索中选取Top-
$
k
$
的操作替换成随机选取
$
k
$
个词。这个方法不会采集到重复的样本。还可以使用基于Gumbel-Top-
$
k
$
的随机束搜索更好地控制了样本里的噪声
\upcite
{
DBLP:conf/icml/KoolHW19
}
。
}
\parinterval
这里需要注意的是,公式
\eqref
{
eq:13-15
}
中求期望的过程是无法直接实现的,因为无法遍历所有的译文句子。通常,会使用采样的方法搜集一定数量的译文,来模拟译文空间。例如,可以使用推断系统生成若干译文。同时,为了保证生成的译文之间具有一定的差异性,也可以对推断过程进行一些“干扰”。从实践的角度看,采样方法是影响强化学习系统的重要因素,因此往往需要对不同的任务设计相适应的采样方法。
最简单的方法就是在产生译文的每一个词时候,根据模型产生的下一个词的分布随机选取词当作模型预测,直到选到句子结束符或者达到特定长度的时候停止
\upcite
{
DBLP:conf/emnlp/EdunovOAG18
}
。其他方法还包括随机束搜索,它把束搜索中选取Top-
$
k
$
的操作替换成随机选取
$
k
$
个词。这个方法不会采集到重复的样本。还可以使用基于Gumbel-Top-
$
k
$
的随机束搜索更好地控制了样本里的噪声
\upcite
{
DBLP:conf/icml/KoolHW19
}
。
\parinterval
相比于极大似然估计,最小风险训练有着以下优点:
...
...
@@ -629,7 +629,7 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\begin{itemize}
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
多目标学习
}}
。演员的优化通常会引入额外的极大似然估计目标函数,同时会使用极大似然估计进行预训练。这样会简化训练,因为随机初始化的演员性能很差,很难获得有效的奖励。同时极大似然估计
作为一个额外的正则项也可以防止模型
{
\red
跑偏
}
,加速
收敛。
\item
{
\small\bfnew
{
多目标学习
}}
。演员的优化通常会引入额外的极大似然估计目标函数,同时会使用极大似然估计进行预训练。这样会简化训练,因为随机初始化的演员性能很差,很难获得有效的奖励。同时极大似然估计
也被可以当作一种先验知识,通过正则项的形式约束机器翻译模型的学习,防止模型陷入很差的局部最优,并加速模型
收敛。
\vspace
{
0.5em
}
\item
{
\small\bfnew
{
优化目标
}}
。评论家的优化目标是由自身输出所构造的。当模型更新比较快的时候模型的输出变化也会很快,导致构造的优化目标不稳定,影响模型收敛效果。一个解决方案是,在一定更新次数内固定构造优化目标使用的模型,然后再使用比较新的模型来构造后续一定更新次数内的优化目标,如此往复
\upcite
{
DBLP:journals/nature/SilverHMGSDSAPL16
}
。
\vspace
{
0.5em
}
...
...
@@ -671,8 +671,7 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\parinterval
这里所说的第二个假设对应了机器学习中的一大类问题
\ \dash
\
{
\small\bfnew
{
学习难度
}}
\index
{
学习难度
}
(Learning Difficulty)
\index
{
Learning Difficulty
}
。所谓难度是指:在给定一个模型的情况下,需要花费多少代价对目标任务进行学习。如果目标任务很简单,同时模型与任务很匹配,那学习难度就会降低。如果目标任务很复杂,同时模型与其匹配程度很低,那学习难度就会很大。在自然语言处理任务中,这个问题的一种表现是:在很好的数据中学习的模型的翻译质量可能仍然很差。即使训练数据是完美的,但是模型仍然无法做到完美的学习。这可能是因为建模的不合理,导致模型无法描述目标任务中复杂的规律。在机器翻译中这个问题体现的尤为明显。比如,在机器翻译系统
$
n
$
-best结果中挑选最好的译文(称为Oracle)作为训练样本让系统重新学习,系统仍然达不到Oracle的水平。
\parinterval
知识蒸馏本身也体现了一种“自学习”的思想。即利用模型(自己)的预测来教模型(自己)。这样既保证了知识可以向更轻量的模型迁移,同时也避免了模型从原始数据中学习难度大的问题。虽然“大”模型的预测中也会有错误,但是这种预测是更符合建模的假设的,因此“小”模型反倒更容易从不完美的信息中学习到更多的知识
\footnote
[15]
{
很多时候,“大”模型和“小”模型都是基于同一种架构,因此二者对问题的假设和模型结构都是相似的。
}
。类似于,刚开始学习围棋的人从职业九段身上可能什么也学不到,但是向一个业余初段的选手学习可能更容易入门。另外,也有研究表明:在机器翻译中,相比于“小”模型,“大”模型更容易进行优化,也更容易找到更好的模型收敛状态(
{
\color
{
red
}
参考文献:
Train Large, Then Compress: Rethinking Model Size for Efficient Training and Inference of Transformers
}
)。因此在需要一个性能优越,存储较小的模型时,也会考虑将大模型压缩得到更轻量模型
\upcite
{
DBLP:journals/corr/abs-2002-11794
}
。
\parinterval
知识蒸馏本身也体现了一种“自学习”的思想。即利用模型(自己)的预测来教模型(自己)。这样既保证了知识可以向更轻量的模型迁移,同时也避免了模型从原始数据中学习难度大的问题。虽然“大”模型的预测中也会有错误,但是这种预测是更符合建模的假设的,因此“小”模型反倒更容易从不完美的信息中学习到更多的知识
\footnote
[15]
{
很多时候,“大”模型和“小”模型都是基于同一种架构,因此二者对问题的假设和模型结构都是相似的。
}
。类似于,刚开始学习围棋的人从职业九段身上可能什么也学不到,但是向一个业余初段的选手学习可能更容易入门。另外,也有研究表明:在机器翻译中,相比于“小”模型,“大”模型更容易进行优化,也更容易找到更好的模型收敛状态
\upcite
{
li2020train
}
。因此在需要一个性能优越,存储较小的模型时,也会考虑将大模型压缩得到更轻量模型
\upcite
{
DBLP:journals/corr/abs-2002-11794
}
。
\parinterval
通常把“大”模型看作是传授知识的“教师”,被称作
{
\small\bfnew
{
教师模型
}}
\index
{
教师模型
}
(Teacher Model)
\index
{
Teacher Model
}
;把“小”模型看作是接收知识的“学生”,被称作
{
\small\bfnew
{
学生模型
}}
\index
{
学生模型
}
(Student Model)
\index
{
Student Model
}
。比如,可以把Transformer-Big看作是教师模型,把Transformer-Base看作是学生模型。
...
...
@@ -924,7 +923,7 @@ L_{\textrm{seq}} = - \textrm{logP}_{\textrm{s}}(\hat{\seq{y}} | \seq{x})
\item
对抗样本除了用于提高模型的健壮性之外,还有很多其他的应用场景,比如评估模型。通过构建由对抗样本构造的数据集,可以验证模型对于不同类型噪声的健壮性
\upcite
{
DBLP:conf/emnlp/MichelN18
}
。 但是在生成对抗样本时常常要考虑很多问题,比如扰动是否足够细微
\upcite
{
DBLP:conf/cvpr/Moosavi-Dezfooli16,DBLP:conf/cvpr/NguyenYC15
}
,在人类难以察觉的同时做到欺骗模型的目的;对抗样本在不同的模型结构或数据集上是否具有足够的泛化能力
\upcite
{
DBLP:conf/iclr/LiuCLS17,DBLP:journals/tnn/YuanHZL19
}
;生成的方法是否足够高效等等
\upcite
{
DBLP:conf/emnlp/JiaL17,DBLP:conf/infocom/YuanHL020
}
。
\vspace
{
0.5em
}
\item
此外,在机器翻译中,强化学习的应用也有很多,比如,MIXER算法用混合策略梯度和极大似然估计的目标函数来更新模型
\upcite
{
Ranzato2016SequenceLT
}
,DAgger
\upcite
{
DBLP:journals/jmlr/RossGB11
}
以及DAD
\upcite
{
DBLP:conf/aaai/VenkatramanHB15
}
等算法在训练过程之中逐渐让模型适应推断阶段的模式。此外,强化学习的效果目前还相当不稳定,研究人员提出了大量的方法来进行改善,比如降
低方差(
{
\color
{
red
}
降低谁的方差?
}
)
\upcite
{
DBLP:conf/iclr/BahdanauBXGLPCB17,DBLP:conf/emnlp/NguyenDB17
}
、使用单语语料
\upcite
{
Sennrich2016ImprovingNM,DBLP:conf/emnlp/WuTQLL18
}
等等。
\item
此外,在机器翻译中,强化学习的应用也有很多,比如,MIXER算法用混合策略梯度和极大似然估计的目标函数来更新模型
\upcite
{
Ranzato2016SequenceLT
}
,DAgger
\upcite
{
DBLP:journals/jmlr/RossGB11
}
以及DAD
\upcite
{
DBLP:conf/aaai/VenkatramanHB15
}
等算法在训练过程之中逐渐让模型适应推断阶段的模式。此外,强化学习的效果目前还相当不稳定,研究人员提出了大量的方法来进行改善,比如降
对动作价值函数
$
\funp
{
Q
}$
的估计的方差
\upcite
{
DBLP:conf/iclr/BahdanauBXGLPCB17,DBLP:conf/emnlp/NguyenDB17
}
、使用单语语料
\upcite
{
Sennrich2016ImprovingNM,DBLP:conf/emnlp/WuTQLL18
}
等等。
\vspace
{
0.5em
}
\item
从广义上说,大多数课程学习方法都是遵循由易到难的原则,然而在实践过程中人们逐渐赋予了课程学习更多的内涵,课程学习的含义早已超越了最原始的定义。一方面,课程学习可以与许多任务相结合,此时,评估准则并不一定总是样本的困难度,这取决于具体的任务。或者说,我们更关心的是样本带给模型的“价值”,而非简单的难易标准。另一方面,在一些任务或数据中,由易到难并不总是有效,有时困难优先反而会取得更好的效果
\upcite
{
DBLP:conf/medprai/SurendranathJ18,zhang2018empirical
}
。实际上这和我们的直觉不太符合,一种合理的解释是课程学习更适合标签噪声、离群值较多或者是目标任务困难的场景,能提高模型的健壮性和收敛速度,而困难优先的策略则更适合数据集干净的场景
\upcite
{
DBLP:conf/nips/ChangLM17
}
。
...
...
bibliography.bib
查看文件 @
48609dee
...
...
@@ -9331,6 +9331,20 @@ author = {Zhuang Liu and
publisher = {Conference on Empirical Methods in Natural Language Processing},
year = {2016}
}
@inproceedings{tu2017neural,
title={Neural machine translation with reconstruction},
author={Tu, Zhaopeng and Liu, Yang and Shang, Lifeng and Liu, Xiaohua and Li, Hang},
publisher={AAAI Conference on Artificial Intelligence},
volume={31},
number={1},
year={2017}
}
@inproceedings{li2020train,
title={Train large, then compress: Rethinking model size for efficient training and inference of transformers},
author={Li, Zhuohan and Wallace, Eric and Shen, Sheng and Lin, Kevin and Keutzer, Kurt and Klein, Dan and Gonzalez, Joseph E},
publisher={arXiv preprint arXiv:2002.11794},
year={2020}
}
%%%%% chapter 15------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论