《Reinforcement Learning: An Introduction》第3章笔记

news/2024/5/18 23:44:11 标签: 笔记, 强化学习

Chapter 3 Finite Markov Decision

本章正式介绍有限马尔科夫决策过程(finite Markov decision processes, finite MDP), 它包括第二章介绍的评估性反馈和关联(associative)—在不同情景下选择不同的状态。

MDP是序贯决策问题的经典形式化表达,它的动作不仅影响到即时奖励,还会影响后续情景或状态以及其未来的奖励。所以MDP涉及到延迟奖励,并且需要权衡即时奖励和延迟奖励。

在赌博机问题中,对每个动作 a a a 估计其价值 q ∗ ( a ) q_*(a) q(a), 在MDP中,我们估计每个动作 a a a在每一个状态 s s s下的价值 q ∗ ( s , a ) q_*(s, a) q(s,a),或者估计给定最优动作选择下的每个状态的价值 v ∗ ( s ) v_*(s) v(s)

3.1 The Agent-Environment Interface

MDP 是通过交互式学习来实现目标的理论框架。这个学习或者进行决策的机器被称为智能体agent,agent之外的所有与其交互的事情都被称为环境environment。agent选择动作,环境对动作做出回应并向agent呈现新的状态,这个交互过程持续的进行,环境也会给一个特定的数值类型的奖励,agent尝试通过其动作的选择实现的最大化的奖励。

在这里插入图片描述

设在每个离散时刻 t = 0 , 1 , 2 , 3 , ⋯ t=0,1,2,3,\cdots t=0,1,2,3,,agent和环境都发生了交互,在每一个时刻 t t t, agent收到所在环境的状态的某种表征: S t ∈ S S_t \in \mathcal{S} StS, 并基于该状态选择一个动作: A t ∈ A ( s ) A_t \in \mathcal{A}(s) AtA(s)。下一个时刻,agent收到了一个数值奖励: R t + 1 ∈ R ⊂ R R_{t+1} \in \mathcal{R} \subset \mathbb{R} Rt+1RR,并发现自己处于环境中的新状态 S t + 1 S_{t+1} St+1中, MDP和agent共同给出了类似如下的一个序列或轨迹:
S 0 , A 0 , R 1 , S 1 , A 1 , R 2 , S 2 , A 2 , R 3 , ⋯ ( 3.1 ) S_0, A_0, R_1, S_1,A_1,R_2,S_2,A_2,R_3,\cdots \qquad (3.1) S0,A0,R1,S1,A1,R2,S2,A2,R3,(3.1)
在有限MDP中,状态、动作、奖励的集合( S \mathcal{S} S A \mathcal{A} A R \mathcal{R} R)都只有有限个元素。当随机变量 R t R_t Rt S t S_t St都只依赖于前一个状态和动作的概率分布,也就是对于所有的 s ′ , s ∈ S , r ∈ R , a ∈ A ( s ) s^{\prime},s \in \mathcal{S}, r\in \mathcal{R}, a \in \mathcal{A}(s) s,sS,rR,aA(s), 给定前一个状态和动作的值时,这些随机变量的特定值 s ′ ∈ S s^{\prime} \in \mathcal{S} sS r ∈ R r \in \mathcal{R} rR t t t时刻出现的概率是(公式中的原点表示这是一个定义):
p ( s ′ , r ∣ s , a )   = ˙   P r { S t = s ′ , R t = r ∣ S t − 1 = s , A t − 1 = a } ( 3.2 ) p(s^{\prime},r \mid s, a)\ \dot{=}\ Pr\{S_t=s^{\prime}, R_t=r \mid S_{t-1}=s, A_{t-1}=a \} \qquad (3.2) p(s,rs,a) =˙ Pr{St=s,Rt=rSt1=s,At1=a}(3.2)
这里 S t S_t St R t R_t Rt的每个可能的值的概率值仅取决于前一个状态 S t − 1 S_{t-1} St1和前一个动作 A t − 1 A_{t-1} At1,与更早之前的状态和动作完全无关的性质,就是马尔科夫性(Markov property),马尔科夫性基本贯穿了本书或者强化学习大部分领域。

