1. 马尔可夫决策过程(MDPs)简介
MDPs是描述强化学习问题环境的形式化框架,当环境完全可观测。它们在马尔可夫过程和马尔可夫奖励过程的基础上增加了动作。
MDPs可以表示广泛的强化学习问题,如:
- 最优控制主要是解决连续型的MDPs
- 部分可观测的问题可以转化成MDPs
- 臂赌博机问题
2. 马尔可夫性质
给定现在,未来与过去无关
定义:
一个状态 S t S_t St 是马尔可夫当且仅当 P ( S t + 1 ∣ S t ) = P [ S t + 1 ∣ S 1 , . . . S t ) P(S_{t+1}|S_t)=P[S_{t+1}|S_1,...S_t) P(St+1∣St)=P[St+1∣S1,...St)
马尔可夫过程由状态空间S和转移概率矩阵P定义,状态转移矩阵P定义了在状态之间转移的概率. 当前状态捕捉了过去的所有相关信息。一旦状态已知,历史可以不考虑。
马尔可夫过程
定义:
马尔可夫过程表示为<S,P>
- S是一个(有限)状态集合
- 状态转移矩阵P定义了在状态之间转移的概率 P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ) P_{ss'}=P[S_{t+1}=s'|S_t=s) Pss′=P[St+1=s′∣St=s)
3. 马尔可夫奖励过程(MRPs)
MRPs在马尔可夫过程的基础上增加了奖励函数R和折扣因子γ
马尔可夫奖励过程表示为<S,P,R,γ>
- S是一个(有限)状态集合
- 状态转移矩阵P定义了在状态之间转移的概率 P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ) P_{ss'}=P[S_{t+1}=s'|S_t=s) Pss′=P[St+1=s′∣St=s)
- R 是一个奖励函数, R s = E [ R t + 1 ∣ S t = s ] R_s=E[R_{t+1}|S_t=s] Rs=E[Rt+1∣St=s]
- γ 为折扣系数, γ ∈ [ 0 , 1 ] γ\in[0,1] γ∈[0,1]
回报 G t G_t Gt
G t G_t Gt是从某个状态开始的总折扣奖励,
G t = R t + 1 + γ R t + 2 + . . . = ∑ k = 0 ∞ γ k R t + k + 1 G_t=R_{t+1}+\gamma R_{t+2}+...=\sum_{k=0}^\infty \gamma^kR_{t+k+1} Gt=Rt+1+γRt+2+...=∑k=0∞γkRt+k+1
价值函数V(s)
V(s)是从某个状态开始的期望回报, v ( s ) = E [ G t ∣ S t = s ] v(s)=E[G_{t}|S_t=s] v(s)=E[Gt∣St=s]
贝尔曼方程
贝尔曼方程将一个状态的价值与即时奖励和后续状态的折扣价值联系起来
v ( s ) = E [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] v(s)=E[R_{t+1}+\gamma v(S_t+1)|S_t=s] v(s)=E[Rt+1+γv(St+1)∣St=s]
4. 马尔可夫决策过程(MDPs)
4.1 MDP
MDPs在MRPs的基础上增加了动作空间A,
马尔可夫奖励过程表示为<S,A,P,R,γ>
- S是一个(有限)状态集合
> - A 是一个有限动作集合- 状态转移矩阵P定义了在状态之间转移的概率 P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ) P^{a}_{ss'}=P[S_{t+1}=s'|S_t=s,A_t=a) Pss′a=P[St+1=s′∣St=s,At=a)
- R 是一个奖励函数, R s a = E [ R t + 1 ∣ S t = s , A t = a ] R^a_s=E[R_{t+1}|S_t=s,A_t=a] Rsa=E[Rt+1∣St=s,At=a]
- γ 为折扣系数, γ ∈ [ 0 , 1 ] γ\in[0,1] γ∈[0,1]
转移概率和奖励现在取决于所选择的动作
4.2 策略
策略π定义了在每个状态下采取每个动作的概率,
π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s)=P(A_t=a|S_t=s) π(a∣s)=P(At=a∣St=s)
- 一个策略充分定义了一个agent的行为
- MDP策略取决于当前的状态(不取决于过去的状态)
- 即 策略是稳定的(和时间无关) A t ∼ π ( . ∣ S t ) , ∀ t > 0 A_t\sim\pi(.|S_t),\forall t>0 At∼π(.∣St),∀t>0
4.3 状态价值函数
状态价值函数 V π ( s ) V_π(s) Vπ(s)是从s开始并遵循π的期望回报
v π ( s ) = E π [ G t ∣ S t = s ] v_\pi(s)=E_\pi[G_{t}|S_t=s] vπ(s)=Eπ[Gt∣St=s]
动作价值函数 Q π ( s , a ) Q_π(s,a) Qπ(s,a)是从s开始,采取动作a,然后遵循π的期望回报
q π ( s , a ) = E π ( [ G t ∣ S t = s , A t = a ] ] q_\pi(s,a)=E_\pi([G_t|S_t=s,A_t=a]] qπ(s,a)=Eπ([Gt∣St=s,At=a]]
4.4 贝尔曼期望方程递归
v
π
(
s
)
=
E
π
(
[
R
t
+
1
+
γ
v
π
(
(
S
t
+
1
)
∣
S
t
=
s
]
v_\pi(s)=E_\pi([R_{t+1}+\gamma v_\pi((S_t+1)|S_t=s]
vπ(s)=Eπ([Rt+1+γvπ((St+1)∣St=s]
q
π
(
s
,
a
)
=
E
π
(
[
R
t
+
1
+
γ
q
π
(
(
S
t
+
1
,
A
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
]
q_\pi(s,a)=E_\pi([R_{t+1}+\gamma q_\pi((S_t+1, A_{t+1})|S_t=s,A_t=a]]
qπ(s,a)=Eπ([Rt+1+γqπ((St+1,At+1)∣St=s,At=a]]
我们下一步要考虑如何找到MDP最好的解。
4.5 最优价值函数
最优状态价值函数 v ∗ ( s ) v_*(s) v∗(s)基于所有的策略最大化状态价值函数
v ∗ ( s ) = m a x π v π ( s ) v_*(s)=max_{\pi} v_\pi(s) v∗(s)=maxπvπ(s)
最优动作价值函数 q ∗ ( s ) q_*(s) q∗(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)
以上两种价值函数,如果知道动作价值函数,你可以立即知道那种行为是对的和收益高的。如果我们知道这个最优价值意味着MDP的解被找到了。
4.6最优策略
最优策略π*最大化所有状态的期望回报
定义:
对于MDP,
- 必然存在一个最有策略π*优于或等于其他所有的策略
π ∗ ≥ π , ∀ π \pi_* \geq \pi, \forall \pi π∗≥π,∀π- 所有的最优策略都获得最优的价值函数
v π ∗ ( s ) = v ∗ ( s ) v_{\pi_*}(s)=v_*(s) vπ∗(s)=v∗(s)- 所有的最优策略都获得最优的动作价值函数
q π ∗ ( s , a ) = q ∗ ( s , a ) q_{\pi_*}(s,a)=q_*(s,a) qπ∗(s,a)=q∗(s,a)
找到最优策略:
找到 一个最优策略可以通过最大化 q π ∗ ( s , a ) q_{\pi_*}(s,a) qπ∗(s,a)
4.7 贝尔曼最优方程递归
v
∗
(
s
)
=
m
a
x
a
q
∗
(
s
,
a
)
v_*(s)=max_a q_{*}(s,a)
v∗(s)=maxaq∗(s,a)
q
∗
(
s
,
a
)
=
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
v
∗
(
s
′
)
q_{*}(s,a)=R_s^a +\gamma \sum_{s'\in S} P_{ss'}^a v_*(s')
q∗(s,a)=Rsa+γ∑s′∈SPss′av∗(s′)
==>整合为
v ∗ ( s ) = m a x a R s a + γ ∑ s ′ ∈ S P s s ′ a v ∗ ( s ′ ) v_*(s)=max_a R_s^a +\gamma \sum_{s'\in S} P_{ss'}^a v_*(s') v∗(s)=maxaRsa+γ∑s′∈SPss′av∗(s′)
q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a m a x a ′ q ∗ ( s ′ , a ′ ) q_{*}(s,a)=R_s^a +\gamma \sum_{s'\in S} P_{ss'}^a max_a' q_{*}(s',a') q∗(s,a)=Rsa+γ∑s′∈SPss′amaxa′q∗(s′,a′)
我们要如何对贝尔曼最优方程求解?
贝尔曼期望方程可以通过封闭的方式求解, 但是贝尔曼最优方程是非线性的–没有封闭解
–>迭代解法:
- 价值函数迭代
- 策略迭代
- q-learning
- sarsa
参考:
RL Course by David Silver - Lecture 2: Markov Decision Process
https://www.youtube.com/watch?v=lfHX2hHRMVQ&t=3099s