MDP总结
强化学习建模
强化学习问题可以下图来表示:
上面右图中的大脑代表执行强化学习算法的个体(Agent、或称为代理)。个体通过强化学习算法计算出一个适合当前状态的动作At。地球代表强化学习问题中涉及的环境,它有自己的状态模型。个体在状态St=s下选择动作后,环境状态从St=s转移至St+1=s′,同时个体获得采取动作At后的即时奖励Rt+1(注:Rt+1与Rt在本质上意义是相同的,但在描述RL问题中,涉及到状态S、行为A和奖励R时使用前者表示更为方便)。
强化学习模型要素
- 环境的状态S:一个集合,称为状态空间(状态集)。在t时刻,环境的状态为St∈S。
- 个体的动作A:一个集合,称为动作空间(动作集)。在t时刻,此时环境状态为St,个体采取的动作为At∈A。
- 环境的奖励R:一个函数,称为回报函数(奖励函数)。在t时刻,此时环境状态为St,个体采取动作At;在t+1时刻,个体得到动作对应得奖励Rt+1。
- 收获(Return)Gt:在一个马尔科夫奖励链上从t时刻开始往后所有的奖励的有衰减的总和。其公式为Gt=Rt+1+γRt+2+...=k=0∑∞γkRt+k+1
-
γ∈[0,1],衰减因子(折现因子)。
-
γ=0,表明个体是贪婪的,只关注于眼前的所能得到的利益(即时奖励)。
-
γ=1,表明个体对即时奖励和延时奖励(即,未来的奖励)投于相同的关注(重视度)。
-
0<γ<1,表明个体更关注于即时奖励,但同时也会考虑延时奖励,以此来避免“短视”。
- 策略(Policy)π:代表个体在状态St下采取动作得依据。π可以是一个概率的集合/分布,此时其中元素π(a∣s)表示,在状态s下,个体采取动作a的概率值。
- 价值函数(Value Function):价值函数给出了某一状态或某一行为的长期价值。一个马尔科夫奖励过程中某一状态St=s的价值函数为从该状态开始的马尔可夫链收获的期望(从当前状态开始到最终状态时系统所获得的累加衰减回报的期望)。其公式如下:V(s)=E[Gt∣St=s]价值可以仅描述状态,也可以描述某一状态下的某个行为,在一些特殊情况下还可以仅描述某个行为。
- 状态价值函数(价值函数,值函数)用于描述针对状态的价值。
- 行为价值函数(状态行为对价值函数,Q函数)用于描述某一状态下执行某一行为的价值。
- 环境的状态转化模型(状态转移矩阵/函数)P:可以理解为一个概率状态机,它可以表示为一个概率模型。通过P可以得出,在t时刻,个体于状态St=s下采取动作a后,转移到下一个状态St+1=s′的概率Pss′a。
- 探索率ϵ:这个比率主要用在强化学习训练迭代过程中,由于我们一般会选择使当前轮迭代价值最大的动作,但是这会导致一些较好的但我们没有执行过的动作被错过。因此我们在训练选择最优动作时,会有一定的概率ϵ不选择使当前轮迭代价值最大的动作,而选择其他的动作。
强化学习引入MDP的原因
上一节中提到了状态转移模型,通过该模型可以得到个体在一状态执行动作转移到下一个状态的概率值。如果按照真实的环境转化过程看,转化到下一个状态s′的概率既与上一个状态s有关,还与上上个状态,以及上上上个状态有关。这一会导致我们的环境转化模型非常复杂,复杂到难以建模。因此我们需要对强化学习的环境转化模型进行简化。简化的方法就是假设状态转化的马尔科夫性,也就是假设转化到下一个状态s′的概率仅与上一个状态s有关,与之前的状态无关。用公式表示就是:Pss′a=E(St+1∣St=s,At=a)
假设把一强化学习问题形式化为马尔科夫决策过程M。M是一个元组:⟨S,A,R,P,γ⟩,给定一个初始策略π。
-
S状态集,St∈S
-
A动作集,At∈A
-
R回报函数,Rsa=E(Rt+1∣St=s,At=a)
-
P状态转移函数,Pss′a=P(St+1=s′∣St=s,At=a)
-
γ∈[0,1],衰减因子
- 收获,Return,Gt=k=0∑∞γkRt+k+1
- 策略π,或称为策略函数。可表示为a=π(s)的确定性形式,也可表示为π(a∣s)=P[At=a∣St=s]的不确定性形式。
- 强化学习的核心在于最优化策略,策略的优劣可以通过基于策略的价值函数来评判。该价值函数可以分为:状态价值函数和行为价值函数。通常被称为值函数和Q函数。
- 状态价值函数:Vπ(s)=E(Gt∣St=s)
- 行为价值函数:Qπ(s,a)=E(Gt∣St=s,At=a)
MDP问题求解核心 —— Bellman方程
策略的优劣可以通过价值函数来计算。那么最优策略对应的价值函数的值必为最大。为求解最优策略,我们需要找到最优价值函数,然后对最优价值函数进行求解获得最优策略。在这一过程中就涉及到Bellman方程。下面我们对Vπ(s)和Qπ(s,a)进行推导,使得当前的状态的价值函数能够用下一状态的价值函数递归表示,并且推导Vπ(s)和Qπ(s,a)之间的关系。
在推导前需要注意几个表示回报的符号的意义:Rsa,Rss′a,Rsπ
-
Rss′a:表示的是在状态s下,执行动作a后状态转移到s′时得到的即时奖励。
-
Rsa:Rsa=s′∈S∑Pss′aRss′a
-
Rsπ:Rsπ=a∈A∑π(a∣s)Rsa
KaTeX parse error: No such environment: align* at position 8:
\begin{̲a̲l̲i̲g̲n̲*̲}̲
V^{\pi}(s)=&E_…
值函数和Q函数的关系和递推表达
- 值函数、Q函数的递推表达:
Vπ(s)=a∈A∑π(a∣s){Rsa+γs′∈S∑Pss′aVπ(s′)}Qπ(s,a)=Rsa+γs′∈S∑Pss′aa′∈A∑π(a∣s)Qπ(s′,a′)
- 值函数与Q函数之间关系:
Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)Qπ(s,a)=Rsa+γs′∈S∑Pss′aVπ(s′)
最优价值函数
解决强化学习问题意味着要寻找一个最优策略,该策略使个体与环境交互过程中获得始终比其他策略都要多的收获,这个最优策略我们可以用 π∗ 表示。一旦找到这个最优策略,那么就意味着该强化学习问题被解决。一般来说很难找到一个最优策略,但是可以通过比较若干不同策略的优劣来确定一个较好的策略,也就是局部最优解。
对于比较策略的优劣,我们可以通过对应的价值函数来实现。换句话说,寻找较优策略可通过寻找较优的价值函数来完成。
- 定义最优状态价值函数是所有策略下产生的众多状态价值函数中的最大者,即:V∗(s)=πmaxVπ(s)
- 最优动作价值函数是所有策略下产生的众多动作状态价值函数中的最大者,即:Q∗(s,a)=πmaxQπ(s,a)
- 对于最优策略,基于动作价值函数可以定义为:
π∗(a∣s)={1,0,if a=arga∈AmaxQ∗(s,a)else
- 只要我们找到了最大的状态价值函数或者动作价值函数,那么对应的策略π∗就是我们强化学习问题的解。
Bellman最优方程
根据上述最优价值函数的定义,我们可以将其推导为Bellman方程形式。
- 最优状态价值函数:V∗(s)=πmaxVπ(s)
V∗(s)====πmaxVπ(s)πmax(a∈A∑π(a∣s)Qπ(s,a))πmaxa∈AmaxQπ(s,a)a∈AmaxQ∗(s,a)
-
π(a∣s)∈[0,1],且a∈A∑π(a∣s)=1
-
a∈A∑π(a∣s)Qπ(s,a)的最大值:
- 假设在状态s下执行动作a∗时,Qπ(s,a∗)的值最大。Qπ(s,a∗)≥Qπ(s,a),a∈A
- a∈Amaxa∈A∑π(a∣s)Qπ(s,a)=a∈AmaxQπ(s,a)
- 推导证明:假设p1+p2+...+pn=1,vi≥0,i∈[0,n],且i为整数。令maxvi=pmax,对应的pi为pmax,那么:
p1v1+p2v2+...+pmaxvmax+...+pnvnp1v1+p2v2+...+pmaxvmax+...+pnvnp1v1+p2v2+...+pmaxvmax+...+pnvni∈[0,n]∑pivi≤p1vmax+p2vmax+...+pmaxvmax+...+pnvmax≤(p1+p2+...+pmax+...+pn)vmax≤vmax≤i∈[0,n]maxvi
注:当pmax=1时等号成立。
- 最优行为价值函数:Q∗(s,a)=πmaxQπ(s,a)
Q∗(s,a)=πmaxQπ(s,a)=πmax(Rsa+γs′∈S∑Pss′aVπ(s′))=Rsa+γs′∈S∑Pss′aV∗(s′)
-
Q∗(s,a)和V∗(s)的递推表达式:
V∗(s)Q∗(s,a)=a∈Amax(Rsa+γs′∈S∑Pss′aV∗(s′))=Rsa+γs′∈S∑Pss′aa∈AmaxQ∗(s′,a′)
- 在获取Bellman最优方程后,可以使用强化学习算法对方程进行求解获得最优策略。