式3.2中的动态函数 p : S × R × S × A → [ 0 , 1 ] p:\mathcal{S} \times \mathcal{R} \times \mathcal{S} \times \mathcal{A} \rightarrow[0, 1] p:S×R×S×A[0,1]是有四个参数的普通的确定性函数, |符号是表示条件概率的,在这也只是提醒我们,函数p为每个s和a的选择都指定了一个概率分布,即:
∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) = 1 ,   f o r   a l l   s ∈ S , a ∈ A ( s ) ( 3.3 ) \sum_{s^{\prime} \in \mathcal{S}} \sum_{r \in \mathcal{R}} p(s^{\prime}, r \mid s, a) = 1,\ for\ all\ s\in \mathcal{S}, a \in \mathcal{A}(s) \qquad (3.3) sSrRp(s,rs,a)=1, for all sS,aA(s)(3.3)
从四个参数的动态函数 p p p中,我们计算出关于环境的任何其他信息:

  • 状态转移概率(state-transition probabilities):将其表示为一个三个参数的函数 p : S × S × A → [ 0 , 1 ] p:\mathcal{S} \times \mathcal{S} \times \mathcal{A} \rightarrow[0, 1] p:S×S×A[0,1]:
    p ( s ′ ∣ s , a )   = ˙   P r { S t = s ′ ∣ S t − 1 = s , A t − 1 = a } = ∑ r ∈ R p ( s ′ , r ∣ s , a ) ( 3.4 ) p(s^{\prime} \mid s, a)\ \dot{=}\ Pr\{S_t=s^{\prime} \mid S_{t-1}=s, A_{t-1}=a \} = \sum_{r \in \mathcal{R}} p(s^{\prime}, r \mid s, a) \qquad (3.4) p(ss,a) =˙ Pr{St=sSt1=s,At1=a}=rRp(s,rs,a)(3.4)

  • "状态-动作"对的期望奖励: 将其表示为一个两个参数的函数 r : S × A → R r : \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R} r:S×AR:

r ( s , a )   = ˙   E [ R t ∣ S t − 1 = s , A t − 1 = a } = ∑ r ∈ R r ∑ s ′ ∈ S p ( s ′ , r ∣ s , a ) ( 3.5 ) r(s, a)\ \dot{=}\ \mathbb{E}[R_t \mid S_{t-1}=s, A_{t-1}=a \} = \sum_{r \in \mathcal{R}} r \sum_{s^{\prime} \in \mathcal{S}} p(s^{\prime}, r \mid s, a) \qquad (3.5) r(s,a) =˙ E[RtSt1=s,At1=a}=rRrsSp(s,rs,a)(3.5)

  • “状态-动作-下一个动作” 三元组的期望奖励:将其表示为一个三个参数的函数 r : S × A × S → R r : \mathcal{S} \times \mathcal{A} \times \mathcal{S} \rightarrow \mathbb{R} r:S×A×SR:
    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 ) ( 3.6 ) r(s, a, s^{\prime})\ \dot{=}\ \mathbb{E}[R_t \mid S_{t-1}=s, A_{t-1}=a, S_t=s^{\prime}\} = \sum_{r \in \mathcal{R}} r \frac {p(s^{\prime}, r \mid s, a)}{p(s^{\prime} \mid s, a)} \qquad (3.6) r(s,a,s) =˙ E[RtSt1=s,At1=a,St=s}=rRrp(ss,a)p(s,rs,a)(3.6)

3.2 Goals and Rewards

非正式的说,强化学习的目标是最大化它收到的总奖励,也就是说最大化的不仅仅是即时奖励,而是长期的累积奖励,将这个非正式想法可以表述成下述奖励假设(reward hypothesis):

That all of what we mean by goals and purposes can be well thought of as the maximization of the expected value of the cumulative sum of a received scalar signal (called reward).

因为agent总是学习最大化奖励,所以如果我们想让它为我们做某件事,我们设计的奖励必须使agent最大化奖励的同时实现我们的目标。很重要的一点是,我们设计的奖励的方式要能真正表明我们的目标,比如国际象棋agent只有当最终获胜时才能得到奖励,而不是达到某个子目标,比如吃掉对方的子或者控制中心区域。如果实现这些子目标也能得到收益,那么agent可能会以输掉比赛为代价来吃掉对方的子。 所以要记住:奖励信号是你告诉agent你要实现的目标是什么,而不是你要它如何来实现它。

