Reinfocement Learning 学习笔记PartⅠ

文章目录

  • Reinfocement Learning
    • 一、基本概念
    • 二、贝尔曼公式(bellman equation)
      • 2.1 为什么return重要
      • 2.2 state value function的定义
      • 2.3 贝尔曼公式推导
      • 2.4 如何求解贝尔曼公式
      • 2.5 Action value的定义
    • 三、贝尔曼最优公式(bellman optimality equation)
      • 3.1 最优策略和公式推导
      • 3.2 公式求解
      • 3.3 最优策略的有趣性质
    • 四、值迭代和策略迭代(Value Iteration & Policy Iteration)
      • 4.1 值迭代算法
      • 4.2 策略迭代算法
      • 4.3 二者区别
      • 4.4 截断策略迭代算法(Truncated Policy Iteration)
    • 五、蒙特卡洛方法(Monte Carlo Learning)
      • 5.1 有模型与免模型强化学习
      • 5.2 MC Basic算法
      • 5.3 MC Exploring Starts算法
      • 5.4 MC Epsilon-Greedy算法

Reinfocement Learning

一、基本概念

  1. 强化学习(Reinfocement Learning):智能体(agent)可以在与复杂且不确定的环境进行交互时,尝试使所获得的奖励最大化的算法(寻找最优策略)。

  2. 动作(action):环境接收到的智能体基于当前状态的输出,即智能体采取什么动作。

  3. 状态(state):智能体从环境中获取的状态。

  4. 状态转移(state transition):采取动作,智能体从一个状态转变到另一个状态。

  5. 策略(policy):对每个状态而言,智能体会用策略来选取下一步的动作。

    • 随机性策略(stochastic policy): π \pi π 函数,即 π ( a ∣ s ) = p ( a t = a ∣ s t = s ) \pi(a|s)=p(a_t=a|s_t =s) π(as)=p(at=ast=s)。输入一个状态 s s s,输出一个概率。

    • 确定性策略(deterministic policy):智能体直接采取最有可能的动作。

  6. 奖励(reward):智能体从环境中获取的反馈信号,这个信号指定了智能体在某一步采取了某个策略以后是否得到奖励,以及奖励的大小。

  7. 轨迹(trajectory):状态—动作—奖励链

image-20231211141123277 image-20231211141213075
  1. 回报(return):奖励的逐步叠加。如上述 t r a j e c t o r y trajectory trajectory r e t u r n return return 0 + 0 + 0 + 1 = 1 0+0+0+1=1 0+0+0+1=1

  2. 折扣回报(discounted return):引入了一个折扣因子(discounted rate) γ \gamma γ,则折扣回报 G t G_t Gt为:
    G t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + γ 3 r t + 4 + . . . γ T − t + 1 r T G_t=r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\gamma^3 r_{t+4}+...\gamma^{T-t+1}r_T Gt=rt+1+γrt+2+γ2rt+3+γ3rt+4+...γTt+1rT

    • 有些马尔可夫过程带环,它并不会终结,我们想避免无穷的奖励

    • 把折扣因子设为0,我们就只关注当前的奖励;把折扣因子设为1,对未来的奖励并没有打折扣,未来获得的奖励与当前获得的奖励是一样的

  3. episode:agent在环境里面执行某个策略从开始到结束(到达terminal state)这一过程。

  4. 马尔可夫决策过程(Markov decision process, MDP)

    key elements of MDP:

    • 集合(sets)

      • state:状态的集合 S S S
      • action:动作的集合 A ( s ) A(s) A(s),即在状态 s s s 下,智能体可采取的动作有哪些
      • reward:奖励的集合 R ( s , a ) R(s, a) R(s,a),即在当前状态 s s s 下,采取动作 a a a 将会获得多少奖励
    • 概率分布(probabiliy distribution)

      • state transition probability:在状态 s s s 下,采取动作 a a a,转移到下一状态 s ′ s' s 的概率,即 p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)
      • reward probability:在状态 s s s 下,采取动作 a a a,获得奖励 r r r 的概率,即 p ( r ∣ s , a ) p(r|s,a) p(rs,a)
    • 策略(policy):在状态 s s s 下,采取动作 a a a 的概率,即 π ( a ∣ s ) \pi(a|s) π(as)

    • 马尔可夫性质(Markov property):memoryless property,下一状态和奖励只跟当前状态和采取的动作有关,跟之前所有的都无关。
      p ( s t + 1 ∣ a t + 1 , s t , . . . , a 1 , s 0 ) = p ( s t + 1 ∣ a t + 1 , s t ) p ( r t + 1 ∣ a t + 1 , s t , . . . , a 1 , s 0 ) = p ( r t + 1 ∣ a t + 1 , s t ) p(s_{t+1}|a_{t+1},s_t,...,a_1,s_0)=p(s_{t+1}|a_{t+1},s_t) \\ p(r_{t+1}|a_{t+1},s_t,...,a_1,s_0)=p(r_{t+1}|a_{t+1},s_t) p(st+1at+1,st,...,a1,s0)=p(st+1at+1,st)p(rt+1at+1,st,...,a1,s0)=p(rt+1at+1,st)

