马尔可夫决策过程
一、马尔可夫性质
随机过程
随机过程(Stochastic Process) 是一个或多个事件、随机系统或者随机现象随时间发生演变的过程
P [ S t + 1 ∣ S 1 , … , S t ] \mathbb{P}[S_{t+1}|S_{1},\dots,S_{t}] P[St+1∣S1,…,St]
- 概率论研究静态随机现象的统计规律
- 随机过程研究动态随机现象的统计规律
马尔科夫性质
状态
S
t
S_{t}
St 是马尔科夫的,当且仅当
P
[
S
t
+
1
∣
S
t
]
=
P
[
S
t
+
1
∣
S
1
,
…
,
S
t
]
\mathbb{P} [S_{t+1}|S_{t}]=\mathbb{P}[S_{t+1}|S_{1},\dots,S_{t}]
P[St+1∣St]=P[St+1∣S1,…,St]
性质
- 状态从历史(History)中捕获了所有相关信息
S t + 1 = f ( H t ) ⟺ S t + 1 = f ( S t ) S_{t+1}=f(H_{t}) \Longleftrightarrow S_{t+1}=f(S_{t}) St+1=f(Ht)⟺St+1=f(St)
- 当状态已知的时候,可以抛开历史不管
- 也就是说,当前状态是未来的充分统计量
在统计学中,充分统计量(Sufficient Statistic)是一种统计量,包含了样本中包含的所有关于参数的信息。换句话说,给定充分统计量的取值,样本中的其他信息对于估计参数是没有用的。
二、马尔可夫决策过程
马尔科夫决策过程(Markov Decision Process,MDP)
提供了一套为在结果部分随机、部分在决策者的控制下的决策过程建模的数学框架
P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 , … , S t ] \mathbb{P}[S_{t+1}|S_{t}]=\mathbb{P}[S_{t+1}|S_{1},\dots,S_{t}] P[St+1∣St]=P[St+1∣S1,…,St]
P [ S t + 1 ∣ S t , A t ] \mathbb{P}[S_{t+1}|S_{t},A_{t}] P[St+1∣St,At]
MDP形式化地描述了一种强化学习的环境
- 环境完全可观测
- 即,当前状态可以完全表征过程(马尔科夫性质)
MDP五元组
MDP可以由一个五元组表示( S , A , { P s a } , γ , R S,A,\{P_{sa}\},\gamma,R S,A,{Psa},γ,R)
-
S S S 是状态的集合
- 比如,迷宫中的位置,Atari游戏中的当前屏幕显示
-
A A A是动作的集合
- 比如,向N,E,S,W移动,手柄操纵杆方向和按钮
-
P s a P_{sa} Psa是状态转移概率
P s a : S × A → Ω ( S ) P_{sa}:S \times A \rightarrow \Omega(S) Psa:S×A→Ω(S)
- 对每个状态 s ∈ S s\in S s∈S和动作 a ∈ A a\in A a∈A, P s a P_{sa} Psa是下一个状态在S中的概率分布
-
γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1]是对未来奖励的折扣因子
- 如果 γ = 1 \gamma = 1 γ=1,那么我们就可以认为未来的奖励和当下的奖励具有一样的重要程度
- 如果 γ = 0 \gamma = 0 γ=0,那么就只需要关注当前状态的奖励,不需要考虑未来的奖励
-
R : S × A → R R:S \times A \rightarrow \mathbb{R} R:S×A→R 是奖励函数
- 有时奖励只和状态相关
MDP的动态
MDP的动态如下所示:
- 从状态 S 0 S_{0} S0 开始
- 智能体选择某个动作 a 0 ∈ A a_{0} \in A a0∈A
- 智能体得到奖励 R ( s 0 , a 0 ) R(s_{0},a_{0}) R(s0,a0)
- MDP随机转移到下一个状态 s 1 ∼ P s 0 a 0 s_{1}\sim P_{ s_{0} a_{0} } s1∼Ps0a0
这个过程不断进行
S 0 → a 0 , R ( s 0 , a 0 ) S 1 → a 1 , R ( s 1 , a 1 ) S 2 → a 2 , R ( s 2 , a 2 ) S 3 ⋯ S_{0} \xrightarrow[]{a_{0},R(s_{0},a_{0})} S_{1} \xrightarrow[]{a_{1},R(s_{1},a_{1})} S_{2} \xrightarrow[]{a_{2},R(s_{2},a_{2})} S_{3} \cdots S0a0,R(s0,a0)S1a1,R(s1,a1)S2a2,R(s2,a2)S3⋯
直到终止状态 S T S_{T} ST出现为止,或者无止尽地进行下去
智能体的总回报为
R ( s 0 , a 0 ) + γ R ( s 1 , a 1 ) + γ 2 R ( s 2 , a 2 ) + ⋯ R(s_{0},a_{0}) + \gamma R(s_{1},a_{1}) + \gamma ^{2} R(s_{2},a_{2}) + \cdots R(s0,a0)+γR(s1,a1)+γ2R(s2,a2)+⋯
MDP的动态性
在大部分情况下,奖励只和状态 R ( s ) R(s) R(s) 相关
- 比如,在迷宫游戏中,奖励只和位置相关
- 在围棋中,奖励只基于最终所围地的大小有关
这时,奖励函数为 R ( s ) : S → R R(s):S\rightarrow \mathbb{R} R(s):S→R
MDP的过程为
s 0 → a 0 , R ( s 0 ) s 1 → a 1 , R ( s 1 ) s 2 → a 2 , R ( s 2 ) s 3 ⋯ s_{0} \xrightarrow[]{a_{0},R(s_{0})} s_{1} \xrightarrow[]{a_{1},R(s_{1})} s_{2} \xrightarrow[]{a_{2},R(s_{2})} s_{3} \cdots s0a0,R(s0)s1a1,R(s1)s2a2,R(s2)s3⋯
累积奖励为
R ( s 0 ) + γ R ( s 1 ) + γ 2 R ( s 2 ) + ⋯ R(s_{0}) + \gamma R(s_{1}) + \gamma^{2}R(s_{2}) + \cdots R(s0)+γR(s1)+γ2R(s2)+⋯
三、和动态环境交互产生的数据分布
给定同一个动态环境(即MDP),不同的策略采样出来的(状态-行动)对的分布是不同的
占用度量和策略
占用度量(Occupancy Measure)
ρ π ( s , a ) = E a ∼ π ( s ) , s ′ ∼ p ( s , a ) [ ∑ t = 0 T γ t p ( s t = s , a t = a ) ] {\rho^{\pi}(s,a)}={\mathbb{E}_{a \sim \pi(s),s' \sim p(s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a)}}\right]}} ρπ(s,a)=Ea∼π(s),s′∼p(s,a)[t=0∑Tγtp(st=s,at=a)]
定理1:和同一个动态环境交互的两个策略 π 1 \pi_{1} π1 和 π 2 \pi_{2} π2 得到的占用度量
ρ π 1 = ρ π 2 i f f π 1 = π 2 \rho^{\pi_{1}}=\rho^{\pi_{2}}\quad iff \quad \pi_{1}=\pi_{2} ρπ1=ρπ2iffπ1=π2
定理2:给定一占用度量 ρ \rho ρ ,可生成该占用度量的唯一策略是
π ρ = ρ ( s , a ) ∑ a ′ ρ ( s , a ′ ) \pi_{\rho}=\frac{\rho(s,a)}{\sum_{a'}{\rho(s,a')}} πρ=∑a′ρ(s,a′)ρ(s,a)
状态占用度量
ρ
π
(
s
)
=
E
a
∼
π
(
⋅
∣
s
)
,
s
′
∼
p
(
⋅
∣
s
,
a
)
[
∑
t
=
0
T
γ
t
p
(
s
t
=
s
)
]
=
E
a
∼
π
(
⋅
∣
s
)
,
s
′
∼
p
(
⋅
∣
s
,
a
)
[
∑
t
=
0
T
γ
t
p
(
s
t
=
s
)
∑
a
′
p
(
a
t
=
a
′
∣
s
t
=
s
)
]
=
∑
a
′
E
a
∼
π
(
⋅
∣
s
)
,
s
′
∼
p
(
⋅
∣
s
,
a
)
[
∑
t
=
0
T
γ
t
p
(
s
t
=
s
,
a
t
=
a
′
)
]
=
∑
a
′
ρ
π
(
s
,
a
′
)
\begin{aligned} {\rho^{\pi}(s)}&={\mathbb{E}_{a \sim \pi(\cdot | s),s' \sim p(\cdot | s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s)}}\right]}} \\ &={\mathbb{E}_{a \sim \pi(\cdot | s),s' \sim p(\cdot | s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s)}\sum_{a'}{p(a_{t}=a'|s_{t}=s)}}\right]}} \\ &={\sum_{a'}{\mathbb{E}_{a \sim \pi(\cdot | s),s' \sim p(\cdot | s,a)}{\left[{\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a')}}\right]}}} \\ &= {\sum_{a'}{\rho^{\pi}(s,a')}} \end{aligned}
ρπ(s)=Ea∼π(⋅∣s),s′∼p(⋅∣s,a)[t=0∑Tγtp(st=s)]=Ea∼π(⋅∣s),s′∼p(⋅∣s,a)[t=0∑Tγtp(st=s)a′∑p(at=a′∣st=s)]=a′∑Ea∼π(⋅∣s),s′∼p(⋅∣s,a)[t=0∑Tγtp(st=s,at=a′)]=a′∑ρπ(s,a′)
策略的累积奖励为
V
(
π
)
=
E
a
∼
π
(
⋅
∣
s
)
,
s
′
∼
p
(
⋅
∣
s
,
a
)
[
R
(
s
0
,
a
0
)
+
γ
R
(
s
1
,
a
1
)
+
γ
2
R
(
s
2
,
a
2
)
+
⋯
]
=
∑
s
,
a
E
a
∼
π
(
⋅
∣
s
)
,
s
′
∼
p
(
⋅
∣
s
,
a
)
[
∑
t
=
0
T
γ
t
p
(
s
t
=
s
,
a
t
=
a
)
]
R
(
s
,
a
)
=
∑
s
,
a
ρ
π
(
s
,
a
)
R
(
s
,
a
)
=
E
π
[
R
(
s
,
a
)
]
\begin{aligned} {V(\pi)}&={\mathbb{E}_{a \sim \pi(\cdot|s),s' \sim p(\cdot|s,a)}{\left[R(s_{0},a_{0})+\gamma R(s_{1},a_{1})+\gamma^{2} R(s_{2},a_{2})+\cdots\right]}} \\ &={\sum_{s,a}{\mathbb{E}_{a \sim \pi(\cdot|s),s' \sim p(\cdot|s,a)}}\left[\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a)}\right]R(s,a)} \\ &= {\sum_{s,a}{\rho^{\pi}(s,a)R(s,a)}} \\ &={\mathbb{E}_{\pi}{[R(s,a)]}} \end{aligned}
V(π)=Ea∼π(⋅∣s),s′∼p(⋅∣s,a)[R(s0,a0)+γR(s1,a1)+γ2R(s2,a2)+⋯]=s,a∑Ea∼π(⋅∣s),s′∼p(⋅∣s,a)[t=0∑Tγtp(st=s,at=a)]R(s,a)=s,a∑ρπ(s,a)R(s,a)=Eπ[R(s,a)]
四、常见问题
当某些现实场景不适用于马尔可夫性质时,基于MDP假设的强化学习有什么好的解决办法吗?
- 如果一些场景的状态或者观测不具备马尔可夫性质,那就在其基础上再抽象一个latent variable使之具备马尔可夫性质。其实MDP里面的状态就是在观测基础上抽象出来的具有马尔可夫性质的latent variable
实际上很多现实场景都是没有MDP性质的,但是强化学习还是通过各种方法尽量抽象成MDP,是因为大多数算法都是基于MDP推导的吗?目前有没有不基于MDP的方法呢?
- 强化学习是一种兼顾控制论的机器学习理论的一种方法,其建立是基于控制论状态转移进行建模的,所以提出了相关MDP的定义和性质。当然在现实场景中很多都不符合严格MDP的定义,但是可能符合MDP的变体,比如POMDP(Partially Observable Markov Decision Process),就可以有效的将只有Environment中的State具备的MDP的情况扩展为Agent中的Observation也有类似MDP的性质。
- 大多数RL的相关的算法是基于MDP进行推导的,不基于MDP的推导的证明往往是与过程性无关的,比如一些Value Function的Lipschitz连续的保证和证明,但是涉及到多步的证明一般需要使用MDP的性质。