3.3 Returns and Episodes

一般来说,我们寻求的是最大化期望回报(expectied return), 记为 G t G_t Gt, 它被定义为奖励序列的特定函数,最简单的形式下,回报是奖励的和:

G t = R t + 1 + R t + 2 + R t + 3 + ⋯ + R T ( 3.7 ) G_t = {R_{t+1}} + R_{t+2} + R_{t+3}+ \cdots + R_T \qquad (3.7) Gt=Rt+1+Rt+2+Rt+3++RT(3.7)

上式中的 T T T是最终时刻,当agent与环境的交互被被自然的分成子序列,称为序列(episodes), 比如一局游戏,一次走迷宫的旅程等,每一个episode以一个特殊的被称为最终状态(terminal state)的状态结束,接着又以一个标准开始或起始状态分布中的某个状态开始。 这类任务被称为回合任务(episodic tasks),将不包含最终状态的全部状态集记为 S \mathcal{S} S, 将包含最终状态的全部状态集记为 S + \mathcal{S}^+ S+, 注意每个episode的 T T T 可能是不一样。

而在许多场景下agent与环境的交互不会自然分成可辨识的episode,而是没有限制的一直交互下去,比如一个有很长生命周期的机器人,这类任务被称为连续任务(continuing tasks),这时上面3.7式中的最终时间步 T = ∞ T=\infty T=,而我们试图最大化的回报将会是无穷大。此时我们将引入折扣(discounting)这个概念,也就是选择动作 A t A_t At将最大化期望折扣回报(discounted return):
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ = ∑ k = 0 ∞ γ k R t + k + 1 ( 3.8 ) G_t = R_{t+1} + \gamma{R_{t+2}} + \gamma^{2}R_{t+3} + \cdots = \sum_{k=0}^{\infty}\gamma^k R_{t+k+1} \qquad (3.8) Gt=Rt+1+γRt+2+γ2Rt+3+=k=0γkRt+k+1(3.8)

上式中的 γ \gamma γ被称为折扣率(discount rate), 它 0 ≤ γ ≤ 1 0 \le \gamma \le 1 0γ1, 决定了未来奖励在当下的价值:在未来k步收到的奖励相比于立马收到只值 γ k − 1 \gamma^{k-1} γk1

回报的相邻时间步互相关联的性质对强化学习很重要:
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 ( 3.9 ) \begin{aligned} G_t & =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} + \ldots \right) \\ & =R_{t+1} + \gamma G_{t+1} \qquad (3.9) \end{aligned} Gt=Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+=Rt+1+γ(Rt+2+γRt+3+γ2Rt+4+)=Rt+1+γGt+1(3.9)
对于式3.8,如果奖励是不为0的常数,并且 γ < 1 \gamma <1 γ<1,那么回报是有限的,比如当奖励始终为1时,回报为:
G t = ∑ k = 0 ∞ γ k = 1 1 − γ ( 3.10 ) G_t = \sum_{k=0}^{\infty}\gamma^{k} = \frac {1} {1-\gamma} \qquad (3.10) Gt=k=0γk=1γ1(3.10)

3.4 Unified Notation for Episodic and Continuing Tasks

在3.3 节提到了2类任务: episodic tasks 和 continuing tasks, 将其统一表示成下式,包括 T = ∞ T=\infty T= γ = 1 \gamma=1 γ=1(但不是全部)的可能性。
G t   = ˙ ∑ k = t + 1 T γ k − t − 1 R k ( 3.11 ) G_t\ \dot {=} \sum_{k=t+1}^{T} \gamma ^{k-t-1} R_k \qquad (3.11) Gt =˙k=t+1Tγkt1Rk(3.11)

3.5 Policies and Value Functions

价值函数(value function):是状态(或状态-动作对)的函数,它是估计agent在给定状态下能有多大期望回报(how good)(或者在给定状态下的给定动作的期望回报)。

