强化学习
背景:
马尔可夫决策过程背景介绍:
MDP基于一组交互对象,即智能体和环境进行构建,所具有的要素包括状态、动作、策略和奖励。在MDP的模拟中,智能体会感知当前的系统状态,按策略对环境实施动作,从而按照一定的概率改变环境的状态并得到奖励,奖励随时间的积累被称为回报。
强化学习任务通常使用马尔可夫决策过程(Markov Decision Process,简称MDP)来描述。
马尔可夫性:
对未来的预测只需要立足当前的状态信息而不借助于任何历史信息即可完成,那么就称当前状态具有马尔可夫性。
亦即这种特定类型的“无记忆性”称作马尔可夫性质
马尔可夫链(马尔可夫过程):
定义:为状态空间中经过从一个状态到另一个状态的转换的随机过程,而且其中每个状态都具有马尔可夫性。可以用若干个有限状态的集合S及状态转移概率矩阵P表示。
随机漫步就是一个马尔科夫链的例子
马尔可夫奖励过程:
在马尔可夫链的基础上添加了‘奖励函数’和‘折扣因子’的要素,奖励函数用
R
s
=
E
[
R
t
+
1
∣
S
t
=
s
]
R_s=E[R_t+1∣S_t=s]
Rs=E[Rt+1∣St=s]
表示,折扣因子用
γ
\gamma
γ表示(粗体概念下文详述)
马尔可夫决策过程:
在马尔科夫奖励过程的基础上添加了智能体的‘动作’要素,状态转移的概率不仅依赖于当前的状态,还依赖于当前智能体准备做出的动作,奖励同样将依赖于上述两个因素
R
(
s
t
=
s
,
a
t
=
a
)
=
E
[
R
t
∣
s
t
=
s
,
a
t
=
a
]
R(s_t=s,a_t=a)=E[R_t∣s_t=s,a_t=a]
R(st=s,at=a)=E[Rt∣st=s,at=a]
贝尔曼方程(Bellman equation):
贝尔曼方程,又叫动态规划方程,是以Richard Bellman命名的,表示动态规划问题中相邻状态关系的方程。某一阶段最优决策的问题,通过贝尔曼方程转化为下一阶段最优决策的子问题,从而初始状态的最优决策可以由终状态的最优决策(一般易解)问题逐步迭代求解。存在某种形式的贝尔曼方程,是动态规划方法能得到最优解的必要条件。绝大多数可以用最优控制理论解决的问题,都可以通过构造合适的贝尔曼方程来求解。
概念:
机器学习的方法之一,是一种学习如何从状态映射到行为以使得获取的奖励最大的学习机制。与深度学习有一定联系又有一定区别。
与无监督学习的辩证:
同样是学习未标记的文本,无监督学习通过聚类等方法找到数据的隐藏结构和关系,而强化学习则通过最大化奖励优化参数,并未有对数据的结构挖掘
基本要素:
- 策略
策略定义状态到智能体(AGENT)行为的映射,其中状态包含自身的以及环境的状态,然后类似于自动机作出下一个状态转移,也叫行为 - 奖励
奖励是一个即时的反馈标量,定义agent的表现好坏,而强化学习要求一段时间内奖励最大化 - 价值
类似人体的内啡肽,不作即时判断,是对未来奖励的预测 - 环境(亦称模型)
因为环境常常使用人工模拟,因此每个环境又称为模型,根据智能体的行为与当前的状态向下一个状态转移,用于模拟现实中的环境反应。
特征——随机性:
agent做出的动作具有随机性;环境的改变具有随机性,但概率可知且概率不相同不均匀。
基本概念:
状态转移概率矩阵:
表示从状态 s s s转移到状态 s ′ s' s′的概率,因为状态有多个且有穷,可以用矩阵方便表示,记作 P ( s ′ ∣ s ) P(s′∣s) P(s′∣s)
状态转移函数:
用 P ( s ′ ∣ s , a ) P(s′∣s,a) P(s′∣s,a)表示从状态 s s s执行动作 a a a后转移到状态 s ′ s' s′的概率,与策略有关,适用于无穷多个状态的情况。
奖励函数:
令s表示状态,E表示期望,r代表reward(奖励),a代表action(即智能体下一个动作), r ( s ) = E [ R t ∣ S t = s ] r(s)=E[Rt∣St=s] r(s)=E[Rt∣St=s]表示转移到该状态时能够获得的奖励的期望(统计学),
以及 r ( s , a ) = E [ R t ∣ S t = s , A t = a ] r(s,a)=E[Rt∣St=s,At=a] r(s,a)=E[Rt∣St=s,At=a]代表转移到该状态并采取该动作时能够获得的奖励的期望值。
回报(return):
强化学习一般采用折扣回报,即每个时刻的奖励随着时间的流逝乘以一个系数 γ ∈ [ 0 , 1 ] \gamma\in[0,1] γ∈[0,1],再将这些折扣奖励累加起来。如下: G t G_t Gt表示从t时刻的状态 s t s_t st开始直至终止状态时,所有奖励的衰减之和
G t = R t + γ R t + 1 + γ 2 R t + 2 + . . . = ∑ ∞ γ k R t + k G_t=R_t+γR_{t+1}+γ^2R_{t+2}+...=\stackrel{\infty}{\sum}γ^kR_{t+k} Gt=Rt+γRt+1+γ2Rt+2+...=∑∞γkRt+k
其中未来时刻i奖励Ri,会取决于状态Si和动作Ai。
以上是符合现实的
价值(value):
价值即为某时刻某个状态的回报(return)的期望值
状态价值函数( V π V^\pi Vπ):
马尔可夫决策过程中,智能体在某个时刻从状态 s s s出发最终获得的价值,也即得到回报的期望值: V π ( s ) = E π [ G t ∣ S t = t ] V^π(s)=E^π[G_t∣S_t=t] Vπ(s)=Eπ[Gt∣St=t]
动作价值函数( Q π Q^\pi Qπ):
马尔可夫决策过程中,智能体从状态 s s s出发,根据策略 π \pi π执行某个特定的动作 a a a,最终获得的回报的期望(价值):
Q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] Q^π(s,a)=E[G_t∣S_t=s,A_t=a] Qπ(s,a)=E[Gt∣St=s,At=a]
V
π
V^\pi
Vπ和
Q
π
Q^\pi
Qπ的辨析:
状态价值函数是智能体在某个时刻从状态
s
s
s通过所有概率可能的动作
a
a
a进行转移得到的回报的期望值,因此只与s有关;
而动作价值函数是通过某个特定的状态和动作开始转移得到的回报的期望值,与s和a有关。
回报
G
t
G_t
Gt因不同可能的动作决策和环境转移而不同,故求其期望,使价值函数只与当前状态有关。
根据定义可证:
-
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
Q
π
(
s
,
a
)
V^π(s)=\underset{a∈A}∑π(a∣s)Q^π(s,a)
Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)
两者联系的数学表达 -
Q
π
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
Q^π(s,a)=r(s,a)+γ\underset{s′∈S}∑P(s′∣s,a)V^π(s′)
Qπ(s,a)=r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)
同下述的方程一样,可以从定义入手进行证明:
Q π ( s , a ) Q^π(s,a) Qπ(s,a)就是当前状态s执行动作a得到的潜在回报,我们已知如果只考虑下一步获得的奖励,那么得到 r ( s , a ) r(s,a) r(s,a),那么可以认为,当前状态所能获得的回报等于下一步奖励R+下一步以后的所有回报G,通过执行该动作a转移到某个状态s’的概率就是 P ( s ′ ∣ s , a ) P(s′∣s,a) P(s′∣s,a),而根据定义,某个状态s的期望回报就是 V π ( s ) V^\pi(s) Vπ(s),那么该状态的回报贡献就是因未来的折扣因子概率回报的求和,综上,得到此式。
体现了当前状态价值和下一状态的价值联系
强化学习中的贝尔曼方程:
1.
V
(
s
)
=
r
(
s
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
)
V
(
s
′
)
V(s)=r(s)+γ\underset{s′∈S}∑P(s′∣s)V(s′)
V(s)=r(s)+γs′∈S∑P(s′∣s)V(s′)
证明方法同上,由定义易证。
通过前面的结论
V
π
(
s
)
=
∑
a
∈
A
π
(
a
∣
s
)
Q
π
(
s
,
a
)
V^π(s)=\underset{a∈A}∑π(a∣s)Q^π(s,a)
Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)和
Q
π
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
Q^π(s,a)=r(s,a)+γ\underset{s′∈S}∑P(s′∣s,a)V^π(s′)
Qπ(s,a)=r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)
得到更加完整的贝尔曼(加入了动作因素):
2.
Q
π
(
s
,
a
)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
V
π
(
s
′
)
Q^π(s,a)=r(s,a)+γ\underset{s′∈S}∑P(s′∣s,a)V^π(s′)
Qπ(s,a)=r(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′)
=
r
(
s
,
a
)
+
γ
∑
s
′
∈
S
P
(
s
′
∣
s
,
a
)
∑
a
′
∈
A
π
(
a
′
∣
s
′
)
Q
π
(
s
′
,
a
′
)
=r(s,a)+γ\underset{s′∈S}∑P(s′∣s,a)\underset{a′∈A}∑π(a′∣s′)Q^π(s′,a′)
=r(s,a)+γs′∈S∑P(s′∣s,a)a′∈A∑π(a′∣s′)Qπ(s′,a′)
贝尔曼表现了现在状态的回报与未来的子状态的回报的联系。
所以强化学习的任务就学习策略 π \pi π函数或学习最优动作-价值函数Q* 函数。只要学到两者之一就可以了。