在强化学习中,agent和环境之间进行一系列交互:在每个时刻
agent的目标是最大化累积奖励。
1 MDP
马尔可夫决策过程(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]
注意,策略只和状态相关,和时间无关(静态的)。
2 值函数与Bellman期望方程
2.1 值函数
值函数是对未来奖励的一个预测。
回报(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]
根据定义可以得到:
2.2 Bellman期望方程
Bellman期望方程其实就是
vπ(s)
与
qπ(s,a)
之间的关系
vπ(s)
自身的递推关系
把公式(2)代入(1)中得到:
qπ(s,a)
自身的递推关系
把公式(1)代入(2)中得到:
3 最优值函数与Bellman最优方程
3.1 最优值函数
最优状态值函数
最优值函数v∗(s) 是在所有策略上的最大值函数:
v∗(s)=maxπvπ(s) 最优行为值函数
最优行为值函数q∗(s,a) 是在所有策略上的最大行为值函数:
q∗(s,a)=maxπqπ(s,a)
当最优值函数已知时,可以认为MDP已被解决。
3.2 Bellman最优方程
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)呢?
v∗(s)
自身的递推关系
把公式(6)代入(5)中得到:
q∗(s,a)
自身的递推关系
把公式(5)代入公式(6)得到:
4 最优策略
定义策略之间的偏序关系
π≥π′ if vπ(s)≥vπ′(s), ∀s
那么有如下定理成立:
对任意MDP:
- 存在最优策略
π∗ ,满足π∗≥π,∀π - 所有最优策略的状态值函数都等于最优状态值函数
vπ∗(s)=v∗(s) - 所有的最优策略的行为值函数都等于最优行为值函数
qπ∗(s,a)=q∗(s,a)
思考这样一个问题:如果某个状态
这种情况下是不存在最优策略的。
但是对于有限MDP,并且值函数有界时,上述情况并不存在,即至少有一个最优策略。