以 grid-world 为例,进行强化学习基础概念的介绍。如图,机械人处于一个网格世界中,不同的网格代表不同的功能,白色代表机械人可以自由的进入,黄色代表陷阱(机械人一旦进入就会被强制返回起点),蓝色代表终点,现在要求机械人自己学习,从起点到终点走最短路径。
状态 state
状态:系统在各阶段可能发生的状态 S i S_i Si,如图状态有 s 1 s1 s1, s 2 s2 s2, ···, s 9 s9 s9
状态集合:系统在各阶段所有可能发生的状态的集合 S S S= { S i } \left\{\begin{rcases}S_i\end{rcases}\right. {Si}
行为 action
行为:在每个状态可能采取的行为
a
i
a_i
ai。在grid-world中机械人共有5种行为:
a
1
a1
a1:向上移动;
a
2
a2
a2: 向右移动;
a
3
a3
a3: 向下移动;
a
4
a4
a4: 向左移动;
a
5
a5
a5: 保存原位置不动;
行为集合:所有的可采取行为的集合 A ( S i ) A(S_i) A(Si)= { a i } \left\{\begin{rcases}a_i\end{rcases}\right. {ai}
状态转移
状态转移:一个状态通过采取一个行为后会转移到另一个状态 S 1 — a 2 — > S 2 S_1—a2—>S_2 S1—a2—>S2
状态转移概率:用概率来描述状态转换!
p
(
s
j
∣
s
i
,
a
n
)
p(s_j | s_i,a_n)
p(sj∣si,an):表示在状态
s
i
s_i
si 采取行为
a
n
a_n
an 到达状态
s
j
s_j
sj的概率
如:
p
(
s
2
∣
s
1
,
a
2
)
=
1
p(s_2 | s_1,a_2)=1
p(s2∣s1,a2)=1
策略 policy
策略:基于最终的目的指导当前状态下应该采取什么的行为,每个状态都对应有一个策略
例如现在给出一个策略 (绿色箭头表示策略) ,如下图,那么基于给出的策略会得到不同起点到达终点的路径。
在具体问题中,常常运用数学中的条件概率表示策略,强化学习中习惯性用
π
π
π 表示策略,
π
(
a
n
∣
s
i
)
π(a_n|s_i)
π(an∣si) 表示在状态
s
i
s_i
si 的条件下采取行为
a
n
a_n
an 的概率。
以状态
s
1
s1
s1为例,上面给出箭头的策略用数学表达形式如下(确定性概率):
π
(
a
1
∣
s
1
)
=
0
π(a_1|s_1)=0
π(a1∣s1)=0
π
(
a
2
∣
s
1
)
=
1
π(a_2|s_1)=1
π(a2∣s1)=1
π
(
a
3
∣
s
1
)
=
0
π(a_3|s_1)=0
π(a3∣s1)=0
π
(
a
4
∣
s
1
)
=
0
π(a_4|s_1)=0
π(a4∣s1)=0
π
(
a
5
∣
s
1
)
=
0
π(a_5|s_1)=0
π(a5∣s1)=0
以状态
s
1
s1
s1为例,不确定性概率的策略:
π
(
a
1
∣
s
1
)
=
0
π(a_1|s_1)=0
π(a1∣s1)=0
π
(
a
2
∣
s
1
)
=
0.5
π(a_2|s_1)=0.5
π(a2∣s1)=0.5
π
(
a
3
∣
s
1
)
=
0.5
π(a_3|s_1)=0.5
π(a3∣s1)=0.5
π
(
a
4
∣
s
1
)
=
0
π(a_4|s_1)=0
π(a4∣s1)=0
π
(
a
5
∣
s
1
)
=
0
π(a_5|s_1)=0
π(a5∣s1)=0
在编程中,策略通常使用数组(矩阵)的形式表示:
奖励 reward
在强化学习中,奖励是一个实数(标量),是采取行为后获得的。奖励有正有负,如果奖励为正,说明我们鼓励采取这种行为;如果奖励为负,说明我们不希望采取这种行为,本质是对采取这种行为的惩罚。
奖励可以理解为是人与机械人进行交互的一种手段,通过奖励可以引导机械人按照我们的期望行事,实现我们的目标。奖励一定是依赖与当前状态和采取的行为的,是依据采取的行为给出的。
在 gird-world 中,奖励的规则如下:
1、如果机械人试图走出边界,则奖励reward=-1
2、如果机械人试图进入禁止的单元格,则奖励reward=-1
3、如果机械人到达目标单元格,则奖励reward=+1
4、其他情况,奖励reward=0
在强化学习中,用条件概率来表示采取行为获得的奖励。
p
(
r
∣
s
i
,
a
n
)
:表示在状态
s
i
的条件下采取行为
a
n
获得奖励的概率
p(r|s_i,a_n):表示在状态s_i的条件下采取行为a_n获得奖励的概率
p(r∣si,an):表示在状态si的条件下采取行为an获得奖励的概率
以状态
s
1
s_1
s1为例(由于我们已经设计好了奖励规则,所以获得的奖励是确定的,但在实际情况中获得的奖励不是确定性的):
p
(
r
=
−
1
∣
s
1
,
a
1
)
=
1
p(r=-1|s_1,a_1)=1
p(r=−1∣s1,a1)=1
状态-行动-回报 trajectory
在强化学习中,trajectory 是记录从起点到终点所采取的行为、获得的奖励,以及状态转移的链,包含了状态、奖励、行为三个变化。采样(return)是 trajectory 中很重要的概率,是针对一个 trajectory 而言,其作用是沿着一条trajectory 所得到的所有 奖励加起来。
.
如上图所示,不同的策略会得到不同的轨迹。那么,如何评估不同策略的优劣呢?在强化学习中,通常是使用 return 去评估一个策略的优劣。
衰减系数
γ
γ
γ 的引入
如上图所示,当机械人到达终点时,策略还在进行,会持续反复进入终点,会使得return发散。为了解决这个问题,我们引入衰减系数(discount rate)
γ
∈
[
0
,
1
)
γ∈[0,1)
γ∈[0,1),引入衰减系数后会得到 discount return
可以发现
γ
γ
γ的作用:
1、保证得到的奖励是有限的
2、能够平衡遥期和近期的回报
如果
γ
γ
γ值偏小,则表明我们会更注重近期的奖励,即最终得到的奖励由最开始得到的奖励决定
如果
γ
γ
γ值偏大,则表明我们更注重长远的奖励,使机械人变得有远见
episode
机械人按照策略与环境交互时,到达终点时机械人会停止,由此产生的轨迹被称为episode。
在网格世界里,应该在到达目标后停下来吗?事实上,我们可以用一个统一的数学来处理。
马尔可夫决策过程MDP(Markov dwcision process)
一个马尔科夫决策过程由三个要素组成:
1、集合:
状态集合:
S
状态集合:S
状态集合:S
行为集合:
A
(
s
)
行为集合:A(s)
行为集合:A(s)
奖励集合:
R
(
s
,
a
)
奖励集合:R(s,a)
奖励集合:R(s,a)
2、概率:
状态转移概率:
p
(
s
′
∣
s
,
a
)
状态转移概率:p(s'|s,a)
状态转移概率:p(s′∣s,a)
奖励概率:
p
(
r
∣
s
,
a
)
奖励概率:p(r|s,a)
奖励概率:p(r∣s,a)
3、策略:
策略:
π
(
a
∣
s
)
策略:π(a|s)
策略:π(a∣s)
马尔科夫性质:无后效性,指当前决策只与当前的状态及目标有关,与过去无关。
grid-world 网格世界可以抽象为一个更普遍的模型,即马尔可夫过程。圆圈表示状态,带有箭头的链接表示状态转移,马尔可夫决策过程一旦给出策略,就变成马尔可夫链。