​ 如图为一个markov process,而不是markov decision process,因为policy已经确定

image-20231211144517020

二、贝尔曼公式(bellman equation)

2.1 为什么return重要

image-20231211145858937

r e t u r n return return 可作为评估策略好坏的依据。

由图可知, r e t u r n 1 > r e t u r n 3 > r e t u r n 2 return_1>return_3>return_2 return1>return3>return2,故策略1是最好的,策略2是最差的。

2.2 state value function的定义

折扣回报(discounted return):
G t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + γ 3 r t + 4 + . . . γ T − t + 1 r T G_t=r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\gamma^3 r_{t+4}+...\gamma^{T-t+1}r_T Gt=rt+1+γrt+2+γ2rt+3+γ3rt+4+...γTt+1rT
s t a t e v a l u e f u n c t i o n state \ value \ function state value function 就是折扣回报(discounted return)的期望。即从一个状态出发,agent能获得的折扣回报的期望:
v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s)=\mathbb{E}[G_t|S_t=s] vπ(s)=E[GtSt=s]

  • 这是关于状态 s s s 的函数,从不同的状态出发,得到的 t r a j e c t o r y trajectory trajectory 是不同的, d i s c o u n t e d r e t u r n discounted\ return discounted return 的期望也是不同的

  • 这是基于策略 π \pi π 的函数,采取不同的策略,得到的 t r a j e c t o r y trajectory trajectory 是不同的, d i s c o u n t e d r e t u r n discounted\ return discounted return 的期望也是不同的

  • 当一个 s t a t e v a l u e f u n c t i o n state \ value \ function state value function 比较大时,代表这个状态是比较有价值的,因为从这个状态出发会得到更多的 r e t u r n return return

  • r e t u r n return return 是由一条确定 t r a j e c t o r y trajectory trajectory 得到的,而 s t a t e v a l u e state \ value state value 是从当前状态出发,可能会得到多条 t r a j e c t o r y trajectory trajectory,对其 r e t u r n return return 求平均

image-20231211154037091

2.3 贝尔曼公式推导

image-20231211160835380

E [ R t + 1 ∣ S t = s ] \mathbb{E}[R_{t+1}|S_t=s] E[Rt+1St=s] 表示的是当前奖励的平均, E [ G t + 1 ∣ S t = s ] \mathbb{E}[G_{t+1}|S_t=s] E[Gt+1St=s] 表示下一回报的平均

由此可得贝尔曼公式:

image-20231211160916907

  • 贝尔曼公式就是 s t a t e v a l u e state \ value state value(的表现形式)
  • 贝尔曼公式描述了不同 s t a t e v a l u e state \ value state value 之间的关系
  • 对于状态空间中的所有状态均成立
  • 贝尔曼公式依赖于给定的策略 π \pi π,这样才能求解
  • 计算状态价值函数的过程就是策略评估( p o l i c y e v a l u a t i o n policy \ evaluation policy evaluation
  • 其实直观上是非常好理解的,因为 G t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + γ 3 r t + 4 + . . . γ T − t + 1 r T = r t + 1 + γ G t + 1 G_t=r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+\gamma^3 r_{t+4}+...\gamma^{T-t+1}r_T = r_{t+1}+\gamma G_{t+1} Gt=rt+1+γrt+2+γ2rt+3+γ3rt+4+...γTt+1rT=rt+1+γGt+1,我要求 G t G_t Gt 的期望,其实就是求即刻奖励的期望和下一折扣回报的期望。

2.4 如何求解贝尔曼公式

image-20231211164752267

对于 n n n 个状态而言:

image-20231211165009830

用矩阵形式表示(假设共有四个状态):

image-20231211165128163

例子:

image-20231211165522108

2.5 Action value的定义

s t a t e v a l u e state \ value state value 关注的是从一个状态出发, a g e n t agent agent 能获得的折扣回报的期望。它体现了每个状态的价值。

a c t i o n v a l u e action \ value action value 关注的是从状态出发,采取某个 a c t i o n action action 能获得的折扣回报的期望。它体现了每个动作的价值。有如下数学定义:
q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] q_\pi(s,a)=\mathbb{E}[G_t|S_t=s,A_t=a] qπ(s,a)=E[GtSt=s,At=a]
两者可以互相求解:

image-20231211172630853

因此(上图有推导):

image-20231211172846296

三、贝尔曼最优公式(bellman optimality equation)

3.1 最优策略和公式推导

最优策略:当一个策略 π ∗ \pi^* π 的所有状态对应的 s t a t e v a l u e state \ value state value 值都大于其他任何一个策略时,即 $v_\pi^*(s)>v_\pi(s) $ 时,称 π ∗ \pi^* π 是最优策略。

贝尔曼最优公式,就是当贝尔曼公式中的策略不再给定,而是要求解采用什么策略是最优的一个过程,知道了最优策略过后,当然可以求出最优的 s t a t e v a l u e state \ value state value。贝尔曼最优公式就是当给定的策略为最优策略时的一个特殊的贝尔曼公式:

image-20231211185500495

假设所有 q ( s , a ) q(s,a) q(s,a) 已知时,一定存在一个最大的 q ( s , a ) q(s,a) q(s,a) ,我们想让 v ( s ) v(s) v(s) 最大,那就是让最大的 q ( s , a ) q(s,a) q(s,a) 所占的权重最大,而权重代表概率,最大为1。所以采取的策略就是让 a c t i o n v a l u e action \ value action value 最大的 a c t i o n action action 发生概率为1,此时得到的 s t a t e v a l u e state \ value state value 值即为 a c t i o n v a l u e action \ value action value

image-20231211190752604

image-20231211190817568

以矩阵形式表示为:

image-20231212121331053

3.2 公式求解

基于 c o n t r a c t i o n m a p p i n g t h e o r e m contraction \ mapping \ theorem contraction mapping theorem