策略(policy)是从状态到每个可能动作的选择概率之间的映射。如果agent在时刻t使用策略 π \pi π, 那么 π ( a ∣ s ) \pi(a \mid s) π(as)就是当 S t = s S_t=s St=s A t = a A_t=a At=a的概率,它为每个 s ∈ S s \in \mathcal{S} sS 定义了一个在 a ∈ A ( s ) a \in \mathcal{A}(s) aA(s)上的概率分布。

  1. 将策略 π \pi π下状态 s s s的价值函数(value function)记为 v π ( s ) v_{\pi}(s) vπ(s),我们将函数 v π v_{\pi} vπ称为策略 π \pi π的状态价值函数(state-value function for policy π \pi π)。 它是从状态 s s s开始,agent按照策略 π \pi π决策的期望回报。 对于MDP,可以正式的将 v π v_{\pi} vπ定义为:

v π ( s )   = ˙   E π [ G t ∣ S t = s ]   =   E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] ,   f o r   a l l   s   ∈ S ( 3.12 ) v_{\pi}(s)\ \dot{=} \ \mathbb{E}_{\pi}[G_t \mid S_t=s]\ = \ \mathbb{E}_{\pi} \left[\sum^{\infty}_{k=0} \gamma^k R_{t+k+1} \mid S_t=s \right],\ for\ all\ s\ \in \mathcal{S} \qquad (3.12) vπ(s) =˙ Eπ[GtSt=s] = Eπ[k=0γkRt+k+1St=s], for all s S(3.12)

上式中的 E π [ . ] \mathcal{E}_{\pi}[.] Eπ[.]表示agent按照策略 π \pi π决策时对一个随机变量的期望,t可以是任意时刻。需要注意在终止状态的价值始终为0。

  1. 将策略 π \pi π下在状态 s s s时采取动作 a a a的价值记为 q π ( s , a ) q_{\pi}(s, a) qπ(s,a),我们函数 q π q_{\pi} qπ称为策略 π \pi π的动作价值函数(action-value function for policy π \pi π)。它是从状态 s s s开始,agent按照策略 π \pi π决策,选择动作 a a 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 ] ( 3.13 ) q_{\pi}(s, a)\ \dot{=} \ \mathbb{E}_{\pi}[G_t \mid S_t=s,A_t=a]\ = \ \mathbb{E}_{\pi} \left[\sum^{\infty}_{k=0} \gamma^k R_{t+k+1} \mid S_t=s, A_t=a \right] \qquad (3.13) qπ(s,a) =˙ Eπ[GtSt=s,At=a] = Eπ[k=0γkRt+k+1St=s,At=a](3.13)

  2. 价值函数也有与式3.9类似的递归关系,对于任何策略 π \pi π和任何状态 s s s s s s的价值与其可能的后继状态的价值之间存在以下关系:
    V π ( s ) = ˙ E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] ( b y ( 3.9 ) ) = ∑ 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 ′ ) ] ,   f o r   a l l   s ∈ S ( 3.14 ) \begin{aligned} V_{\pi}(s) & \dot{=}\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] \qquad (by(3.9)) \\ &= \sum _{a } \pi(a | s) \sum_{s^{\prime}} \sum_{r} p(s^{\prime}, r | s, a) \left[ r + \gamma \mathbb{E}_{\pi}[G_{t+1}|S_{t+1}=s^{\prime}] \right] \\ &= \sum _{a } \pi(a | s) \sum_{s^{\prime},r} p(s^{\prime}, r | s, a) \left[ r + \gamma v_{\pi}(s^{\prime}) \right] ,\ for \ all \ s\in \mathcal{S} \qquad (3.14) \end{aligned} Vπ(s)=˙Eπ[GtSt=s]=Eπ[Rt+1+γGt+1St=s](by(3.9))=aπ(as)srp(s,rs,a)[r+γEπ[Gt+1St+1=s]]=aπ(as)s,rp(s,rs,a)[r+γvπ(s)], for all sS(3.14)
    式3.14被称作 v π v_{\pi} vπ贝尔曼方程(Bellman equation),他表达状态价值和后继状态价值之间的关系

  3. 回溯图(backup diagrams),下图为 v π v_{\pi} vπ的一个回溯图示意,图中的关系是回溯运算的基础。这里的回溯操作是将后继状态(或状态-动作对)的价值信息回传(back to) 当前时刻的状态(或状态-动作对)。图中的空心圆表示一个状态,而实心圆表示一个“状态-动作”对。从根节点的状态s出发,agent可以基于它的策略 π \pi π,采取动作集合中的任一动作(图中是3个动作)。对于每一个动作,环境会根据其动态特性函数p,以一个后继状态 s ′ s^{\prime} s及其收益r作为响应。公式3.14对所有可能性根据其出现概率进行了加权平均,表明了起始状态的价值一定等于后继状态的(折扣)期望值加上对应的奖励期望值。

    在这里插入图片描述

