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