image-20231212121443469

  1. 对任意状态 s s s,都先给出一个估计值 v k ( s ) v_k(s) vk(s) k k k 表示迭代次数)
  2. 根据 a c t i o n v a l u e action \ value action value 公式可以求解出 q k ( s , a ) q_k(s,a) qk(s,a)
  3. 根据 m a x max max 可以求解出 q k ( s , a ) q_k(s,a) qk(s,a) 对应的策略 π \pi π(就是选择最大的 q k ( s , a ) q_k(s,a) qk(s,a) 的策略,此时得到当前的最优策略 π ∗ \pi^* π
  4. m a x a q k ( s , a ) max_{a} \ q_k(s,a) maxa qk(s,a) 的值计算出来带入 v k + 1 ( s ) v_{k+1}(s) vk+1(s)
  5. 不断迭代至 v ∗ v^* v 收敛(即 v k ( s ) v_k(s) vk(s) v k + 1 ( s ) v_{k+1}(s) vk+1(s) 的差值很小时)

例子:

image-20231211194913969

表格中存储的是 a c t i o n v a l u e action \ value action value,此表即为 Q − t a b l e Q-table Qtable

image-20231212192341524

第一轮迭代 k = 0 k=0 k=0,假设 v 0 ( s 1 ) = v 0 ( s 2 ) = v 0 ( s 3 ) = 0 v_0(s_1)=v_0(s_2)=v_0(s_3)=0 v0(s1)=v0(s2)=v0(s3)=0(下标0表示迭代次数 k k k),可得表格:

image-20231211195239036

由表得到第一轮迭代的最优策略和最优 s t a t e v a l u e state \ value state value

image-20231211195335038

第二轮迭代 k = 1 k=1 k=1,将第一轮的最优 s t a t e v a l u e state \ value state value 带入得到新的表格:

image-20231211195444517

由表得到第二轮迭代的最优策略和最优 s t a t e v a l u e state \ value state value

image-20231211195509800

不断迭代下去,直到第 k k k 轮的 v ∗ v^* v 收敛可停止迭代,得到最终的最优策略和最优 s t a t e v a l u e state \ value state value

3.3 最优策略的有趣性质

影响最优策略的因素:奖励 r e w a r d reward reward 和折扣因子 γ \gamma γ 会影响到最优策略

当奖励发生线性变化时,最优策略并不会改变

Q Q Q:为了寻找最短路径,防止绕远路有必要将每走一步的 r e w a r d reward reward 设置为负数吗? A A A:没有必要,因为不仅是 r e w a r d reward reward 限制,折扣因子也会限制,绕远路意味着拿到奖励会打折的非常厉害,为了获取最大 s t a t e v a l u e state \ value state value 肯定选近路。

贝尔曼最优公式一定存在解,且解唯一(最优策略不唯一,最优 s t a t e v a l u e state \ value state value 唯一)

四、值迭代和策略迭代(Value Iteration & Policy Iteration)

二者都属于 d y n a m i c p r o g r a m m i n g dynamic \ programming dynamic programming 的方法(或者说是 m o d e l − b a s e d model-based modelbased 的方法)

4.1 值迭代算法

其实就是贝尔曼最优公式的求解过程。

s t e p 1 : p o l i c y u p d a t e step1:policy \ update step1policy update

由前面的贝尔曼最优公式可知,最优策略的数学表示为:

image-20231212122343218

a r g m a x a f ( a ) arg \ \underset {a}{max}f(a) arg amaxf(a) 表示 f ( a ) f(a) f(a) 取最大时 a a a 的值。故上述式子的含义为后面这一长串(即 s t a t e v a l u e state \ value state value)取最大值时所采取的策略,即最优策略,表示为:

image-20231212122952493

即采取的策略为选取对应 q k ( s , a ) q_k(s,a) qk(s,a) 最大的那个 a c t i o n action action,概率为1。

s t e p 2 : v a l u e u p d a t e step2:value \ update step2value update

此时策略已定,贝尔曼最优公式转变为贝尔曼公式:

image-20231212123648331

得到最优 s t a t e v a l u e state \ value state value,就是最大的 a c t i o n v a l u e action \ value action value,因为最优策略选取最大 a c t i o n v a l u e action \ value action value 对应 a c t i o n action action 的概率为1,所以只有一条 t r a j e c t o r y trajectory trajectory

image-20231212123848504

概括为先定 v k v_k vk q k q_k qk 再求 π k + 1 \pi_{k+1} πk+1 最后得到 v k + 1 v_{k+1} vk+1,迭代至其收敛。

image-20231212124058373

完整例子:

image-20231212124502755 image-20231212124516815

表格中存储的是 a c t i o n v a l u e action \ value action value,此表即为 Q − t a b l e Q-table Qtable

image-20231212124553322

第一轮迭代:

image-20231212124717365

表中状态为 s 1 s_1 s1 时选的动作 a 3 a_3 a3 a 5 a_5 a5 得到的 a c t i o n v a l u e action \ value action value 值相同,此时随机选择一个,假设为 a 5 a_5 a5

image-20231212124744738 image-20231212124817341

得到新的策略图:

image-20231212124858020

第二轮迭代:

image-20231212125113474

得到新的策略图:

image-20231212125206452

继续往下迭代,知道 ∣ ∣ v k − v k + 1 ∣ ∣ ||v_k-v_{k+1}|| ∣∣vkvk+1∣∣ 很小时,即收敛到 v ∗ v^* v 时停止。

4.2 策略迭代算法

image-20231212130058298

P E = P o l i c y E v a l u a t i o n PE=Policy \ Evaluation PE=Policy Evaluation P I = P o l i c y I m p r o v e m e n t PI=Policy \ Improvement PI=Policy Improvement

s t e p 1 : p o l i c y e v a l u a t i o n step1:policy \ evaluation step1policy evaluation

给定策略,求解贝尔曼方程,不断迭代 j j j 轮至 v π k v_{\pi_k} vπk 收敛:

image-20231212131308582

s t e p 2 : p o l i c y i m p r o v e m e n t step2:policy \ improvement step2policy improvement

根据上一步得到的 s t a t e v a l u e state \ value state value 求解贝尔曼最优公式,更新策略:

image-20231212131700963

同值迭代一样,选取最大 a c t i o n v a l u e action \ value action value 对应 a c t i o n action action,使其概率为1更新策略:

image-20231212131841654 image-20231212131852982

简单例子:

image-20231212132325326

第一步策略评估,即求解贝尔曼公式:

image-20231212132550172

因为例子比较简单,可以直接联系方程组解出:

image-20231212132632445

如果当式子较难解出,一般采用迭代的算法让其收敛,即当 v π k ( j + 1 ) v_{\pi_k}^{(j+1)} vπk(j+1) v π k ( j ) v_{\pi_k}^{(j)} vπk(j) 差值很小时:

image-20231212132737869

第二部策略优化,将上述得到的 s t a t e v a l u e state \ value state value 带入,此时就跟值迭代算法一样了:

image-20231212133025711

得到新的策略:

image-20231212133244289

4.3 二者区别

image-20231212160542710 image-20231212160939631

上图中当 v v v 的下标为 π \pi π 时,表示的是由确切的策略求解出的 s t a t e v a l u e state \ value state value;当 v v v 的下标为数字时,表示的只是迭代过程中的一个中间量,是用这个中间两来不断逼近真正的 s t a t e v a l u e state \ value state value,可以看作是未收敛的 s t a t e v a l u e state \ value state value

策略迭代是由初始时给定的策略来计算出 s t a t e v a l u e state \ value state value,而值迭代是直接给出一个估计值,之后求解贝尔曼最优方程时的步骤时策略迭代带入的是由确切的策略通过求解贝尔曼方程出的 s t a t e v a l u e state \ value state value,而值迭代带入的是未收敛的 s t a t e v a l u e state \ value state value。相当于在每一轮迭代开始前,策略迭代多了一步求 s t a t e v a l u e state \ value state value 的过程,这个过程也是一个迭代的过程。

4.4 截断策略迭代算法(Truncated Policy Iteration)

image-20231212162955441 image-20231212162916364

五、蒙特卡洛方法(Monte Carlo Learning)

5.1 有模型与免模型强化学习

有模型(model-based)强化学习 a g e n t agent agent 通过学习状态的转移来采取动作。具体来说,当 a g e n t agent agent 知道状态转移函数和奖励函数(即 M D P MDP MDP 中的两个概率分布)后,它就能知道在某一状态下执行某一动作后能带来的奖励和环境的下一状态。

免模型(model-free)强化学习 a g e n t agent agent 没有直接去估计状态的转移,也没有得到环境的具体转移变量,它通过学习状态价值函数和策略函数进行决策。免模型强化学习没有对真实环境进行建模, a g e n t agent agent 只能在真实环境中通过一定的策略来执行动作,等待奖励和状态迁移,然后根据这些反馈信息来更新动作策略,反复迭代直到学习到最优策略。

用通俗的话解释大数定理:在不知道模型参数的情况下,经过多次实验,将所得参数的平均近似为期望。大数定理是免模型的,而蒙特卡洛估计也是免模型的,二者不谋而合。

5.2 MC Basic算法

如何做到从有模型到免模型的转变,或者说如何在不知道两个概率分布的条件下得到 a c t i o n v a l u e action \ value action value 进而更新策略呢?

为了回答上述问题,我们需要借助 p o l i c y i t e r a t i o n policy \ iteration policy iteration

即问题转变为:如何把 p o l i c y i t e r a t i o n policy \ iteration policy iteration 这种 m o d e l − b a s e d model-based modelbased 算法转变为 m o d e l − f r e e model-free modelfree 的算法呢?

算法中涉及两个概率分布的只有 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a),所以问题转换为如何求这个 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a)

