强化学习的数学原理笔记 1.1(Stage,action,policy等)
1.1基本概念
State (状态):描述agent相对于环境的一个状态,那么通常使用
S
1
,
S
2
,
.
.
.
,
S
n
S_1,S_2,...,S_n
S1,S2,...,Sn来进行表示。
***State space (状态空间)***:所有状态的集合,eg: S = { s i } i = 1 9 S=\{s_i\}^{9}_{i=1} S={si}i=19
Action (动作):每个状态可能会采取的几种行为: a 1 , a 2 , . . . a 5 a_1,a_2,...a_5 a1,a2,...a5
Action space of a state (状态的动作空间):对于每个状态可能采取行为的集合: A ( S i ) = { a i } i = 1 5 A(S_i)=\{a_i\}^5_{i=1} A(Si)={ai}i=15
State transition (状态转移):采取行动后,agent会从一个状态转移到另一个状态, S 1 ⟶ a 2 S 2 S_1\stackrel{\mathrm{a_2}}{\longrightarrow}S_2 S1⟶a2S2这个过程就称为状态转移,因此状态转移定义的是agent和环境的交互行为。
forbidden area:在物理上是被禁止进入的,但在理论上视为可以进入,agent进入后会受到惩罚。
具体的可以通过表格的形式进行表示,虽然看上去能够直观表示状态的转移,但是仅能表示确定的情况。那么一般的我们采用State transition probability(状态转移概率),使用转移的概率来进行表示。例如当在状态
S
1
S_1
S1时采取行动
a
1
a_1
a1后,到达下一个状态
S
2
S_2
S2,那么在数学上就可以表示为:
P
(
s
2
∣
s
1
,
a
2
)
=
1
P
(
s
2
∣
s
1
,
a
2
)
=
0
∀
i
≠
2
P(s_2|s_1,a_2)=1\\P(s_2|s_1,a_2)=0 \forall i\not=2
P(s2∣s1,a2)=1P(s2∣s1,a2)=0∀i=2
虽然上述的例子依然是一个确定性的例子,但实际上这个过程可以通过一个随机的概率来进行一般表示。
policy (策略):agent根据策略来选取动作进入下一个状态,那么根据不同的策略,agent会选取不同的动作从而影响下一个状态,那么要用数学形式表示,依然是通过转移概率来表示:
π
(
a
1
∣
s
1
)
=
0
π
(
a
2
∣
s
1
)
=
1
π
(
a
3
∣
s
1
)
=
0
π
(
a
4
∣
s
1
)
=
0
π
(
a
5
∣
s
1
)
=
0
\pi(a_1|s_1)=0\\\pi(a_2|s_1)=1\\\pi(a_3|s_1)=0\\\pi(a_4|s_1)=0\\\pi(a_5|s_1)=0
π(a1∣s1)=0π(a2∣s1)=1π(a3∣s1)=0π(a4∣s1)=0π(a5∣s1)=0
同样的上述的例子依然是确定的例子,同样策略也可以是随机的(stochastic policy),即
π
(
a
1
∣
s
1
)
=
0
π
(
a
2
∣
s
1
)
=
0.5
π
(
a
3
∣
s
1
)
=
0
π
(
a
4
∣
s
1
)
=
0.5
π
(
a
5
∣
s
1
)
=
0
\pi(a_1|s_1)=0\\\pi(a_2|s_1)=0.5\\\pi(a_3|s_1)=0\\\pi(a_4|s_1)=0.5\\\pi(a_5|s_1)=0
π(a1∣s1)=0π(a2∣s1)=0.5π(a3∣s1)=0π(a4∣s1)=0.5π(a5∣s1)=0
s
1
s_1
s1有50%的概率选择动作
a
2
a_2
a2,同时也有50%的概率选择动作
a
4
a_4
a4。实际编程中,可以通过在0~1上随机采样,根据得到的结果判断采取哪种行为。
reward (奖励):当agent采取行动后会得到相应的一个数,正数就代表我们是鼓励agent去采取这个行动的;反之如果是负数,那么表示我们不希望采取这样一个动作。
那么如果得到的是0,则表示我们还是希望agent采取这样的动作的(No punishment)
那么通过对特定状态下agent采取的动作设置奖励,就能使agent通过反复尝试来达成最终设置的目标,因此reward实质上是human-machine interface,也就是我们与机器进行交互的一种手段。
举个例子:在状态
s
1
s_1
s1下采取动作
a
1
a_1
a1,是得到的奖励是-1。同样的也可以通过概率来进行表示:
p
(
r
=
−
1
∣
s
1
,
a
1
)
=
1
a
n
d
p
(
r
≠
−
1
∣
s
1
,
a
1
)
=
0
p(r=-1|s_1,a_1)=1\ and\ p(r\not=-1|s_1,a_1)=0
p(r=−1∣s1,a1)=1 and p(r=−1∣s1,a1)=0
即在
s
1
s_1
s1下采取动作
a
1
a_1
a1后获得的奖励为-1的概率为1
需要注意的是:reward只依赖于当前的状态和动作,参考的并不是下一个状态。
trajectory (轨迹):是一个状态-动作-奖励链,可以简单表示为:
s
1
→
r
=
1
a
3
s
4
→
r
=
−
1
a
3
s
7
→
r
=
0
a
2
s
8
→
r
=
+
1
a
2
s
9
s_1\xrightarrow[r=1]{a_3}s_4\xrightarrow[r=-1]{a_3}s_7\xrightarrow[r=0]{a_2}s_8\xrightarrow[r=+1]{a_2}s_9
s1a3r=1s4a3r=−1s7a2r=0s8a2r=+1s9
相应的return就等于各个状态转移时获得reward之和,即:
r
e
t
u
r
n
=
0
−
1
+
0
+
1
=
0
return=0-1+0+1=0
return=0−1+0+1=0
那么当两种策略都能使agent完成我们期望的目标时,评估这两种策略就需要引入return的概念。
Discounted return (折扣回报):,随着策略的进行,状态会进行不断转换,agent可能会不停地获取奖励(+1+1+1…),从而使得return发散(趋于无穷),针对于未能收敛的return就需要设置一个折扣因子来使return最终达到收敛的一个状态。那么折扣因子影响下的return:
d
i
s
c
o
u
n
t
e
d
r
e
t
u
r
n
=
r
1
+
γ
r
2
+
γ
2
r
3
+
+
γ
3
r
4
+
.
.
.
=
∑
k
=
0
n
γ
k
r
k
+
1
discounted\ return=r_1+\gamma r_2+\gamma^2r_3++\gamma^3r_4+...=\sum_{k=0}^n\gamma^kr_{k+1}
discounted return=r1+γr2+γ2r3++γ3r4+...=k=0∑nγkrk+1
那么通过设置
γ
\gamma
γ这个折扣因子,我们可以得到收敛的return,那么当设置的
γ
\gamma
γ值趋于0时,我们得到的return主要依赖于最近的reward;相反,当设置的
γ
\gamma
γ值趋于1时,我们所得到的return就依赖于较远的未来的reward,并且return的值收敛较慢,return值也会较大。
episode/trial:当agent根据策略对环境进行探索,并在最终达到一个terminal states (终止状态),那么这样的轨迹称为一次episode或trial。这里涉及到一个问题:我们是否应该在agent到达目标状态后进行终止?主要的解决方案有两种:
1、将 target state视为一个特殊的吸收态,当 agent到达这个吸收态后,就不会离开这个状态,并且获取的 reward始终为 0。
2、将 target state视为一个一般的状态,即 agent能够离开 target state并且获得reward r = +1。(会耗费更多的时间进行搜索)
Maekov decision process (MDP) 马尔可夫决策过程:
几大要素:
· Sets:
State 状态集:the set of states S S S
Action 动作集:the set of actions A ( s ) s ∈ S A(s)\ s\in S A(s) s∈S
Reward 奖励集:the set of rewards R ( s , a ) s ∈ S , a ∈ A R(s,a)\ s\in S,a\in A R(s,a) s∈S,a∈A
· Probability distribution:
State transiton probability 状态转移概率:处于状态 s s s,采取动作 a a a,转移到状态 s ′ s' s′的概率为 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)
Reward probability 获取奖励的概率:处于状态 s s s,采取动作 a a a,获取奖励 r r r的概率为 p ( r ∣ s , a ) p(r|s,a) p(r∣s,a)
· Policy策略:处于状态 s s s,选择动作 a a a的概率为 π ( a ∣ s ) \pi(a|s) π(a∣s)
· Markov property马尔可夫性:memoryless property,也就是和历史无关的性质,
s
t
s_t
st 采取某个动作进入的下一个状态以及其能获得奖励仅与当前的状态
s
t
s_t
st 有关,可以通过以下式子理解:
p
(
s
t
+
1
∣
a
t
+
1
,
s
t
,
.
.
.
,
a
1
,
s
0
)
=
p
(
s
t
+
1
∣
a
t
+
1
,
s
t
)
,
p
(
r
t
+
1
∣
a
t
+
1
,
s
t
,
.
.
.
,
a
1
,
s
0
)
=
p
(
r
t
+
1
∣
a
t
+
1
,
s
t
)
,
p(s_{t+1}|a_{t+1},s_t,...,a_1,s_0)=p(s_{t+1}|a_{t+1},s_t),\\ p(r_{t+1}|a_{t+1},s_t,...,a_1,s_0)=p(r_{t+1}|a_{t+1},s_t),
p(st+1∣at+1,st,...,a1,s0)=p(st+1∣at+1,st),p(rt+1∣at+1,st,...,a1,s0)=p(rt+1∣at+1,st),
那么上图是一个对马尔可夫过程的简单表述,与马尔可夫决策过程不同的是,Markov decision process(MDP)是在马尔可夫过程中引入policy策略,并且这个策略是确定的。