【强化学习】二、马尔可夫决策过程

二、马尔可夫决策过程

1.绪言

马尔可夫决策过程(Markov decision process,MDP)是强化学习问题在数学上的理想化形式

MDP中的环境是完全可观测的

几乎所有的强化学习问题都可以在数学上表示为马尔可夫决策过程


2.马尔可夫过程

马尔可夫性质

状态 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]=P[S_{t+1}|S_1,...,S_t] P[St+1St]=P[St+1S1,...,St]

给定当前时刻的状态,将来与历史无关

状态是对过去的充分统计


状态转移矩阵

对于马尔可夫状态 s s s与其后继状态 s ′ s ^ \prime s,它们的状态转移概率定义为:
P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] \mathcal{P}_{s s^{\prime}}=\mathbb{P}\left[S_{t+1}=s^{\prime} \mid S_t=s \right] Pss=P[St+1=sSt=s]
状态转移矩阵 P P P定义了马尔科夫状态 s s s到其所有后继状态 s ′ s^\prime s的转移概率
P = [ P 11 ⋯ P 1 n ⋮ ⋮ P n 1 ⋯ P n n ] \mathcal{P}=\left[\begin{array}{ccc} \mathcal{P}_{11} & \cdots & \mathcal{P}_{1 n} \\ \vdots & & \vdots \\ \mathcal{P}_{n 1} & \cdots & \mathcal{P}_{n n} \end{array}\right] P= P11Pn1P1nPnn
矩阵的每一行总和为1


马尔可夫过程

马尔可夫过程是一种无记忆的随机过程

马尔可夫过程可以分为三类

  • 时间、状态都离散的马尔可夫过程(马尔科夫链)
  • 时间连续、状态离散的马尔可夫过程(连续时间的马尔可夫链)
  • 时间、状态都连续的马尔可夫过程

马尔可夫过程由元组 ( S , P ) (\mathcal S, \mathcal P) (S,P)构成

S \mathcal S S是有限状态的集合

P \mathcal P P是状态转移矩阵 P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] \mathcal{P}_{s s^{\prime}}=\mathbb{P}\left[S_{t+1}=s^{\prime} \mid S_t=s \right] Pss=P[St+1=sSt=s]

【强化学习】二、马尔可夫决策过程_第1张图片
S = { C l a s s 1 , F a c e b o o k , C l a s s 2 , C l a s s 3 , P a s s , P u b , S l e e p } \mathcal S=\{Class1,Facebook,Class2,Class3,Pass,Pub,Sleep\} S={Class1,Facebook,Class2,Class3,Pass,Pub,Sleep}
【强化学习】二、马尔可夫决策过程_第2张图片

从初始状态 S 1 = C 1 S_1=C_1 S1=C1开始,我们可以从马尔科夫链中采样一些子序列,每个子序列又称为幕(Episodes),幕的终点得是一个终止状态,在这个例子中就是Sleep

C1 C2 C3 Pass Sleep

C1 FB FB C1 C2 Sleep

C1 C2 C3 Pub C2 C3 Pass Sleep


3.马尔可夫奖励过程

马尔可夫奖励过程(Markov Reward Process,MRP)由元组 ( S , P , R , γ ) (\mathcal S, \mathcal P, \mathcal R, \gamma) (S,P,R,γ)构成

S \mathcal S S是有限状态的集合

P \mathcal P P是状态转移矩阵 P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] \mathcal{P}_{s s^{\prime}}=\mathbb{P}\left[S_{t+1}=s^{\prime} \mid S_t=s \right] Pss=P[St+1=sSt=s]

R s \mathcal R_s Rs是奖励函数, R s = E [ R t + 1 ∣ S t = s ] \mathcal R_s=\mathbb E[R_{t+1} \mid \mathcal S_t=s ] Rs=E[Rt+1St=s]

γ \gamma γ 是折扣因子, γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]

数学期望是一种重要的数学特征,它反映随机变量平均取值的大小

回报Return

在一个马尔可夫奖励过程中,从 t t t时刻的状态 S t S_t St开始,直至终止状态时,所有奖励的衰减之和 G t G_t Gt称为回报Return
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 ^2R_{t+3}+...=\sum_{k=0}^\infin \gamma^kR_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+...=k=0γkRt+k+1
折扣因子的作用:

  • 避免有环的马尔可夫过程计算收益时出现无限循环
  • 从金融投资回报的角度讲,即时奖励(immediate rewards)比延时奖励(delayed rewards)更吸引人
  • 动物/人类行为中都表现出对即时奖励的偏好
  • 可以表达未来的不确定性
  • γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1] γ = 0 \gamma = 0 γ=0只看眼前利益