image-20231212171637543

回到 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a) 最初始的定义, q π k ( s , a ) = E [ G t ∣ S t = s , A t = a ] q_{\pi_k}(s,a)=\mathbb{E}[G_t|S_t=s,A_t=a] qπk(s,a)=E[GtSt=s,At=a],也是要求期望,何不用蒙特卡洛估计呢?

  • ( s , a ) (s,a) (s,a) 开始,采取策略 π k \pi_k πk,生成一个 e p i s o d e episode episode
  • 一个 e p i s o d e episode episode r e t u r n return return 称为 g ( s , a ) g(s,a) g(s,a)。( e p i s o d e episode episode 长度的选取会影响到策略的选择, e p i s o d e l e n g t h episode \ length episode length 越大,离目标越远的状态也能找到正确的策略。
  • g ( s , a ) g(s,a) g(s,a) 即为 G t G_t Gt 的一个采样(sample)
  • 对每一个 s s s 的每一个 a a a,生成一系列 e p i s o d e episode episode,对其每个 r e t u r n return return 相加求平均,近似为 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a),即 q π k ( s , a ) = E [ G t ∣ S t = s , A t = a ] ≈ 1 N ∑ N i = 1 g ( s , a ) q_{\pi_k}(s,a)=\mathbb{E}[G_t|S_t=s,A_t=a]\approx \frac{1}{N}\underset{i=1}{\overset{N} \sum} g(s,a) qπk(s,a)=E[GtSt=s,At=a]N1i=1Ng(s,a)
  • 更新策略

