【强化学习】一文读懂,on-policy和off-policy

一文读懂,on-policy和off-policy

我来谈一下我的理解,不一定对。本文以 Sarsa 和 Q-learning 为例

  • Sarsa:on-policy
  • Q-learning:off-policy

1. 什么是on-policy和off-policy?

我们有两个策略:行动策略和目标策略

  • on-policy: 行动策略目标策略是同一个策略
  • off-policy: 行动策略目标策略不是同一个策略

2. 什么是行动策略和目标策略?

  • 行动策略:就是每一步怎么选动作的方法,它产生经验样本
  • 目标策略:我们选什么样更新方式,去寻找最好的Q表

3. 以 Sarsa 和 Q-learning 为例

3.1 算法讲解

在这里插入图片描述
目标:更新S环境下,做出a动作后的Q(s,a)

① Q-learning算法和Sarsa算法都是从状态s开始,根据当前的Q表使用一定的策略(** Epsilon gready​)选择一个动作a**。

② 然后观测到下一个状态s’,此时这个状态下有个奖励r

③ 并再次根据Q表选择动作a’。只不过两者选取a’的方法不同

  • Q-learning: 使用贪心策略(gready​),即选取值最大的a’,此时只是计算出哪个a‘可以使Q(s,a)取到最大值,并没有真正采用这个动作a‘
  • Sarsa : 仍使用策略策略(Epsilon gready​),并真正采用了这个动作a‘ 。

④ 然后带入式子进行更新

3.2 总结

  • Q-learning: 行动策略是E-gready,但是目标策略,是gready,所以是off-policy
  • Sarsa: 行动策略是E-gready,但是目标策略,是E-gready,所以是on-policy

4 一些问题的个人理解

不一定对

4.1 为什么行动策略是产生经验样本

行动策略就是,用这个策略来指挥向哪里走。
在这里插入图片描述

比如 :

读书-读书-读书-奖励
读书-读书-电视-批评

行动策略决定怎么走,每个环境不同的动作,都是一条更新Q表的路径,也都是一个经验样本

4.2 off-policy,on-policy各自优缺点

off-policy学习的优点是:

  • 它可以从任何来源的数据中学习,不需要每次都使用最新的策略来收集数据,这样可以提高数据利用率和学习效率
  • 它可以同时探索和利用,因为它有两个策略:一个用于探索,一个用于利用。这样可以避免陷入局部最优解。
  • 它可以更容易地实现函数逼近和经验回放,因为它不依赖于当前执行的策略。

Off-policy学习的缺点是:

  • 它可能需要更多的计算资源和内存空间,因为它需要维护一个数据缓冲区和两个策略。
  • 它可能需要使用重要性采样或其他技术来纠正不同策略之间的偏差,这可能增加了复杂度和方差。
  • 它可能难以保证收敛性和稳定性,特别是在非静态环境中。

On-policy学习的优点是:

  • 它比较简单和直观,因为它只有一个策略,并且只从当前执行的策略中学习。
  • 它可以保证收敛到最优策略或接近最优策略的结果,如果满足一定的条件(如足够多的探索)。
  • 它可以适应动态变化的环境,因为它总是使用最新的数据来更新策略。

On-policy学习的缺点是:

  • 它可能浪费了很多有价值的数据,因为它只从当前执行的策略中学习,并且每次都需要使用最新的策略来收集数据。
  • 它可能难以平衡探索和利用之间的权衡,因为它只有一个策略,并且需要在每个状态下都进行一定程度的探索。
  • 它可能容易陷入局部最优解,特别是当初始状态或动作选择不合理时。

4.3 Off-policy 如何拿别人经验学习

Off-policy学习如何拿别人学习经验去学习的原理是,它可以从一个数据缓冲区中随机抽取一些之前收集的经验,这些经验可能来自于不同的策略。然后,它可以用这些经验来更新当前的策略,使其更接近最优策略。这样,它就不需要每次都使用最新的策略来收集数据,而是可以利用已有的数据来提高学习效率

我理解是的
【别人经验】
读书-读书-读书-奖励100
r[读书-读书-奖励100]=0+0+0.9 * 0.9 * 100=81

【现在】
看电视(-100)-读书-读书-奖励100

我后面就不用算了,因为如果走这条路,别人经验已经有81,直接更新就行

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羊老羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值