价值函数Value Function

价值函数 v ( s ) v(s) v(s)给出状态 s s s的长期价值(long-term value)

价值函数输入为某个状态,输出为这个状态的价值

定义:在马尔可夫奖励过程中,一个状态的期望回报被称为这个状态的价值函数 v ( s ) = E [ G t ∣ S t = s ] v(s)=\mathbb E[G_t \mid S_t=s] v(s)=E[GtSt=s],相当于对这个状态所在的所有幕的回报求平均

这个 E \mathbb E E去除了两种随机性,分别是状态间跳转的随机性,以及每个状态给分的随机性

【强化学习】二、马尔可夫决策过程_第3张图片

当考虑了未来收益时,Class3和Class1相比,虽然该状态的奖励相同,但是Class3更接近于Pass这个最优状态,所以Class3的期望回报就比Class1要高很多。

马尔可夫奖励过程的贝尔曼方程Bellman Equation

贝尔曼方程可以求解价值函数

贝尔曼方程 v ( s ) = E [ R t + 1 + γ v ( S t + 1 ) ∣ S t = s ] v(s)=\mathbb E[R_{t+1}+\gamma v(S_{t+1}) \mid S_t=s] v(s)=E[Rt+1+γv(St+1)St=s]

价值函数可以分解为两个部分:即时奖励 R t + 1 R_{t+1} Rt+1和后续状态的折扣值 γ v ( S t + 1 ) \gamma v(S_{t+1}) γv(St+1)

S t + 1 S_{t+1} St+1可能会是任何一种状态

贝尔曼方程还可以写为:
v ( s ) = R s + γ ∑ s ′ ∈ S P s s ′ v ( s ′ ) v(s)=\mathcal R_s+\gamma \sum_{s ^ \prime \in \mathcal S} \mathcal P_{ss^\prime v(s^\prime)} v(s)=Rs+γsSPssv(s)
其中 P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] \mathcal P_{ss^\prime} = \mathbb P[\mathcal S_{t+1} = s ^\prime \mid \mathcal S_t = s] Pss=P[St+1=sSt=s]

R s = E [ R t + 1 ∣ S t = s ] \mathcal R_s = \mathbb E[R_{t+1} \mid \mathcal S_t=s] Rs=E[Rt+1St=s]

示例:

【强化学习】二、马尔可夫决策过程_第4张图片

4.3=当前价值-2 + 0.6 * 10 + 0.4 * 0.8

当各个状态的价值不满足贝尔曼方程时意味着:1. 这个价值函数不是这个系统的价值函数,2. 计算出错,3. 计算没有收敛


贝尔曼方程的矩阵形式

贝尔曼方程可使用矩阵简明表示
v = R + γ P v v=\mathcal R + \gamma \mathcal Pv v=R+γPv
其中 v v v是一个列向量,每个状态一个条目
[ v ( 1 ) ⋮ v ( n ) ] = [ R 1 ⋮ R n ] + γ [ P 11 ⋯ P 1 n ⋮ ⋮ P n 1 ⋯ P n n ] [ v ( 1 ) ⋮ v ( n ) ] \left[\begin{array}{c} v(1) \\ \vdots \\ v(n) \end{array}\right]=\left[\begin{array}{c} \mathcal{R}_1 \\ \vdots \\ \mathcal{R}_n \end{array}\right]+\gamma\left[\begin{array}{ccc} \mathcal{P}_{11} & \cdots & \mathcal{P}_{1 n} \\ \vdots & & \vdots \\ \mathcal{P}_{n 1} & \cdots & \mathcal{P}_{n n} \end{array}\right]\left[\begin{array}{c} v(1) \\ \vdots \\ v(n) \end{array}\right] v(1)v(n) = R1Rn +γ P11Pn1P1nPnn v(1)v(n)
贝尔曼方程是线性方程,可以直接求解
v = R + γ P v v=\mathcal R + \gamma \mathcal Pv v=R+γPv

( I − γ P ) v = R (I-\gamma \mathcal P)v=\mathcal R (IγP)v=R

v = ( I − γ P ) − 1 R v=(I-\gamma \mathcal P)^{-1} \mathcal R v=(IγP)1R

对于 ∣ S ∣ |S| S个状态,计算复杂度为 O ( ∣ s ∣ 3 ) O(|s|^3) O(s3)

直接求解仅适用于小型马尔可夫奖励过程

对于大型MRP,有很多迭代方法,例如:

  • 动态规划(Dynamic programming)
  • 蒙特卡洛评估(Monte-Carlo evaluation)
  • 时序差分学习(Temporal-Difference learning)

4.马尔可夫决策过程

