Markov决策过程(MDP)是强化学习的基础模型,是一种通过与环境交互从而学习一个策略,实现最大化累积奖励的理论框架。MDP的数学模型由状态空间、动作空间、转移概率和奖励函数组成。时至今日,MDP已经成为强化学习的标准模型,被广泛应用于各个领域,包括机器人控制、游戏AI和自动驾驶等。
1.1 基本定义#
1.1.1 智能体、环境与策略#
- 智能体 (agent): 通过与环境交互来学习和优化策略的实体。
- 环境 (environment): 智能体所处的外部世界,智能体通过与环境交互来获取信息和奖励。
- 状态 (state) st: 环境在某一时刻的具体情况。
- 动作 (action) at: 智能体在某一状态下可以采取的操作。
- 策略 (policy) π(a∣s): 智能体在某一状态下选择动作的概率分布,通常用一个函数表示。
- 奖励 (reward) r(s,a): 智能体在某一状态下采取某一动作后,环境反馈给智能体的即时奖励。
具体来说,在每个时刻 t,智能体会和环境进行交互,即通过观察当前所在的环境状态 st,选择一个动作 at,得到环境对于状态 st 和动作 at 的奖励 rt,之后智能体会转移到下一个状态 st+1。
1.1.2 轨迹、动作选择与状态转移#
上述过程逐步迭代进行,可以得到一个轨迹 τ=(s0,a0,r0,s1,a1,r1,…),其中 st 是在时刻 t 的状态,at 是在时刻 t 采取的动作,rt 是在时刻 t 得到的奖励。
- 轨迹 (trajectory) τ: 智能体与环境交互的序列,包括状态、动作和奖励等信息,表示为 τ=(s0,a0,r0,s1,a1,r1,…)。
由于在每个时刻 t,智能体都有可能有多个动作可供选择,而且每个动作导致的状态转移和奖励也可能不同,因此在每个时刻 t,智能体的动作选择、状态转移和奖励都可以用随机过程来表示。为了便于分析,整个决策过程使用 Markov 决策过程(MDP)来建模。 MDP的 Markov性体现在以下几个方面
- 状态转移概率 p(st+1∣st,at): 在时刻 t,智能体在状态 st 下采取动作 at 后,转移到下一个状态 st+1 的概率,这里的历史依赖性被简化为只依赖于当前状态和动作。此外,在通常情况下,我们认为环境是定常的而非时变的,此时动作转移概率也可以是定常的。那么动作转移概率可以去掉时间下标 t,表示为 p(s′∣s,a),表示在状态 s 下采取动作 a 后转移到状态 s′ 的概率。
- 动作选择概率 p(at∣st)=π(at∣st): 在状态 st 下,智能体选择动作 at 的概率分布,也就是策略函数。策略可以是确定性的,也可以是随机的。动作的选择不依赖于历史状态和动作,只依赖于当前状态。
- 奖励概率 p(rt∣st,at): 在状态 st 下,智能体采取动作 at 后,环境反馈给智能体的奖励。奖励是一个随机变量,表示为 rt∼p(rt∣st,at)。
需要注意的是,状态转移概率和奖励概率本质是环境的模型,而非智能体的属性。只有策略也就是动作选择概率是智能体的属性。 换言之,只要状态转移概率和奖励概率确定,一个环境模型也就确定了;而一个动作策略函数确定,一个智能体也就确定了。
1.1.3 分幕式任务#
终止状态 (terminal state): 智能体与环境交互的过程中的一个特殊状态,表示任务的结束。终止状态通常是一个吸收状态,智能体在达到终止状态后,不会再进行任何动作和奖励的反馈。
非终止状态 (non-terminal state): 智能体与环境交互的过程中的普通状态,表示任务的继续进行。非终止状态通常是一个非吸收状态,智能体在达到非终止状态后,可以继续进行动作和奖励的反馈。
幕 (episode): 智能体与环境交互的完整过程,从初始状态到终止状态(每幕的最后一个状态必须是终结状态)的序列,表示为 τ=(s0,a0,r0,s1,a1,r1,…,sT),其中 T 是终止时刻。
分幕式任务 (episodic task): 智能体与环境交互的任务是有限的,智能体在每个幕中都要完成一个特定的目标。分幕式任务通常有一个明确的终止状态,智能体在达到终止状态后,任务结束。不同幕之间是独立的,下一幕的初始状态与上一幕的终止状态无关。例如,下象棋,打掼蛋等游戏,每一局游戏就是单独的一幕。
非分幕式任务 (continuing task): 智能体与环境交互的任务是无限的,智能体在每个时刻都要完成一个特定的目标。非分幕式任务通常没有明确的终止状态,智能体在每个时刻都要继续与环境交互。
1.1.4 回报与价值函数#
MDP 的目标是最大化智能体在整个决策过程中的累积奖励。累积奖励可以用回报(return)来表示,回报是从当前时刻开始的未来奖励的加权和。回报的计算方式通常是将未来的奖励进行折扣处理,以便更好地平衡当前奖励和未来奖励的重要性。
- 折扣因子 γ: 用于平衡当前奖励和未来奖励的重要性,通常取值在 [0,1] 之间。γ 越大,表示未来奖励越重要,智能体也会相应地更加目光长远;γ 越小,表示当前奖励越重要,智能体也会相应地更加目光短浅。折扣因子 γ 的取值通常是一个小于 1 的正数,表示未来奖励的衰减程度。γ=0 表示只考虑当前奖励,γ=1 表示考虑所有未来奖励。
- 回报 (return) Gt: 从时刻 t 开始的回报,通常表示为
Gt=l=0∑∞γlrt+l=rt+γrt+1+γ2rt+2+…=rt+γGt+1其中 rt+l 是在时刻 t+l 的奖励。
对于分幕式任务,我们可以把终止状态后续的奖励视为 0,且智能体在原状态保持不变(这只是为了统一公式,便于把分幕式任务看作是持续性任务,不过把下面的表达式也可以视作对分幕式任务的回报定义),此时回报表示为从初始状态开始,到终止状态结束的折扣奖励和,表示为
Gt=l=0∑T−tγlrt+l=rt+γrt+1+γ2rt+2+⋯+γT−trT=rt+γGt+1其中 T 是终止时刻。
很显然,这些奖励都是随机变量,因此回报 Gt 也是一个随机变量。为了便于分析,我们需要使用期望来分析回报。不过,从不同的初始状态出发,智能体得到的回报通常是不同的,所以我们会使用价值函数来描述这种不同状态或状态-动作下的期望回报。
- 状态价值函数 Vπ(s): 在状态 st=s 下,智能体在策略 π 下的预期回报(关于 st=s 的条件期望),表示为
Vπ(s)=Eπ[Gt∣st=s]=Eat∼π(at∣s),st+1∼p(st+1∣s,at),rt∼p(rt∣s,at),at+1∼π(at+1∣st+1),…[l=0∑∞γlrt+l]上式对任意的状态 s 均满足,因为在 t 时刻,智能体可能处于状态空间中的任意一个状态。此外,此式对任意时刻 t 均满足,如果环境模型是非时变的。下标 π 是为了体现这个期望是与策略 π 有关的,策略不同,得到的期望可能不同。
- 动作价值函数 Qπ(s,a): 在状态 st=s 下采取动作 at=a 后,智能体在策略 π 下的预期回报,表示为
Qπ(s,a)=Eπ[Gt∣st=s,at=a]=Est+1∼p(st+1∣s,a),rt∼p(rt∣s,a),at+1∼π(at+1∣st+1),…[l=0∑∞γlrt+l]上式对任意的状态 s 和动作 a 均满足,因为在 t 时刻,智能体可能处于状态空间中的任意一个状态,并且可能采取动作空间中的任意一个动作。同样地,此式对任意时刻 t 均满足,如果环境模型是非时变的。下标 π 是为了体现这个期望是与策略 π 有关的,策略不同,得到的期望可能不同。
- 优势函数 Aπ(st,at): 在状态 st 下,采取动作 at 的优势程度,表示为
Aπ(s,a)=Qπ(s,a)−Vπ(s)优势函数的作用是用来衡量某个动作相对于其他动作的优势程度。优势函数可以用来指导智能体在选择动作时,优先选择那些具有较高优势的动作,从而提高学习效率。优势函数的值越大,表示该动作相对于其他动作的优势程度越高,智能体在选择动作时应该优先考虑该动作。
这是因为状态价值函数是动作价值函数关于动作的期望,即
Vπ(s)=a∈A(s)∑π(a∣s)Qπ(s,a)其中 A(s) 是状态 s 的动作空间。于是优势函数可以看作零均值化的动作价值函数。
需要注意的是,当环境模型和智能体策略确定时,状态价值函数 Vπ(s) 和 动作价值函数 Qπ(s,a) 是确定的,体现出价值函数是策略的函数,这点可以从定义中得到。价值函数会满足 Bellman 期望方程,通过求解方程可以得到价值函数的唯一解,从而说明价值函数是确定的。
1.2 Bellman期望方程#
Bellman期望方程(Bellman方程)是强化学习中的一个重要概念,它描述了在给定策略下,价值函数在不同时刻的值之间的关系。Bellman方程可以用来递归地计算状态价值函数和动作价值函数,从而实现动态规划。
在给定策略 π 下,状态价值函数的Bellman期望方程为
Vπ(s)=Eπ[rt+γVπ(st+1)∣st=s]=Eat∼π(at∣s),st+1∼p(st+1∣s,at),rt∼p(rt∣s,at)[rt+γVπ(st+1)]其展开形式为
Vπ(s)=a∈A(s)∑π(a∣s)[s′∈S∑p(s′∣s,a)γVπ(s′)+r∈R∑p(r∣s,a)r]其中 s′ 是 st+1 的可能取值,a 是 at 的可能取值。
在给定策略 π 下,动作价值函数的Bellman期望方程为
Qπ(s,a)=Eπ[rt+γVπ(st+1)∣st=s,at=a]=Est+1∼p(st+1∣s,a),rt∼p(rt∣s,a)[r(s,a)+γVπ(st+1)]其展开形式为
Qπ(s,a)=s′∈S∑p(s′∣s,a)γVπ(s′)+r∈R∑p(r∣s,a)r其中 s′ 是 st+1 的可能取值。
关于 Bellman 方程的推导过程及解存在的证明,可以参考 西湖大学赵世钰老师所出版的强化学习的数学原理的 P22-P33。
1.3 Bellman最优方程#
既然强化学习的目标是最大化累积奖励,那么我们就需要找到一个最优策略 π∗,使得在所有可能的策略中,智能体在每个状态下的预期回报最大。那如何评价一个策略比另一个策略好呢?基于前面所讨论的价值函数是策略的函数这一个点,我们可以使用价值函数来进行比较。
如果一个策略 π1 在所有状态下的价值函数都大于另一个策略 π2 的价值函数,即
Vπ1(s)≥Vπ2(s),∀s∈S那么我们就可以说策略 π1 优于策略 π2。
- 最优策略 (optimal policy) π∗: 在所有可能的策略中,能够使得智能体在每个状态下的预期回报最大的策略。最优策略是强化学习的目标。最优策略往往不止一个,但是它们的共性是对应的价值函数是相同的,即最优价值函数。
- 最优状态价值函数 (optimal state value function) V∗(s): 在状态 s 下,智能体在最优策略 π∗ 下的预期回报,表示为
V∗(s)=πmaxVπ(s)=πmaxEπ[Gt∣st=s]=πmaxEat∼π(at∣s),st+1∼p(st+1∣s,at),rt∼p(rt∣s,at),at+1∼π(at+1∣st+1),…[l=0∑∞γlrt+l]- 最优动作价值函数 (optimal action value function) Q∗(s,a): 在状态 s 下采取动作 a 后,智能体在最优策略 π∗ 下的预期回报,表示为
Q∗(s,a)=πmaxQπ(s,a)=πmaxEπ[Gt∣st=s,at=a]=πmaxEst+1∼p(st+1∣s,a),rt∼p(rt∣s,a),at+1∼π(at+1∣st+1),…[l=0∑∞γlrt+l]Bellman最优方程就是求解最优策略的方程,它描述了在最优策略下,价值函数自身的关系。可以说,所有的强化学习算法都是在求解这个方程,因为求解 Bellman 最优方程,即可求得最优价值函数,利用最优价值函数,我们就可以得到最优策略。
利用以上对最优策略和最有价值函数的定义,可以推导出如下方程
V∗(s)=πmaxVπ(s)=πmaxEπ[r+γVπ(s′)∣s]=πmaxEa∼π(a∣s)[Er∼p(r∣s,a)[r]+γEs′∼p(s′∣s,a)[Vπ(s′)]]=πmaxa∈A(s)∑π(a∣s)[r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)Vπ(s′)]=πmaxa∈A(s)∑π(a∣s)[r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)V∗(s′)]注意在最后一步推导中,我们将 Vπ(s′) 替换为 V∗(s′),这是因为如果目标是最大化 Vπ(s),那么根据 V∗(s′)≥Vπ(s′), 且环境模型与 s′ 状态下的状态价值函数没有关系,而且动作 a 和状态 s 此时已经确定,于是有
r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)V∗(s′)≥r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)Vπ(s′)而且,V∗(s′)也是诸多被优化的价值函数中的一个,是方程右侧可以取得的,所以我们可以将 Vπ(s′) 替换为 V∗(s′)。得到的方程就是状态价值函数的 Bellman 最优方程
V∗(s)=πmaxa∈A(s)∑π(a∣s)[r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)V∗(s′)]∀s∈S