其实就是用蒙特卡洛估计来直接得到 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a),然后进行 p o l i c y i m p r o v e m e n t policy \ improvement policy improvement。MC Basic算法需要采样的 e p i s o d e episode episode 过多,效率(efficiency)较低。

为什么不用 v a l u e i t e r a t i o n value \ iteration value iteration 进行转换呢?因为 v a l u e i t e r a t i o n value \ iteration value iteration 事先不知道策略,也就无法生成 r e t u r n return return 作为采样结果。

例子:

image-20231212174236174

这个例子其实是有模型的,但并不妨碍介绍蒙特卡洛的思想。以 s 1 s_1 s1 为例,因为此时给定的策略概率都为1,所以采样一次即可(即使采样多次结果平均下来结果还是和采样一次一样)。先是求状态 s 1 s_1 s1 每个动作对应的 a c t i o n v a l u e action \ value action value

image-20231212175713688 image-20231212175730404

然后根据 a c t i o n v a l u e action \ value action value 更新策略:

image-20231212175837000

5.3 MC Exploring Starts算法

核心思想,在每个 e p i s o d e episode episode 中充分利用数据:

image-20231212181712688

现在要求得每一个 ( s , a ) (s,a) (s,a) a c t i o n v a l u e action \ value action value 有两种方法,一种是从 ( s ′ , a ′ ) (s',a') (s,a) 开始经历一个 e p i s o d e episode episode,另一种是从别的 ( s , a ) (s,a) (s,a) 开始在其 e p i s o d e episode episode 中找到我需要的 ( s , a ) (s,a) (s,a)。但第二种方法是不确定会不会经过我需要的这样一个 ( s , a ) (s,a) (s,a) 的。