3.6 Optimal Policies and Optimal Value Functions

最优策略(optimal policy):若对于所有的 s ∈ S s \in \mathcal{S} sS π ≥ π ′ \pi \ge \pi^{\prime} ππ,那么有 v π ( s ) ≥ v π ′ ( s ) v_{\pi}(s) \ge v_{\pi}^{\prime}(s) vπ(s)vπ(s),这个不劣于其他所有策略的策略就是最优策略。 尽管最优策略可能不止一个,还是用 π ∗ \pi_{*} π 来表示所有这些最优策略。它们共享相同的状态价值函数,称之为最优状态价值函数(optimal state-value function),记作 v ∗ v_{*} v
v ∗ ( s )   = ˙   m a x π v π ( s ) ( 3.15 ) v_{*}(s) \ \dot{=} \ max_{\pi} v_{\pi} (s) \qquad (3.15) v(s) =˙ maxπvπ(s)(3.15)
最优的策略也共享相同的最优动作价值函数,记为 q ∗ q_{*} q, 其定义为,对于任意 s ∈ S s \in \mathcal{S} sS a ∈ A a \in \mathcal{A} aA
q ∗ ( s , a )   = ˙   m a x π ( s , a ) ( 3.16 ) q_{*}(s, a)\ \dot{=} \ max_{\pi}(s, a) \qquad (3.16) q(s,a) =˙ maxπ(s,a)(3.16)
对于转态-动作对 ( s , a ) (s, a) (s,a) q ∗ ( s , a ) q_{*}(s, a) q(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 ]   ( 3.17 ) q_{*}(s, a)\ = \ \mathbb{E}_{\pi}[R_{t+1} + \gamma v_{*}(S_{t+1}) \mid S_t=s,A_t=a]\ \qquad (3.17) q(s,a) = Eπ[Rt+1+γv(St+1)St=s,At=a] (3.17)

