目录
Reinforcement Learning 简介
关于强化学习 RL
RL是很多学科交叉的领域,包括计算机科学,神经生物学,心理学等等。下图是一个RL多面性的示意图。
同时,RL也是机器学习里面的三范式之一,和监督学习,非监督学习三者构成整个机器学习的框架。
RL的特点
RL和其他学习方法不同的地方在于:
首先,RL方法没有标签,有的仅仅是一个奖励信号,RL的Agent通过不断试错的方法(Trial-and-error)去跟环境交互,达到优化自己目标的目的。这个奖励值一般是延时的奖励,或者是 spare reward,并不是即时的奖励。只有在一幕(episode)结束之后才能得到。
其次,监督学习处理的数据是iid(独立同分布)的,而RL基本上是处理序列形式的数据。
最后,Agnet的动作会影响到后续收集到的数据。
RL问题
RL问题可以用非常简单的语言描述,就是给定一个状态 S S S,Agent决定作出一个动作 A A A,该动作作用在环境上会返回一个奖励 R R R,以及转移到下一个状态 S ′ S^\prime S′,RL Agent的目标就是最大化累加的奖励和(cumulative reward)。那么为什么RL可以解决实际的问题呢?也就是所有的目标都可以描述成最大化累积的奖励的期望值。对于这样的问题,都可以用RL的方法去解决。
最后,在一个RL Agnet中,有以下几个模块构成。
Policy 策略
Value function 价值函数
Model 模型
RL方法分类
依照上面的模块,RL算法可以分为如下几类:
- Value based
没有Policy,但是有Value function - Policy based
有Policy,但是没有Value function - Actor Critic
Policy和Value function两者都有
另外,根据Agent是否要学习环境的模型,可以分为:
- Model free RL
Agent 不学习环境的模型,但学习Policy或者value function,那就是model free的RL。上面的分类中,三种方法都是Model free的RL。 - Model based RL
Agent学习环境的模型,同时学习Policy或者value function的话,那就是model based的RL。
马尔可夫决策过程(Markov Decision Processes )
马尔可夫决策过程(MDP)相当于是描述了一个RL的学习环境。MDP框架是目标导向的交互式学习问题的一个高度抽象。它提出,无论感官,记忆和控制设备的细节如何,无论要实现何种目标,任何目标导向的行为的学习问题都可以概括为智能体及其环境之间来回传递的三个信号,一个信号是用来表示智能体做出的动作(A),一个是用来表示做出该动作的基础(状态),一个信号是用来定义智能体的目标(收益),这个框架也许不能有效的表示所有的决策学习问题,但它已被证明是普遍有效的。
当环境是全观察的话,可以直接被定义成一个MDP。几乎所有的RL问题都可以被描述成MDP问题。MDP里的所有状态都具有马尔可夫性质。马尔可夫性质就是下一时刻的状态至于当前时刻的状态有关,与前面任意时刻无关,也就是说, S t S_t St和 R t R_t Rt的每个可能值的出现的概率只取决于前一个状态 S t − 1 S_{t-1} St−1和前一个动作 A t − 1 A_{t-1} At−1,并且与之前更早的动作和状态完全无关,这就是马尔可夫性质。
下面介绍五元组 < S , A , p , R , γ > <S,A,p,R,\gamma> <S,A,p,R,γ>.
- S S S:状态的集合
- A A A:动作的集合
- p p p:状态转移概率函数
- R R R:奖励函数
- γ \gamma γ:未来奖励的折扣因子, γ ∈ [ 0 , 1 ] \gamma\in[ 0,1 ] γ∈[0,1]
策略
π
\pi
π (Policy)
策略
π
\pi
π是在给定状态下选择动作的概率分布,也是从状态到每个动作的选择概率之间的映射。
π ( a ∣ s ) = P [ A t = a ∣ S t = s ] \pi(a|s)=\mathbb{P}[A_t=a|S_t=s] π(a∣s)=P[At=a∣St=s]
给定一个马尔可夫决策过程(MDP)和一个Policy π \pi π:
p
s
,
s
′
π
=
∑
a
∈
A
π
(
a
∣
s
)
p
s
,
s
′
a
p^\pi_{s,s^\prime}=\sum_{a\in A} \pi(a|s)p^a_{s,s^\prime}
ps,s′π=a∈A∑π(a∣s)ps,s′a
R
s
π
=
∑
a
∈
A
π
(
a
∣
s
)
R
s
a
R^\pi_s=\sum_{a\in A} \pi(a|s)R^a_s
Rsπ=a∈A∑π(a∣s)Rsa
状态价值函数 v π ( s ) v_\pi(s) vπ(s)
状态价值函数
v
π
(
s
)
v_\pi(s)
vπ(s) 是一个MDP中,从状态
S
S
S开始,遵循策略
π
\pi
π,得到的所有奖励的期望值。
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
(
R
t
+
2
+
γ
R
t
+
3
+
.
.
.
)
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
G
t
+
1
+
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
v
π
(
S
t
+
1
)
∣
S
t
=
s
]
v_\pi(s) =\mathbb{E}_\pi[G_t|S_t=s] \\ = \mathbb{E}_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+...|S_t=s] \\ = \mathbb{E}_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+...)|S_t=s] \\ = \mathbb{E}_\pi[R_{t+1}+\gamma G_{t+1}+|S_t=s] \\ =\mathbb{E}_\pi[R_{t+1}+\gamma v_\pi(S_{t+1})|S_t=s]
vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+...∣St=s]=Eπ[Rt+1+γ(Rt+2+γRt+3+...)∣St=s]=Eπ[Rt+1+γGt+1+∣St=s]=Eπ[Rt+1+γvπ(St+1)∣St=s]
动作价值函数 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)
动作价值函数
Q
π
(
s
,
a
)
Q_\pi(s,a)
Qπ(s,a) 是一个MDP中,从状态
S
S
S开始,采取动作
a
a
a,遵循策略
π
\pi
π,得到的所有奖励的期望值。
Q
π
(
s
,
a
)
=
E
π
[
R
t
+
1
+
γ
v
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
R
t
+
1
+
γ
E
a
′
⌣
π
Q
(
S
t
+
1
,
a
′
)
∣
S
t
=
s
,
A
t
=
a
]
Q_\pi(s,a)=\mathbb{E}_\pi[R_{t+1}+\gamma v(S_{t+1})|S_t=s,A_t=a] \\ =\mathbb{E}_\pi[R_{t+1}+\gamma \mathbb{E}_{a^\prime\smile\pi}Q(S_{t+1},a^\prime)|S_t=s,A_t=a]
Qπ(s,a)=Eπ[Rt+1+γv(St+1)∣St=s,At=a]=Eπ[Rt+1+γEa′⌣πQ(St+1,a′)∣St=s,At=a]
Bellman Expectation Equations 贝尔曼期望方程
定义:最优价值函数 v ∗ ( s ) v_*(s) v∗(s)
在所有的策略policy中,最优状态价值函数
v
∗
(
s
)
v_*(s)
v∗(s)就是在状态
S
S
S下,following 策略
π
\pi
π,所能得到的最大的奖励
R
R
R。
v
∗
(
s
)
=
max
π
v
π
(
s
)
v_*(s)=\max_{\pi} v_\pi(s)
v∗(s)=πmaxvπ(s)
类似的,我们有最优动作价值函数
Q
∗
(
s
,
a
)
Q_*(s,a)
Q∗(s,a),在所有的策略policy中,在当前的状态
S
S
S下,采取动作
a
a
a之后,following 策略
π
\pi
π,所能得到的最大的奖励
R
R
R。
Q
∗
(
s
,
a
)
=
max
π
q
π
(
s
,
a
)
Q_*(s,a)=\max_{\pi} q_\pi(s,a)
Q∗(s,a)=πmaxqπ(s,a)
定义:最优策略 π ∗ \pi^* π∗
如果
∀
s
\forall s
∀s,存在
π
>
π
′
\pi>\pi^\prime
π>π′,使得
v
π
(
s
)
≥
v
π
′
(
s
)
v_\pi(s)\ge v_{\pi^\prime}(s)
vπ(s)≥vπ′(s),那么存在一个最优的策略
π
∗
\pi^*
π∗比任何其他的策略都要好,或者一样好,即
π
∗
≥
π
\pi^*\ge\pi
π∗≥π,
∀
π
\forall \pi
∀π。我们称这样的策略policy
π
∗
\pi^*
π∗为最优策略。
对于所有的最优策略,following它,都能够获得最优价值函数,
v
π
∗
(
s
)
=
v
∗
(
s
)
v_{\pi_*}(s)=v_*(s)
vπ∗(s)=v∗(s),同时也能获得最优动作价值函数
q
π
∗
(
s
,
a
)
=
q
∗
(
s
,
a
)
q_{\pi_*}(s,a)=q_*(s,a)
qπ∗(s,a)=q∗(s,a)。
如果我们知道了
q
∗
(
s
,
a
)
q_*(s,a)
q∗(s,a),我们可以直接得到最优的policy。也就是在当前的状态
s
s
s下面,现在我已经知道了最优的动作价值函数
q
∗
(
s
,
a
)
q_*(s,a)
q∗(s,a),那我只要根据它,选择
q
(
s
,
a
)
q(s,a)
q(s,a)最大的动作,这样得到的策略就是最优的
π
∗
\pi_*
π∗ 。
Bellman Expectation Equations 贝尔曼最优方程
解贝尔曼期望方程:
假如我们知道整个环境的信息,包括转移概率
p
p
p,奖励函数等等,就可以用动态规划的方法DP解决这个问题。但是通常情况下,在RL环境中,假设是我们不知道转移概率
p
p
p,奖励函数,所以我们无法在RL设置中用贝尔曼最优方程直接去解决我们想要的答案。