马尔可夫决策过程(MDP)是具有决策的马尔可夫奖励过程(MRP),其所有状态满足马尔可夫性质

定义:马尔可夫决策过程由元组 ( S , A , P , R , γ ) (\mathcal S, \mathcal A, \mathcal P, \mathcal R, \gamma) (S,A,P,R,γ)构成

  • S \mathcal S S是有限状态的集合
  • A \mathcal A A是优先动作的集合
  • P \mathcal P P是状态转移矩阵, P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] \mathcal P_{ss^\prime}^a = \mathbb P[\mathcal S_{t+1} = s ^\prime \mid \mathcal S_t = s,\mathcal A_t=a] Pssa=P[St+1=sSt=s,At=a]
  • R s \mathcal R_s Rs是奖励函数, R s = E [ R t + 1 ∣ S t = s , A t = a ] \mathcal R_s = \mathbb E[R_{t+1} \mid \mathcal S_t=s, \mathcal A_t=a] Rs=E[Rt+1St=s,At=a]
  • γ \gamma γ是折扣因子, γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]
策略

策略 π \pi π是一个函数,表示输入状态为 s s s的情况下采取动作 a a a的概率
π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a \mid s) = \mathbb P[\mathcal A_t=a \mid \mathcal S_t=s] π(as)=P[At=aSt=s]
策略完全定义了智能体的行为,马尔科夫决策过程中,策略仅取决于当前状态(而不是历史记录)

给定一个马尔可夫决策过程: M = ( S , A , P , R , γ ) \mathcal M = (\mathcal S, \mathcal A, \mathcal P, \mathcal R, \gamma) M=(S,A,P,R,γ)和一个策略 π \pi π

状态序列 S 1 , S 2 . . . S_1,S_2... S1,S2...是一个马尔可夫随机过程 < S , P π > <\mathcal S, \mathcal P^\pi> <S,Pπ>

状态和奖励序列是一个马尔可夫奖励过程 < S , P π , R π , γ > <\mathcal S, \mathcal P^\pi, \mathcal R^\pi, \gamma> <S,Pπ,Rπ,γ>
P s s ′ π = ∑ a ∈ A π ( a ∣ s ) P s s ′ a R s π = ∑ a ∈ A π ( a ∣ s ) R s a \begin{aligned} \mathcal{P}_{\mathrm{ss^\prime}}^\pi & =\sum_{a \in \mathcal{A}} \pi(a \mid s) \mathcal{P}_{\mathrm{ss^\prime}}^a \\ \mathcal{R}_{\mathrm{s}}^\pi & =\sum_{a \in \mathcal{A}} \pi(a \mid s) \mathcal{R}_{\mathrm{s}}^a \end{aligned} PssπRsπ=aAπ(as)Pssa=aAπ(as)Rsa


MDP的价值函数

**状态价值函数:**在马尔可夫决策过程中,一个状态价值函数 v π ( s ) v_\pi(s) vπ(s)是从状态 s s s出发,遵循策略 π \pi π得到的期望回报。决定哪个策略更好
v π ( s ) = E π [ G t ∣ S t = s ] v_\pi(s)=\mathbb E_\pi[G_t\mid S_t=s] vπ(s)=Eπ[GtSt=s]
**动作价值函数:**在马尔可夫决策过程中,一个动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)是从状态 s s s开始,遵循策略 π \pi π对当前状态 s s s执行动作 a a a得到的期望回报。决定该策略下哪个动作更好。
q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] q_\pi(s,a)=\mathbb E_\pi[G_t \mid S_t=s,A_t=a] qπ(s,a)=Eπ[GtSt=s,At=a]


贝尔曼期望方程Bellman Expectation Equation

状态函数可以分解为:即时奖励+后继状态的折扣值
v π ( s ) = E π [ R t + 1 + γ v π ( S t + 1 ) ∣ S t = s ] v_\pi(s)=\mathbb{E}_\pi\left[R_{t+1}+\gamma v_\pi\left(S_{t+1}\right) \mid S_t=s\right] 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)=\mathbb{E}_\pi\left[R_{t+1}+\gamma q_\pi\left(S_{t+1}, A_{t+1}\right) \mid S_t=s, A_t=a\right] qπ(s,a)=Eπ[Rt+1+γqπ(St+1,At+1)St=s,At=a]


状态价值函数和动作价值函数的关系

v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) v_\pi(s)=\sum_{a \in \mathcal A} \pi(a \mid s)q_\pi(s,a) vπ(s)=aAπ(as)qπ(s,a)