v ∗ v_{*} v是策略的价值函数,那它一定满足式3.14的贝尔曼方程中状态和价值的一致性条件,当然因为它是最优价值函数,所以 v ∗ v_{*} v的一致性条件可以用一种特殊的形式表示,而不拘泥于任何特定的策略,这就是贝尔曼最优方程(Bellman optimality equation),直观上看,贝尔曼方程表达了一个事实:在最优策略下的状态的价值一定等于这个状态下最优动作的期望回报:
v ∗ ( s )   = m a x a ∈ A ( s ) v π ( s )   = m a x a   E π ∗ [ G t ∣ S t = t , A t = a ]   = m a x a   E π ∗ [ R t + 1 + γ G t + 1 ∣ S t = t , A t = a ] ( b y ( 3.9 ) )   = m a x a   E [ R t + 1 + γ v ∗ ( S t + 1 ) ∣ S t = t , A t = a ] ( 3.18 )   = m a x a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] ( 3.19 ) \begin{aligned} v_{*}(s) & \ = max_{a \in \mathcal{A}(s)} v_{\pi} (s) \\ & \ = max_a \ \mathbb{E}_{\pi_*}[G_t \mid S_t=t, A_t=a ] \\ & \ = max_a \ \mathbb{E}_{\pi_*}[R_{t+1} + \gamma G_{t+1} \mid S_t=t, A_t=a ] \qquad (by(3.9)) \\ & \ = max_a \ \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) \mid S_t=t, A_t=a ] \qquad (3.18) \\ & \ = max_a \sum_{s^{\prime}, r} p(s^{\prime}, r| s, a)[r + \gamma v_*(s^{\prime})] \qquad (3.19) \end{aligned} v(s) =maxaA(s)vπ(s) =maxa Eπ[GtSt=t,At=a] =maxa Eπ[Rt+1+γGt+1St=t,At=a](by(3.9)) =maxa E[Rt+1+γv(St+1)St=t,At=a](3.18) =maxas,rp(s,rs,a)[r+γv(s)](3.19)
最后的两个方程(3.18)和(3.19)是 v ∗ v_* v的两个形式, q ∗ q_* q的贝尔曼最优方程是:
q ∗ ( s , a )   = E [ R t + 1 + γ m a x a ′ q ∗ ( S t + 1 , a ′ ) ∣ S t = t , A t = a ]   = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ m a x a ′ q ∗ ( s ′ , a ′ ) ] ( 3.20 ) \begin{aligned} q_{*}(s, a) & \ = \mathbb{E}[R_{t+1} + \gamma max_{a^{\prime}} q_*(S_{t+1}, a^{\prime}) \mid S_t=t, A_t=a ] \\ & \ = \sum_{s^{\prime}, r} p(s^{\prime}, r| s, a)[r + \gamma max_{a^{\prime}}q_*(s^{\prime}, a^{\prime})] \qquad (3.20) \end{aligned} q(s,a) =E[Rt+1+γmaxaq(St+1,a)St=t,At=a] =s,rp(s,rs,a)[r+γmaxaq(s,a)](3.20)
下图的左边是式(3.19), v ∗ v_* v的回溯图,下图的右边是式(3.20), q ∗ q_* q的回溯图。与前面的表示除了图上的弧形外,其他是一样的,弧形表示agent的选择是最优的。

在这里插入图片描述

对于有限MDP来说, v π v_{\pi} vπ的贝尔曼方程(式3.19)和 q π q_{\pi} qπ的贝尔曼方程(式3.20)有独立于策略的唯一解。而对于最优价值函数 v ∗ v_* v来说,任何贪心策略都是最优策略。而给定 q ∗ q_* q ,对于任意状态s, agent只要找到使得 q ∗ ( s , a ) q_*(s, a) q(s,a)最大化的动作a就可以了。

3.7 Optimality and Approximation

计算资源和内存是限制了直接生成最优策略,实际上agent只能在不同程度上近似。

强化学习的在线性质使得可以通过在学习中做出更多努力来为经常遇到的状态做出好的决策来做出最优策略,而这是以对不常遇到的状态做很少努力为代价的。该性质是强化学习不同于其他近似求解MDP方法的关键性质。

3.8 Summary

来总结一下本章学到的强化学习的要素:

  • 强化学习是从交互中学习如何采取行动来达到一个目标。
  • 强化学习的agent和它的环境在一系列离散的时间步长上进行交互。
  • agent做出动作的选择;状态是做出选择的基础;奖励是评估这些选择的基础。
  • agent内部的一切是可知和可控的。它的环境,是完全不可控的,可能或不可能完全可知。
  • 策略是一个随机规则,它是状态的函数。agent通过该规则选择动作。
  • agent的目标是在累积时间内最大化收到的奖励。

强化学习用完备定义的转移概率描述后,就构成了马尔科夫决策过程(Markov decision process(MDP))。一个有限MDP是包含有限的状态、动作、奖励集的MDP。

回报是agent要最大化的未来奖励的函数。它根据不同的任务类型和是否希望对延迟的奖励打折扣,有不同的定义,本书也试图用一组方程适用下面两种不同的任务。

  • 非折扣形式适用于回合式任务(episodic tasks),这类任务中agent和环境的交互可以自然分解成episodes。
  • 折扣形式适用于连续性任务(continuing tasks),这类任务中agent和环境的交互不能被分解成episodes而是一直无限制的持续下去。

