强化学习中的马尔可夫决策过程(MDP)
1. 基本概念
什么是马尔可夫的决策过程,一定要注意的是,这里是一个有模型的决策过程,换句话说,你需要知道里面的状态在执行完了动作以后的发生的转移(blog系列)的概率
考虑到系列博客里面第一次提到了 转移,说明一下,转移的意思是从一个状态变到另一个状态,比如你往前走了一步,那么你就从当前的位置转移到了另一个位置,当然你可以原地踏步,那么你的转移后的状态还是当前状态
更需要注意的是,比起生活里面的固定的发生变化的事情不同,转移状态是有概率的,比如你很饿,你选择去吃一个汉堡,你是存在一定的概率还是处于很饿的状态,当然也有一定的概率转移到一个饱腹的状态
1.1 MDP的形式化定义
马尔可夫决策过程是一个五元组 (S,A,P,R,γ)(S,A,P,R,\gamma)(S,A,P,R,γ):
- SSS: 状态空间
- AAA: 动作空间
- PPP: 状态转移概率函数 P(s′∣s,a)P(s'|s,a)P(s′∣s,a)
- RRR: 奖励函数 R(s,a,s′)R(s,a,s')R(s,a,s′)
- γ\gammaγ: 折扣因子,γ∈[0,1]\gamma \in [0,1]γ∈[0,1]
γ\gammaγ折扣因子的意思将会在后面的过程中详细讲解,这里可以认为是未来的状态对当前状态的重要程度的一个指标
1.2 智能体与环境交互
在每个时间步ttt:
- 智能体在状态st∈Ss_t \in Sst∈S观察环境
- 执行动作at∈Aa_t \in Aat∈A
- 环境返回新状态st+1s_{t+1}st+1和奖励rtr_trt
注意,这里的环境的返回是环境决定的
2. MDP的核心要素
2.1 状态转移概率
状态转移满足马尔可夫性质:
P(st+1∣st,at,st−1,at−1,...,s0,a0)=P(st+1∣st,at)P(s_{t+1}|s_t,a_t,s_{t-1},a_{t-1},...,s_0,a_0) = P(s_{t+1}|s_t,a_t)P(st+1∣st,at,st−1,at−1,...,s0,a0)=P(st+1∣st,at)
这里需要重点讲解马尔可夫的最最最关键的性质,那么就是无论你前面(0,t-1)的时刻是如何到达当前的状态sts_tst,只要你在当前的状态执行了一个动作ata_tat,那么这个转移的的概率是固定的,哪怕你前面走了一万步,只要你到了现在的状态,那么转移的概率就和前文无关了
举个具体的例子来说:比如你开车到了一个地方,当前具有一些初始化的状态,比如位置,速度,方向等,那么这个时候,你的行为是加速1s或者踩死刹车1s,假设车辆的状态是不变的,那么你的结果也是固定的,跟你怎么来的没有关系,跟你到达这个地方之前是怎么开的也没有关系,这种假设的前提时,此时是一个马尔可夫过程
但是如果车辆状态会变,比如你的刹车可能不如刚开始那么好用了,油量可能不足以支撑1s的加速了,或者各种情况,都会导致你的下一个状态的概率发生了改变,显然此处就不再是一个普通的马尔可夫过程了
转移概率的约束,从任何状态s执行任何动作,发生的转移的概率必须为1,且新的状态也必须在状态空间范围内:
∑s′∈SP(s′∣s,a)=1,∀s∈S,a∈A\sum_{s' \in S} P(s'|s,a) = 1, \forall s \in S, a \in A∑s′∈SP(s′∣s,a)=1,∀s∈S,a∈A
同理,一个状态执行了一个动作以后,迁移到另一个状态的概率,当然等于环境的发生了s->s`转移时,不同的回报的概率的和
∑r∈Rp(s′,r∣s,a)∀s∈S,a∈A\sum_{r \in R} p(s',r |s,a) \forall s \in S, a \in A∑r∈Rp(s′,r∣s,a)∀s∈S,a∈A
比如投4个硬币,回报是正面向上的硬币的数量,
那么当前状态投的回报的就是 ∑i=14=p(i枚向上发生的概率)∗i\sum_{i=1}^4=p(i枚向上发生的概率)* i∑i=14=p(i枚向上发生的概率)∗i
当然你也可以选择不丢,那么回报就是0
2.2 策略
策略π\piπ定义了在每个状态下选择动作的概率分布,这里需要说明,考虑博弈论的混合策略,一个状态s应该执行的动作可能是存在概率性的,而不一定是一个确切的动作,所以π\piπ指的是选择这个动作的概率
- 确定性策略:π(s)=a\pi(s) = aπ(s)=a
- 随机策略:π(a∣s)=P(a∣s)\pi(a|s) = P(a|s)π(a∣s)=P(a