在强化学习中,agent和环境之间进行一系列交互:在每个时刻 t ,根据环境的状态和奖励,agent采取某一行为;这个行为会作用到环境中,环境改变状态并对agent进行奖励。
agent的目标是最大化累积奖励。
马尔可夫决策过程(Markov Decision Process, MDP)是对环境的建模。
MDP是一个五元组 <S,A,P,R,γ> ,其中
- S 是一个有限状态集
- A 是一个有限动作集
- P 是一个状态转移概率矩阵, Pass′=P[St+1=s′|St=s,At=a]
- R 是一个奖励函数, Ras=E[Rt+1|St=s,At=a]
- γ 是一个折扣因子 γ∈[0,1] .策略 π 是agent的行为函数:
π(a|s)=P[At=a|St=s]
注意,策略只和状态相关,和时间无关(静态的)。
值函数是对未来奖励的一个预测。
回报(return)
回报 Gt 是从时刻 t 开始的总折扣奖励:
Gt=Rt+1+γRt+2+⋯=∑k=1∞γkRt+k+1状态值函数
状态值函数 vπ(s) 是从状态 s 出发,按照策略 π 采取行为得到的期望回报:
vπ(s)=Eπ[Gt|St=s]
状态值函数可以用来评价状态的好坏。
根据定义可以得到:
行为值函数
行为值函数 qπ(s,a) 是从状态 s 出发,采取行为 a 后,然后按照策略 π 采取行为得到的期望回报:
qπ(s,a)=Eπ[Gt|St=s,At=a]
根据定义可以得到:
Bellman期望方程其实就是 vπ(s) 和 qπ(s,a) 自身以及相互之间的递推关系。
把公式(2)代入(1)中得到:
把公式(1)代入(2)中得到:
最优状态值函数
最优值函数 v∗(s) 是在所有策略上的最大值函数:
v∗(s)=maxπvπ(s)最优行为值函数
最优行为值函数 q∗(s,a) 是在所有策略上的最大行为值函数:
q∗(s,a)=maxπqπ(s,a)
当最优值函数已知时,可以认为MDP已被解决。
Bellman最优方程其实就是 v∗(s) 和 q∗(s,a) 自身以及相互之间的递推关系。
问题:(5.3)为什么成立?
∑a∈Aπ(a|s)qπ(s,a)≤maxaqπ(s,a)maxπ∑a∈Aπ(a|s)qπ(s,a)≤maxπmaxaqπ(s,a)maxπ∑a∈Aπ(a|s)qπ(s,a)≤maxaq∗(s,a)
只能证明出 ≤ ,怎么证明 = 呢?
同样,怎么证明公式(6.3)呢?
把公式(6)代入(5)中得到:
把公式(5)代入公式(6)得到:
定义策略之间的偏序关系
π≥π′ if vπ(s)≥vπ′(s), ∀s
那么有如下定理成立:
对任意MDP:
- 存在最优策略 π∗ ,满足 π∗≥π,∀π
- 所有最优策略的状态值函数都等于最优状态值函数 vπ∗(s)=v∗(s)
- 所有的最优策略的行为值函数都等于最优行为值函数 qπ∗(s,a)=q∗(s,a)
思考这样一个问题:如果某个状态 s1 是在策略 π1 上取到最优状态值,而 s2 是在另一个策略 π2 上取得最优状态值,那么最优策略是什么呢?
这种情况下是不存在最优策略的。
但是对于有限MDP,并且值函数有界时,上述情况并不存在,即至少有一个最优策略。