引言(Introduction)#
在上一章《多臂老虎机》中,我们解决了一个简化版的强化学习问题:在一个只有一个不变状态的环境中,如何平衡探索与利用以获得最大收益。
然而,现实世界要复杂得多。
下棋时,你走出的一步棋不仅决定了当下的局势,更改变了棋盘的格局,影响了你后续所有的选择。你的每一个动作(Action)不仅会带来即时的奖励(Reward),还会通过**状态转移(State Transition)**改变环境的状态(State)。
这就是**序列决策(Sequential Decision Making)**的核心难题:今天的选择,决定明天的处境。
为了描述这种“牵一发而动全身”的动态过程,我们需要引入强化学习的数学基石——马尔可夫决策过程(MDP)。本章将从最基础的马尔可夫过程出发,层层递进,最终推导出描述价值流转的贝尔曼方程(Bellman Equation)。这是理解后续所有 RL 算法(如 DQN, PPO, SAC)的绝对前提。
马尔可夫过程(Markov Process)#
随机过程(Stochastic Process)#
随机过程是研究随时间演变的随机现象。
在随机过程中,随机现象在t时刻的取值为St,并且St通常会取决于之前的状态 (S1,...,St−1)。
在已知 (S1,...,St−1)的情况下,下一个时刻 t的状态为 St的概率可以表示为P(St∣S1,...,St−1)。
马尔可夫性质(Markov Property)#
当且仅当某个时刻的状态只取决于上个时刻的状态时,这个随机过程满足马尔可夫性质,即P(St∣St−1)=P(St∣S1,...,St−1)。
马尔可夫过程(Markov Process)#
马尔可夫过程就是满足了马尔可夫性质的随机过程,也叫马尔可夫链(Markov Chain)。
通常使用一个二元组 <S,P> 来描述马尔可夫过程,其中 S是有限数量的状态集合, P是状态转移矩阵(State Transition Matrix)。
假设 ∣S∣=n,那么有:
P=P(s1∣s1)⋮P(sn∣s1)⋯⋱⋯P(sn∣s1)⋮P(sn∣sn)
且对于任意 i行,满足 ∑j=1nP(sj∣si)=1。
特别的,当一个状态 st 满足 P(st∣st)=1,那么称 st为终止状态(Terminal State)。
给定马尔可夫过程,从某个状态 S1 出发,根据状态转移矩阵 P 得出一段状态序列 S1S2...ST(Episode),这个过程也叫做采样(Sampling)。
马尔可夫奖励过程(Markov Reward Process)#
马尔可夫奖励过程基于马尔可夫过程加入了奖励函数 R(Reward Function)与折扣因子 γ(Discount Factor),通常由四元组 <S,P,R,γ> 构成:
- S 是有限状态集;
- P 是状态转移矩阵;
- R 是奖励函数,R(s) 表示达到状态 s 可以获得的奖励;
- γ 是折扣因子,取值为 [0,1)。 γ 的越小,对于未来的利益折扣越大;
回报(Return)#
在一个马尔可夫奖励过程中,在某个时刻 t,其回报 Gt 的定义如下:
Gt=Rt+γRt+1+γ2Rt+2+...=k=0∑∞γkRt+k
其中, Rt 表示 t 时刻获得的奖励。
价值函数(Value Function)#
某个状态 s的期望回报 E[Gt∣St=s],被称为这个状态的价值(Value)。那么所有状态的价值组成了价值函数(Value Function),展开如下:
V(s)=E[Gt∣St=s]=E[Rt+γRt+1+γ2Rt+2+...∣St=s]=E[Rt+γ(Rt+1+γRt+2+...)∣St=s]=E[Rt+γGt+1∣St=s]=E[Rt+γV(St+1)∣St=s]
经过几步简单的推导,可以得出贝尔曼方程(Bellman Equation):
V(s)=E[Rt+γV(St+1)∣St=s]=E[Rt∣St=s]+γE[V(St+1)∣St=s]=R(s)+γs′∈S∑P(s′∣s)V(s′)
可以写成矩阵形式:
V(I−γP)VV=R+γPV=R=(I−γP)−1R
马尔可夫决策过程(Markov Decision Process)#
在马尔可夫奖励过程的基础上,加入外界的刺激,即智能体(Agent)的动作(Action),就有了马尔可夫决策过程(Markov Decision Process)。
马尔可夫决策由五元组 <S,A,P,R,γ>构成,分别是:
- S 是有限状态集;
- A 是动作的集合;
- γ 是折扣因子;
- R(s,a) 是奖励函数;
- P(s′∣s,a) 是状态转移函数;
策略(Policy)#
策略的定义:智能体根据当前的状态 St,并从动作集合 A中选取一个 At 的函数,一般记为 π。
π(a∣s)=P(At=a∣St=s) 表示状态 s 下,选择动作 a 的概率。
确定性策略(Deterministic Policy)#
如果一个策略 π ,对于每一个状态 s∈S ,有且仅有唯一动作 a∈A ,使得 π(a∣s)=1 ,那么这个策略就是一个确定性策略。
随机性策略(Stochastic Policy)#
随机性策略和确定性策略相反,它输出的各个动作的概率分布(Probability Distribution),每次采取动作时会从分布中进行采样。
状态价值函数(State-Value Function)#
基于策略 π 的状态价值函数被记为 Vπ(s)=Eπ[Gt∣St=s] 。
注意:若 π=π′ ,则 Vπ=Vπ′ 。
动作价值函数(Action-Value Function)#
马尔可夫决策过程引入了动作,我们额外定义了一个动作价值函数(Action-Value Function)。
基于策略 π 的动作价值函数被记为 Qπ(s,a) ,表达式为 Qπ(s,a)=Eπ[Gt∣St=s,At=a] 。
经过简单的推导,可以得出如下公式:
Qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[Rt+γRt+1+γ2Rt+2+...∣St=s,At=a]=Eπ[Rt+γ(Rt+1+γRt+2+...)∣St=s,At=a]=Eπ[Rt+γV(St+1)∣St=s,At=a]=Eπ[Rt]+γEπ[Vπ(St+1)∣St=s,At=a]=R(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)
状态价值函数和动作价值函数之间的关系:
Vπ(s)=Ea∼π(⋅∣s)[Qπ(s,a)]=a∈A∑π(a∣s)Qπ(s,a)
注意:若 π=π′ ,则 Qπ=Qπ′ 。
贝尔曼期望方程(Bellman Expectation Equation)#
对状态价值函数进行边缘化(Marginalization),可以得出 Vπ(s) 的贝尔曼期望方程:
Vπ(s)=Eπ[Rt+γVπ(St+1)∣St=s]=R(s)+γs′∈S∑P(s′∣s)Vπ(s′)=a∈A∑π(a∣s)(R(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′))
将 Vπ(s)=∑a∈Aπ(a∣s)Qπ(s,a) 代入,可以得出 Qπ(s,a) 的贝尔曼期望方程:
Qπ(s,a)=Eπ[Gt∣St=s,At=a]=R(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)=R(s,a)+γs∈S∑P(s′∣s,a)a′∈A∑π(a′∣s′)Qπ(s′,a′)
状态访问分布(State Visitation Distribution)#
在同一个马尔可夫过程中,不同的策略,它们的价值函数是不一样的。
因为在不同的策略,智能体能够访问的状态的概率分布是不同的。
我们使用 Ptπ(s) 来表示智能体使用策略 π 在 t 时刻访问状态 s 的概率。
策略 π 的状态访问分布(State Visitation Distribution)定义如下:
νπ(s)=(1−γ)t=0∑∞γtPtπ(s)
1−γ 是归一化因子,它保证 νπ(s) 是一个有效的概率分布,即 ∑sνπ(s)=1,推导如下:
s∑νπ(s)=s∑(1−γ)t=0∑∞γtPtπ(s)=(1−γ)t=0∑∞γts∑Ptπ(s)
在任意时刻 t,满足 ∑sPtπ(s)=1,可以推导出:
s∑νπ(s)=(1−γ)t=0∑∞γt
这里有个几何级数,满足 ∑t=0∞γt=1−γ1,可以推导出:
s∑νπ(s)=(1−γ)1−γ1=1
特别地,定义初始状态分布为 ν0(s),且 P0π(s)=ν0(s)。
使用上述公式计算该分布涉及到了无穷步的交互,但是实际上的交互数量是有限的。同时,状态访问分布满足以下性质:
νπ(s′)=(1−γ)ν0(s′)+γ∫P(s′∣s,a)π(a∣s)νπ(s)dsda
占用度量(Occupancy Measure)#
进一步,为了表示动作状态 (s,a) 访问的分布,定义策略 π 的占用度量(Occupancy Measure)如下:
ρπ(s,a)=(1−γ)t=0∑∞γtPtπ(s)π(a∣s)
两者存在以下关系:
ρπ(s,a)=νπ(s)π(a∣s)
最终,可以推导出两个定理:
定理1:给定环境(MDP)的条件下,策略 π1和策略 π2 得出的占用度量 ρπ1 和 ρπ2 满足:
π1=π2⟺ρπ1=ρπ2
定理2:给定一合法的占用度量 ρ,生成该占用度量的唯一策略是:
πρ(a∣s)=∑a′ρ(s,a′)ρ(s,a)
最优策略(Optimal Policy)#
强化学习的目标:找到一个策略,使得智能体从初始状态出发获取最大的累计奖励。
首先定义策略之间的偏序关系:当且仅当对于任何状态 s 都满足 Vπ(s)≥Vπ′(s),则 π>π′。
最优策略(Optimal Policy):在一个MDP中,至少存在一个策略优于其他策略或者至少存在一个策略不差于其他策略,这个策略就是最优策略。
最优策略都有相同的状态价值函数,被称为最优状态价值函数:
V∗(s)=πmaxVπ(s),∀s∈S
同理,定义最优动作价值函数:
Q∗(s,a)=πmaxQπ(s,a),∀s∈S,a∈A
最优状态价值函数和最优动作价值函数之间的关系:
Q∗(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)V∗(s′)
V∗(s)=a∈AmaxQ∗(s,a)
贝尔曼最优方程(Bellman optimality equation):
V∗(s)=a∈Amax{R(s,a)+γs′∈S∑P(s′∣s,a)V∗(s′)}
Q∗(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)a′∈AmaxQ∗(s′,a′)