5.4 MC Epsilon-Greedy算法

如何确保MC Exploring Starts算法中提到的,可以从别的 ( s , a ) (s,a) (s,a) 开始在其 e p i s o d e episode episode 中找到我需要的 ( s , a ) (s,a) (s,a) 呢?

采用 ϵ − g r e e d y \epsilon-greedy ϵgreedy 策略,保证在选择 a c t i o n action action 时是 s t o c h a s t i c stochastic stochastic 的,这样做能保证每个 ( s , a ) (s,a) (s,a) 都有概率能取到(即使概率较小,较大的概率还是取最大的 a c t i o n v a l u e action \ value action value 对应的 a c t i o n action action ),保证其有 e x p l o r a t i o n exploration exploration

image-20231212184752715

如何将其与前面所讲的两个算法结合起来。其实就是在求出了 q π k ( s , a ) q_{\pi_k}(s,a) qπk(s,a) 后进行 p o l i c y i m p r o v e m e n t policy \ improvement policy improvement 时,采用 ϵ − g r e e d y \epsilon-greedy ϵgreedy 策略:

image-20231212185524763

这样就可以做到从一个或几个 ( s , a ) (s,a) (s,a) 出发得到的 e p i s o d e episode episode 能覆盖到几乎所有的 ( s , a ) (s,a) (s,a)

注意 ϵ \epsilon ϵ 的值不宜过大:

image-20231212192053833

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山西电力市场日前价格预测【2023-12-11】

日前价格预测 预测说明: 如上图所示,预测明日(2023-12-11)山西电力市场全天平均日前电价为535.55元/MWh。其中,最高日前电价为689.29元/MWh,预计出现在09:00。最低日前电价为422.38元/MWh,预计…

许战海战略文库|美国品牌实践:从品类品牌向产业品牌转变

引言:《品类战略》是上世纪70年代特劳特和里斯所推崇的定位理论,强调“品类聚焦是唯一正确的战略“新品类要使用新品牌”等战略思想,并对品牌延伸等多元化品牌进行批判,并由中国代理人传入中国,从2002年至今滋生了众多品类品牌,阻碍中国经济发展。 在今天…

是谁,在参与数十亿美元的量子市场?

量子技术是最不为人们所了解、但却最有希望在未来几年颠覆商业和产业的进步技术之一。 很少有像量子信息科学市场这样小的市场能引起如此热烈的讨论。上周,根据Hyperion Research在圣克拉拉举行的Q2B硅谷会议上发布的年度量子计算(QC)市场更新…

为养宠家庭量身打造,352 X63 Pet宠物专效空气净化器“养宠安馨,人宠共护”

当下,养宠人群日益增多,宠物在给家庭带来了欢乐的同时,也产生了一系列困扰,如何在健康环境中快乐养宠,成为很多家养宠家庭的新需求。成立于2014年的北京三五二环保科技有限公司是一家立足于家庭洁净空气和安全用水领域的科技创新型公司。以“安全、健康、舒适”等消费需求为核心…

桌面便签软件哪个好用?可以放在桌面上的便签软件使用哪个

在现代快节奏的生活中,我们时常感到生活与工作的节奏难以协调。繁琐的工作日程与待办任务繁杂交织,往往让我们束手无策,无法高效地进行协调与分配。 桌面便签工具成为了我们处理这些挑战的得力助手。它不仅能够随时提醒我们完成任务&#xf…

如何本地搭建WampServer并结合cpolar内网穿透实现远程访问

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境,是一组常用来…

win10编译golang程序报病毒错误

错误为command-line-arguments: open C:\Users\ADMINI~1\AppData\Local\Temp\go-build435947867\b001\exe\a.out.exe: Operation did not complete successfully because the file contains a virus or potentially unwanted software. 解决办法,将Local/Temp目录添…

【Linux】之进程间通信

