一 On-policy和Off-policy概念
策略更新方法可以分为两类:On-policy(在线策略)和Off-policy(离线策略)。
它们之间的主要区别在于如何使用经验(状态、动作、奖励和下一个状态)来更新智能体的策略。
on-policy: 行动策略和目标策略是同一个策略
off-policy: 行动策略和目标策略不是同一个策略
什么是行动策略和目标策略?
行动策略:就是每一步怎么选动作的方法,它产生经验样本
目标策略:我们选什么样更新方式,去寻找最好的Q表
1.1 On-policy方法
On-policy方法:仅使用当前策略生成的经验数据更新策略。这意味着智能体在每次更新策略后,必须使用新策略收集新的经验数据。想象一下,你在学习打篮球,每次学到新技能后,你必须重新练习,以便更好地掌握新技能。
On-policy方法的典型例子是:REINFORCE算法,Actor-Critic算法,PPO(Proximal Policy Optimization,近端策略优化)算法等。
On-policy方法通常需要更多的样本才能学习有效的策略,因为它们在每次策略更新后必须重新采样新数据。
1.2 Off-policy方法
Off-policy方法:可以使用任何策略(包括非当前策略)生成的经验数据来更新当前策略。这使得离线策略方法可以有效地重用之前收集的经验数据,从而降低数据采样的要求。这就像你在学习打篮球时,可以观察别人的比赛,从他们的经验中学习和提高。
Off-policy方法的典型例子是:Q-learning,DQN(Deep Q-Networks),DDPG(Deep Deterministic Policy Gradient),SAC(Soft Actor-Critic)等。
样本效率:
Off-policy方法由于可以利用历史经验数据,通常具有更高的样本效率。
为何要引入 Off-policy:
为了避免不停地sample(这会很耗时间)
如果我们使用
来收集数据,那么参数θ被更新后,我们需要重新对训练数据进行采样,这样会造成巨大的时间消耗。
引入Off-policy后,可以利用 π θ ′来进行采样,将采集的样本拿来训练 θ , θ ′是固定的,采集的样本可以被重复使用,就避免了反复采样。
重要性采样ÿ