现在,总结一下我们前面介绍的相关内容:
首先,我们介绍了强化学习的八个基本要素,具体参见:基本概念篇(一),强化学习基本要素
其次,我们对强化学习的过程进行了描述,具体参见:基本概念篇(二),强化学习过程
具体来讲,强化学习可以描述成一个MDP(马尔科夫决策过程),即
M
=
{
S
,
A
,
P
,
r
,
γ
,
τ
}
M=\left\{S,A,P,r,\gamma,\tau\right\}
M={S,A,P,r,γ,τ},这其中:
S
S
S 是状态集;
A
A
A 是动作集;
P
P
P 是状态转移矩阵;
r
:
S
×
A
→
[
−
R
m
a
x
,
R
m
a
x
]
r:\;S\times A\rightarrow\left[-R_{max},R_{max}\right]
r:S×A→[−Rmax,Rmax] 为实时环境奖励;
γ
∈
[
0
,
1
]
\gamma\in\left[0,1\right]
γ∈[0,1] 为折扣因子;
τ
=
(
s
0
,
a
1
,
s
1
,
a
2
,
s
2
,
⋯
,
a
T
,
s
T
)
\tau=\left(s_0,a_1,s_1,a_2,s_2,\cdots,a_T,s_T\right)
τ=(s0,a1,s1,a2,s2,⋯,aT,sT) 为一个轨迹序列,描述的是一次完整的交互过程(即一个Episode,这个词后面会经常用,相应的
(
s
0
,
a
1
,
s
1
)
\left(s_0,a_1,s_1\right)
(s0,a1,s1)就可以看作一个Step)。
那一次强化学习的收益,我们就可以写成
R
(
τ
)
R\left(\tau\right)
R(τ),由于
τ
\tau
τ本身是一个随机变量,则
R
(
τ
)
R\left(\tau\right)
R(τ)也是一个随机值,优化过程无法对随机值取最大,但我们可以对其期望取最大,即通过不断优化
m
a
x
π
∫
R
(
τ
)
P
π
(
τ
)
d
τ
\underset\pi{max}\int R\left(\tau\right)P_\pi\left(\tau\right)\operatorname d\tau
πmax∫R(τ)Pπ(τ)dτ,最终找到最优决策序列。
根据状态转移概率 p p p(或状态转移矩阵 P P P)是否已知,强化学习可以分为两个大类,即Model-Based(基于模型, p p p已知)和Model-Free(无模型, p p p未知):
Model-Based(基于模型)
这一类,由于确切已知转移概率,则可以将其转换为规划问题来进行求解,例如上一节我们给大家看的解线性方程的例子。同时,由于MDP其实就是一个多阶段决策(序贯决策)问题。因此,动态规划方法是解决这一类问题的较常用方法。其实,我们现在返回去再看一下上一节讲的贝尔曼方程,例如: v π ( s ) = ∑ a ∈ A π ( a ∣ s ) [ r s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) ] v_{\mathrm\pi}\left(s\right)=\sum_{a\in A}\mathrm\pi\left(\mathrm a\left|\mathrm s\right.\right)\left[\mathrm r_{\mathrm s}^{\mathrm a}+\mathrm\gamma\sum_{\mathrm s'\in\mathrm S}\mathrm P_{\mathrm{ss}'}^{\mathrm a}{\mathrm v}_{\mathrm\pi}\left(\mathrm s'\right)\right] vπ(s)=∑a∈Aπ(a∣s)[rsa+γ∑s′∈SPss′avπ(s′)])或者 q π ( s , a ) = r s a + γ ∑ s ′ ∈ S P s s ′ a ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) {\mathrm q}_{\mathrm\pi}\left(\mathrm s,\mathrm a\right)=r_s^a+\gamma\sum_{s'\in S}P_{ss'}^a\sum_{\mathrm a'\in\mathrm A}\mathrm\pi\left(\mathrm a'\left|\mathrm s'\right.\right){\mathrm q}_{\mathrm\pi}\left(\mathrm s',\mathrm a'\right) qπ(s,a)=rsa+γ∑s′∈SPss′a∑a′∈Aπ(a′∣s′)qπ(s′,a′),其形式与标准的动态规划方程就非常类似。
Model-Free(无模型)
对于这一类,由于无法利用状态转移概率
p
p
p求解,那么就要引入一个称为经验平均的方法。我们先看下面两个公式:
v
π
(
s
)
=
E
π
[
r
t
+
1
+
γ
⋅
r
t
+
2
+
γ
2
⋅
r
t
+
3
∣
s
t
=
s
]
v_{\mathrm\pi}\left(s\right)=E_{\mathrm\pi}\left[r_{t+1}+\gamma\cdot r_{t+2}+\gamma^2\cdot r_{t+3}\left|s_t=s\right.\right]
vπ(s)=Eπ[rt+1+γ⋅rt+2+γ2⋅rt+3∣st=s]
q
π
(
s
,
a
)
=
E
π
[
r
t
+
1
+
γ
⋅
r
t
+
2
+
γ
2
⋅
r
t
+
3
∣
s
t
=
s
,
a
t
=
a
]
q_{\mathrm\pi}\left(s,a\right)=E_{\mathrm\pi}\left[r_{t+1}+\gamma\cdot r_{t+2}+\gamma^2\cdot r_{t+3}\left|s_t=s\right.,a_t=a\right]
qπ(s,a)=Eπ[rt+1+γ⋅rt+2+γ2⋅rt+3∣st=s,at=a]
前面我们讲了,要解决强化学习问题,最终落在求这两个函数的最大值上。与上面的贝尔曼方程不同,这两个值在原始定义中,是不涉及状态转移概率
p
p
p的。因此,经验平均方法的思路简单来讲,就是利用多次抽样得到的平均值去代替随机量的期望值。根据这个出发点,这一方法本身就需要进行大量的采样,同时尽可能全的覆盖大部分取值空间,否则其平均值与随机变量的期望值之间就会产生较大差距。
到这里,基本的概念就讲完了。下来,我们会根据Model-Based和Model-Free两大部分,分别介绍强化学习相关方法。