关于价值函数:

  • 给定 agent 使用的策略,则策略的值函数可以对每个状态或状态-动作对给出对应的期望回报。
  • 最优价值函数对每个状态或状态-动作对给出了所有策略中最大的期望回报值。
  • 一个价值函数最优的策略叫最优策略。
  • 对于给定的 MDP,状态和状态-动作对对应的最优价值函数是唯一的,但是可以有许多最优策略。
  • 在最优价值函数的基础上,通过贪心算法得到的策略一定是最优策略。
  • Bellman 最优方程是最优价值函数必须满足的特殊一致性条件,原则上最优价值函数是可以通过这个条件相对容易求解得到的。

计算能力和存储资源是一个约束,在大多数实际问题中,环境状态远远不是一个表格能装下的,我们需要近似方法来解决强化学习问题。


参考资料

  1. 《Reinforcement Learning: An Introduction》Sutton, Richard S. and Andrew G. Barto. 第2版, 书籍网站, 笔记中的全部图片都来源于书籍。
  2. https://github.com/ShangtongZhang/reinforcement-learning-an-introduction
  3. https://github.com/YunlianMoon/reinforcement-learning-an-introduction-2nd-edition/tree/master

http://www.niftyadmin.cn/n/408921.html

相关文章

JS 装饰器

JS 装饰器 JavaScript 装饰器是一种以 符号开头的特殊语法&#xff0c;放在目标代码的前面用于包装或扩展代码功能。JavaScript 的装饰器语法目前仍处于提案阶段&#xff0c;现阶段使用的话需要通过 bable 等方式进行编译之后&#xff0c;才能在浏览器正常运行。装饰器分为两…

GPT-4发布!能打败ChatGPT的只有OpenAI自己!

众所周知&#xff0c;chatGPT的对话生成模型用的是GPT3.5&#xff0c;而今发布的GPT4相比GPT3&#xff0c;又有了巨大的升级&#xff1a; 输入仅文本 > 输入文本和图像&#xff0c;具备了强大的识图能力 文字输入限制3k字 > 2.5w字 准确率、对细节的理解能力大幅提升 o…

安装express脚手架出现如下错误:npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer ...

发生此类情况&#xff0c;按照如下方法进行操作&#xff1a; 1.在电脑Windows搜索栏搜索Windows PowerShell,并且以管理员身份运行&#xff1b; 2.在地址后面输入set-ExecutionPolicy RemoteSigned,并且按下回车键&#xff1b; 3.选A&#xff0c;在问题后面填写A&#xff0c;并…

chatgpt赋能python:Python就业前景分析

Python就业前景分析 Python已成为全球最流行的编程语言之一&#xff0c;因其易学、易用、高效、可扩展性强等特点&#xff0c;Python在各个领域都发挥着重要作用。Python的发展和应用迅猛&#xff0c;拥有Python编程经验的工程师在各个领域都面临着广泛的就业机会。 Python的…

小程序中的生命周期有哪些?

一、小程序中生命周期的分类 小程序中的生命周期有以下三种&#xff1a; &#xff08;1&#xff09;应用生命周期 小程序的生命周期函数是在app.js中调用&#xff0c;通过App(Object)函数用来注册一个小程序&#xff0c;指定其小程序的生命周期回调 &#xff08;2&#xff09…

第十八届智能车之PID算法以及上位机调节

当前正在备战第十八届智能车&#xff0c;记录一下学习和实践的过程&#xff0c;这一篇主要是讲pid算法以及调试。 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&#xff09;、Differential&#xff08;微分&#xff09;的缩写。 PI…

ChatGPT自动写了个AI办公office word插件,低配copilot,程序员看了焦虑。

背景&#xff1a; 最近公司文案同事提出一个需求&#xff0c;希望在文案编辑工作上使用AI工具&#xff0c;提高生产效率&#xff0c;当然也受ChatGPT这波潮流影响。ok,既然需求来了&#xff0c;作为技术部门那只能接下需求了。省略需求调研过程N个字...。总结起来&#xff1a;1…

Linux知识点总结(思维导图,建议收藏)

Linux知识点总结&#xff08;内附思维导图&#xff0c;建议收藏&#xff09; 文章的内容如下&#xff1a; 一、基础篇 二、帮助命令 三、文件与目录管理&#xff08;一&#xff09; 四、文件与目录管理&#xff08;二&#xff09; 五、Vim文本编辑器 六、文本与文件查…