个人学习记录
虽然DQN的发展,让RL在应用上有了很大的提升,但是很多思想还有可以从以前的方法中找到影子。其中DQN和Policy gradient都是可以从Q-learning和MDPS中找到参考。下面具体介绍MDPS的过程。
符号对应的意义
St:State代表t时刻的状态Rt:reward代表t时刻的收益At:Action代表在t时刻的行为P:policy代表行为的准则St:State代表t时刻的状态Rt:reward代表t时刻的收益At:Action代表在t时刻的行为P:policy代表行为的准则
在强化学习中,一般的agent会在当前状态下按照一定准则去执行某个行为,从而得到下个时刻的状态以及对应的收益,及会形成如下的链式结构:
S0,A0,R1,S1,A1,R2,S2......S0,A0,R1,S1,A1,R2,S2......
我们首先假设 所有的集合,包括状态集合S,行为集合A,收益集合R都是一个有限的集合。而在这个环境中,我们可以发现,你当前的状态以及所得到的收益,是因为你上一个状态以及对应的行动导致,所以对于在t时刻的s′s′和rr可以表示成如下式子:
因为状态和行动都是有限的,所以
∑s′∈S∑r∈Rp(s′,r|s,a)=1∑s′∈S∑r∈Rp(s′,r|s,a)=1
结合概率学的联合概率与边缘概率我们可以得到如下几个式子
p(s′|s,a)=∑r∈Rp(s′,r|s,a)p(s′|s,a)=∑r∈Rp(s′,r|s,a)
在s状态下,进行a操作之后,下一个状态会是s’的概率
r(s,a)=>E[Rt|St−1=s,At−1=a]=∑r∈Rr∑s∈Sp(s′,r|s,a)r(s,a)=>E[Rt|St−1=s,At−1=a]=∑r∈Rr∑s∈Sp(s′,r|s,a)
在s状态,执行a操作之后,得到的收益的期望。
r(s,a,s′)=E[Rt|St−1=>s,At−1=a,St=s′]=∑r∈Rrp(s′,r|s,a)p(s′|s,a)r(s,a,s′)=E[Rt|St−1=>s,At−1=a,St=s′]=∑r∈Rrp(s′,r|s,a)p(s′|s,a)
在s状态下,执行a操作之后,得到的下一个状态为s’时对应的收益的期望。
在整个的执行过程中,我们往往希望的是所有的收益之和最大。即如果当前时刻为t,则:
Gt=Rt+1+Rt+2....+RTGt=Rt+1+Rt+2....+RT
其中T为最终的时刻。当增加衰减之后,为:
Gt=Rt+1+γRt+2+γ2Rt+3....+γT−t−1RT=∑k=0TγkRt+k+1Gt=Rt+1+γRt+2+γ2Rt+3....+γT−t−1RT=∑k=0TγkRt+k+1
上式可表达成如下:
Gt=Rt+1+γGt+1Gt=Rt+1+γGt+1
在MDPs中去衡量一个policy在当前状态下所带来的value的方法如下:
vπ(s)=Eπ[Gt|St=s]=Eπ[∑k=0∞γkRt+k+1|St=s]vπ(s)=Eπ[Gt|St=s]=Eπ[∑k=0∞γkRt+k+1|St=s]
同理,MDPs衡量一个policy在当前状态下所采用的某个行为所带来的value的方法如下:
qπ(s,a)=Eπ[Gt|St=s,At=a]=Eπ[∑k=0∞γkRt+k+1|St=s,At=a]qπ(s,a)=Eπ[Gt|St=s,At=a]=Eπ[∑k=0∞γkRt+k+1|St=s,At=a]