0x00.概述 本文将基于linux系统介绍进程间通信的几种方式,包括匿名管道,命名管道,systemV的共享内存等,全是干货,无废话 0x01.匿名管道 匿名管道: 通过调用 pipe 函数创建的,它在内存中创建一…

【毕业设计之Android系列】智能家居远程控制系统设计

智能家居远程控制系统设计 摘 要 该系统是一种基于Android平台的应用程序,可以通过网络连接实现对家居设备的远程控制。其主要功能包括家居设备的开关控制、温度调节、音乐播放、安防监控等。系统的设计需要考虑硬件、软件、数据传输、安全性和扩展性等因素&#xf…

基于OHTPPS实现网站HTTPS访问

前言 笔者近期为网站配置HTTPS的域名,查找了大量方案,最近寻得一个不错的解决方式,通过OHTTPS获取免费的证书并部署到阿里云服务器上。 步骤 到OHTTPS官网注册账号 官方地址如下,读者可以先行到官网注册一下账号,笔…

基于级联式逆残差网络的遥感图像轻量目标检测算法

源自:电子学报 作者:陈立 张帆 郭威 黄赟 李继中 “人工智能技术与咨询” 发布 摘 要 遥感场景下的高实时目标检测任务具有重要的研究价值与应用意义. 针对当前遥感图像目标检测模型由于目标多角度、排列密集以及背景复杂从而导致检测速度慢的…

Science Robotics封面文章:瑞士洛桑联邦理工学院研制仿生鳄鱼和仿生巨蜥机器人,走进非洲尼罗河

动物表现出多种多样的形态和大小,通常与它们所处的介质有关。它们可以游泳、爬行、行走、奔跑、跳跃、飞行和滑翔等。进化使它们复杂而有效地结合不同类型的运动来逃避捕食者、交配或寻找食物 。作为科学家去研究如此丰富的动物运动,可以了解自然界的一些…

外汇天眼:ACY Securities口碑爆炸疯狂滑点,你中枪了吗?

都说判断一个平台是否值得信赖投资,除了看它的监管牌照、创建年限,就是看它的口碑、声誉怎么样,因为即使平台拥有了正规的监管牌照、平台创立年限久远,同样会存在很多交易安全隐患,特别是平台出现大量客诉却一直不正面…

在vue3代码中,进行if判断的时候,使用值的时候忘记使用.value而导致的问题

问: 回答: 所以,我的代码中进行isAndroid的值的判断的时候,判断它是否是false的时候,需要加上isAndroid.value才能获取到,否则获取不到, 然而写法错误,却还是进入了安卓的判断, 问: 回答:

vue配置path路径别名

// vue.config.js const path require(path);//引入path模块 function resolve(dir) {return path.join(__dirname, dir) }默认代表src configureWebpack: {resolve: {extensions: [.js, .vue, .json],alias: {: resolve(src),~: process.cwd(),public: resolve(public),compo…

Chart 9 Adreno GPU的 OpenCL 扩展

文章目录 前言9.1 OS-dependent vendor extensions9.1.1 Performance hint (cl_qcom_perf_hint)9.1.2 Priority hint for context creation (cl_qcom_priority_hint)9.1.3 Recordable command queue (cl_qcom_recordable_queues)9.1.4 cl_qcom_protected_context9.1.5 cl_qcom_…

深入理解网络 I/O 多路复用:Epoll

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

Odoo:行业领先的免费开源供应链管理系统

先进且开源的供应链管理系统和全球供应链协作优化方案 为满足复杂的供应链和库存管理要求,如今绝大多数企业都不得不部署多个供应链管理软件和库存管理系统软件。如何利用一个库存管理与供应链管理软件,跨地区、跨时区地管理现代供应链?Odoo…

使用入耳耳机对耳朵有损害吗?入耳耳机和骨传导耳机哪款更值得入手?

由于入耳式耳机的传声原理,长时间使用是会对耳朵造成损害的,骨传导耳机相比与入耳耳机,不用入耳佩戴,还能在一定程度上保护听力,所以骨传导耳机更值得入手。 一、入耳耳机和骨传导耳机有什么不同 人的听觉系统分为搜…