强化学习基本原理
智能体通过动作A与环境进行交互,形成状态S->S’的改变并得到回报R。在不断的交互过程中,强化学习利用交互得到的数据修正自身的动作策略,最终习得该环境下完成相应任务的最优策略。
参考资料
[1] 强化学习入门 第一讲 MDP
预备知识 - 马尔可夫概念
马尔可夫性
马尔可夫性指系统下一状态
S
t
+
1
S_{t+1}
St+1仅与当前状态
s
t
s_{t}
st有关,与以前的状态无关,当前状态可以反映所有历史状态。
公式描述:
P
[
s
t
+
1
∣
s
t
]
=
P
[
s
t
+
1
∣
s
1
,
s
2
,
.
.
.
,
s
t
]
(1.1)
P[s_{t+1}|s_t] = P[s_{t+1}|s_1,s_2,...,s_t] \tag{1.1}
P[st+1∣st]=P[st+1∣s1,s2,...,st](1.1)
马尔可夫随机过程
随机过程即一组随机变量序列,马尔可夫随机过程指其中的每一个随机变量均具有马尔可夫性,即只与前一个随机变量相关。
马尔可夫过程
马尔可夫过程定义为:二元组(S,P),S为有限状态集合,P为状态转移概率矩阵。
P
=
[
P
11
⋯
P
1
n
⋮
⋱
⋮
P
n
1
⋯
P
n
n
]
(1.2)
P = \left[ \begin{matrix} P_{11} & \cdots & P_{1n} \\ \vdots & \ddots & \vdots \\ P_{n1} & \cdots & P_{nn} \\ \end{matrix} \right] \tag{1.2}
P=⎣⎢⎡P11⋮Pn1⋯⋱⋯P1n⋮Pnn⎦⎥⎤(1.2)
马尔可夫链
给定马尔可夫过程(S,P)后,从一状态出发到一状态结束存在多条路径,每条路径为马尔可夫链。
马尔可夫决策过程
马尔可夫决策过程定义为:多元组(S, A, P, R, γ)
其中:
- S为有限状态集合
- A为有限动作集合
- P为状态转移概率
- R为回报函数
- γ为折扣因子
马尔可夫决策过程的状态转移包含概率:
P
s
s
′
a
=
P
[
S
t
+
1
=
s
′
∣
S
t
=
s
,
A
t
=
a
]
(1.3)
P^{a}_{ss'} = P[S_{t+1} = s'|S_t = s, A_t = a] \tag{1.3}
Pss′a=P[St+1=s′∣St=s,At=a](1.3)
理解:
- P s s ′ a P^{a}_{ss'} Pss′a为采取动作a从状态s转移到s’的概率
马尔可夫决策过程与强化学习
强化学习的目标
给定马尔可夫决策过程(S, A, P, R, γ),寻找一组最优策略:
π
(
a
∣
s
)
=
p
[
A
t
=
a
∣
S
t
=
s
]
(2.1)
\pi(a|s) = p[A_t = a | S_t = s] \tag{2.1}
π(a∣s)=p[At=a∣St=s](2.1)
解释:
- π \pi π为一个集合,其中元素为在s状态下采取行为a的概率。
采取概率的原因:为了将探索的过程融合到采样过程中,以便学习新的策略。
累计回报函数
累计回报定义为
G
t
G_t
Gt:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
.
.
.
=
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
(2.2)
G_t = R_{t+1} + \gamma R_{t+2} + ... = \sum^{\infty}_{k=0} \gamma ^{k}R_{t+k+1} \tag{2.2}
Gt=Rt+1+γRt+2+...=k=0∑∞γkRt+k+1(2.2)
理解:
- R t + 1 R_{t+1} Rt+1为采取某一行动a从初始状态 S t S_t St转换到 S t + 1 S_{t+1} St+1获得的回报
- γ为折扣因子
因为从状态St出发到结束存在多种路径,经历每一条路径需要不同的行动,且获得的回报也不一定相同。
根据(2.1)式,策略为一个概率,因此对于累计回报函数而言其取值为一个随机变量,分布由策略
π
\pi
π决定 -> 需要根据数字特征研究其性质。
状态值函数
状态值函数为累计回报函数的数学期望:
v
π
(
s
)
=
E
π
[
G
t
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
]
(2.3)
v_\pi (s) = E_\pi[G_t] = E_\pi \left[ \sum^{\infty}_{k=0} \gamma ^{k}R_{t+k+1} | S_t = s \right] \tag{2.3}
vπ(s)=Eπ[Gt]=Eπ[k=0∑∞γkRt+k+1∣St=s](2.3)
理解:
- 下标 π \pi π为给定的策略,其决定累计回报函数G的分布
- 表示给定策略组 π \pi π、初始状态s的条件下,采取不同行动、路径得到的累计回报值的均值
状态值函数贝尔曼方程
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
v
(
S
t
+
1
)
∣
S
t
=
s
]
(2.3.1)
v_\pi (s) = E_\pi[G_t | S_t = s] = E_\pi[R_{t+1} + \gamma v(S_{t+1}) | S_t = s] \tag{2.3.1}
vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γv(St+1)∣St=s](2.3.1)
贝尔曼方程刻画了状态值函数的递推形式。
状态-行为值函数
q π ( s , a ) = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] (2.4) q_\pi (s,a) = E_\pi \left[ \sum^{\infty}_{k=0} \gamma ^{k}R_{t+k+1} | S_t = s , A_t = a \right] \tag{2.4} qπ(s,a)=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a](2.4)
理解:
- 下标 π \pi π为给定的策略,其决定累计回报函数G的分布
- 表示给定策略组 π \pi π、初始状态s、初始行为a的条件下,采取不同行动、路径得到的累计回报值的均值
状态-行为值函数贝尔曼方程
q π ( s , a ) = E π [ R t + 1 + γ v ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] (2.4.1) q_\pi (s,a) = E_\pi[R_{t+1} + \gamma v(S_{t+1}, A_{t+1}) | S_t = s, A_t = a] \tag{2.4.1} qπ(s,a)=Eπ[Rt+1+γv(St+1,At+1)∣St=s,At=a](2.4.1)
式(2.3)-(2.4)详细推导过程参考[1],这里就偷懒不写了(((
状态值函数与状态-行为值函数的关系
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) (2.5.1) v_\pi (s) = \sum_{a \in A} \pi(a|s)q_{\pi}(s,a) \tag{2.5.1} vπ(s)=a∈A∑π(a∣s)qπ(s,a)(2.5.1)
理解:
- π ( a ∣ s ) \pi(a|s) π(a∣s)为在策略 π \pi π下采取行动a的概率
- q π ( s , a ) q_{\pi}(s,a) qπ(s,a)为在状态s下采取行动a后在策略 π \pi π下期望的回报
q π ( s , a ) = R s a + γ ∑ s ′ P s s ′ a v π ( s ′ ) (2.5.2) q_\pi (s,a) = R^a_s + \gamma\sum_{s'} P^{a}_{ss'}v_{\pi}(s') \tag{2.5.2} qπ(s,a)=Rsa+γs′∑Pss′avπ(s′)(2.5.2)
理解:
- R s a R^a_s Rsa为在s下采取a的回报
- P s s ′ a P^{a}_{ss'} Pss′a为采取动作a从状态s转移到s’的概率
从式(2.5.1),(2.5.2)中可以看出,状态值函数与状态-行为值函数在递推过程中存在相互转化的关系。
最优策略与最优状态函数
最优状态函数:
v ∗ ( s ) = m a x π v π ( s ) (2.6.1) v^*(s) = max_{\pi}v_{\pi}(s) \tag{2.6.1} v∗(s)=maxπvπ(s)(2.6.1)
其贝尔曼方程形式:
v
∗
(
s
)
=
m
a
x
a
R
s
a
+
γ
∑
s
∈
S
P
s
s
′
a
v
∗
(
s
′
)
(2.6.2)
v^*(s) = max_{a}R^a_{s} + \gamma\sum_{s \in S} P^{a}_{ss'}v^*(s') \tag{2.6.2}
v∗(s)=maxaRsa+γs∈S∑Pss′av∗(s′)(2.6.2)
最优状态-行为值函数:
q ∗ ( s , a ) = m a x π q π ( s , a ) (2.6.3) q^*(s,a) = max_{\pi}q_{\pi}(s,a) \tag{2.6.3} q∗(s,a)=maxπqπ(s,a)(2.6.3)
其贝尔曼方程形式:
q
∗
(
s
,
a
)
=
R
s
a
+
γ
∑
s
∈
S
P
s
s
′
a
m
a
x
a
′
q
∗
(
s
′
,
a
′
)
(2.6.4)
q^*(s,a) = R^a_{s} + \gamma\sum_{s \in S} P^{a}_{ss'}max_{a'}q^*(s',a') \tag{2.6.4}
q∗(s,a)=Rsa+γs∈S∑Pss′amaxa′q∗(s′,a′)(2.6.4)
理解:
- 在状态s下采取a得到回报后,对于采取该行动所有可达的状态均采取最大的状态-行为值函数(其实也是策略的选择)
在已知最优状态-动作值函数,可直接选择最优策略:
π
∗
(
a
∣
s
)
=
{
1
i
f
a
=
a
r
g
m
a
x
q
∗
(
s
,
a
)
0
o
t
h
e
r
(2.7)
\pi_*(a|s) = \left\{ \begin{aligned} 1 && if a = argmaxq_*(s,a)\\ 0 && other \end{aligned}\right. \tag{2.7}
π∗(a∣s)={10ifa=argmaxq∗(s,a)other(2.7)
强化学习的目标
给定马尔可夫决策过程
M
=
(
S
,
A
,
P
,
r
,
ρ
0
,
γ
,
T
)
(3)
M = (S, A, P, r, \rho0, \gamma, T) \tag{3}
M=(S,A,P,r,ρ0,γ,T)(3)
其中:
- S为状态集合
- A为动作集合
- P为转移概率 S ∗ A ∗ S ′ → R S * A * S' \to R S∗A∗S′→R,即在s下采取动作a转移到s’的概率,是一个到实数域的映射
- r为 S ∗ A → [ − R m a x , R m a x ] S * A \to [-R_{max}, R_{max}] S∗A→[−Rmax,Rmax],立即回报函数,状态s下采取a的回报
- γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1]为折扣因子
- T为水平范围(步数)
强化学习的目标可以描述为:在给定上述马尔可夫决策过程下,找到最优策略 π \pi π,最大化累计回报函数(2.2)。
需要说明的是,当值函数最优时采取的策略也是最优的。反过来,策略最优时值函数也最优。