文章目录
有限马尔可夫决策过程(有限MDP)涉及 评估性反馈(如前面介绍的赌博机问题),又涉及“发散联想”,即 在不同情境下选择不同的动作。MDP是 序列决策 的经典形式化表达,其 动作 不仅 影响 当前的 即时收益,还影响后续的情境(又称 状态)以及 未来的收益。因此MDP涉及了 延迟收益,由此也就有了在当前收益和延迟收益之间 权衡的需求。
3.1 “智能体-环境”交互接口
MDP就是一种通过交互式学习来实现目标的理论框架。进行学习及实施决策的机器被称为智能体(agent)。智能体之外所有与其相互作用的事物都被称为环境。
交互发生在离散时刻
t
=
0
,
1
,
2
,
3
,
.
.
.
t=0,1,2,3,...
t=0,1,2,3,...,每个时刻t,智能体观察到所在的环境状态的某种特征表达,
S
t
∈
S
S_t \in S
St∈S,并且在此基础上选择一个动作,
A
t
∈
A
(
s
)
A_t \in \mathcal{A}(s)
At∈A(s)。下一时刻,作为其动作的结果,智能体接收到一个数值化的收益,
R
t
+
1
∈
R
⊂
R
R_{t+1} \in \mathcal{R} \subset \mathbb{R}
Rt+1∈R⊂R,并进入一个新的状态
S
t
+
1
S_{t+1}
St+1。从而,MDP和智能体共同给出了一个序列或轨迹,类似这样
S
0
.
A
0
,
R
1
,
S
1
,
A
1
,
R
2
,
S
2
,
A
2
,
R
3
,
…
S_0.A_0,R_1,S_1,A_1,R_2,S_2,A_2,R_3,\dots
S0.A0,R1,S1,A1,R2,S2,A2,R3,…
在有限MDP中,状态、动作和收益的集合(S、A和R)都只有有限个元素。在这种情况下,随机变量
R
t
R_t
Rt和
S
t
S_t
St具有定义明确的离散概率分布,并且只依赖于前继状态和动作。也就是说,给定前继状态和动作的值时,这些随机变量的特定值,
s
′
∈
S
s' \in S
s′∈S和
r
∈
R
r \in R
r∈R,在t时刻出现的概率是
p
(
s
′
,
r
∣
s
,
a
)
=
˙
P
r
{
S
t
=
s
′
,
R
r
=
r
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
}
p(s',r|s,a) \dot=Pr\{S_t=s',R_r=r|S_{t-1}=s,A_{t-1}=a\}
p(s′,r∣s,a)=˙Pr{St=s′,Rr=r∣St−1=s,At−1=a}
对于任意
s
′
,
s
∈
S
,
r
∈
R
s',s \in S,r \in R
s′,s∈S,r∈R,以及
a
∈
A
(
s
)
a \in A(s)
a∈A(s)。函数p定义了MDP的==动态特性==。公式中等号上的圆点提醒我们,这是一个定义(在这种情况下是函数p),而不是从之前定义推导出来的事实。
函数p为每个s和a的选择都指定了一个概率分布,即
∑
s
′
∈
S
∑
r
∈
R
p
(
s
′
,
r
∣
s
,
a
)
=
1
,
对
于
所
有
s
∈
S
,
a
∈
A
(
s
)
\sum_{s' \in S}\sum_{r \in R} p(s',r|s,a)=1,对于所有s \in S ,a \in A(s)
s′∈S∑r∈R∑p(s′,r∣s,a)=1,对于所有s∈S,a∈A(s)
在马尔科夫决策过程中, 由p给出的概率完全刻画了环境的动态特性。也就是说
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,并且与更早之前的状态和动作完全无关.。这个限制并不是针对决策过程,而是针对状态的。这样,状态就被认为具有马尔可夫性
从四参数动态函数p中,我们可以计算出关于环境的其他任何信息,例如状态转移概率(我们将其表示为一个三参数函数$p:\mathcal{S} \times\mathcal{S}\times\mathcal{A} \rightarrow [0,1] $)
p
(
S
′
∣
s
,
a
)
=
˙
P
r
{
S
t
=
s
∣
S
t
−
1
=
s
,
A
t
=
a
}
=
∑
r
∈
R
p
(
s
′
,
r
∣
s
,
a
)
p(S'|s,a)\dot=Pr\{S_t=s|S_{t-1}=s,A_t=a\}=\sum_{r \in R} p(s',r|s,a)
p(S′∣s,a)=˙Pr{St=s∣St−1=s,At=a}=r∈R∑p(s′,r∣s,a)
我们还可以定义**"状态-动作"二元组的期望收益**,并将其表示为一个双参数函数$ r:\mathcal{S}\times\mathcal{A}\rightarrow \mathbb{R}$
r
(
s
,
a
)
=
˙
E
[
R
t
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
]
=
∑
r
∈
R
r
∑
s
′
∈
S
p
(
s
′
,
r
∣
s
,
a
)
,
r(s,a) \dot=\mathbb{E}[R_t|S_{t-1}=s,A_{t-1}=a]=\sum_{r \in R}r\sum_{s' \in S}p(s',r|s,a),
r(s,a)=˙E[Rt∣St−1=s,At−1=a]=r∈R∑rs′∈S∑p(s′,r∣s,a),
和"状态-动作-后继状态"三元组的期望收益,并将其表示为一个三参数函数
r
:
S
×
A
×
S
→
R
r:\mathcal{S}\times\mathcal{A}\times\mathcal{S}\rightarrow \mathbb{R}
r:S×A×S→R
r
(
s
,
a
,
s
′
)
=
˙
E
[
R
t
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
,
S
t
=
s
′
]
=
∑
r
∈
R
r
p
(
s
′
,
r
∣
s
,
a
)
p
(
s
′
∣
s
,
a
)
,
r(s,a,s') \dot=\mathbb{E}[R_t|S_{t-1}=s,A_{t-1}=a,S_t=s']=\sum_{r \in R}r\frac{p(s',r|s,a)}{p(s'|s,a)},
r(s,a,s′)=˙E[Rt∣St−1=s,At−1=a,St=s′]=r∈R∑rp(s′∣s,a)p(s′,r∣s,a),
在本书中,我们经常会用到四参数函数p(2式),但也会偶尔用其他函数。
一般来说,动作可以是任何我们想要做的决策,而状态则可以是任何对决策有所帮助的事情。
我们遵循的一般规则是,智能体不能改变的事物都被认为是在外部的,即是环境的一部分。
MDP提出,任何目标导向的行为的学习问题都可以概括为智能体及其环境之间来回传递的三个信号:一个信号用来表示智能体做出的选择(行动),一个信号用来表示做出该选择的基础(状态),还有一个信号用来定义智能体的目标(收益)。这个框架也许不能有效地表示所有决策学习问题,但它已被证明其普遍适用性和有效性。
例3.1 生物反应器
假设强化学习被用于确定生物反应器(一个巨大的培养皿,包含大量营养物和用于生产有用化学物质的细菌)的瞬时温度和搅拌速率。这个应用中的动作可能是设定目标温度和目标搅拌速率,者会被传递到较低级别的控制系统,低级别的控制系统从而直接激活加热元件和电动机以达到目标。状态很可能是热电偶,其他被过滤、延迟后的传感器读数,以及代表大量目标化学品成分的符号输入。收益可能是生物反应器产生有用化学物质速率的逐时测量。请注意,这里每个状态是传感器读数和符号输入的列表或向量,并且每个动作是由目标温度和搅拌速率组成的向量。这是一个典型的强化学习任务,其具有结构化表示的状态和动作。另一方面,收益总是单个标量数值。
例3.2 拾放机器人
考虑使用强化学习来控制机器臂进行重复 拾放的任务。如果我们希望学习到快速平稳的运行方式,智能体将需要直接控制发动机,并获得关于当前机械联动位置和速度的低延迟信息。在这种情况下,动作可能是每个连接处施加到各个电动机的电压,而状态可能是连接处的角度和速度的最新示数。当成功拾取和放置一个物件时,收益可能是+1。为了鼓励平稳的运动,在每一个时刻可以设定一个微量负值收益,定义为瞬时“抖动”的函数,它可以作为对非平稳运动的惩罚。
- 动态变化特性是什么?
练习3.1
自己设计三个符合MDP框架的任务,并确定每个任务的状态、动作和收益。这三个任务要尽可能不同。而且框架要抽象灵活,并能以多种方式进行应用。至少在其中一个任务中,尝试去突破它的限制。
1.吃饭决策
状态:{封校/未封校、饿/不饿、馋/不馋}
动作:食堂拼菜、食堂高级、外出觅食
收益:人事后满意度得分,花钱的量,如果老是去一个地方吃饭可能会腻所以加上一个连续选择该动作的惩罚项
有问题,MDP的状态是相互exclusive的?
不,可以用向量来表示。
但是问题是收益不好设定,人的满意度?
改:
状态:
封校+饿+馋 s1 | 未封校+饿+馋 s1 |
封校+饿+不馋 s3 | 未封校+饿+不馋 s4 |
封校+不饿+不馋 s5 | 未封校+不饿+不馋 s6 |
封校+不饿+馋 s7 | 未封校+不饿+馋 s8 |
动作:食堂拼菜(a1)、食堂高级(a2)、外出觅食(a3)
收益:同上
突然意识到这不是一个连续决策,所以不可行
其实也可以是一个连续决策,而且现实意义也是这样,要均衡
1.贪吃蛇游戏
状态:碰墙、碰到自己的身体、吃到小豆豆、身体占满所有格子
动作:上、下、左、右、保持
收益:碰墙/碰到自己的身体:-M(M是个很大的整数),吃到小豆豆:1,身体占满所有格子:M
2.经营外卖餐馆
状态:订单饱满、订单不饱满
动作:接收订单,拒绝订单
收益:接收订单:收益(钱),客户满意度
问题 :怎么刻画人力的约束?订单饱满的时候我接订单会造成人工繁忙,服务水平降低,客户满意度下降,未来的收益可能会降低。
3.排球击球模拟
状态:球在我方界内触地,球在对方界内触地,球在空中且在我方界上方,球在空中且在对方界上空,对方发球,我方发球
状态:预测球在我界上方的高度、速度、角度
动作:拦网、救球、扣球、不动
收益:不动却在我方界内触地-1,不动在我方界外触地+1,三次碰球后球不在对方界触地-1,一次碰球(拦网、扣球)在对方界触地+1,其他为0
练习3.2
MDP框架是否足以有效地表示所有目标导向的学习任务?你能给出反例吗?
非连续决策不存在状态转移,所以无法使用MDP框架解决。
练习3.3
考虑一个关于驾驶的问题。你可以通过油门、方向盘和刹车来定义动作,就像你驾驶它的方式一样。或者你可以进行更底层的定义,比如,在轮胎与地面接触的过程中,把动作想象为轮胎扭转。或者更上层的,比如,在大脑和肢体交互的过程中,动作就是通过肌肉收缩来控制四肢的。在更高的层次上,动作可以是驾驶目的地的选择。对哪一个层次的理解能更好地划分智能体和环境?在什么基础上选择这种划分会更有优势?划分的基本原则是什么?还是说这只是一个随意的选择?
- 划分基于具体任务。如果任务是从一个地点到另一个地点,行动就可以是方向选择和速度选择
- 这也取决于我们认为什么是决策部分。 如果我们认为这些决定是由人类驾车时的大脑做出的,那么他们的身体将成为环境的一部分——如果他们摔断了腿,那么就会影响他们的目标。
- 动作必须是智能体可以实际控制的东西。 以自动驾驶汽车为例。 有人可能认为智能体完全控制了汽车的刹车,油门和方向盘。 这些行动将构成智能体的行动。
例 3.3 回收机器人
强化学习智能体基于回收机器人当前电池电量,做出如何搜索易拉罐的高级决策。电池电量状态集 S = l o w , h i g h S={low,high} S=low,high。在每个状态中,智能体可以决定是否应该:(1)在某段特定时间内主动搜索(search)易拉罐;(2)保持静止并等待(wait)易拉罐;或(3)直接回到基地充电(recharge)。动作集合 A ( h i g h ) = s e a r c h , w a i t , A ( l o w ) = s e a r c h , w a i t , r e c h a r g e A(high)={search,wait},A(low)={search,wait,recharge} A(high)=search,wait,A(low)=search,wait,recharge(电量高的时候不会去充电)
在大多数情况下,收益为0;但当机器人捡到一个空罐子时,收益就为正;或当电池完全耗尽时,收益就是一个非常大的负值。以电量high时,进行一段时间的搜索后,其能量水平仍是高的概率是
α
\alpha
α,下降为low的概率为
1
−
α
1-\alpha
1−α。另一方面,以电量为low开始进行一段时间的搜索后,其能量水平仍是low的概率为
β
\beta
β,耗尽电池电量的概率为
1
−
β
1-\beta
1−β。后一种情况下,机器人需要人工救援,然后将电池重新充电至high。机器人收集的每个罐子都可作为一个单位收益,而每当机器人需要被救时,收益为-3、让
r
s
e
a
r
c
h
r_{search}
rsearch和
r
w
a
i
t
(
r
s
e
a
r
c
h
>
r
w
a
i
t
)
r_{wait}(r_{search}> r_{wait})
rwait(rsearch>rwait)分别表示机器人在搜索和等待期间收集的期望数量(也就是期望收益)。最后,充电式不能收集罐子,电池耗尽时也不能收集罐子。这个系统是一个有限MDP,我们可以写出其转移概率和期望收益,其动态变化如下表所示。
请注意,当前状态s、动作 a ∈ A ( s ) a \in A(s) a∈A(s)和后继状态s’的每一个可能的组合都在表中有对应的一行表示。另一种归纳有限MDP的有效方法就是转移图,如下图所示。
图中有两种类型的节点:状态节点(大空心圆)和动作节点(对应每个“状态-动作”二元组,小实心圆和指向状态节点的连线)。每一个箭头都对应着一个三元组(s,s’,a),其中s’是下一个状态。我们把每个箭头都标上一个转移概率p(s’|s,a)和转移的期望收益r(s,a,s’)。请注意,离开一个动作节点的转移概率之和为1。
3.2 目标和收益
在强化学习中,智能体的目标被形式化表征为一种特殊信号,称为收益,它通过环境传递给智能体。在每个时刻,收益都是一个单一的标量数值, R t ∈ R R_t \in \mathbb{R} Rt∈R。
收益假设:
我们所有的“目标”或“目的”都可以归结为:最大化智能体收到的标量信号(称之为收益)累积和的概率期望值
至关重要的一点:我们设立收益的方式要能真正表明我们的目标。特别地,收益信号并不是传授智能体如何实现目标的先验知识。收益信号只能用来传达什么是你想要的目标,而不是如何实现这个目标。
练习3.4
给出一个与例3.3类似的表,但 p ( s ′ , r ∣ s , a ) p(s',r|s,a) p(s′,r∣s,a)。 它应该有列 s , a , s 0 , r s, a, s_0, r s,a,s0,r,和每一个4元组的一行,其中 p ( s ′ , r ∣ s , a ) > 0 p(s',r|s,a)>0 p(s′,r∣s,a)>0。
s | a | s’ | r | p(s’,r|s,a) |
---|---|---|---|---|
high | search | high | r s e a r c h r_{search} rsearch | α \alpha α |
high | search | low | r r e a r c h r_{rearch} rrearch | 1 − α 1-\alpha 1−α |
high | wait | high | r w a i t r_{wait} rwait | 1 |
low | search | low | r r e a r c h r_{rearch} rrearch | β \beta β |
low | search | high(用没电了,再充电) | -3 | 1 − β 1-\beta 1−β |
low | wait | low | r w a i t r_{wait} rwait | 1 |
low | recharge | high | 0 | 1 |
3.3 回报和分幕
一般来说,我们寻求的是最大化期望回报
,记为
G
t
G_t
Gt,它被定义为收益序列的一些特定函数。在最简单的情况下,回报是收益的总和
G
t
=
˙
R
t
+
1
+
R
t
+
2
+
R
t
+
3
+
⋯
+
R
T
G_t \dot=R_{t+1}+R_{t+2}+R_{t+3}+\dots+R_{T}
Gt=˙Rt+1+Rt+2+Rt+3+⋯+RT
其中T是最终时刻。这种方法在有“最终时刻”这种概念的应用中是有意义的。在这类应用中,智能体和环境的交互能被自然地分成一系列子序列(每个序列都存在最终时刻),我们称每个子序列为幕(episodes)
,例如一盘游戏、一次走迷宫的旅程或任何这类重复性的交互过程。每幕都以一种特殊状态结束,称之为终结状态
。具有这种分幕
重复特性的认为称为分幕式任务
。在分幕式任务中,我们有时需要区分非终结状态集,记为S,和包含终结与非终结状态的所有状态集,记作**
S
+
S^+
S+**。终结的时间T是一个随机变量,通常随着幕的不同而不同。
另一方面,在许多情况下,智能体环境交互不一定能被自然地分为单独的幕,而是持续不断地发生。我们称这些为持续性任务
。
对于持续性任务,我们需要引入一个额外概念,即折扣
。智能体选择
A
t
A_t
At来最大化期望折后回报
G
t
=
˙
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
⋯
=
∑
k
=
0
∞
γ
k
R
k
+
t
+
1
,
G_t \dot=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\dots=\sum_{k=0}^\infty \gamma^k R_{k+t+1},
Gt=˙Rt+1+γRt+2+γ2Rt+3+⋯=k=0∑∞γkRk+t+1,
其中,
γ
\gamma
γ是一个参数,
0
≤
γ
≤
1
0 \leq \gamma \leq 1
0≤γ≤1,被称为折扣率
。
折扣率决定了未来收益的现值:未来时刻k的收益值只有它的当前值的 γ k − 1 \gamma^{k-1} γk−1倍。如果 γ < 1 \gamma < 1 γ<1,那么只要收益序列 { R k } \{R_k\} {Rk}有界,式(8)中的无限序列总和就是一个有限值。
邻接时刻的回报可以用如下递归方式相互联系起来,这对于强化学习的理论和算法来说至关重要
G
t
≐
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
γ
3
R
t
+
4
+
⋯
=
R
t
+
1
+
γ
(
R
t
+
2
+
γ
R
t
+
3
+
γ
2
R
t
+
4
+
⋯
)
=
R
t
+
1
+
γ
G
t
+
1
\begin{aligned} G_{t} & \doteq R_{t+1}+\gamma R_{t+2}+\gamma^{2} R_{t+3}+\gamma^{3} R_{t+4}+\cdots \\ &=R_{t+1}+\gamma\left(R_{t+2}+\gamma R_{t+3}+\gamma^{2} R_{t+4}+\cdots\right) \\ &=R_{t+1}+\gamma G_{t+1} \end{aligned}
Gt≐Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+⋯=Rt+1+γ(Rt+2+γRt+3+γ2Rt+4+⋯)=Rt+1+γGt+1
尽管式(3.8)中定义的回报是对无限个收益子项求和,但只要收益是一个非零常数且
γ
<
1
\gamma < 1
γ<1,那这个回报仍是有限的。比如,如果收益是一个常数+1,那么回报就是
G
t
=
∑
k
=
0
∞
γ
k
=
1
1
−
γ
.
G_t=\sum_{k=0}^\infty \gamma^k=\frac{1}{1-\gamma}.
Gt=k=0∑∞γk=1−γ1.
练习3.5
3.1节中的等式只适用于持续性任务的情况,需要少量修改才能适用于分幕式任务。请修改式(3.3)使其适用于分幕式任务。
式3.3: ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) = 1 , for all s ∈ S , a ∈ A ( s ) \sum_{s^{\prime} \in \mathcal{S}} \sum_{r \in \mathcal{R}} p\left(s^{\prime}, r \mid s, a\right)=1, \text { for all } s \in \mathcal{S}, a \in \mathcal{A}(s) ∑s′∈S∑r∈Rp(s′,r∣s,a)=1, for all s∈S,a∈A(s)
改: ∑ s ′ ∈ S + ∑ r ∈ R p ( s ′ , r ∣ s , a ) = 1 , for all s ∈ S , a ∈ A ( s ) \sum_{s^{\prime} \in \mathcal{S^+}} \sum_{r \in \mathcal{R}} p\left(s^{\prime}, r \mid s, a\right)=1, \text { for all } s \in \mathcal{S}, a \in \mathcal{A}(s) ∑s′∈S+∑r∈Rp(s′,r∣s,a)=1, for all s∈S,a∈A(s)
其中 S S S为非终结状态集, S + S^+ S+为包含终结与非终结状态的所有状态集
例3.4 杆平衡
这个任务的目标是将力应用到沿着轨道移动的小车上,以保持连在推车上的杆不会倒下。如果杆子偏离垂直方向超过一定角度或者小车偏离轨道则视为失败。每次失败后,杆子重新回到垂直位置。可以视这个任务为分幕式的,这里的幕是视图平衡杆子的每一次尝试。在这种情况下,对每个杆子不倒下的时刻都可以给出收益+1,因此直到失败前,每一次的回报就是步数。同时,永远平衡就意味着无限的回报。或者我们可以将杆平衡作为一项持续性的任务,并使用折扣。在这种情况下,每次失败的收益为-1,其余情况则为0.每次的回报将与 − γ K -\gamma^K −γK相关,其中K是失败前的步数。无论是上述哪种情况,尽可能长地保持杆子的平衡都能使得回报最大化。
练习3.6
假设你将平衡视为一个使用折扣的分幕式任务,当失败时收益为-1,否则收益为0。那么每次的回报是多少?这个回报和那个使用折扣的持续性任务有何不同?
答:在分幕式任务中,在终结状态,杆子会倒。收益为-1, G t = − γ T − t G_t=-\gamma^{T-t} Gt=−γT−t
持续性任务中, G t = − ∑ k ∈ K γ k − t G_t=-\sum_{k \in \mathcal{K}}\gamma^{k-t} Gt=−∑k∈Kγk−t, K 是 时 间 t 后 杆 子 倒 下 的 时 间 集 合 \mathcal{K}是时间t后杆子倒下的时间集合 K是时间t后杆子倒下的时间集合
练习3.7
假设你正在设计一个走迷宫的机器人。当它从迷宫逃脱时得到收益+1,其余情况收益为0。这个任务似乎可以被自然地分解为幕(即每次逃离迷宫的尝试),所以你决定把它当成一个分幕式任务,其目标是最大化预期的总收益,见式3.7。经过一段时间的训练,你发现机器人的逃离迷宫能力不再提高了,这时候可能出现了什么问题?你是否有效地向机器人传达了你想要它实现的目标。
我认为问题可能是机器人找到了一个可以逃离迷宫的路径,它以后将会重复选择这条路径,因为这样可以让期望目标最大化,为了传达我们想让机器人尽可能快地逃离迷宫,我们可以让机器人在迷宫中每多待一个时间单位,收益-1。
标答:如果智能体继续随机前进,它将以1的概率到达迷宫的末端,所以大多数策略下G的值都是1。你真正想要的是让这个东西尽快离开迷宫。
还要注意,在某些情况下,智能体可能会在循环中卡住。在这里,您必须强加另一个规则,以将智能体置于终结状态。
练习3.8
假设
γ
=
0.5
,
T
=
5
\gamma=0.5,T=5
γ=0.5,T=5,接收到的收益序列为
R
1
=
+
1
,
R
2
=
2
,
R
3
=
6
,
R
4
=
3
,
R
5
=
2
R_1=+1,R_2=2,R_3=6,R_4=3,R_5=2
R1=+1,R2=2,R3=6,R4=3,R5=2,那么
G
0
,
G
1
,
.
.
.
,
G
5
G_0,G_1,...,G_5
G0,G1,...,G5分别是多少?提示反向计算。
G
5
=
R
6
=
0
G
4
=
R
5
+
γ
G
5
=
2
+
0.5
×
0
=
2
G
3
=
R
4
+
γ
G
4
=
3
+
0.5
×
2
=
4
G
2
=
R
3
+
γ
G
3
=
6
+
0.5
×
4
=
8
G
1
=
R
2
+
γ
G
2
=
2
+
0.5
×
8
=
6
\begin{aligned} G_5&=R_6=0 \\G_4&=R_5+\gamma G_5=2+0.5 \times 0 = 2 \\G_3&=R_4+\gamma G_4 = 3+0.5 \times 2=4 \\G_2&=R_3+\gamma G_3 = 6+0.5 \times 4=8 \\G_1&=R_2+\gamma G_2 = 2+0.5 \times 8 = 6 \end{aligned}
G5G4G3G2G1=R6=0=R5+γG5=2+0.5×0=2=R4+γG4=3+0.5×2=4=R3+γG3=6+0.5×4=8=R2+γG2=2+0.5×8=6
(和标答不一样)
练习3.9
假设 γ = 0.9 \gamma=0.9 γ=0.9,收益序列是首项 R 1 = 2 R_1=2 R1=2的无限7循环序列(即 R 2 = R 3 = . . . = 7 R_2=R_3=...=7 R2=R3=...=7)。那么 G 1 G_1 G1和 G 0 G_0 G0分别是多少?
G 1 = G t = 7 ∑ k = 0 ∞ γ k = 7 1 − γ G_1=G_t=7\sum_{k=0}^\infty \gamma^k =\frac{7}{1-\gamma} G1=Gt=7∑k=0∞γk=1−γ7
G 0 = R 1 + γ G 1 = 2 + 7 γ 1 − γ G_0=R_1+\gamma G_1=2 + \frac{7 \gamma}{1-\gamma} G0=R1+γG1=2+1−γ7γ
(感觉官方答案中的 G 1 G_1 G1有误)
练习3.10
证明式(3.10):
G
t
=
∑
k
=
0
∞
γ
k
=
1
1
−
γ
G_t=\sum_{k=0}^\infty \gamma^k=\frac{1}{1-\gamma}
Gt=∑k=0∞γk=1−γ1
G
t
=
∑
k
=
0
∞
γ
k
=
γ
0
+
γ
1
+
γ
2
+
⋯
+
γ
∞
(
等
比
数
列
求
和
公
式
)
=
1
×
(
1
−
γ
∞
)
1
−
γ
(
0
<
γ
<
1
)
=
1
1
−
γ
\begin{aligned} G_t&=\sum_{k=0}^\infty \gamma^k=\gamma^0+\gamma^1+\gamma^2+ \dots +\gamma^{\infty} \\(等比数列求和公式)&=\frac{1 \times(1-\gamma^{\infty})}{1-\gamma} \\(0<\gamma<1)&=\frac{1}{1-\gamma} \end{aligned}
Gt(等比数列求和公式)(0<γ<1)=k=0∑∞γk=γ0+γ1+γ2+⋯+γ∞=1−γ1×(1−γ∞)=1−γ1
等号上一个点表示啥来着?
(11)式和(8)式应该是等价的,变化一下就行
3.4 分幕式和持续性任务的统一表示法
对于分幕式任务,我们不能简单地将时刻t的状态表示为 S t S_t St,而是要区分它所在的幕,要使用 S t , i S_{t,i} St,i来表示幕 i i i中时刻 t t t的状态(对于 A t , i 、 R t , i 、 π t , i 、 T i A_{t,i}、R_{t,i}、\pi_{t,i}、T_i At,i、Rt,i、πt,i、Ti等也是一样的)。然而,事实证明,当我们讨论分幕式任务时,我们不必区分不同的幕。我们几乎总是在考虑某个特定的单一的幕序列,或者考虑适用于所有幕的东西。所以我们会用 S t S_t St来表示 S t , i S_t,i St,i等。
为了统一回报的公式((7)式和(8)式),把幕的终止当做一个特殊的吸收状态的入口,它只会转移到自己并且只产生零收益。例如考虑状态转移图:
这里的方块表示与幕结束对应的吸收状态。我们把回报表示为:
G
t
=
˙
∑
k
=
t
+
1
T
γ
k
−
t
−
1
R
k
,
G_t \dot=\sum_{k=t+1}^T \gamma^{k-t-1} R_k,
Gt=˙k=t+1∑Tγk−t−1Rk,
并允许上式包括
T
=
∞
T=\infty
T=∞或
γ
=
1
\gamma=1
γ=1(但不是二者同时)的可能性。
3.5 策略和价值函数
几乎所有的强化学习算法都涉及价值函数
的计算。价值函数是状态(或状态与动作二元组)的函数,用来评估当前智能体在给定状态(或给定状态与动作)下有多好
。这里“有多好”的概念是用未来预期的收益来定义的,或者更准确地说,就是回报的期望值。当然,智能体期望未来能得到的收益取决于智能体所选择的动作。因此,价值函数是与特定的行为方式相关的,我们称之为策略。
严格地说,策略
是从状态到每个动作的选择概率之间的映射。如果智能体在时刻t选择了策略π,那么
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)就是当
S
t
=
s
S_t=s
St=s时
A
t
=
a
A_t=a
At=a的概率。
练习 3.11
如果当前状态是 S t S_t St,并根据随机策略 π \pi π选择动作,那么如何用 π \pi π和四参数函数 p p p(式3.2)来表示 R t + 1 R_{t+1} Rt+1的期望呢?
官方答案:
E π [ R t + 1 ∣ S t = s ] = ∑ a π ( a ∣ s ) ∑ s ′ , r r p ( s ′ , r ∣ s , a ) \mathbb{E}_{\pi}[R_{t+1}|S_t=s]=\sum_a \pi(a|s)\sum_{s',r}rp(s',r|s,a) Eπ[Rt+1∣St=s]=∑aπ(a∣s)∑s′,rrp(s′,r∣s,a)
我们把策略π下状态为s的价值函数记为
v
π
(
s
)
v_\pi(s)
vπ(s),即从状态s开始,智能体按照策略π进行决策所获得的回报的概率期望值。对于MDP,我们可以正式定义
v
π
v_\pi
vπ为
v
π
(
s
)
=
˙
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
]
,
对
于
所
有
s
∈
S
,
v_\pi(s) \dot= \mathbb{E}_\pi[G_t|S_t=s]=\mathbb{E}_\pi[\sum_{k=0}^\infty \gamma^k R_{t+k+1}|S_t=s],对于所有s \in S,
vπ(s)=˙Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s],对于所有s∈S,
其中,
E
π
[
⋅
]
\mathbb{E}_\pi[·]
Eπ[⋅]表示在给定策略π时一个随机变量的期望值,t可以是任意时刻。请注意,终止状态的价值始终为零。我们把函数
v
π
v_\pi
vπ称为策略π的状态价值函数
。
类似地,我们把策略π下在状态s时采取动作a的价值记为
q
π
(
s
,
a
)
q_\pi(s,a)
qπ(s,a)。这就是根据策略π,从状态s开始,执行动作a之后,所有可能的决策序列的期望回报。
q
π
(
s
,
a
)
=
˙
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
,
A
t
=
a
]
.
q_\pi(s,a)\dot=\mathbb{E}_\pi[G_t|S_t=s,A_t=a]=\mathbb{E}_\pi[\sum_{k=0}^\infty \gamma^k R_{t+k+1}|S_t=s,A_t=a].
qπ(s,a)=˙Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a].
我们称
q
π
q_\pi
qπ为策略π的动作价值函数
。
练习 3.12
写出用
q
π
和
q_{\pi}和
qπ和
π
\pi
π来表达的
v
π
v_\pi
vπ公式
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
=
∑
a
π
(
a
∣
s
)
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
∑
a
π
(
a
∣
s
)
q
π
(
s
,
a
)
\begin{aligned} v_\pi(s)&=\mathbb{E}_\pi[G_t|S_t=s] \\&=\sum_a \pi(a|s)\mathbb{E}_\pi[G_t|S_t=s,A_t=a] \\&=\sum_a \pi(a|s)q_\pi(s,a) \end{aligned}
vπ(s)=Eπ[Gt∣St=s]=a∑π(a∣s)Eπ[Gt∣St=s,At=a]=a∑π(a∣s)qπ(s,a)
(感觉标答有点奇怪)
练习3.13
写出用 v π v_\pi vπ和四参数函数 p p p表达的 q π q_\pi qπ公式
官方答案:
q
π
(
s
,
a
)
=
E
π
[
R
t
+
1
+
v
π
(
s
′
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
v
π
(
s
′
)
]
\begin{aligned} q_\pi(s,a)&=\mathbb{E}_\pi[R_{t+1}+v_\pi(s')|S_t=s,A_t=a] \\&=\sum_{s',r}p(s',r|s,a)[r+v_\pi(s')] \end{aligned}
qπ(s,a)=Eπ[Rt+1+vπ(s′)∣St=s,At=a]=s′,r∑p(s′,r∣s,a)[r+vπ(s′)]
价值函数
v
π
v_\pi
vπ和
q
π
q_\pi
qπ都能从经验中估算得到。比如,如果一个智能体遵循策略π,并且对每个遇到的状态都记录该状态后的实际回报的平均值,那么,随着状态出现的次数接近无穷大,这个平均值会收敛到状态价值
v
π
(
s
)
v_\pi(s)
vπ(s)。如果为每个状态的动作都保留单独的平均值,那么类似地,这些平均值也会收敛到动作价值
q
π
(
s
,
a
)
q_\pi(s,a)
qπ(s,a)。我们将这种估算方法称作蒙特卡洛方法
,因为该方法涉及从真实回报的多个随机样本中求平均值。
在强化学习和动态规划中,价值函数有一个基本特性,就是他们满足某种递归关系,类似于我们前面为回报建立的递归公式(9)。对于任何策略π和任何状态s,s的价值与其可能的后继状态的价值之间存在以下关系
v
π
(
s
)
≐
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
s
]
=
∑
a
π
(
a
∣
s
)
∑
s
′
∑
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
E
π
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
]
=
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
,
for all
s
∈
S
\begin{aligned} v_{\pi}(s) & \doteq \mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s\right] \\ &=\mathbb{E}_{\pi}\left[R_{t+1}+\gamma G_{t+1} \mid S_{t}=s\right] \\ &=\sum_{a} \pi(a \mid s) \sum_{s^{\prime}} \sum_{r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma \mathbb{E}_{\pi}\left[G_{t+1} \mid S_{t+1}=s^{\prime}\right]\right] \\ &=\sum_{a} \pi(a \mid s) \sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma v_{\pi}\left(s^{\prime}\right)\right], \quad \text { for all } s \in \mathcal{S} \end{aligned}
vπ(s)≐Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s]=a∑π(a∣s)s′∑r∑p(s′,r∣s,a)[r+γEπ[Gt+1∣St+1=s′]]=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)], for all s∈S
上式的最后一个等号后是一个期望值。
式(18)被称为** v π v_\pi vπ的贝尔曼方程**。想象一下,从一个状态向后观察所有可能到达的后继状态,如下图所示。
*价值函数
v
π
v_\pi
vπ是贝尔曼方程的唯一解。*我们将类似上图的图叫做回溯图
,因为图中的关系是回溯
运算的基础,这也是强化学习方法的核心内容。通俗地讲,回溯操作就是将后继状态(或“状态-动作”二元组)的价值信息回传
给当前时刻的状态(或“状态-动作”二元组)。
例 3.5 网格问题
图3.2(左)所示的长方形网格代表的是一个简单的有限MDP。网格中的格子代表的是环境中的状态。在每个格子中,有四个可选的动作:东、南、西和北,每个动作都会使智能体在对应的方向上前进一格。如果采取的动作使得其不在网格内,则智能体会在原位置不移动,并且得到一个值为-1的收益。除了将智能体从特定的状态A和B中移走的动作外,其他动作的收益都是0。在状态A中,四种动作都会得到一个+10的收益,并且把智能体移动到A’。在状态B中,四种动作都会得到一个+5的收益,并且把智能体移动到B’。
假设智能体在所有状态下选择四种动作的概率都是相等的。图3.2(右)就展示了这个策略下折扣系数 γ = 0.9 \gamma=0.9 γ=0.9时的价值函数 v π v_\pi vπ。这个价值函数就是通过计算线性方程组(18)得到的。从价值函数图中可以知道,在底层边界附近都是负值,这是由于在随机策略下,出界的概率很高。状态A再这个策略下时最好的状态,但是其期望回报价值小于10,也就是说比当前的即时收益还要小。这是因为从状态A出发只能移动到状态A‘,继而产生很高的出界概率。另一方面,状态B的价值要比其当前时刻的即时收益(5)大,这是因为从状态B移动到状态B’时的收益是一个正数。即从B’出发时出界的期望惩罚值(负收益值)小于(因为B’点的 v π v_\pi vπ是正数)从B’出发走到状态A或者B的期望收益值。
练习3.14
例3.5中图3.2(右)所示价值函数 v π v_\pi vπ的每个状态都需要满足贝尔曼方程(3.14)。请证明:当周围四个相邻的状态价值为+2.3、+0.4、-0.4、和+0.7时,中心状态的价值为+0.7(数字精确到小数点后一位)
标答:
v
π
(
c
e
n
t
e
r
)
=
˙
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
=
1
4
×
[
0
+
0.9
×
∑
s
′
v
π
(
s
′
)
]
=
1
4
×
0.9
×
3.0
=
0.675
\begin{aligned} v_\pi(center) &\dot= \sum_a \pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_\pi(s')] \\&=\frac{1}{4} \times[0 + 0.9 \times \sum_{s'}v_\pi(s')] \\&=\frac{1}{4} \times 0.9 \times 3.0 \\&=0.675 \end{aligned}
vπ(center)=˙a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)]=41×[0+0.9×s′∑vπ(s′)]=41×0.9×3.0=0.675
练习3.15
在网格问题这个例子中,到达目标时收益为正数,出界时收益为负数,其他情况均为零。请思考,是这些收益值的符号重要,还是收益值的相对大小更重要?用式(8)证明,**对每个收益值都加上一个常数c就等于对每个状态价值都加上一个常数 v c v_c vc,因此在任何策略下,任何状态之间的相对价值不受其影响。**在给定c和 γ \gamma γ的情况下,求 v c v_c vc的值。
答:应该是收益值的符号更重要吧…从优化的角度看,符号代表优化的大方向,数值只是代表优化的速率。
证明:
G
t
=
˙
R
t
+
1
+
c
+
γ
(
R
t
+
2
+
c
)
+
γ
2
(
R
t
+
3
+
c
)
+
…
=
c
(
1
+
γ
+
γ
2
+
γ
3
+
…
)
+
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
=
1
1
−
γ
+
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
v
π
(
s
)
=
E
π
[
G
t
∣
S
t
=
s
]
\begin{aligned} G_t &\dot=R_{t+1}+c+\gamma(R_{t+2}+c)+\gamma^2(R_{t+3}+c)+ \dots \\&=c(1+\gamma+\gamma^2+\gamma^3+\dots)+\sum_{k=0}^\infty \gamma^kR_{t+k+1} \\&=\frac{1}{1-\gamma}+\sum_{k=0}^\infty \gamma^kR_{t+k+1} \\ \\v_\pi(s)&=\mathbb{E}_\pi[G_t|S_t=s] \end{aligned}
Gtvπ(s)=˙Rt+1+c+γ(Rt+2+c)+γ2(Rt+3+c)+…=c(1+γ+γ2+γ3+…)+k=0∑∞γkRt+k+1=1−γ1+k=0∑∞γkRt+k+1=Eπ[Gt∣St=s]
这时,
v
c
=
c
1
−
γ
v_c=\frac{c}{1-\gamma}
vc=1−γc
练习 3.16
现在考虑在走迷宫之类的分幕式任务中,把所有的收益都加上一个常数c。这会对任务的结果产生影响吗?或者还会像前面讨论的持续性任务一样没有影响?说明原因并举例。
当终结时间为T, G t G_t Gt就变为 c 1 − γ T 1 − γ + ∑ k = 0 ∞ γ k R t + k + 1 c \frac{1-\gamma^T}{1-\gamma}+\sum_{k=0}^\infty \gamma^kR_{t+k+1} c1−γ1−γT+∑k=0∞γkRt+k+1,所以当智能体延迟终结($T \uparrow ) , 那 么 其 他 一 切 不 变 的 情 况 下 , ∗ ∗ ),那么其他一切不变的情况下,** ),那么其他一切不变的情况下,∗∗v_\pi$的值会增加**。( 0 < γ < 1 0<\gamma<1 0<γ<1)
举例:
假设有一个分幕式任务,有一个状态S和两个行动 A 0 , A 1 A_0,A_1 A0,A1。 A 0 A_0 A0会导致终结状态,并获得奖励1,而 A 1 A_1 A1会使智能体变为状态S,并获得奖励0。在这种情况下,智能体会选择终结来使收益最大化
当我们使收益+1,那么无限重复 A 1 A_1 A1带来的收益为 1 1 − γ \frac{1}{1-\gamma} 1−γ1,当 γ > 1 2 \gamma> \frac{1}{2} γ>21时,这个收益比2大。
(标答写的 γ < 1 2 \gamma< \frac{1}{2} γ<21,应该写错了吧)
例 3.6 高尔夫
为了把打高尔夫球抽象成强化学习任务,在球进洞之前,每次击球我们都给一个-1的惩罚(负收益)。该任务中的状态就是球的位置。状态价值就是从当前位置到球进洞这段时间内,所击球次数的负值。我们的动作可以是如何瞄准及击球,也可以是选择哪种球杆(推杆是轻击球杆,木杆是重击球杆)。假设前一个条件是给定的,仅仅考虑球杆的选择,我们假设要么选择推杆要么选择木杆。图3.3的上半部分标识号一个可能的状态价值函数
v
p
u
t
t
(
s
)
v_{putt}(s)
vputt(s),对应于一直采用推杆的策略。终止状态,即进洞
的价值为0。在绿色区域上的任意位置,我们假设都可以进行一次推杆就进洞,因此这些状态的价值为-1。而在绿色区域之外,我们无法直接采用推杆将球打到洞里(因为太远了),所以其价值的绝对值更大。如果从某个状态能够通过一次推杆将球打到绿色区域,那么这个状态必须有一个比绿色区域值还小的值,即-2。为了简化问题,我们假设每次推杆都是精准和确定的,只是有一定的范围限制。这就给出了如图所示的标记为-2的尖锐轮廓,在该轮廓和绿色区域之间的任何位置都需要两次推杆才能进洞。类似地,在-2轮廓线之外的一次推杆范围内的任何位置,其值都必须为-3。依此类推,就能得到图中所有的等值轮廓线。因为推杆在沙地上无法奏效,所以沙地上的值为
−
∞
-\infty
−∞。总之,我们需要6次推杆才能从标杆处进洞。
图3.3 打高尔夫球的案例。推杆的状态价值函数(上)和木杆的最优动作价值函数(下)
练习3.17
动作价值 q π q_\pi qπ的贝尔曼方程是什么?将动作价值 q π ( s , a ) q_\pi(s,a) qπ(s,a)用“状态-动作”二元组(s,a)的所有可能的后继动作价值 q π ( s ′ , a ′ ) q_\pi(s',a') qπ(s′,a′)来表示。提示:下方的回溯图就对应这一等式。证明该公式与公式(18)形式类似,是其在动作价值函数情况下的推广。
标答:
q
π
≐
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
R
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
+
γ
E
π
[
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
r
+
γ
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
∑
a
′
π
(
a
′
∣
s
′
)
E
π
[
G
t
+
1
∣
S
t
+
1
=
s
′
,
A
t
+
1
=
a
′
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
∑
a
′
π
(
a
′
∣
s
′
)
q
π
(
s
′
,
a
′
)
]
\begin{aligned} q_{\pi} & \doteq \mathbb{E}_{\pi}\left[G_{t} \mid S_{t}=s, A_{t}=a\right] \\ &=\mathbb{E}_{\pi}\left[R_{t+1} \mid S_{t}=s, A_{t}=a\right]+\gamma \mathbb{E}_{\pi}\left[G_{t+1} \mid S_{t}=s, A_{t}=a\right] \\ &=\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right) r+\gamma \sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right) \sum_{a^{\prime}} \pi\left(a^{\prime} \mid s^{\prime}\right) \mathbb{E}_{\pi}\left[G_{t+1} \mid S_{t+1}=s^{\prime}, A_{t+1}=a^{\prime}\right] \\ &=\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma \sum_{a^{\prime}} \pi\left(a^{\prime} \mid s^{\prime}\right) q_{\pi}\left(s^{\prime}, a^{\prime}\right)\right] \end{aligned}
qπ≐Eπ[Gt∣St=s,At=a]=Eπ[Rt+1∣St=s,At=a]+γEπ[Gt+1∣St=s,At=a]=s′,r∑p(s′,r∣s,a)r+γs′,r∑p(s′,r∣s,a)a′∑π(a′∣s′)Eπ[Gt+1∣St+1=s′,At+1=a′]=s′,r∑p(s′,r∣s,a)[r+γa′∑π(a′∣s′)qπ(s′,a′)]
练习3.18
状态的价值取决于在这个状态下所有可能的动作的价值,以及在当前策略下选取每个动作的概率。我们可以根据以该状态为根节点考虑这一点,并考虑每种可能的动作。
给定
S
t
=
s
S_t=s
St=s,根据预期的叶子结点的值
q
π
(
s
,
a
)
q_\pi(s,a)
qπ(s,a),给出对应于上图的根节点值
v
π
(
s
)
v_\pi(s)
vπ(s)的计算公式。这个公式应该包括一个基于策略
π
\pi
π的期望。然后给出第二个公式,其中期望值用
π
(
a
∣
s
)
\pi(a|s)
π(a∣s)显式地写出,这样等式就不会出现求期望的符号了。
v
π
(
s
)
=
E
[
q
π
(
S
t
,
A
t
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
a
π
(
a
∣
s
)
q
π
(
s
,
a
)
\begin{aligned} v_\pi(s)&=\mathbb{E}[q_\pi(S_t,A_t)|S_t=s,A_t=a] \\&=\sum_a \pi(a|s)q_\pi(s,a) \end{aligned}
vπ(s)=E[qπ(St,At)∣St=s,At=a]=a∑π(a∣s)qπ(s,a)
练习3.19
动作的价值 q π ( s , a ) q_\pi(s,a) qπ(s,a)取决于后继收益的期望值和其余收益的总和的期望值。我们再次将其用一个小型回溯图来表示。这时,根节点代表一个动作(“状态-动作”二元组),分支为下一时刻可能的状态。
当给定
S
t
=
s
,
A
t
=
a
S_t=s,A_t=a
St=s,At=a以及期望后继收益
R
t
+
1
R_{t+1}
Rt+1和后继状态价值
v
π
(
S
t
+
1
)
v_\pi(S_{t+1})
vπ(St+1)时,给出对应于上图的动作价值函数
q
π
(
s
,
a
)
q_\pi(s,a)
qπ(s,a)的计算公式。这个公式应该包括一个期望,但并不受限于所遵循的策略。然后给出第二个公式,用式(3.2)中定义的p(s’,r|a,s)来显式地表示期望值,这样等式就不会出现求期望的符号了。
q
π
(
s
,
a
)
=
E
[
R
t
+
1
+
v
π
(
s
′
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
a
,
s
)
[
r
+
v
π
(
s
′
)
]
\begin{aligned} q_\pi(s,a)&=\mathbb{E}[R_{t+1}+v_\pi(s')|S_t=s,A_t=a] \\&=\sum_{s',r}p(s',r|a,s)[r+v_\pi(s')] \end{aligned}
qπ(s,a)=E[Rt+1+vπ(s′)∣St=s,At=a]=s′,r∑p(s′,r∣a,s)[r+vπ(s′)]
3.6 最优策略和最优价值函数
解决一个强化学习任务就意味着要找出一个策略,使其能够在长期过程中获得大量收益。对于有限MDP,我们可以通过比较价值函数精确地定义一个最优策略。在本质上,价值函数定义了策略上的一个偏序关系。即如果要说一个策略π与另一个策略π’相差不多甚至更好,那么其所有状态上的期望回报都应该等于或大于π’的期望回报。也就是说,若对于所有的
s
∈
S
,
π
≥
π
′
s \in S,\pi \geq \pi'
s∈S,π≥π′,那么应当
v
π
(
s
)
≥
v
π
′
(
s
)
v_\pi(s) \geq v_{\pi'}(s)
vπ(s)≥vπ′(s)。总会存在至少一个策略不劣于其他所有的策略,这就是最优策略
。最优策略可能不止一个,用
π
∗
\pi_*
π∗来表示。它们共享相同的状态价值函数
,记为
v
∗
v_*
v∗,其定义为:对于任意
s
∈
S
s \in S
s∈S,
v
∗
(
s
)
=
˙
m
a
x
π
v
π
(
s
)
v_*(s) \dot=max_\pi v_\pi(s)
v∗(s)=˙maxπvπ(s)
最优的策略也共享相同的最优动作价值函数,记为
q
∗
q_*
q∗,其定义为:对于任意
s
∈
S
,
a
∈
A
s \in S,a \in A
s∈S,a∈A,
q
∗
(
s
,
a
)
=
˙
m
a
x
π
q
π
(
s
,
a
)
q_*(s,a) \dot=max_\pi q_\pi(s,a)
q∗(s,a)=˙maxπqπ(s,a)
对于“状态-动作”二元组(s,a),这个函数给出了在状态s下,先采取动作a,之后按照最优策略去决策的期望回报。因此我们可以用
v
∗
v_*
v∗来表示
q
∗
q_*
q∗,如下所示
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
.
q_*(s,a)=\mathbb{E}[R_{t+1}+\gamma v_*(S_{t+1})|S_t=s,A_t=a].
q∗(s,a)=E[Rt+1+γv∗(St+1)∣St=s,At=a].
例 3.7 高尔夫的最优价值函数
图3.3的下半部分描绘了一种最优动作价值函数
q
∗
(
s
,
d
r
i
v
e
r
)
q_*(s,driver)
q∗(s,driver)的等值线轮廓。这是每个状态的价值,如果我们在第一次击球时选择木杆,并在接下来的过程中在木杆和推杆之间择优击球,则木杆能够将球击得更远,但是精确度就要低一些。只有在球非常接近洞口时,木杆才能将球一次推进洞内。因此
q
∗
(
s
,
d
r
i
v
e
r
)
q_*(s,driver)
q∗(s,driver)的-1等值轮廓线仅覆盖绿色区域很小的一部分。但如果能两次击球,那么我们就可以从很远的地方冲向洞口,如-2轮廓线所示。在这种情况下,我们不必执着于那么小的-1轮廓线,而是注重绿色区域的任意位置;因为只要在绿色区域内,我们就可以推杆进洞。最优动作价值函数给出了在执行特定的第一个
动作之后的价值,这种情况下就是选择木杆,在此之后,哪种球杆能取得最好结果,我们就选择哪种。-3的等值轮廓线离绿地更远,并且包含了起始标杆。从标杆开始,最优的动作序列分别是两次木杆和一次推杆,进行三次击球将其送入洞内。
因为
v
∗
v_*
v∗是策略的价值函数,它必须满足贝尔曼方程(18式)中状态和价值一致性条件。但因为它是最优的价值函数,所以
v
∗
v_*
v∗的一致性条件可以用一种特殊的形式表示,而不拘泥于任何特定的策略。这就是贝尔曼最优方程
。我们可以直观地理解为,贝尔曼最优方程阐述了一个事实:最优策略下各个状态的价值一定等于这个状态下最优动作的期望回报。
v
∗
(
s
)
=
m
a
x
a
∈
A
(
s
)
q
π
∗
(
s
,
a
)
=
m
a
x
a
E
π
∗
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
m
a
x
a
E
π
∗
[
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
=
m
a
x
a
E
π
∗
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
(
=
m
a
x
a
q
∗
(
s
,
a
)
)
=
m
a
x
a
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
∗
(
s
′
)
]
\begin{aligned} v_*(s)&=max_{a \in A(s)} q_{\pi_*}(s,a) \\&=max_a \mathbb{E}_{\pi_*}[G_t|S_t=s,A_t=a] \\&=max_a \mathbb{E}_{\pi_*}[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a] \\&=max_a \mathbb{E}_{\pi_*}[R_{t+1}+\gamma v_*(S_{t+1})|S_t=s,A_t=a] \\(&=max_a q_*(s,a)) \\&=max_a \sum_{s',r}p(s',r|s,a)[r+\gamma v_*(s')] \end{aligned}
v∗(s)(=maxa∈A(s)qπ∗(s,a)=maxaEπ∗[Gt∣St=s,At=a]=maxaEπ∗[Rt+1+γGt+1∣St=s,At=a]=maxaEπ∗[Rt+1+γv∗(St+1)∣St=s,At=a]=maxaq∗(s,a))=maxas′,r∑p(s′,r∣s,a)[r+γv∗(s′)]
最后两个等式就是
v
∗
v_*
v∗的贝尔曼最优方程的两种形式。
q
∗
q_*
q∗的贝尔曼最优方程如下:
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
m
a
x
a
′
q
∗
(
S
t
+
1
,
a
′
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
m
a
x
a
′
q
∗
(
s
′
,
a
′
)
]
\begin{aligned} q_*(s,a) &= \mathbb{E}[R_{t+1}+\gamma max_{a'} q_*(S_{t+1},a')|S_t=s,A_t=a] \\&=\sum_{s',r}p(s',r|s,a)[r+\gamma max_{a'}q_*(s',a')] \end{aligned}
q∗(s,a)=E[Rt+1+γmaxa′q∗(St+1,a′)∣St=s,At=a]=s′,r∑p(s′,r∣s,a)[r+γmaxa′q∗(s′,a′)]
图3.4中的回溯图以图形化的方式展示了
v
∗
v_*
v∗和
q
∗
q_*
q∗的贝尔曼最优方程中所进行的后继状态和动作的扩展过程。除了在智能体的选择节点处加入了弧线表示应该在给定策略下取最大值而不是期望值之外,其他都与之前介绍的
v
π
v_\pi
vπ和
q
π
q_\pi
qπ的回溯图相同。
对于有限MDP来说, v π v_\pi vπ的贝尔曼最优方程(27式)有独立于策略的唯一解(式中没有 π ( a ∣ s ) \pi(a|s) π(a∣s)出现)。
一旦有了 v ∗ v_* v∗,确定一个最优策略就比较容易了。(策略的概率非零,那么这就是一个最优策略。)
在给定 q ∗ q_* q∗的情况下,选择最优动作的过程变得更加容易。
例3.8 求解网格问题
假设我们在例3.5的简单网格任务(图3.5(左))中,对 v ∗ v_* v∗的贝尔曼方程进行了求解。我们知道从状态A转移到状态A’会得到+10的收益,从状态B转移到状态B’会得到+5的收益。图3.5(中)给出了最优的价值函数,图3.5(右)给出了相应的最优策略。图中有些格子中有多个箭头,其对应的每个动作都是最优的。
例 3.9 回收机器人的贝尔曼最优方程
采用式(27),我们可以显式地给出回收机器人的贝尔曼方程。为了让公式更加紧凑,我们分别将状态high与low,动作search、wait与recharge简写成h、l、s、re。由于这里只有两个状态,贝尔曼方程就由两个等式组成。
v
∗
(
h
)
v_*(h)
v∗(h)的表示式为:
v
∗
(
h
)
=
max
{
p
(
h
∣
h
,
s
)
[
r
(
h
,
s
,
h
)
+
γ
v
∗
(
h
)
]
+
p
(
1
∣
h
,
s
)
[
r
(
h
,
s
,
1
)
+
γ
v
∗
(
1
)
]
,
p
(
h
∣
h
,
w
)
[
r
(
h
,
w
,
h
)
+
γ
v
∗
(
h
)
]
+
p
(
1
∣
h
,
w
)
[
r
(
h
,
w
,
1
)
+
γ
v
∗
(
1
)
]
}
=
max
{
α
[
r
s
+
γ
v
∗
(
h
)
]
+
(
1
−
α
)
[
r
s
+
γ
v
∗
(
1
)
]
,
1
[
r
w
+
γ
v
∗
(
h
)
]
+
0
[
r
w
+
γ
v
∗
(
l
)
]
}
=
max
{
r
s
+
γ
[
α
v
∗
(
h
)
+
(
1
−
α
)
v
∗
(
l
)
]
,
r
w
+
γ
v
∗
(
h
)
}
.
\begin{aligned} v_{*}(\mathrm{~h}) &=\max \left\{\begin{array}{l} p(\mathrm{~h} \mid \mathrm{h}, \mathrm{s})\left[r(\mathrm{~h}, \mathrm{~s}, \mathrm{~h})+\gamma v_{*}(\mathrm{~h})\right]+p(1 \mid \mathrm{h}, \mathrm{s})\left[r(\mathrm{~h}, \mathrm{~s}, 1)+\gamma v_{*}(1)\right], \\ p(\mathrm{~h} \mid \mathrm{h}, \mathrm{w})\left[r(\mathrm{~h}, \mathrm{w}, \mathrm{h})+\gamma v_{*}(\mathrm{~h})\right]+p(1 \mid \mathrm{h}, \mathrm{w})\left[r(\mathrm{~h}, \mathrm{w}, 1)+\gamma v_{*}(1)\right] \end{array}\right\} \\ &=\max \left\{\begin{array}{l} \alpha\left[r_{\mathrm{s}}+\gamma v_{*}(\mathrm{~h})\right]+(1-\alpha)\left[r_{\mathrm{s}}+\gamma v_{*}(1)\right], \\ 1\left[r_{\mathrm{w}}+\gamma v_{*}(\mathrm{~h})\right]+0\left[r_{\mathrm{w}}+\gamma v_{*}(\mathrm{l})\right] \end{array}\right\} \\ &=\max \left\{\begin{array}{l} r_{\mathrm{s}}+\gamma\left[\alpha v_{*}(\mathrm{~h})+(1-\alpha) v_{*}(\mathrm{l})\right], \\ r_{\mathrm{w}}+\gamma v_{*}(\mathrm{~h}) \end{array}\right\} . \end{aligned}
v∗( h)=max{p( h∣h,s)[r( h, s, h)+γv∗( h)]+p(1∣h,s)[r( h, s,1)+γv∗(1)],p( h∣h,w)[r( h,w,h)+γv∗( h)]+p(1∣h,w)[r( h,w,1)+γv∗(1)]}=max{α[rs+γv∗( h)]+(1−α)[rs+γv∗(1)],1[rw+γv∗( h)]+0[rw+γv∗(l)]}=max{rs+γ[αv∗( h)+(1−α)v∗(l)],rw+γv∗( h)}.
v
∗
(
l
)
v_*(l)
v∗(l)的表达式也是类似的
v
∗
(
1
)
=
max
{
β
r
s
−
3
(
1
−
β
)
+
γ
[
(
1
−
β
)
v
∗
(
h
)
+
β
v
∗
(
1
)
]
,
r
w
+
γ
v
∗
(
1
)
,
γ
v
∗
(
h
)
}
v_{*}(1)=\max \left\{\begin{array}{l} \beta r_{\mathrm{s}}-3(1-\beta)+\gamma\left[(1-\beta) v_{*}(\mathrm{~h})+\beta v_{*}(1)\right], \\ r_{\mathrm{w}}+\gamma v_{*}(1), \\ \gamma v_{*}(\mathrm{~h}) \end{array}\right\}
v∗(1)=max⎩⎨⎧βrs−3(1−β)+γ[(1−β)v∗( h)+βv∗(1)],rw+γv∗(1),γv∗( h)⎭⎬⎫
对于任意的
r
s
、
r
w
、
α
、
β
r_s、r_w、\alpha、\beta
rs、rw、α、β和
γ
\gamma
γ,在符合
0
≤
γ
<
1
,
0
≤
α
,
β
≤
1
0 \leq \gamma \lt 1, 0\leq\alpha,\beta\leq1
0≤γ<1,0≤α,β≤1的情况下,存在唯一的一对值,即
v
∗
(
h
)
v_*(h)
v∗(h)和
v
∗
(
l
)
v_*(l)
v∗(l),是同时满足这两个非线性等式的解。
显式求解贝尔曼最优方程给出了找到一个最优策略的方法,也就是一个解决强化学习问题的方法。但是,这个方法很少是直接有效的。这类似于穷举搜索,预估所有的可能性,计算每种可能性出现的概率及其期望收益。在强化学习中,我们通常只能用近似解法来解决这类问题。
练习 3.20
画出或者描述高尔夫例子汇总的最优状态价值函数。
标答:
最优状态值给出:当在草地上,推杆,当不在草地上,木杆
练习 3.21
画出或者描述在高尔夫例子中,对于推杆的最优动作的等值轮廓线
标答:
应该与总是使用推杆的策略的值相同。
练习3.22
考虑下图所示的一个持续性MDP。在顶部状态下可选的动作只有左和右。线上的数值表示在做每个动作后获得的固定收益。我们有两个确定的策略
π
l
e
f
t
\pi_{left}
πleft和
π
r
i
g
h
t
\pi_{right}
πright。在
γ
\gamma
γ分别为0、0.9、0.5时,哪个策略是最优的?
直观来看,选择左边时, v π l e f t = 1 + γ × 0 = 1 v_{\pi_{left}}=1+\gamma \times 0=1 vπleft=1+γ×0=1,选择右边时 v π l e f t = 0 + γ × 2 = 2 γ v_{\pi_{left}}=0+\gamma \times 2=2\gamma vπleft=0+γ×2=2γ,所以当 γ = 0 \gamma=0 γ=0, π l e f t \pi_{left} πleft最优;当 γ = 0.9 \gamma=0.9 γ=0.9, π r i g h t \pi_{right} πright最优; γ = 0.5 \gamma=0.5 γ=0.5时,两个策略等价。
练习3.23
给出回收机器人例子中,q*的贝尔曼方程
标答:
q
∗
(
s
,
a
)
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
m
a
x
a
′
q
∗
(
s
′
,
a
′
)
]
q_*(s,a)=\sum_{s',r}p(s',r|s,a)[r+\gamma max_{a'}q_*(s',a')]
q∗(s,a)=s′,r∑p(s′,r∣s,a)[r+γmaxa′q∗(s′,a′)]
练习3.24
在图3.5给出的网格示例中,最好的状态的最优价值为24.4(精确到一位数)。请用你所理解的最优化策略,结合式(3.8)来符号化地表示这个最优值,并重新计算,精确到三位小数。
参考标答:
最优值公式:
v
∗
(
s
)
=
max
a
∈
A
(
s
)
q
π
∗
(
s
,
a
)
=
max
a
E
π
∗
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
E
π
∗
[
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
E
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
∗
(
s
′
)
]
\begin{aligned} v_{*}(s) &=\max _{a \in \mathcal{A}(s)} q_{\pi_{*}}(s, a) \\ &=\max _{a} \mathbb{E}_{\pi_{*}}\left[G_{t} \mid S_{t}=s, A_{t}=a\right] \\ &=\max _{a} \mathbb{E}_{\pi_{*}}\left[R_{t+1}+\gamma G_{t+1} \mid S_{t}=s, A_{t}=a\right] \\ &=\max _{a} \mathbb{E}\left[R_{t+1}+\gamma v_{*}\left(S_{t+1}\right) \mid S_{t}=s, A_{t}=a\right] \\ &=\max _{a} \sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma v_{*}\left(s^{\prime}\right)\right] \end{aligned}
v∗(s)=a∈A(s)maxqπ∗(s,a)=amaxEπ∗[Gt∣St=s,At=a]=amaxEπ∗[Rt+1+γGt+1∣St=s,At=a]=amaxE[Rt+1+γv∗(St+1)∣St=s,At=a]=amaxs′,r∑p(s′,r∣s,a)[r+γv∗(s′)]
由公式: 17.8 = 0 + 19.8 γ 17.8=0+19.8\gamma 17.8=0+19.8γ,所以 γ = ˙ 0.899 \gamma \dot=0.899 γ=˙0.899
所以: v ∗ = 10 + 0.899 ∗ 16 = ˙ 24.384 v_*=10+0.899*16 \dot=24.384 v∗=10+0.899∗16=˙24.384
练习 3.25
用含有 q ∗ q_* q∗的等式来表示 v ∗ v_* v∗
v ∗ = m a x ∑ a π ∗ ( a ∣ s ) q ∗ ( s , a ) v_*=max\sum_a \pi_*(a|s) q_*(s,a) v∗=max∑aπ∗(a∣s)q∗(s,a)
练习3.26
在环境动态变化特性为p(s’,r|s,a)时,用含有
v
∗
v_*
v∗的等式来表示
q
∗
q_*
q∗
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
v
∗
(
s
′
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
a
,
s
)
[
r
+
v
∗
(
s
′
)
]
\begin{aligned} q_*(s,a)&=\mathbb{E}[R_{t+1}+v_*(s')|S_t=s,A_t=a] \\&=\sum_{s',r}p(s',r|a,s)[r+v_*(s')] \end{aligned}
q∗(s,a)=E[Rt+1+v∗(s′)∣St=s,At=a]=s′,r∑p(s′,r∣a,s)[r+v∗(s′)]
练习 3.27
用含有 q ∗ q_* q∗的等式来表示 π ∗ \pi_* π∗
标答:
这是任何贪婪地追求最佳行动价值函数的政策。
π
∗
=
1
{
a
=
a
r
g
m
a
x
a
′
q
∗
(
a
′
,
s
)
}
∑
a
1
{
a
=
a
r
g
m
a
x
a
′
q
∗
(
a
′
,
s
)
}
\pi_*=\frac{\mathbb{1}\{a=argmax_{a'} q_*(a',s)\}}{\sum_a \mathbb{1}\{a=argmax_{a'} q_*(a',s)\}}
π∗=∑a1{a=argmaxa′q∗(a′,s)}1{a=argmaxa′q∗(a′,s)}
练习 3.28
在环境动态变化特性
p(s’,r|s,a)时,用含有
v
∗
v_*
v∗的等式来表示
π
∗
\pi_*
π∗
π
∗
=
1
{
a
=
a
r
g
m
a
x
a
′
∑
s
′
,
r
p
(
s
′
,
r
∣
a
,
s
)
[
r
+
v
∗
(
s
′
)
]
}
∑
a
1
{
a
=
a
r
g
m
a
x
a
′
∑
s
′
,
r
p
(
s
′
,
r
∣
a
,
s
)
[
r
+
v
∗
(
s
′
)
]
}
\pi_*=\frac{\mathbb{1}\{a=argmax_{a'} \sum_{s',r}p(s',r|a,s)[r+v_*(s')]\}}{\sum_a \mathbb{1}\{a=argmax_{a'} \sum_{s',r}p(s',r|a,s)[r+v_*(s')]\}}
π∗=∑a1{a=argmaxa′∑s′,rp(s′,r∣a,s)[r+v∗(s′)]}1{a=argmaxa′∑s′,rp(s′,r∣a,s)[r+v∗(s′)]}
练习 3.29
用三参数函数p(式3.4)和双参数函数r(式3.5)来重写前面的四个贝尔曼价值函数( v π 、 v ∗ 、 q π 、 q ∗ v_\pi、v_*、q_\pi、q_* vπ、v∗、qπ、q∗)
三参数:
$$
\begin{aligned}
v_{\pi}(s) & \doteq \mathbb{E}{\pi}\left[G{t} \mid S_{t}=s\right] \
&=\mathbb{E}{\pi}\left[R{t+1}+\gamma G_{t+1} \mid S_{t}=s\right] \
&=\sum_{a} \pi(a \mid s) \sum_{s^{\prime}} \sum_{r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma \mathbb{E}{\pi}\left[G{t+1} \mid S_{t+1}=s^{\prime}\right]\right] \
&=\sum_{a} \pi(a \mid s) \sum_{s^{\prime}} p\left(s^{\prime}\mid s, a\right)\left[r+\gamma v_{\pi}\left(s^{\prime}\right)\right], \quad \text { for all } s \in \mathcal{S}
\ \
q_{\pi}(s) & \doteq \mathbb{E}{\pi}\left[G{t} \mid S_{t}=s, A_{t}=a\right] \
&=\mathbb{E}{\pi}\left[R{t+1} \mid S_{t}=s, A_{t}=a\right]+\gamma \mathbb{E}{\pi}\left[G{t+1} \mid S_{t}=s, A_{t}=a\right] \
&=\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right) r+\gamma \sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right) \sum_{a^{\prime}} \pi\left(a^{\prime} \mid s^{\prime}\right) \mathbb{E}{\pi}\left[G{t+1} \mid S_{t+1}=s^{\prime}, A_{t+1}=a^{\prime}\right] \
&=\sum_{s^{\prime}} p\left(s^{\prime} \mid s, a\right)\left[r+\gamma \sum_{a^{\prime}} \pi\left(a^{\prime} \mid s^{\prime}\right) q_{\pi}\left(s^{\prime}, a^{\prime}\right)\right]
\ \
v_{}(s) &=\max {a \in \mathcal{A}(s)} q{\pi_{}}(s, a) \
&=\max {a} \mathbb{E}{\pi_{}}\left[G_{t} \mid S_{t}=s, A_{t}=a\right] \
&=\max {a} \mathbb{E}{\pi_{}}\left[R_{t+1}+\gamma G_{t+1} \mid S_{t}=s, A_{t}=a\right] \
&=\max {a} \mathbb{E}\left[R{t+1}+\gamma v_{}\left(S_{t+1}\right) \mid S_{t}=s, A_{t}=a\right] \
&=\max {a} \sum{s^{\prime}} p\left(s^{\prime} \mid s, a\right)\left[r+\gamma v_{}\left(s^{\prime}\right)\right]
\ \
q_(s,a)&=\sum_{s’}p(s’|s,a)[r+\gamma max_{a’}q_(s’,a’)]
\end{aligned}
$$
双参数函数r:
$$
\begin{aligned}
v_{\pi}(s) & \doteq \mathbb{E}{\pi}\left[G{t} \mid S_{t}=s\right] \
&=\mathbb{E}{\pi}\left[R{t+1}+\gamma G_{t+1} \mid S_{t}=s\right] \
&=\sum_{a} \pi(a \mid s) \sum_{s^{\prime}} \sum_{r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma \mathbb{E}{\pi}\left[G{t+1} \mid S_{t+1}=s^{\prime}\right]\right] \
&=\sum_{a} \pi(a \mid s) r(s,a)\left[r+\gamma v_{\pi}\left(s^{\prime}\right)\right], \quad \text { for all } s \in \mathcal{S}
\ \
q_{\pi}(s) & \doteq \mathbb{E}{\pi}\left[G{t} \mid S_{t}=s, A_{t}=a\right] \
&=\mathbb{E}{\pi}\left[R{t+1} \mid S_{t}=s, A_{t}=a\right]+\gamma \mathbb{E}{\pi}\left[G{t+1} \mid S_{t}=s, A_{t}=a\right] \
&=\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right) r+\gamma \sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right) \sum_{a^{\prime}} \pi\left(a^{\prime} \mid s^{\prime}\right) \mathbb{E}{\pi}\left[G{t+1} \mid S_{t+1}=s^{\prime}, A_{t+1}=a^{\prime}\right] \
&= r(s,a)\left[r+\gamma \sum_{a^{\prime}} \pi\left(a^{\prime} \mid s^{\prime}\right) q_{\pi}\left(s^{\prime}, a^{\prime}\right)\right]
\ \
v_{}(s) &=\max {a \in \mathcal{A}(s)} q{\pi_{}}(s, a) \
&=\max {a} \mathbb{E}{\pi_{}}\left[G_{t} \mid S_{t}=s, A_{t}=a\right] \
&=\max {a} \mathbb{E}{\pi_{}}\left[R_{t+1}+\gamma G_{t+1} \mid S_{t}=s, A_{t}=a\right] \
&=\max {a} \mathbb{E}\left[R{t+1}+\gamma v_{}\left(S_{t+1}\right) \mid S_{t}=s, A_{t}=a\right] \
&=\max {a} r(s,a)\left[r+\gamma v{}\left(s^{\prime}\right)\right]
\ \
q_(s,a)&= r(s,a)[r+\gamma max_{a’}q_(s’,a’)]
\end{aligned}
$$
3.7 最优性和近似算法
我们已经定义了最优价值函数和最优策略。按照上面的方法,智能体可以很好地学习到最优策略,但是事实却不是这样。对于我们感兴趣的任务,最优策略通常需要极大量的计算资源。真实情况下的智能体只能采用不同程度的近似方法。
存储容量也是一个很重要的约束。价值函数、策略和模型的估计通常需要大量的存储空间。在状态集合小而有限的任务中,用数组或者表格来估计每个状态(或“状态-动作”二元组)是有可能的。我们称之为表格型
任务,对应的方法我们称作表格型方法,但在许多实际情况下,经常有很多状态是不能用表格中的一行来表示的。在这些情况下,价值函数必须采用近似算法,这是通常使用紧凑的参数化函数表示方法。
强化学习在线运行的本质使得它在近似最优策略的过程中,对于那些经常出现的状态集合会花更多的努力去学习好的决策,而代价就是对不经常出现的状态给予的学习力度不够。这是区分强化学习和其他解决MDP问题的近似方法的一个重要判断依据。
本章小结
强化学习是在交互中学习如何行动以实现某个目标的机器学习方法。在强化学习中,智能体
及其环境
在一连串的离散时刻上进行交互。这两者之间的接口定义了一个特殊的任务:动作
由智能体来选择,状态
是做出选择的基础,而收益
是评估选择的基础。策略
是一个智能体选择动作的随机规则,它是状态的一个函数。
当强化学习用完备定义的转移概率描述后,就构成了马尔可夫决策过程(MDP)
。有限MDP
是指具有有限状态、动作、收益集合的MDP。目前大多数强化学习理论都只局限于讨论有限MDP,但是相关方法和思路的应用范围却可以更加广泛。
回报
是智能体要最大化的全部未来收益的函数(最大化概率期望值)。根据不同任务和是否希望对延迟的收益打折扣
,它也有不同的定义。非折扣形式适用于分幕式任务
,在这类任务中,智能体-环境交互会被自然分解为幕
;折扣形式适用于持续性任务
。我们通过定义合理的回报形式,可以用同样的公式来统一描述分幕式和持续性任务这两种情况。
一旦智能体确定了某个策略,那么该策略的价值函数
就可以对每个状态或"状态-动作"二元组给出对应的期望回报值。最优价值函数
对每个状态或“状态-动作”二元组给出了所有策略中最大的期望回报值。一个价值函数的最优的策略就叫做最优策略
。对于给定的MDP,经管状态或“状态-动作”二元组对应的最优价值函数是唯一的,但最优策略可能会有好多个。在最优价值函数的基础上,通过贪心
算法得到的策略肯定是一个最优策略。贝尔曼最优方程
是最优价值函数必须满足的一致性条件,原则上最优价值函数是可以通过这个条件相对容易地求解得到的。
强化学习问题可以用不同的方式表示,这取决于智能体起初能获得的先验知识。对于完备知识
问题,智能体会有一个完整精确的模型来表示环境的动态变化。如果环境是MDP,那么这个模型就包含了一个四参数转移函数p式。对于非完备知识
问题来说,我们则没有完整的环境模型。
即使智能体有一个完整精确的环境模型,智能体通常也没有足够的计算能力在每一时刻都全面利用它。可用的存储资源也是另一个重要约束。精确的价值函数、策略和模型都需要占用存储资源。在大多数实际问题中,环境状态远远不是一个表格能装下的,这时就需要近似方法来解决问题。
和思路的应用范围却可以更加广泛。
回报
是智能体要最大化的全部未来收益的函数(最大化概率期望值)。根据不同任务和是否希望对延迟的收益打折扣
,它也有不同的定义。非折扣形式适用于分幕式任务
,在这类任务中,智能体-环境交互会被自然分解为幕
;折扣形式适用于持续性任务
。我们通过定义合理的回报形式,可以用同样的公式来统一描述分幕式和持续性任务这两种情况。
一旦智能体确定了某个策略,那么该策略的价值函数
就可以对每个状态或"状态-动作"二元组给出对应的期望回报值。最优价值函数
对每个状态或“状态-动作”二元组给出了所有策略中最大的期望回报值。一个价值函数的最优的策略就叫做最优策略
。对于给定的MDP,经管状态或“状态-动作”二元组对应的最优价值函数是唯一的,但最优策略可能会有好多个。在最优价值函数的基础上,通过贪心
算法得到的策略肯定是一个最优策略。贝尔曼最优方程
是最优价值函数必须满足的一致性条件,原则上最优价值函数是可以通过这个条件相对容易地求解得到的。
强化学习问题可以用不同的方式表示,这取决于智能体起初能获得的先验知识。对于完备知识
问题,智能体会有一个完整精确的模型来表示环境的动态变化。如果环境是MDP,那么这个模型就包含了一个四参数转移函数p式。对于非完备知识
问题来说,我们则没有完整的环境模型。
即使智能体有一个完整精确的环境模型,智能体通常也没有足够的计算能力在每一时刻都全面利用它。可用的存储资源也是另一个重要约束。精确的价值函数、策略和模型都需要占用存储资源。在大多数实际问题中,环境状态远远不是一个表格能装下的,这时就需要近似方法来解决问题。