一、有限马尔科夫决策(MDP)过程
MDP就是一种通过交互式学习来实现目标的理论框架。进行学习及实施决策的机器被称为智能体(agent),智能体之外的所有与其相互作用的事物被称为环境(environment)。智能体选择动作,环境对动作产生响应,并向智能体呈现新的状态,并产生一个收益。
(图片来源于网络)
有限MDP的几个要素:状态
S
S
S,动作
A
A
A,回报
R
R
R
由于MDP中的下一状态及回报仅由当前状态和选择动作决定,故我们用下一状态与回报的条件概率来描述MDP的动态特性:
p
(
s
′
,
r
∣
s
,
a
)
=
P
r
(
S
t
=
s
′
,
R
t
=
r
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
)
p(s',r|s,a)=Pr(S_t=s',R_t=r|S_{t-1}=s,A_{t-1}=a)
p(s′,r∣s,a)=Pr(St=s′,Rt=r∣St−1=s,At−1=a)
从公式中也可以看出状态和回报只与当前状态和动作有关,与更早之前的状态和动作无关——马尔科夫性。
我们也可根据该公式获取环境的其它信息(实质就是公式的推导变形)。
比如状态转移概率:
p
(
s
′
∣
s
,
a
)
=
∑
r
∈
R
p
(
s
′
,
r
∣
s
,
a
)
p(s'|s,a)=\sum_{r\in R}p(s',r|s,a)
p(s′∣s,a)=r∈R∑p(s′,r∣s,a)
(边缘概率等于联合概率积分或求和)
状态-动作二元组期望收益:
r
(
s
,
a
)
=
E
[
R
t
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
]
=
∑
r
∈
R
r
∗
p
(
r
∣
s
,
a
)
=
∑
r
∈
R
r
∑
s
′
p
(
s
′
,
r
∣
s
,
a
)
\begin{aligned} r(s,a) & =E[R_t|S_{t-1}=s,A_{t-1}=a]\\ & =\sum_{r\in R}r*p(r|s,a)\\ &=\sum_{r\in R}r\sum_{s'}p(s',r|s,a) \end{aligned}
r(s,a)=E[Rt∣St−1=s,At−1=a]=r∈R∑r∗p(r∣s,a)=r∈R∑rs′∑p(s′,r∣s,a)
状态-动作-后继状态三元组的期望收益:
r
(
s
,
a
)
=
E
[
R
t
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
,
S
t
=
s
′
]
=
∑
r
∈
R
r
∗
p
(
r
∣
s
,
a
,
s
′
)
=
∑
r
∈
R
r
∗
p
(
s
′
,
r
,
s
,
a
)
p
(
s
,
a
,
s
′
)
=
∑
r
∈
R
r
∗
p
(
s
′
,
r
,
s
,
a
)
p
(
s
,
a
)
∗
p
(
s
,
a
)
p
(
s
,
a
,
s
′
)
=
∑
r
∈
R
r
p
(
s
′
,
r
∣
s
,
a
)
p
(
s
′
∣
a
,
s
)
\begin{aligned} r(s,a) & =E[R_t|S_{t-1}=s,A_{t-1}=a,S_t=s']\\ & =\sum_{r\in R}r*p(r|s,a,s')\\ &=\sum_{r\in R}r*\frac{p(s',r,s,a)}{p(s,a,s')}\\ &=\sum_{r\in R}r*\frac{p(s',r,s,a)}{p(s,a)}*\frac{p(s,a)}{p(s,a,s')}\\ &=\sum_{r\in R}r\frac{p(s',r|s,a)}{p(s'|a,s)} \end{aligned}
r(s,a)=E[Rt∣St−1=s,At−1=a,St=s′]=r∈R∑r∗p(r∣s,a,s′)=r∈R∑r∗p(s,a,s′)p(s′,r,s,a)=r∈R∑r∗p(s,a)p(s′,r,s,a)∗p(s,a,s′)p(s,a)=r∈R∑rp(s′∣a,s)p(s′,r∣s,a)
智能体与环境的界限划分:
智能体和环境的界限划分决定了智能体的绝对控制边界(并非其知识的边界,智能体可以从环境中获取相关信息,只是不能控制这些信息)
智能体不能改变的事物被认为是在智能体外部,即是环境的一部分,收益也发生在智能体外部。
智能体-环境的界限可能被放在不同的位置,而界限的选择对性能有着非常大的影响。(比如自动驾驶问题,界限可以是轮胎的扭转,方向盘、油门、刹车定义的动作,大脑与肢体的交互过程等。不同的界限选择对性能有着很大的影响)。
二、收益、目标、回报
1.收益
在强化学习中,智能体的目标被形式化表征为一种特殊信号,称为收益,它通过环境传递给智能体,在每一时刻收益都是一个单一的标量数值 R t ∈ R R_t\in R Rt∈R
2.目标
非正式的说,智能体的目标就是最大化其收到的总收益。即最大化智能体接收到的标量信号(收益)累积和的概率期望值。
3.回报
回报是未来收益之和:
G
t
=
R
t
+
1
+
R
t
+
2
+
.
.
.
.
.
.
+
R
T
G_t=R_{t+1}+R_{t+2}+......+R_T
Gt=Rt+1+Rt+2+......+RT
其中
T
T
T为最终时刻,如果
T
<
+
∞
T<+\infty
T<+∞则对应的任务称为分幕式任务,反之若
T
=
+
∞
T=+\infty
T=+∞,则对应的任务称为持续性任务。
从数学上讲,为了使回报对应级数收敛,可以引入一个参数 γ \gamma γ, 0 ≤ γ ≤ 1 0\le\gamma\le1 0≤γ≤1
从经济学的角度讲,未来的收益转化到当前收益要小于其本身(比如现在的100元和明年的100元并不等价)所以未来收益要想转化成当前收益是要乘一个折扣因子的,我们记这个因子为 γ \gamma γ, 0 ≤ γ ≤ 1 0\le\gamma\le1 0≤γ≤1(具体内容可以查一下相关书籍,这里不做过多介绍)
所以我们给出持续性任务的折后回报公式:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
.
.
.
=
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+......=\sum_{k=0}^\infty\gamma^kR_{t+k+1}
Gt=Rt+1+γRt+2+γ2Rt+3+......=k=0∑∞γkRt+k+1
该式表明如果折扣因子
γ
\gamma
γ,
γ
<
1
\gamma<1
γ<1,只要序列
R
t
{R_t}
Rt有界,回报必然收敛。
下面介绍对强化学习来说至关重要的回报的递归式:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
.
.
.
=
R
t
+
1
+
γ
(
R
t
+
2
+
γ
R
t
+
3
+
.
.
.
.
.
.
)
=
R
t
+
1
+
γ
G
t
+
1
\begin{aligned} G_t&=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+......\\ &=R_{t+1}+\gamma(R_{t+2}+\gamma R_{t+3}+......)\\ &=R_{t+1}+\gamma G_{t+1} \end{aligned}
Gt=Rt+1+γRt+2+γ2Rt+3+......=Rt+1+γ(Rt+2+γRt+3+......)=Rt+1+γGt+1
三、分幕式和持续性任务的统一表示
分幕式任务可以看做持续性任务的一种特殊情况,即在特定的状态下无论采取什么动作,环境的状态,回报等都不发生改变,如下图所示:
所以,分幕式任务和持续性任务都可以用持续性任务的一般形式表示。回报表示为:
G
t
=
∑
k
=
t
+
1
T
γ
k
−
t
−
1
R
k
G_t=\sum_{k=t+1}^T\gamma^{k-t-1}R_k
Gt=k=t+1∑Tγk−t−1Rk
并允许上式
T
=
∞
T=\infty
T=∞或
γ
=
1
\gamma=1
γ=1,但二者不同时。
四、策略和价值函数
1.策略
策略实际上是梯度赌博机算法(强化学习笔记(一)中有介绍)中
π
t
(
a
)
\pi_t(a)
πt(a)的推广,比
π
t
(
a
)
\pi_t(a)
πt(a)多加了一个状态变量。即在状态
s
s
s下,选择动作
a
a
a的概率(条件概率),记为
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)
π
(
a
∣
s
)
=
P
r
(
A
t
=
a
∣
S
t
=
s
)
\pi(a|s)=Pr(A_t=a|S_t=s)
π(a∣s)=Pr(At=a∣St=s)
2.价值函数
为了在给定策略下评估当前状态(或当前状态和动作)的优劣,引入价值函数。
状态价值函数
v
π
(
s
)
v_\pi(s)
vπ(s)用来评价状态的优劣:
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
]
v_\pi(s)=E_\pi[G_t|S_t=s]=E_\pi[\sum_{k=0}^\infty\gamma^kR_{t+k+1}|S_t=s]
vπ(s)=Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s]
动作价值函数
q
π
(
s
,
a
)
q_\pi(s,a)
qπ(s,a)用来评价状态和动作的优劣:
q
π
(
s
,
a
)
=
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
,
A
t
=
a
]
q_\pi(s,a)=E_\pi[G_t|S_t=s,A_t=a]=E_\pi[\sum_{k=0}^\infty\gamma^kR_{t+k+1}|S_t=s,A_t=a]
qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a]
下面介绍强化学习中非常重要的状态价值函数的递归式**(贝尔曼方程)**
v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_\pi(s)=\sum_{a}\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_\pi(s')] vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)]
即状态价值函数等于收益和下一状态的回报(经过折扣)期望之和。
推导过程如下(可忽略):
E
π
[
r
∣
S
t
=
s
]
=
E
π
[
R
t
∣
S
t
=
s
]
=
∑
r
∈
R
r
∗
p
(
r
∣
s
)
=
∑
r
∈
R
r
∗
p
(
r
,
s
)
p
(
s
)
=
∑
r
∈
R
r
∗
∑
s
′
∑
a
p
(
s
′
,
r
,
s
,
a
)
p
(
s
,
a
)
∗
p
(
s
,
a
)
p
(
s
)
=
∑
r
∈
R
r
∗
∑
s
′
∑
a
p
(
s
′
,
r
∣
s
,
a
)
∗
π
(
a
∣
s
)
=
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
r
\begin{aligned} E_\pi[r|S_t=s]&=E_\pi[R_t|S_t=s]\\ &=\sum_{r\in R}r*p(r|s)\\ &=\sum_{r\in R}r*\frac{p(r,s)}{p(s)}\\ &=\sum_{r\in R}r*\frac{\sum_{s'}\sum_{a}p(s',r,s,a)}{p(s,a)}*\frac{p(s,a)}{p(s)}\\ &=\sum_{r\in R}r*\sum_{s'}\sum_{a}p(s',r|s,a)*\pi(a|s)\\ &=\sum_{a}\pi(a|s)\sum_{s',r}p(s',r|s,a)r \end{aligned}
Eπ[r∣St=s]=Eπ[Rt∣St=s]=r∈R∑r∗p(r∣s)=r∈R∑r∗p(s)p(r,s)=r∈R∑r∗p(s,a)∑s′∑ap(s′,r,s,a)∗p(s)p(s,a)=r∈R∑r∗s′∑a∑p(s′,r∣s,a)∗π(a∣s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)r
E
π
[
G
t
+
1
∣
S
t
=
s
]
=
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
v
π
(
s
′
)
E_\pi[G_{t+1}|S_t=s]=\sum_{a}\pi(a|s)\sum_{s',r}p(s',r|s,a)v_\pi(s')
Eπ[Gt+1∣St=s]=a∑π(a∣s)s′,r∑p(s′,r∣s,a)vπ(s′)
合并两式得到:
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
r
+
γ
G
t
+
1
∣
S
t
=
s
]
=
E
π
[
r
∣
S
t
=
s
]
+
γ
E
π
[
G
t
+
1
∣
S
t
=
s
]
=
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
\begin{aligned} v_\pi(s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[r+\gamma G_{t+1}|S_t=s]\\ &=E_\pi[r|S_t=s]+\gamma E_\pi[G_{t+1}|S_t=s]\\ &=\sum_{a}\pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_\pi(s')] \end{aligned}
vπ(s)=Eπ[Gt∣St=s]=Eπ[r+γGt+1∣St=s]=Eπ[r∣St=s]+γEπ[Gt+1∣St=s]=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)]
五、最优策略和最优价值函数
一个策略
π
\pi
π如果说比另一个策略
π
′
\pi'
π′更好,那么一定有:
对于任意的
s
∈
S
v
π
(
s
)
≥
v
π
′
(
s
)
s\in S \qquad v_\pi(s)\ge v_{\pi'}(s)
s∈Svπ(s)≥vπ′(s)
由于总会存在一个策略不劣于其他所有策略,将不劣于其他所有策略的策略称为最优策略,最优策略可能不只有一个,我们用
π
∗
\pi_*
π∗来表示最优策略。最优状态价值函数采用如下定义:
v
∗
(
s
)
=
m
a
x
π
v
π
(
s
)
v_*(s)=max_\pi v_\pi(s)
v∗(s)=maxπvπ(s)
类似的,最优动作价值函数由于如下定义:
q
∗
(
s
,
a
)
=
m
a
x
π
q
π
(
s
,
a
)
q_*(s,a)=max_\pi q_\pi(s,a)
q∗(s,a)=maxπqπ(s,a)
贝尔曼最优方程:
v
∗
(
s
)
=
m
a
x
a
∈
A
q
π
∗
(
s
,
a
)
=
m
a
x
a
∈
A
E
π
∗
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
m
a
x
a
∈
A
E
π
∗
[
r
+
γ
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
=
m
a
x
a
∈
A
E
π
∗
[
r
+
γ
v
∗
(
s
)
∣
S
t
=
s
,
A
t
=
a
]
=
m
a
x
a
∈
A
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
\begin{aligned} v_*(s)&=max_{a\in A} q_{\pi^*}(s,a)\\ &=max_{a\in A}E_{\pi^*}[G_t|S_t=s,A_t=a]\\ &=max_{a\in A}E_{\pi^*}[r+\gamma G_{t+1}|S_t=s,A_t=a]\\ &=max_{a\in A}E_{\pi^*}[r+\gamma v_*(s)|S_t=s,A_t=a]\\ &=max_{a\in A}\sum_{s',r}p(s',r|s,a)[r+\gamma v_\pi(s')] \end{aligned}
v∗(s)=maxa∈Aqπ∗(s,a)=maxa∈AEπ∗[Gt∣St=s,At=a]=maxa∈AEπ∗[r+γGt+1∣St=s,At=a]=maxa∈AEπ∗[r+γv∗(s)∣St=s,At=a]=maxa∈As′,r∑p(s′,r∣s,a)[r+γvπ(s′)]
最后两个等式就是 v ∗ v_* v∗的贝尔曼最优方程的两种形式,贝尔曼最优方程阐述了如下事实:
最优策略下各个状态的价值一定是等于这个状态的最优动作的期望回报
类似的,
q
∗
q_*
q∗的贝尔曼最优方程如下:
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
m
a
x
a
′
q
∗
(
s
′
,
a
′
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
m
a
x
a
′
q
∗
(
s
′
,
a
′
)
\begin{aligned} q_*(s,a)&=E[R_{t+1}+\gamma max_{a'}q_*(s',a')|S_t=s,A_t=a]\\ &=\sum_{s',r}p(s',r|s,a)[r+\gamma max_{a'}q_*(s',a') \end{aligned}
q∗(s,a)=E[Rt+1+γmaxa′q∗(s′,a′)∣St=s,At=a]=s′,r∑p(s′,r∣s,a)[r+γmaxa′q∗(s′,a′)