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
b3f7e316
Commit
b3f7e316
authored
Dec 29, 2020
by
xiaotong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wording (sec 13)
parent
4e0f202e
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
40 行增加
和
38 行删除
+40
-38
Chapter13/chapter13.tex
+40
-38
没有找到文件。
Chapter13/chapter13.tex
查看文件 @
b3f7e316
...
...
@@ -537,7 +537,7 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\subsection
{
强化学习方法
}
\parinterval
{
\small\bfnew
{
强化学习
}}
\index
{
强化学习
}
(Reinforcement Learning,RL
\index
{
Reinforcement Learning,RL
}
)方法
也是机器学习的经典方法,它可以同时解决
\ref
{
subsec-15.3.1
}
节提到的曝光偏置问题和训练- 推断评价指标不一致问题。本节主要介绍基于策略的强化学习方法和基于演员-评论家的强化学习
方法(
{
\color
{
red
}
参考文献!
}
)。
\parinterval
{
\small\bfnew
{
强化学习
}}
\index
{
强化学习
}
(Reinforcement Learning,RL
\index
{
Reinforcement Learning,RL
}
)方法
是机器学习中的经典方法,它可以同时解决
\ref
{
subsec-15.3.1
}
节提到的曝光偏置问题和训练- 推断评价指标不一致问题。本节主要介绍基于策略的方法和基于演员-评论家的
方法(
{
\color
{
red
}
参考文献!
}
)。
%----------------------------------------------------------------------------------------
% NEW SUBSUB-SECTION
...
...
@@ -545,45 +545,45 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\subsubsection
{
1. 基于策略的强化学习方法
}
\parinterval
与传统的极大似然估计不同,
{
\small\bfnew
{
最小风险训练
}}
\index
{
最小风险训练
}
(Minimum Risk Training
\index
{
Minimum Risk Training
}
,MRT)方法引入了评价指标作为损失函数,目标是将训练数据在测试数据上的预期风险降至最低
\upcite
{
DBLP:conf/acl/ShenCHHWSL16
}
。
\parinterval
{
\small\bfnew
{
最小风险训练
}}
\index
{
最小风险训练
}
(Minimum Risk Training
\index
{
Minimum Risk Training
}
,MRT)可以被看作是一种基于策略的方法。与传统的极大似然估计不同,最小风险训练引入了评价指标作为损失函数,目标是将模型的预期风险降至最低,这里预期风险通常用风险函数的期望表示
\upcite
{
DBLP:conf/acl/ShenCHHWSL16
}
。
\parinterval
最小风险训练的训练目标是最小化训练数据
$
\{
(
x
_
1
,
\widetilde
{
y
}_
1
)
,...,
(
x
_
N,
\widetilde
{
y
}_
N
)
\}
$
上的风险
$
\funp
{
R
}
(
\theta
)
$
,如公式
\eqref
{
eq:13-13
}
所示:
\parinterval
MRT的训练目标是最小化训练数据上的风险,风险定义为相对于后验分布的预期损失,其计算方式如公式
\eqref
{
eq:13-13
}
所示:
\begin{eqnarray}
\hat
{
\theta
}_{
\textrm
{
MRT
}}
&
=
&
\arg\max
_{
\theta
}
\{\funp
{
R
}
(
\theta
)
\}
\\
\funp
{
R
}
(
\theta
)
&
=
&
\sum
_{
i=1
}^
n
\mathbb
{
E
}_{
\mathbi
{
y
}_
i|
\mathbi
{
x
}_
i;
\theta
}
[
\vartriangle
(
\mathbi
{
y
}_
i
,
\widetilde
{
\mathbi
{
y
}}
)]
\nonumber
\\
&
=
&
\sum
_{
i=1
}^
n
\sum
_{
\mathbi
{
y
}_
i
\in
\chi
(
\mathbi
{
x
}_
i)
}
\funp
{
P
}
(
\mathbi
{
y
}_
i|
\mathbi
{
x
}_
i;
\theta
)
\vartriangle
(
\mathbi
{
y
}_
i
,
\widetilde
{
\mathbi
{
y
}}
)
\funp
{
R
}
(
\theta
)
&
=
&
\sum
_{
k=1
}^
N
\mathbb
{
E
}_{
\mathbi
{
y
}_
k|
\mathbi
{
x
}_
k;
\theta
}
[
\vartriangle
(
\mathbi
{
y
}_
k
,
\widetilde
{
\mathbi
{
y
}}
)]
\nonumber
\\
&
=
&
\sum
_{
k=1
}^
N
\sum
_{
\mathbi
{
y
}_
k
\in
\chi
(
\mathbi
{
x
}_
k)
}
\funp
{
P
}
(
\mathbi
{
y
}_
k|
\mathbi
{
x
}_
k;
\theta
)
\vartriangle
(
\mathbi
{
y
}_
k
,
\widetilde
{
\mathbi
{
y
}}
)
\label
{
eq:13-13
}
\end{eqnarray}
\noindent
此处,
$
\{\mathbi
{
x
}_
i,
\widetilde
{
\mathbi
{
y
}}
\}
$
是训练数据中第
$
i
$
个句子对,
$
\mathbi
{
y
}_
i
$
是模型预测输出,
$
\chi
(
\mathbi
{
x
}_
i
)
$
是对
$
\mathbi
{
x
}_
i
$
的所有候选翻译的集合,损失函数
$
\vartriangle
(
\mathbi
{
y
}_
i,
\widetilde
{
\mathbi
{
y
}}
)
$
用来衡量模型预测
$
\mathbi
{
y
}_
i
$
与标准答案
$
\widetilde
{
\mathbi
{
y
}}$
间的差异,损失函数可以是负平滑句子级别的评估指标,例如BLEU
\upcite
{
DBLP:conf/acl/PapineniRWZ02
}
,NIST
\upcite
{
doddington2002automatic
}
,TER
\upcite
{
snover2006study
}
或METEOR
\upcite
{
lavie2009meteor
}
。在MRT中,对模型参数
$
\theta
_
i
$
的偏导数公式
\eqref
{
eq:13-14
}
所示,由于无需对
$
\vartriangle
(
\mathbi
{
y
}_
i,
\widetilde
{
\mathbi
{
y
}}
)
$
进行微分,因此MRT允许任意不可微的损失函数。
\noindent
这里,
$
\mathbi
{
y
}_
i
$
是模型预测的译文,
$
\chi
(
\mathbi
{
x
}_
i
)
$
是
$
\mathbi
{
x
}_
i
$
所对应的所有候选翻译的集合,损失函数
$
\vartriangle
(
\mathbi
{
y
}_
i,
{
\mathbi
{
y
}}
)
$
用来衡量模型预测
$
\mathbi
{
y
}_
i
$
与标准答案
$
\widetilde
{
\mathbi
{
y
}}$
间的差异,损失函数一般用翻译质量评价指标定义,例如,BLEU,TER等。在MRT中,对模型参数
$
\theta
$
的偏导数公式
\eqref
{
eq:13-14
}
所示,
\begin{eqnarray}
\frac
{
\partial
\funp
{
R
}
(
\theta
)
}{
\partial
\theta
_
k
}
&
=
&
\sum
_{
i=1
}^
n
\mathbb
{
E
}_{
\mathbi
{
y
}_
i|
\mathbi
{
x
}_
i;
\theta
}
[
\vartriangle
(
\mathbi
{
y
}_
i,
\widetilde
{
\mathbi
{
y
}}
)
\times
\sum
_
j
^
m
\frac
{
\partial
\funp
{
P
}
(
\widetilde
{
\mathbi
{
y
}}^
j|
\mathbi
{
x
}_
i,
\widetilde
{
\mathbi
{
y
}}^{
<m
}
;
\theta
)/
\partial
\theta
_
k
}{
\funp
{
P
}
(
\widetilde
{
\mathbi
{
y
}}^
j|
\mathbi
{
x
}_
i,
\widetilde
{
\mathbi
{
y
}}^{
<m
}
;
\theta
)
}
]
\frac
{
\partial
\funp
{
R
}
(
\theta
)
}{
\partial
\theta
}
&
=
&
\sum
_{
k=1
}^
N
\mathbb
{
E
}_{
\mathbi
{
y
}_
k|
\mathbi
{
x
}_
k;
\theta
}
[
\vartriangle
(
\mathbi
{
y
}_
k,
\widetilde
{
\mathbi
{
y
}}
)
\times
\sum
_{
j=1
}^{
|
\widetilde
{
y
}_
k|
}
\frac
{
\partial
\funp
{
P
}
(
\widetilde
{
\mathbi
{
y
}}_{
k,j
}
|
\mathbi
{
x
}_
k,
\widetilde
{
\mathbi
{
y
}}_{
k,<m
}
;
\theta
)/
\partial
\theta
}{
\funp
{
P
}
(
\widetilde
{
\mathbi
{
y
}}_{
k,j
}
|
\mathbi
{
x
}_
k,
\widetilde
{
\mathbi
{
y
}}_{
k,<j
}
;
\theta
)
}
]
\label
{
eq:13-14
}
\end{eqnarray}
\noindent
其中,
$
\widetilde
{
\mathbi
{
y
}}^
j
$
表示第i个句子的预测的第
$
j
$
个词,
$
\theta
_
k
$
表示第
$
k
$
个模型的参数
\noindent
其中,
$
\widetilde
{
\mathbi
{
y
}}_{
k,j
}$
表示第
$
i
$
个样本的第
$
j
$
个目标语言单词,
$
\widetilde
{
\mathbi
{
y
}}_{
k,<m
}$
表示第
$
i
$
个样本所有位置小于
$
m
$
的目标语言单词。公式
\eqref
{
eq:13-14
}
使用了
{
\small\bfnew
{
策略梯度
}}
\index
{
策略梯度
}
(Policy Gradient
\index
{
Policy Gradient
}
)的手段将
$
\vartriangle
(
\mathbi
{
y
}_
i,
\widetilde
{
\mathbi
{
y
}}
)
$
提到微分操作之外(
{
\color
{
red
}
引用策略梯度的论文!
}
)。这样,就无需对
$
\vartriangle
(
\mathbi
{
y
}_
i,
\widetilde
{
\mathbi
{
y
}}
)
$
进行微分,因此最小风险训练允许任意不可微的损失函数,包括BLEU等常用的评价函数。
\parinterval
相比于最大似然估计,最小风险训练有着以下优点:
\begin{itemize}
\vspace
{
0.5em
}
\item
MRT
通过使用模型自身产生的数据进行训练,从而解决了曝光偏置问题。
\item
最小风险训练
通过使用模型自身产生的数据进行训练,从而解决了曝光偏置问题。
\vspace
{
0.5em
}
\item
MRT通过直接优化BLEU等解码中实际使用的评价指标,从而解决了训练解码
评价指标不一致问题。
\item
最小风险训练通过直接优化BLEU等评价指标,从而解决了训练-推断
评价指标不一致问题。
\vspace
{
0.5em
}
\item
由于MRT方法中只涉及到模型输出而不涉及具体的模型结构,因此其对体系结构是透明的,可以应用于任意的端到端NMT
模型。
\item
最小风险训练方法只涉及到模型输出而不涉及具体的模型结构,因此其对体系结构是透明的,可以应用于任意的机器翻译
模型。
\vspace
{
0.5em
}
\end{itemize}
\parinterval
MRT显著改善了机器翻译任务的性能
\upcite
{
bahdanau2014neural
}
,且已广泛用于常规SMT
\upcite
{
koehn2003statistical,smith2006minimum,he2012maximum
}
和基于深度学习的MT
\upcite
{
DBLP:conf/acl/GaoHYD14
}
。
\parinterval
表
\ref
{
fig:13-24
}
的右半边展示了优化过程中的四个模型,顺序为从差到好。
{
\red
根据和标准答案
$
\widetilde
{
\mathbi
{
y
}}_
i
$
计算出的损失函数,
}
从上到下的三个模型预测输出我们用
$
\mathbi
{
y
}_
1
$
,
$
\mathbi
{
y
}_
2
$
和
$
\mathbi
{
y
}_
3
$
表示(
$
\mathbi
{
y
}_
1
$
:“今天 天气 很 好”,
$
\mathbi
{
y
}_
2
$
:“今天 天气 不错”,
$
\mathbi
{
y
}_
3
$
:“今天 天 很 晴朗”),显然
$
\mathbi
{
y
}_
1
$
是最好的候选,
$
\mathbi
{
y
}_
3
$
是次优的候选,
$
\mathbi
{
y
}_
2
$
是最差的候选,
$
\mathbi
{
y
}_
1
>
\mathbi
{
y
}_
3
>
\mathbi
{
y
}_
2
$
。第一列的模型以和标准答案相反的顺序排序所有候选结果,
$
\mathbi
{
y
}_
2
>
\mathbi
{
y
}_
3
>
\mathbi
{
y
}_
1
$
,因此他得到了最高的风险分数-0.50,第二列的模型相对于第一列的模型得到了一个更好的分数-0.61,第三列得到的分数最高,为-0.71。通过将概率质量集中在
$
\mathbi
{
y
}_
1
$
上,可以进一步降低风险。通过最大程度地减少训练数据的风险分数,我们期望获得一个与标准答案非常相关的模型。
\parinterval
表
\ref
{
fig:13-24
}
展示了四个模型及所对应的损失函数
$
\vartriangle
(
\mathbi
{
y
}_
i,
{
\mathbi
{
y
}}
)
$
的值,四个模型顺序为从差到好。假设有三个译文:
$
\mathbi
{
y
}_
1
=
$
“今天 天气 很 好”,
$
\mathbi
{
y
}_
2
=
$
“今天 天气 不错”,
$
\mathbi
{
y
}_
3
=
$
“今天 天 很 晴朗”。显然
$
\mathbi
{
y
}_
1
$
是最好的候选,
$
\mathbi
{
y
}_
3
$
是次优的候选,
$
\mathbi
{
y
}_
2
$
是最差的候选,于是按翻译质量好坏的排序为
$
\mathbi
{
y
}_
1
>
\mathbi
{
y
}_
3
>
\mathbi
{
y
}_
2
$
。模型1以和标准答案相反的顺序排序所有候选结果,
$
\mathbi
{
y
}_
2
>
\mathbi
{
y
}_
3
>
\mathbi
{
y
}_
1
$
,因此他得到了最高的风险分数-0.50,模型2相对于第一列的模型得到了一个更好的分数-0.61,模型3得到的分数最高,为-0.71。通过将概率质量集中在
$
\mathbi
{
y
}_
1
$
上,可以进一步降低风险。通过最大程度地减少风险,可以期望获得一个模型,它的预测与标准答案最一致。
%----------------------------------------------
\begin{figure}
[htp]
\centering
\includegraphics
[scale=1]
{
./Chapter13/Figures/figure-minimum-risk-training-calculation-process.png
}
\caption
{
最小风险训练计算过程
}
\caption
{
不同模型预测结果所对应的风险
}
\label
{
fig:13-24
}
\end{figure}
%----------------------------------------------
...
...
@@ -594,51 +594,53 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\subsubsection
{
2. 基于演员-评论家的强化学习方法
}
\parinterval
对于基于策略的强化学习方法来说,它的目标是寻找一个策略
$
\funp
{
p
}
(
\textrm
{
a
}
|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\mathbi
{
x
}
)
$
,使得该策略选择的行动a未来可以获得的奖励期望(也被称为动作价值函数)最大化:
\parinterval
基于策略的强化学习是要寻找一个策略
$
\funp
{
p
}
(
a|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\mathbi
{
x
}
)
$
,使得该策略选择的行动
$
a
$
未来可以获得的奖励期望(也被称为动作价值函数)最大化(
{
\color
{
red
}
句子里的专有名词要加黑,加英文
}
)。这个过程通常用函数
$
Q
$
来描述:
\begin{eqnarray}
\funp
{
Q
}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
&
=
&
\mathbb
{
E
}_{
\hat
{
\mathbi
{
y
}}_{
t+1
\ldots
T
}
\sim
\funp
{
p
}
(
\textrm
{
a
}
|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
\textrm
{
a
}
,
\mathbi
{
x
}
)
}
[
\funp
{
r
}_
t(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t-1
}
,
\widetilde
{
\mathbi
{
y
}}
)
\nonumber
\\
&
+
&
\sum
_{
i=t+1
}^
T
\funp
{
r
}_
i(
\hat
{
\mathbi
{
y
}}_
i;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
i-1
}
\textrm
{
a
}
\hat
{
\mathbi
{
y
}}_{
t
+1
\ldots
i
}
,
\widetilde
{
\mathbi
{
y
}}
)]
\funp
{
Q
}
(
a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
&
=
&
\mathbb
{
E
}_{
\hat
{
\mathbi
{
y
}}_{
j+1
\ldots
J
}
\sim
\funp
{
p
}
(a|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
a,
\mathbi
{
x
}
)
}
[
\funp
{
r
}_
j(a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j-1
}
,
\widetilde
{
\mathbi
{
y
}}
) +
\nonumber
\\
&
&
\sum
_{
i=j+1
}^
J
\funp
{
r
}_
i(
\hat
{
\mathbi
{
y
}}_
i;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
i-1
}
a
\hat
{
\mathbi
{
y
}}_{
j
+1
\ldots
i
}
,
\widetilde
{
\mathbi
{
y
}}
)]
\label
{
eq:13-35
}
\end{eqnarray}
\noindent
其中
$
\funp
{
r
}_
t
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
-
1
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
是
$
t
$
时刻做出行动a获得的奖励,
$
\mathbi
{
x
}$
是源语句子,
$
\widetilde
{
\mathbi
{
y
}}$
是正确答案,
$
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}$
是策略
$
\funp
{
p
}$
产生的译文的前
$
t
$
个词,
{
\red
$
T
$
是
}
。其(在一个源语句子X上的)定义的目标函数可以表示为:
\noindent
其中,
$
\funp
{
r
}_
j
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
-
1
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
是
$
j
$
时刻做出行动
$
a
$
获得的奖励,
$
\mathbi
{
x
}$
是源语言句子,
$
\widetilde
{
\mathbi
{
y
}}$
是正确译文,
$
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}$
是策略
$
\funp
{
p
}$
产生的译文的前
$
j
$
个词,
{
\red
$
J
$
是???
}
。其(在一个源语句子
$
x
$
上的)定义的目标为:
\begin{eqnarray}
\
max
_{
\funp
{
p
}}
\mathbb
{
E
}_{
\hat
{
\mathbi
{
y
}}
\sim
\funp
{
p
}
(
\hat
{
\mathbi
{
y
}}
|
\mathbi
{
x
}
)
}
\sum
_{
t=1
}^
T
\sum
_{
\textrm
{
a
}
\in
\textrm
{
A
}}
\funp
{
p
}
(
\textrm
{
a
}
|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\mathbi
{
x
}
)
\funp
{
Q
}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
\
hat
{
p
}
&
=
&
\max
_{
\funp
{
p
}}
\mathbb
{
E
}_{
\hat
{
\mathbi
{
y
}}
\sim
\funp
{
p
}
(
\hat
{
\mathbi
{
y
}}
|
\mathbi
{
x
}
)
}
\sum
_{
j=1
}^
J
\sum
_{
a
\in
A
}
\funp
{
p
}
(a|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\mathbi
{
x
}
)
\funp
{
Q
}
(a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
\label
{
eq:13-15
}
\end{eqnarray}
\
parinterval
其中,
\textrm
{
A
}
所有可能的行动组成的空间,也就是词表
$
V
$
。上式表示,计算动作价值函数
$
\funp
{
Q
}$
需要枚举
$
t
$
时刻以后所有可能句子,而可能的句子数目是随着其长度指数级增长,因此我们只能估计
$
\funp
{
Q
}$
。基于策略的强化学习方法,如最小风险训练(风险
$
\vartriangle
=-
\funp
{
Q
}$
)等都使用了采样的方法来估计
$
\funp
{
Q
}$
。尽管采样估计的结果是
$
\funp
{
Q
}$
的无偏估计,但是它的缺点在于估计的方差比较大。而
$
\funp
{
Q
}$
直接关系到梯度更新的大小,不稳定的数值会导致网络
更新不稳定,难以优化。
\
noindent
其中,
$
A
$
表示所有可能的行动组成的空间,也就是词表
$
V
$
。公式
\eqref
{
eq:13-15
}
的含义是,计算动作价值函数
$
\funp
{
Q
}$
需要枚举
$
j
$
时刻以后所有可能的序列,而可能的序列数目是随着其长度呈指数级增长,因此只能估计
$
\funp
{
Q
}$
。基于策略的强化学习方法,如最小风险训练(风险
$
\vartriangle
=-
\funp
{
Q
}$
)等都使用了采样的方法来估计
$
\funp
{
Q
}$
。尽管采样估计的结果是
$
\funp
{
Q
}$
的无偏估计,但是它的缺点在于估计的方差比较大。而
$
\funp
{
Q
}$
直接关系到梯度更新的大小,不稳定的数值会导致模型
更新不稳定,难以优化。
\parinterval
为了避免采样的开销和随机性带来的不稳定,基于
演员-评论家
的强化学习方法
\upcite
{
DBLP:conf/iclr/BahdanauBXGLPCB17
}
引入一个可学习的函数
$
\hat
{
\funp
{
Q
}}$
,通过函数
$
\hat
{
\funp
{
Q
}}$
来逼近动作价值函数
$
\funp
{
Q
}$
。但是由于
$
\hat
{
\funp
{
Q
}}$
是人工设计的一个函数,该函数有着自身的偏置,因此
$
\hat
{
\funp
{
Q
}}$
不是
$
\funp
{
Q
}$
的一个无偏估计,所以使用
$
\hat
{
\funp
{
Q
}}$
来指导
$
\funp
{
p
}$
的优化无法到达理论上的最优解。尽管如此,得益于神经网络强大的拟合能力,基于演员-评论家的强化学习方法仍更具优势。
\parinterval
为了避免采样的开销和随机性带来的不稳定,基于
{
\small\bfnew
{
演员-评论家
}}
\index
{
演员-评论家
}
(Actor-critic
\index
{
Actor-critic
}
)
的强化学习方法
\upcite
{
DBLP:conf/iclr/BahdanauBXGLPCB17
}
引入一个可学习的函数
$
\hat
{
\funp
{
Q
}}$
,通过函数
$
\hat
{
\funp
{
Q
}}$
来逼近动作价值函数
$
\funp
{
Q
}$
。但是由于
$
\hat
{
\funp
{
Q
}}$
是人工设计的一个函数,该函数有着自身的偏置,因此
$
\hat
{
\funp
{
Q
}}$
不是
$
\funp
{
Q
}$
的一个无偏估计,所以使用
$
\hat
{
\funp
{
Q
}}$
来指导
$
\funp
{
p
}$
的优化无法到达理论上的最优解。尽管如此,得益于神经网络强大的拟合能力,基于演员-评论家的强化学习方法仍更具优势。
\parinterval
对于基于演员-评论家的强化学习方法,演员就是策略
$
\funp
{
p
}$
,而评论家就是动作价值函数
$
\funp
{
Q
}$
的估计
$
\hat
{
\funp
{
Q
}}$
。对于演员,它的目标函数如下:
\begin{eqnarray}
\
max
_{
\funp
{
p
}}
\mathbb
{
E
}_{
\hat
{
\mathbi
{
y
}}
\sim
\funp
{
p
}
(
\hat
{
\mathbi
{
y
}}
|
\mathbi
{
x
}
)
}
\sum
_{
t=1
}^
T
\sum
_{
\textrm
{
a
}
\in
\textrm
{
A
}}
\funp
{
p
}
(
\textrm
{
a
}
|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\mathbi
{
x
}
)
\hat
{
\funp
{
Q
}}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
\
hat
{
p
}
&
=
&
\max
_{
\funp
{
p
}}
\mathbb
{
E
}_{
\hat
{
\mathbi
{
y
}}
\sim
\funp
{
p
}
(
\hat
{
\mathbi
{
y
}}
|
\mathbi
{
x
}
)
}
\sum
_{
j=1
}^
J
\sum
_{
a
\in
A
}
\funp
{
p
}
(a|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\mathbi
{
x
}
)
\hat
{
\funp
{
Q
}}
(a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
\label
{
eq:13-16
}
\end{eqnarray}
\parinterval
与公式
\eqref
{
eq:13-15
}
相比可以发现,基于演员-评论家的强化学习方法与基于策略的强化学习方法类似,公式
\eqref
{
eq:13-16
}
对动作价值函数
$
\funp
{
Q
}$
的估计从采样换成了
$
\hat
{
\funp
{
Q
}}$
。对于目标函数里的期望,我们通常使用采样来进行逼近。借助与最小风险训练类似的方法,我们可以计算对
$
\funp
{
p
}$
的梯度来进行优化
。
\parinterval
与公式
\eqref
{
eq:13-15
}
对比可以发现,基于演员-评论家的强化学习方法与基于策略的强化学习方法类似,公式
\eqref
{
eq:13-16
}
对动作价值函数
$
\funp
{
Q
}$
的估计从采样换成了
$
\hat
{
\funp
{
Q
}}$
(
{
\color
{
red
}
公式
\eqref
{
eq:13-15
}
哪里体现出了采样?而公式
\eqref
{
eq:13-16
}
哪里体现出不需要采样?
}
)。对于目标函数里的期望,通常使用采样对方式来进行逼近,例如,选择一定量的
$
\hat
{
y
}$
来计算期望,而不是遍历所有的
$
\hat
{
y
}$
。借助与最小风险训练类似的方法,可以计算对
$
\funp
{
p
}$
的梯度来进行优化(
{
\color
{
red
}
优化啥?
}
)
。
\parinterval
而对于评论家,它的优化目标
则不是那么显而易见。尽管根据定义我们可以通过采样
来估计
$
\funp
{
Q
}$
,然后使用该估计作为目标让
$
\hat
{
\funp
{
Q
}}$
进行拟合,但是这样会导致非常高的(采样)代价,同时可以想象,既然有了一个无偏估计,为什么还要用有偏估计
$
\hat
{
\funp
{
Q
}}$
呢?
\parinterval
而对于评论家,它的优化目标
并不是那么显而易见。尽管可以通过采样得方式
来估计
$
\funp
{
Q
}$
,然后使用该估计作为目标让
$
\hat
{
\funp
{
Q
}}$
进行拟合,但是这样会导致非常高的(采样)代价,同时可以想象,既然有了一个无偏估计,为什么还要用有偏估计
$
\hat
{
\funp
{
Q
}}$
呢?
\parinterval
回顾动作价值函数的定义,
我们
对它做适当的展开,可以得到如下等式:
\parinterval
回顾动作价值函数的定义,
可以
对它做适当的展开,可以得到如下等式:
\begin{eqnarray}
\funp
{
Q
}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t-1
}
,
\widetilde
{
\mathbi
{
y
}}
)
&
=
&
\funp
{
r
}_
t(
\hat
{
\mathbi
{
y
}}_
t;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t-1
}
,
\widetilde
{
\mathbi
{
y
}}
)
\nonumber
\\
&
+
&
\sum
_{
\textrm
{
a
}
\in
\textrm
{
A
}}
\funp
{
p
}
(
\textrm
{
a
}
|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\mathbi
{
x
}
)
\funp
{
Q
}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
\funp
{
Q
}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j -1
}
,
\widetilde
{
\mathbi
{
y
}}
)
&
=
&
\funp
{
r
}_
j(
\hat
{
\mathbi
{
y
}}_
j;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j-1
}
,
\widetilde
{
\mathbi
{
y
}}
) +
\nonumber
\\
&
&
\sum
_{
a
\in
A
}
\funp
{
p
}
(a|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\mathbi
{
x
}
)
\funp
{
Q
}
(a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
\label
{
eq:13-17
}
\end{eqnarray}
\parinterval
这个等式也被称为
贝尔曼方程
\upcite
{
sutton2018reinforcement
}
。这个等式告诉我们
$
t
-
1
$
时刻的动作价值函数
$
\funp
{
Q
}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
-
1
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
跟下一时刻
$
t
$
的动作价值函数
$
\funp
{
Q
}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
之间的关系。因此我们可以很自然的使用等式右部作为等式左部
$
\funp
{
Q
}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
-
1
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
的目标。而由于动作价值函数的输出是数值,通常会选用均方误差来计算目标函数值
。
\parinterval
这个等式也被称为
{
\small\bfnew
{
贝尔曼方程
}}
\index
{
贝尔曼方程
}
(Bellman Equation
\index
{
Bellman Equation
}
)
\upcite
{
sutton2018reinforcement
}
。这个等式告诉我们
$
j
-
1
$
时刻的动作价值函数
$
\funp
{
Q
}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
-
1
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
跟下一时刻
$
j
$
的动作价值函数
$
\funp
{
Q
}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
之间的关系。因此可以很自然的使用等式右部作为等式左部
$
\funp
{
Q
}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
-
1
}
,
\widetilde
{
\mathbi
{
y
}}
)
$
的目标。而由于动作价值函数的输出是数值,通常会选用均方误差来计算目标函数值(
{
\color
{
red
}
为啥输出是数值,就要用局方误差来计算目标函数?
}
)
。
\parinterval
t
时刻动作价值函数的目标如下:
{
\red
(下面开始用q?)
}
\parinterval
进一步,可以定义
$
j
$
时刻动作价值函数的目标如下:
{
\red
(下面开始用q?)
}
\begin{eqnarray}
\funp
{
q
}_
t
&
=
&
\funp
{
r
}_
t(
\hat
{
\mathbi
{
y
}}_
t;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t-1
}
,
\widetilde
{
\mathbi
{
y
}}
) +
\sum
_{
\textrm
{
a
}
\in
\textrm
{
A
}}
\funp
{
p
}
(
\textrm
{
a
}
|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\mathbi
{
x
}
)
\hat
{
\funp
{
Q
}}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
\funp
{
q
}_
j
&
=
&
\funp
{
r
}_
j(
\hat
{
\mathbi
{
y
}}_
j;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j-1
}
,
\widetilde
{
\mathbi
{
y
}}
) +
\sum
_{
a
\in
A
}
\funp
{
p
}
(a|
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\mathbi
{
x
}
)
\hat
{
\funp
{
Q
}}
(a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
\label
{
eq:13-18
}
\end{eqnarray}
\parinterval
而评论家对应的目标函数
则
如下:
\parinterval
而评论家对应的目标函数
定义
如下:
\begin{eqnarray}
\
min
_{
\hat
{
\funp
{
Q
}}}
\sum
_{
t=1
}^
T
{
(
\hat
{
\funp
{
Q
}}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t-1
}
,
\widetilde
{
\mathbi
{
y
}}
) -
\funp
{
q
}_
t
)
}^
2
\
hat
{
\hat
{
\funp
{
Q
}}}
&
=
&
\min
_{
\hat
{
\funp
{
Q
}}}
\sum
_{
j=1
}^
J
{
(
\hat
{
\funp
{
Q
}}
(
\hat
{
\mathbi
{
y
}}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j-1
}
,
\widetilde
{
\mathbi
{
y
}}
) -
\funp
{
q
}_
j
)
}^
2
\label
{
eq:13-19
}
\end{eqnarray}
...
...
@@ -653,17 +655,17 @@ Loss_{\textrm{robust}}(\theta_{\textrm{mt}}) &=& \frac{1}{N}\sum_{(\mathbi{x},\
\end{figure}
%----------------------------------------------
\parinterval
实际
使用基于演员-评论家的强化学习方法还有许多细节,包括但不限于以下技巧:
\parinterval
使用基于演员-评论家的强化学习方法还有许多细节,包括但不限于以下技巧:
\begin{itemize}
\vspace
{
0.5em
}
\item
多目标学习:演员的优化通常会引入额外的
MLE目标函数,同时会使用MLE进行预训练。这样会简化训练,因为随机初始化的演员性能很差,很难获得有效的奖励。同时MLE
作为一个额外的正则项也防止模型跑偏,加速收敛。
\item
多目标学习:演员的优化通常会引入额外的
极大似然估计目标函数,同时会使用极大似然估计进行预训练。这样会简化训练,因为随机初始化的演员性能很差,很难获得有效的奖励。同时极大似然估计
作为一个额外的正则项也防止模型跑偏,加速收敛。
\vspace
{
0.5em
}
\item
目标网络
:评论家的优化目标是由自身输出所构造。当模型更新比较快的时候模型的输出变化也会很快,导致构造的优化目标不稳定,影响模型收敛。一个解决方案是在一定更新次数内固定构造优化目标使用的模型,然后再使用比较新的模型来构造后续一定更新次数内的优化目标,如此往复
\upcite
{
DBLP:journals/nature/SilverHMGSDSAPL16
}
。
\item
优化目标
:评论家的优化目标是由自身输出所构造。当模型更新比较快的时候模型的输出变化也会很快,导致构造的优化目标不稳定,影响模型收敛。一个解决方案是在一定更新次数内固定构造优化目标使用的模型,然后再使用比较新的模型来构造后续一定更新次数内的优化目标,如此往复
\upcite
{
DBLP:journals/nature/SilverHMGSDSAPL16
}
。
\vspace
{
0.5em
}
\item
方差惩罚:在机器翻译
里面使用强化学习方法一个问题就是动作空间,也就是词表非常大。因为模型只根据被采样到的结果来进行更新,很多动作很难得到更新,因此对不同动作的动作价值函数估计值会有很大差异。通常我们会引入一个正则项
$
C
_
t
=
\sum
_{
\textrm
{
a
}
\in
\textrm
{
A
}}{
(
\hat
{
\funp
{
Q
}}
(
\textrm
{
a
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
)
-
\frac
{
1
}{
|
\textrm
{
A
}
|
}
\sum
_{
\textrm
{
b
}
\in
\textrm
{
A
}}
\hat
{
\funp
{
Q
}}
(
\textrm
{
b
}
;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
t
}
,
\widetilde
{
\mathbi
{
y
}}
))
}^
2
$
来约束不同动作的动作函数估计值,使其不会偏离他们的均值太远
\upcite
{
DBLP:conf/icml/ZarembaMJF16
}
。
\item
方差惩罚:在机器翻译
中使用强化学习方法一个问题是动作空间过大,这是由词表过大造成的。因为模型只根据被采样到的结果来进行更新,很多动作很难得到更新,因此对不同动作的动作价值函数估计值会有很大差异。通常会引入一个正则项
$
C
_
j
=
\sum
_{
a
\in
A
}{
(
\hat
{
\funp
{
Q
}}
(
a;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
)
-
\frac
{
1
}{
|A|
}
\sum
_{
b
\in
A
}
\hat
{
\funp
{
Q
}}
(
b;
\hat
{
\mathbi
{
y
}}_{
1
\ldots
j
}
,
\widetilde
{
\mathbi
{
y
}}
))
}^
2
$
来约束不同动作的动作函数估计值,使其不会偏离他们的均值太远
\upcite
{
DBLP:conf/icml/ZarembaMJF16
}
。
\vspace
{
0.5em
}
\item
函数塑形:在机器翻译里面使用强化学习方法另一个问题就是奖励的稀疏性。评价指标如BLEU等只能对完整的句子进行打分,
这意味着奖励只有在句子结尾有值,而在句子中间只能为0。这种情况意味着模型在生成句子的过程中没有任何信号来指导它的行为,从而大大增加了学习难度。常见的解决方案是进行函数塑形
,使得奖励在生成句子的过程中变得稠密,同时也不会改变模型的最优解
\upcite
{
DBLP:conf/icml/NgHR99
}
。
\item
函数塑形:在机器翻译里面使用强化学习方法另一个问题就是奖励的稀疏性。评价指标如BLEU等只能对完整的句子进行打分,
也就是奖励只有在句子结尾有值,而在句子中间只能为0。这种情况意味着模型在生成句子的过程中没有任何信号来指导它的行为,从而大大增加了学习难度。常见的解决方案是进行
{
\small\bfnew
{
函数塑形
}}
\index
{
函数塑形
}
(Reward Shaping
\index
{
Reward Shaping
}
)
,使得奖励在生成句子的过程中变得稠密,同时也不会改变模型的最优解
\upcite
{
DBLP:conf/icml/NgHR99
}
。
\vspace
{
0.5em
}
\end{itemize}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论