(《机器学习》完整版系列)第16章 强化学习——16.8 异策略蒙特卡罗强化学习算法(换分布)
提示:
通过换分布进行蒙特卡罗试验(采样)来实现。
求期望时“换分布”的想法及公式,有点像求对数时的“换底”
异策略蒙特卡罗强化学习算法
先看两个数学技巧:
(i) 函数的数学期望可以通过对函数的采样时行估计(这是由大数定律来保证的,参见14.6 采样:马尔可夫链蒙特卡罗MCMC方法之为何要采样?或【西瓜书第14.5.1节】),用MCMC的目的就是为了使用该技巧——应用大数定律:用【西瓜书式(14.22)】作为【西瓜书式(14.21)】的无偏估计,类似地,这里用【西瓜书式(16.23)】作为【西瓜书式(16.21)】的无偏估计、用【西瓜书式(16.24)】作为【西瓜书式(16.22)】的无偏估计。
(ii) 函数的数学期望有两种不同的等价形式,即【西瓜书式(14.21)】与【西瓜书式(14.23)】,即
E
p
[
f
]
=
E
q
[
p
q
f
]
\begin{align} \mathop{\mathbb{E}}\limits_p [f]=\mathop{\mathbb{E}}\limits_q [\frac{p}{q}f] \tag{16.55} \end{align}
pE[f]=qE[qpf](16.55)
对式(16.55)左右两端分别按分布
p
p
p和分布
q
q
q采样,再应用大数定律,则分别得到【西瓜书式(16.22)】和【西瓜书式(16.24)】。
记住:求期望时“换分布”的想法及公式,有点像求对数时的“换底”。
现在以轨线
s
s
s作为变量,
R
(
s
)
R(s)
R(s)表示轨线上自状态
x
x
x至结束的累积奖赏,即
{
R
(
s
)
=
1
T
∑
t
=
1
T
r
t
s
∣
x
0
=
x
,
a
0
=
a
当“
T
型”时
R
(
s
)
=
∑
t
=
0
+
∞
γ
t
r
t
s
∣
x
0
=
x
,
a
0
=
a
当“
γ
型”时
\begin{align} \begin{cases} R(s) & =\frac{1}{T}\sum_{t=1}^Tr_t^s|_{x_0=x,a_0=a}\quad \text{当“$T$型”时} \\ R(s) & =\sum_{t=0}^{+\infty }{\gamma }^t r_t^s|_{x_0=x,a_0=a}\quad \text{当“$\gamma$型”时} \\ \end{cases} \tag{16.56} \end{align}
{R(s)R(s)=T1∑t=1Trts∣x0=x,a0=a当“T型”时=∑t=0+∞γtrts∣x0=x,a0=a当“γ型”时(16.56)
p
(
s
)
p(s)
p(s)为策略
π
\pi
π对应的轨线分布,由【西瓜书式(16.6)】有
Q
(
x
,
a
)
=
E
p
[
R
]
\begin{align} Q(x,a)=\mathop{\mathbb{E}}\limits_p [R] \tag{16.57} \end{align}
Q(x,a)=pE[R](16.57)
对式(16.57)右侧应用【西瓜书式(16.22)】得
Q
(
x
,
a
)
=
1
m
∑
i
=
1
m
R
(
s
i
)
\begin{align} Q(x,a)=\frac{1}{m}\sum_{i=1}^mR(s_i) \tag{16.58} \end{align}
Q(x,a)=m1i=1∑mR(si)(16.58)
将
R
(
s
i
)
R(s_i)
R(si)简记为
R
i
R_i
Ri,即为【西瓜书式(16.25)】。
设
q
(
s
)
q(s)
q(s)为策略
π
′
\pi '
π′对应的轨线分布,取
f
(
s
)
=
R
(
s
)
f(s)=R(s)
f(s)=R(s),由式(16.55)、式(16.57)有
Q
(
x
,
a
)
=
E
q
[
p
q
R
]
\begin{align} Q(x,a)=\mathop{\mathbb{E}}\limits_q [\frac{p}{q}R] \tag{16.59} \end{align}
Q(x,a)=qE[qpR](16.59)
现基于
q
(
s
)
q(s)
q(s)进行采样,得
m
m
m条轨线
{
s
i
}
i
=
1
m
\{s_i\}_{i=1}^m
{si}i=1m,对式(16.57)右侧应用【西瓜书式(16.24)】得
Q
(
x
,
a
)
=
1
m
∑
i
=
1
m
p
(
s
i
)
q
(
s
i
)
R
(
s
i
)
=
1
m
∑
i
=
1
m
P
i
π
P
i
π
′
R
i
\begin{align} Q(x,a) & =\frac{1}{m}\sum_{i=1}^m\frac{p(s_i)}{q(s_i)}R(s_i)\notag \\ & =\frac{1}{m}\sum_{i=1}^m\frac{P_i^{\pi}}{P_i^{\pi '}}R_i \tag{16.60} \end{align}
Q(x,a)=m1i=1∑mq(si)p(si)R(si)=m1i=1∑mPiπ′PiπRi(16.60)
基于
q
(
s
)
q(s)
q(s)进行采样得到的轨线
s
i
s_i
si即为【西瓜书式(16.24)】中的
x
i
′
x_i'
xi′。
P i π {P_i^{\pi}} Piπ与 P i π ′ {P_i^{\pi '}} Piπ′为不同策略下产生轨线的概率,由16.3 有模型迭代式的详细推导图 16.5及马尔可夫链性质, P i π {P_i^{\pi}} Piπ与 P i π ′ {P_i^{\pi '}} Piπ′都为【西瓜书式(16.27)】的形式,故二者的比值为【西瓜书式(16.28)】。
比较式(16.48)与式(16.60),式(16.48)有递推式(16.50),故将式(16.50)中的 R s R_s Rs换为 P i π P i π ′ R i \frac{P_i^{\pi}}{P_i^{\pi '}}R_i Piπ′PiπRi即为式(16.60)的递推式,下面讨论后者的变形。
为简便,我们以轨线
s
s
s编号起代
s
i
s_i
si,即式(16.60)变为
Q
(
x
,
a
)
=
1
m
∑
s
=
1
m
P
s
π
P
s
π
′
R
s
\begin{align} Q(x,a)=\frac{1}{m}\sum_{s=1}^m\frac{P_s^{\pi}}{P_s^{\pi '}}R_s \tag{16.61} \end{align}
Q(x,a)=m1s=1∑mPsπ′PsπRs(16.61)
将轨线
s
s
s截去头部
t
t
t步后,视为一条起始点为
(
x
t
,
a
t
)
(x_t,a_t)
(xt,at)长度为
T
−
t
T-t
T−t的轨线,以下标“
t
+
1
:
T
t+1:T
t+1:T”表示(即轨线
s
s
s上从
t
+
1
t+1
t+1步到
T
T
T步)。
R
~
s
,
t
=
[
P
s
π
P
s
π
′
R
s
]
t
+
1
:
T
=
[
P
s
π
P
s
π
′
]
t
+
1
:
T
[
R
s
]
t
+
1
:
T
=
[
∏
i
=
0
T
−
1
π
(
x
i
,
a
i
)
π
′
(
x
i
,
a
i
)
]
t
+
1
:
T
[
R
s
]
t
+
1
:
T
(由【西瓜书式(16.28)】)
=
∏
i
=
t
+
1
T
−
1
π
(
x
i
,
a
i
)
π
′
(
x
i
,
a
i
)
(
1
T
−
t
∑
i
=
t
+
1
T
r
i
)
\begin{align} \widetilde{R} _{s,t} & =\left[\frac{P_s^{\pi}}{P_s^{\pi '}}R_s\right]_{t+1:T}\notag \\ & =\left[\frac{P_s^{\pi}}{P_s^{\pi '}}\right]_{t+1:T}\left[R_s\right]_{t+1:T}\notag \\ & =\left[\prod _{i=0}^{T-1}\frac{\pi(x_i,a_i)}{\pi'(x_i,a_i)}\right]_{t+1:T}\left[R_s\right]_{t+1:T} \quad \text{(由【西瓜书式(16.28)】)}\notag \\ & =\prod _{i=t+1}^{T-1}\frac{\pi(x_i,a_i)}{\pi'(x_i,a_i)}\left(\frac{1}{T-t}\sum_{i=t+1}^Tr_i\right) \tag{16.62} \end{align}
R
s,t=[Psπ′PsπRs]t+1:T=[Psπ′Psπ]t+1:T[Rs]t+1:T=[i=0∏T−1π′(xi,ai)π(xi,ai)]t+1:T[Rs]t+1:T(由【西瓜书式(16.28)】)=i=t+1∏T−1π′(xi,ai)π(xi,ai)(T−t1i=t+1∑Tri)(16.62)
现在定义两个策略:
(1)
π
\pi
π为依最大化进行改进所形成的策略,即
{
π
(
x
i
)
=
arg
max
a
∈
A
Q
(
x
i
,
a
)
π
(
x
i
,
a
i
)
=
I
(
a
i
=
π
(
x
i
)
)
\begin{align} \begin{cases} \pi(x_i)=\mathop{\arg\max}\limits_{a\in A}Q(x_i,a) \\ \pi(x_i,a_i)=\mathbb{I} (a_i=\pi(x_i)) \\ \end{cases} \tag{16.63} \end{align}
⎩
⎨
⎧π(xi)=a∈AargmaxQ(xi,a)π(xi,ai)=I(ai=π(xi))(16.63)
显然,它是一个确定性策略。
注:当式(16.63)中的最大值唯一时,动作
a
i
a_i
ai被
x
i
x_i
xi唯一确定,在实际编写程序时,应考虑多处取相同的最大值的情况,这时,式(16.63)变为
{
{
a
i
}
=
arg
max
a
∈
A
Q
(
x
i
,
a
)
π
(
x
i
,
a
i
)
=
按均匀分布从集合
{
a
i
}
中取出一个元素
\begin{align} \begin{cases} \{a_i\}=\mathop{\arg\max}\limits_{a\in A}Q(x_i,a) \\ \pi(x_i,a_i)=\text{按均匀分布从集合$\{a_i\}$中取出一个元素} \\ \end{cases} \tag{16.64} \end{align}
⎩
⎨
⎧{ai}=a∈AargmaxQ(xi,a)π(xi,ai)=按均匀分布从集合{ai}中取出一个元素(16.64)
式(16.64)仍称为确定性策略。
另外,即使所有
x
x
x处的动作
a
a
a是唯一确定的,从
x
0
x_0
x0出发的轨线也不唯一,因为还有
P
x
→
x
′
a
P^a_{x\to x'}
Px→x′a使得
a
→
x
′
a \to x'
a→x′具有随机性,参见16.3 有模型迭代式的详细推导图 16.10
。
(2)
π
′
\pi'
π′为
π
\pi
π的
ϵ
\epsilon
ϵ-贪心策略,即为满足式(16.54)的
π
ϵ
\pi ^\epsilon
πϵ,若将
π
′
(
x
i
,
a
i
)
\pi'(x_i,a_i)
π′(xi,ai)记为
p
i
p_i
pi,则
p
i
=
{
1
−
ϵ
+
ϵ
∣
A
∣
(当
a
i
=
π
(
x
i
)
)
ϵ
∣
A
∣
(当
a
i
≠
π
(
x
i
)
)
\begin{align} p_i= \begin{cases} 1-\epsilon+\frac{\epsilon}{|A|} &\quad \text{(当$a_i=\pi(x_i)$)} \\ \frac{\epsilon}{|A|} &\quad \text{(当$a_i\neq \pi(x_i)$)} \\ \end{cases} \tag{16.65} \end{align}
pi={1−ϵ+∣A∣ϵ∣A∣ϵ(当ai=π(xi))(当ai=π(xi))(16.65)
将两策略代入式(16.62),有
R
~
s
,
t
=
∏
i
=
t
+
1
T
−
1
I
(
a
i
=
π
(
x
i
)
)
p
i
(
1
T
−
t
∑
i
=
t
+
1
T
r
i
)
\begin{align} \widetilde{R} _{s,t} & =\prod _{i=t+1}^{T-1}\frac{\mathbb{I} (a_i=\pi(x_i))}{p_i}\left(\frac{1}{T-t}\sum_{i=t+1}^Tr_i\right) \tag{16.66} \end{align}
R
s,t=i=t+1∏T−1piI(ai=π(xi))(T−t1i=t+1∑Tri)(16.66)
对应于式(16.52),现在,点
(
x
t
,
a
t
)
(x_t,a_t)
(xt,at)处
Q
Q
Q的递推式为
{
Q
s
(
x
t
,
a
t
)
=
(
s
−
1
)
Q
s
−
1
(
x
t
,
a
t
)
+
R
~
s
,
t
s
R
~
s
,
t
=
∏
i
=
t
+
1
T
−
1
I
(
a
i
=
π
(
x
i
)
)
p
i
(
1
T
−
t
∑
i
=
t
+
1
T
r
i
)
\begin{align} \begin{cases} Q_s(x_t,a_t)=\frac{(s-1)Q_{s-1}(x_t,a_t)+\widetilde{R} _{s,t}}{s} \\ \widetilde{R} _{s,t}=\prod _{i=t+1}^{T-1}\frac{\mathbb{I} (a_i=\pi(x_i))}{p_i}\left(\frac{1}{T-t}\sum_{i=t+1}^Tr_i\right) \\ \end{cases} \tag{16.67} \end{align}
⎩
⎨
⎧Qs(xt,at)=s(s−1)Qs−1(xt,at)+R
s,tR
s,t=∏i=t+1T−1piI(ai=π(xi))(T−t1∑i=t+1Tri)(16.67)
其中,
t
=
0
,
1
,
2
,
⋯
,
T
−
1
t=0,1,2,\cdots,{T-1}
t=0,1,2,⋯,T−1,而
Q
s
−
1
(
x
t
,
a
t
)
Q_{s-1}(x_t,a_t)
Qs−1(xt,at)指当前值,由此完成了轨线
s
s
s式(16.47)上所有点的
Q
Q
Q值更新。
基于上述讨论,就可以改造【西瓜书图16.10】为【西瓜书图16.11】异策略蒙特卡罗强化学习算法,要点:
(i) 用 π \pi π产生 π ′ \pi ' π′,再依 π ′ \pi ' π′产生轨线 s s s,由第3-4句。
(ii) 用递推式(16.67)更新轨线 s s s上所有点的 Q Q Q值(策略评估),由第5-9句实现。
(ii) 第10句对策略 π \pi π的“局部”进行优化,即: 对轨线 s s s上所有 x x x处,根据已探索到的新 Q Q Q值,应用式(16.63)优化策略 π \pi π。
由于算法涉及两个策略: π \pi π及 π ′ \pi ' π′( π \pi π的 ϵ \epsilon ϵ-贪心策略),在策略评估时,用 ϵ \epsilon ϵ-贪心策略 π ′ \pi ' π′,在策略改进时基于原策略 π \pi π,故称为“异策略”。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
相关文章
- 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码
- [synergy]两台机器公用键盘鼠标
- 如何透彻的掌握一门机器学习算法
- 机器学习10种经典算法的Python实现
- 机器学习10种经典算法的Python实现
- 机器学习----人脸对齐的算法-ASM.AAM..CLM.SDM
- 机器学习笔记:k近邻算法介绍及基于scikit-learn的实验
- 机器学习笔记 近似最近邻算法(ANN)
- 机器学习笔记 - 什么是先验算法(Apriori Algorithm)?
- 机器学习笔记 - 机器学习中的聚类算法
- ML:数据科学/机器学习领域经验总结—对于特征个数大于样本量的高维数据集,用什么算法进行预测,效果会更好?
- AI:人工智能领域之国内外人工智能产业应用图谱应用层/基础层详解—AI八大应用领域之医疗/家居/驾驶/零售/城市/教育/金融/交通、(AI三大基础(算法【计算机视觉/自然语言处理/机器学习、科研院所/
- ML:数据科学/机器学习领域经验总结—对于特征个数大于样本量的高维数据集,用什么算法进行预测,效果会更好?
- ML/DL之预测分析类:利用机器学习算法进行预测分析的简介、分析、代码实现之详细攻略
- Interview:算法岗位面试—2019秋招&校园招聘—算法工程师【机器学习、深度学习(偏图像)】秋招感悟:初期阶段的傲娇→中期阶段的紧张→后期阶段的蜕变
- Interview:算法岗位面试—10.23下午—上海某科技公司算法岗位(偏机器学习算法,上市)技术面试之比赛积累、项目经验、个人未来发展
- 机器学习算法集成系统
- K近邻算法:机器学习萌新必学算法
- “绝影”机器狗如何利用ModelArts强化学习算法更改导航轨迹
- 梯度下降算法原理讲解——机器学习
- LR 算法总结--斯坦福大学机器学习公开课学习笔记
- 通过GAN绕过基于机器学习的IDS检测系统,IDSGAN(也是对IDS ML检测算法进行绕过,数据集使用NSL-KDD,DoS、U2R、R2L三种攻击)——也有最新防御的方法
- 【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
- 【算法工程师】成为一名优秀的机器学习算法工程师所需知识及资料汇总-附思维导图
- 【机器学习】采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?(面试回答)
- 深度学习(2)之机器学习(部分深度学习)算法原理简述
- 点云算法好书推荐(3D Point Cloud Analysis 传统、深度学习和可解释的机器学习方法)附下载链接