q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a v π ( s ′ ) q_\pi(s, a)=\mathcal{R}_s^a+\gamma \sum_{s^{\prime} \in \mathcal{S}} \mathcal{P}_{s s^{\prime}}^a v_\pi\left(s^{\prime}\right) qπ(s,a)=Rsa+γsSPssavπ(s)

通过相互代入可以获得两种价值函数的递推式

【强化学习】二、马尔可夫决策过程_第5张图片

【强化学习】二、马尔可夫决策过程_第6张图片

最优价值函数Optimal Value Function

最优状态价值函数是所有策略产生的状态价值函数中,使状态 s s s价值最大的函数
v ∗ ( s ) = max ⁡ π v π ( s ) v_*(s)=\max _\pi v_\pi(s) v(s)=πmaxvπ(s)
最优动作价值函数是指所有策略产生的动作价值函数中,使状态-行为对价值最大的函数
q ∗ ( s , a ) = max ⁡ π q π ( s , a ) q_*(s,a)=\max _\pi q_\pi(s,a) q(s,a)=πmaxqπ(s,a)
最优价值函数明确了MDP的最优可能表现

一旦最优价值函数知晓,则认为MDP已完成求解


最优策略Optimal Policy

策略之间的偏序:当且仅当对于任意的状态 s s s都有 v π ( s ) ≥ v π ′ ( s ) v_\pi(s)\geq v_{\pi^\prime}(s) vπ(s)vπ(s)时,记作 π ≥ π ′ \pi \geq \pi^\prime ππ

最优策略:在有限状态和动作的MDP中,至少存在一个策略不劣于其他所有的策略,即 π ∗ ≥ π , ∀ π \pi_* \geq \pi, \forall \pi ππ,π,这就是最优策略。

所有的最优策略具有相同的最优状态价值函数

所有的最优策略有相同的动作价值函数


寻找最优策略Optimal Policy

可以通过最大化 q ∗ ( s , a ) q_*(s,a) q(s,a)来找到最佳策略,
π ∗ ( a ∣ s ) = { 1 0  当  a = arg ⁡ max ⁡ a ∈ A q ∗ ( s , a ) \pi_*(a \mid s)=\left\{\begin{array}{l} 1 \\ 0 \end{array} \quad \text { 当 } a=\arg \max _{a \in A} q_*(s, a)\right. π(as)={10  a=argaAmaxq(s,a)
找到最优动作价值函数中让值最大的a,将其概率设置为1

任何MDP始终都有确定性的最佳策略

如果我们知道 q ∗ ( s , a ) q_*(s,a) q(s,a),我们将立即获得最优策略


贝尔曼最优方程Bellman Optimality Equation

v ∗ ( s ) = m a x a q ∗ ( s , a ) v_*(s)=max_aq_*(s,a) v(s)=maxaq(s,a)

贝尔曼期望方程 v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) v_\pi(s)=\sum_{a \in \mathcal A} \pi(a \mid s)q_\pi(s,a) vπ(s)=aAπ(as)qπ(s,a),将最优策略结果代入,就得到贝尔曼最优方程
v ∗ ( s ) = max ⁡ a ( R s a + γ ∑ s ′ ∈ S P s s ′ a v ∗ ( s ′ ) ) v_*(s)=\max _a\left(\mathcal{R}_s^a+\gamma \sum_{s^{\prime} \in \mathcal{S}} \mathcal{P}_{s s^{\prime}}^a v_*\left(s^{\prime}\right)\right) v(s)=amax(Rsa+γsSPssav(s))

q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a max ⁡ a ′ q ∗ ( s ′ , a ′ ) q_*(s, a)=\mathcal{R}_s^a+\gamma \sum_{s^{\prime} \in \mathcal{S}} \mathcal{P}_{s s^{\prime}}^a \max _{a^{\prime}} q_*\left(s^{\prime}, a^{\prime}\right) q(s,a)=Rsa+γsSPssaamaxq(s,a)


求解贝尔曼最优方程

贝尔曼最优方程是非线性的

不能使用与策略优化相同的直接矩阵解决方案

通过一些迭代的方法来解决:

  • 价值迭代Value Iteration
  • 策略迭代Policy Iteration
  • Q学习Q-learning
  • Sarsa

5.参考资料

强化学习基础 北京邮电大学 鲁鹏 强化学习基础 (本科生课程) 北京邮电大学 鲁鹏_哔哩哔哩_bilibili

深度强化学习 台湾大学 李宏毅 DRL Lecture 1_ Policy Gradient (Review)_哔哩哔哩_bilibili

蘑菇书EasyRL datawhalechina/easy-rl: 强化学习中文教程(蘑菇书),在线阅读地址:https://datawhalechina.github.io/easy-rl/

你可能感兴趣的:(强化学习,深度学习,机器学习)