Basic Concepts in Reinforcement Learning
A grid-world example
在该图中:
- 格子被分为三类:可访问的格子、禁止访问的格子、目标格子
- 角色被称为
agent
agent
的任务就是从start
开始找到一条“正确”的路径到达target
agent
无法越过边界,当agent
采取越过边界的行为时其会停留在原地
State
将上图中 agent
所处的不同格子定义为不同的 state
,定义如下图所示。
则 State space
可以定义为:
S
=
{
s
i
}
i
=
1
9
\mathcal{S}=\{s_i\}_{i=1}^9
S={si}i=19
Action
agent
在每一个 state
都有 5 种可采取的 action
,action
的定义如下:
- a 1 a_1 a1:向上移动
- a 2 a_2 a2:向右移动
- a 3 a_3 a3:向下移动
- a 4 a_4 a4:向左移动
- a 5 a_5 a5:待在原地
每一个 state
都有一个对应的 action space
,其定义为:
A
(
s
i
)
=
{
a
i
}
i
=
1
5
\mathcal{A}(s_i)=\{a_i\}_{i=1}^5
A(si)={ai}i=15
State transition
state transition
用于表示 agent
采取 action
之后的 state
变化
例如,
s
1
⟶
a
2
s
2
s_1\stackrel{a_2}{\longrightarrow}s_2
s1⟶a2s2表示 agent
在
s
1
s_1
s1 采取
a
2
a_2
a2 之后 state
将会转换到
s
2
s_2
s2
例如,
s
1
⟶
a
1
s
1
s_1\stackrel{a_1}{\longrightarrow}s_1
s1⟶a1s1表示 agent
在
s
1
s_1
s1 采取
a
1
a_1
a1 之后 state
将会转换到
s
1
s_1
s1
用表格表示:
a 1 a_1 a1 | a 2 a_2 a2 | a 3 a_3 a3 | a 4 a_4 a4 | a 5 a_5 a5 | |
---|---|---|---|---|---|
s 1 s_1 s1 | s 1 s_1 s1 | s 2 s_2 s2 | s 4 s_4 s4 | s 1 s_1 s1 | s 1 s_1 s1 |
s 2 s_2 s2 | s 2 s_2 s2 | s 3 s_3 s3 | s 5 s_5 s5 | s 1 s_1 s1 | s 2 s_2 s2 |
s 3 s_3 s3 | s 3 s_3 s3 | s 3 s_3 s3 | s 6 s_6 s6 | s 2 s_2 s2 | s 3 s_3 s3 |
s 4 s_4 s4 | s 1 s_1 s1 | s 5 s_5 s5 | s 7 s_7 s7 | s 4 s_4 s4 | s 4 s_4 s4 |
s 5 s_5 s5 | s 2 s_2 s2 | s 6 s_6 s6 | s 8 s_8 s8 | s 4 s_4 s4 | s 5 s_5 s5 |
s 6 s_6 s6 | s 3 s_3 s3 | s 6 s_6 s6 | s 9 s_9 s9 | s 5 s_5 s5 | s 6 s_6 s6 |
s 7 s_7 s7 | s 4 s_4 s4 | s 8 s_8 s8 | s 7 s_7 s7 | s 7 s_7 s7 | s 7 s_7 s7 |
s 8 s_8 s8 | s 5 s_5 s5 | s 9 s_9 s9 | s 8 s_8 s8 | s 7 s_7 s7 | s 8 s_8 s8 |
s 9 s_9 s9 | s 6 s_6 s6 | s 9 s_9 s9 | s 9 s_9 s9 | s 8 s_8 s8 | s 9 s_9 s9 |
用数学表示:
p
(
s
2
∣
s
1
,
a
2
)
=
1
p
(
s
i
∣
s
1
,
a
2
)
=
0
∀
i
≠
2
\begin{aligned} p(s_2|s_1,a_2)&=1\\ p(s_i|s_1,a_2)&=0\quad\forall{i}\neq 2 \end{aligned}
p(s2∣s1,a2)p(si∣s1,a2)=1=0∀i=2
Policy
Policy
表示在某一个 state
agent
需要采取的 action
。
Deterministic policy
如使用下图表示 agent
在某一个 state
采取的 action
,其中箭头表示 agent
采取的 action
。
对于
s
1
s_1
s1 的 policy
可用数学表示:
π
(
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
对于
s
1
s_1
s1 的 policy
可以表示为:
π
(
a
1
∣
s
1
)
=
0
π
(
a
2
∣
s
1
)
=
0.5
π
(
a
3
∣
s
1
)
=
0.5
π
(
a
4
∣
s
1
)
=
0
π
(
a
5
∣
s
1
)
=
0
\begin{aligned} \pi(a_1|s_1)&=0\\ \pi(a_2|s_1)&=0.5\\ \pi(a_3|s_1)&=0.5\\ \pi(a_4|s_1)&=0\\ \pi(a_5|s_1)&=0 \end{aligned}
π(a1∣s1)π(a2∣s1)π(a3∣s1)π(a4∣s1)π(a5∣s1)=0=0.5=0.5=0=0
Reward
Reward
是 RL 中最为特殊的一个概念,是 agent
采取某一个 action
之后得到的一个具体的值,该值可正可负。一般情况下,当值为正数的时候,表示鼓励 agent
采取这种 action
;当值为负数的时候,表示惩罚 agent
采取这种 action
。
将 grid-world 中的 reward
定义为:
- 如果
agent
试图越过边界, r b o u n d = − 1 r_{bound}=-1 rbound=−1 - 如果
agent
进入了一个禁止访问的格子, r f o b i d = − 1 r_{fobid}=-1 rfobid=−1 - 如果
agent
到达了目标格子, r t a r g e t = + 1 r_{target}=+1 rtarget=+1 - 其他情况, r = 0 r=0 r=0
例如,agent
在 state
s
1
s_1
s1 采取了 action
a
1
a_1
a1,那么其 reward
为
−
1
-1
−1,可用数学表示为:
p
(
r
=
−
1
∣
s
1
,
a
1
)
=
1
p(r=-1|s_1,a_1)=1
p(r=−1∣s1,a1)=1 和
p
(
r
≠
−
1
∣
s
1
,
a
1
)
=
0
p(r\neq-1|s_1,a_1)=0
p(r=−1∣s1,a1)=0
Trajectory and return
trajectory
是一条 state
-action
-reward
链路:
s
1
⟶
a
2
r
=
0
s
2
⟶
a
3
r
=
0
s
5
⟶
a
3
r
=
0
s
8
⟶
a
2
r
=
1
s
9
s_{1} \underset{r=0}{\stackrel{a_{2}}{\longrightarrow}} s_{2} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{5} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{8} \underset{r=1}{\stackrel{a_{2}}{\longrightarrow}} s_{9}
s1r=0⟶a2s2r=0⟶a3s5r=0⟶a3s8r=1⟶a2s9
一个 trajectory
的 return
是其所有 reward
的和:
r
e
t
u
r
n
=
0
+
0
+
0
+
1
=
1
\mathrm{return}=0+0+0+1=1
return=0+0+0+1=1
Discounted return
一个 trajectory
可能是无穷的:
s
1
⟶
a
2
r
=
0
s
2
⟶
a
3
r
=
0
s
5
⟶
a
3
r
=
0
s
8
⟶
a
2
r
=
1
s
9
⟶
a
5
r
=
1
s
9
⟶
a
5
r
=
1
s
9
⋯
s_{1} \underset{r=0}{\stackrel{a_{2}}{\longrightarrow}} s_{2} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{5} \underset{r=0}{\stackrel{a_{3}}{\longrightarrow}} s_{8} \underset{r=1}{\stackrel{a_{2}}{\longrightarrow}} s_{9} \underset{r=1}{\stackrel{a_{5}}{\longrightarrow}} s_{9} \underset{r=1}{\stackrel{a_{5}}{\longrightarrow}} s_{9} \cdots
s1r=0⟶a2s2r=0⟶a3s5r=0⟶a3s8r=1⟶a2s9r=1⟶a5s9r=1⟶a5s9⋯
其 return
是:
r
e
t
u
r
n
=
0
+
0
+
0
+
1
+
1
+
1
+
⋯
=
∞
\mathrm{return}=0+0+0+1+1+1+\cdots=\infty
return=0+0+0+1+1+1+⋯=∞
对于这种情况,需要引入 discount rate
γ
∈
[
0
,
1
)
\gamma\in[0,1)
γ∈[0,1),则引入 discount rate
的return
称为 discounted return
:
d
i
s
c
o
u
n
t
e
d
r
e
t
u
r
n
=
0
+
γ
0
+
γ
2
0
+
γ
3
1
+
γ
4
1
+
γ
5
1
+
…
=
γ
3
(
1
+
γ
+
γ
2
+
…
)
=
γ
3
1
1
−
γ
\begin{aligned} \mathrm{discounted\ return}&=0+\gamma0+\gamma^20+\gamma^31+\gamma^41+\gamma^51+\dots\\ &=\gamma^3(1+\gamma+\gamma^2+\dots)\\ &=\gamma^3\frac{1}{1-\gamma} \end{aligned}
discounted return=0+γ0+γ20+γ31+γ41+γ51+…=γ3(1+γ+γ2+…)=γ31−γ1
Episode
agent
按照某中 policy
行动,最终停在某个终止 state
,则称这整个 trajectory
为一个 episode
。一个 episode
通常是有限的。
实际上,一些任务可能没有终止 state
,意味着这项任务永远不会终止,这种任务称为 continuing task
。
Markov decision process (MDP)
MDP 的主要组成部分:
-
集合:
- state:
state space
S \mathcal{S} S - action:
action space
A ( s ) \mathcal{A}(s) A(s) - reward:
reward space
R ( s , a ) \mathcal{R}(s,a) R(s,a)
- state:
-
条件概率分布:
- state transition probability: p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)
- reward probability: p ( r ∣ s , a ) p(r|s,a) p(r∣s,a)
-
Policy: π ( a ∣ s ) \pi(a|s) π(a∣s)
-
Markov property: memoryless property
p ( s t + 1 ∣ a t , s t , … , a 0 , s 0 ) = p ( s t + 1 ∣ a t , s t ) p ( r t + 1 ∣ a t , s t , … , a 0 , s 0 ) = p ( r t + 1 ∣ a t , s t ) p(s_{t+1}|a_t,s_t,\dots,a_0,s_0)=p(s_{t+1}|a_t,s_t)\\ p(r_{t+1}|a_t,s_t,\dots,a_0,s_0)=p(r_{t+1}|a_t,s_t) p(st+1∣at,st,…,a0,s0)=p(st+1∣at,st)p(rt+1∣at,st,…,a0,s0)=p(rt+1∣at,st)
grid-world 例子可以抽象为一个 Markov process
其中圆圈表示 state
,箭头表示 state transition
当 policy
给定时,Markov decision process 就成为 Markov process
Summary
Note 1 主要介绍了 RL 的一些基本概念和术语,分别是:
- State
- Action
- State transition,state transition probability p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)
- Reward,reward probability p ( r ∣ s , a ) p(r|s,a) p(r∣s,a)
- Trajectory,episode,return,discount return
- Markov decision process
Reference
【强化学习的数学原理】课程:从零开始到透彻理解(完结)