RLlib四:Algorithms 强化学习典型算法总结

RAY算法

可用算法

单智能体算法
在这里插入图片描述
多智能体算法
在这里插入图片描述

离线算法

行为克隆(BC;源自MARWIL实现)

我们的行为克隆实现直接源自我们的MARWIL实现,唯一的区别是beta参数强制设置为0.0。这使得BC尝试匹配生成离线数据的行为策略,而不考虑任何结果奖励。BC需要使用离线数据集API。

保守Q-学习(Conservative Q-Learning,CQL)

在离线强化学习中,算法无法访问环境,只能从预先收集的状态-动作-奖励元组的固定数据集中进行采样。特别是,CQL(保守Q-Learning)是一种离线强化学习算法,它通过保守的批评估计来减轻数据集分布之外的Q值的高估。它通过在标准Bellman更新损失中添加一个简单的Q正则化器损失来做到这一点。这确保了批评者不会输出过于乐观的Q值。这个保守的修正项可以添加到任何非策略Q-Learning算法之上(这里,我们为SAC提供了这个)。
RLlib的CQL是根据行为克隆(BC)基准在数据集上500K梯度步骤进行评估的。BC-和CQL配置之间的唯一区别是CQL中的bc_iters参数,指示我们在BC损失上执行了多少梯度步骤。CQL是在D4RL基准上评估的,该基准具有针对许多类型环境的预收集离线数据集。

单调优势再加权模仿学习(Monotonic Advantage Re-Weighted Imitation Learning,MARWIL)

MARWIL是一种混合模仿学习和策略梯度算法,适用于对批量历史数据进行训练。当beta超参数设置为零时,MARWIL目标减少为普通模仿学习(参见BC)。MARWIL需要使用离线数据集API。

无模型在策略RL

异步最近策略优化(Asynchronous Proximal Policy Optimization,APPO)

我们包括了基于IMPALA架构的近似策略优化(PPO)的异步变体。这类似于IMPALA,但使用带有限幅的代理策略损失。与同步PPO相比,APPO在挂钟时间wall-clock time上更高效,因为它使用了异步采样。使用限幅损失还允许多次SGD传递,因此与IMPALA相比,采样效率可能更高。V-跟踪也可以启用以校正非策略样本。
APPO并不总是更有效;使用标准PPO或IMPALA通常更好。

最近策略优化(Proximal Policy Optimization,PPO)

PPO的剪辑目标支持对同一批经验进行多次SGD传递。RLlib的多GPU优化器将数据固定在GPU内存中,以避免从主机内存进行不必要的传输,与简单的实现相比,大大提高了性能。PPO扩展使用多个工作者进行经验收集,也扩展到多个GPU进行SGD。
在这里插入图片描述
PPO-specific configs 定义可以从中构建PPO算法的配置类。

class ray.rllib.algorithms.ppo.ppo.PPOConfig(algo_class=None)

from ray.rllib.algorithms.ppo import PPOConfig
config = PPOConfig()
config = config.training(gamma=0.9, lr=0.01, kl_coeff=0.3,
    train_batch_size=128)
config = config.resources(num_gpus=0)
config = config.rollouts(num_rollout_workers=1)

# Build a Algorithm object from the config and run 1 training iteration.
algo = config.build(env="CartPole-v1")
algo.train()
from ray.rllib.algorithms.ppo import PPOConfig
from ray import air
from ray import tune
config = PPOConfig()
# Print out some default values.

# Update the config object.
config.training(
    lr=tune.grid_search([0.001 ]), clip_param=0.2
)
# Set the config object's env.
config = config.environment(env="CartPole-v1")

# Use to_dict() to get the old-style python config dict
# when running with tune.
tune.Tuner(
    "PPO",
    run_config=air.RunConfig(stop={"training_iteration": 1}),
    param_space=config.to_dict(),
).fit()

重要性加权演员-学习者架构(IMPALA)

在IMPALA中,中央学习器在紧密循环中运行SGD,同时从许多参与者进程中异步提取样本批次。RLlib的IMPALA实现使用DeepMind的参考V-track代码。请注意,我们不提供开箱即用的深度残差网络,但可以作为自定义模型插入一个。还支持多个学习器GPU和经验回放。

无模型离线RL

深度Q网络(Deep Q Networks,DQN、Rainbow、Parametric DQN)

DQN可以通过增加工作人员数量或使用Ape-X来扩展。通过使用LZ4压缩重放缓冲区中的样本来减少内存使用。Rainbow中评估的所有DQN改进都可用,但并非所有改进都默认启用。另请参阅如何在DQN中使用参数操作。

软演员评论家(Soft Actor Critic,SAC)

RLlib的软演员批评家实现是从官方SAC存储库移植的,以更好地与RLlib API集成。请注意,SAC有两个字段要为自定义模型配置:policy_model_config和q_model_config,配置的模型字段将被忽略。

基于模型的RL

DreamerV3

DreamerV3使用真实环境交互以监督方式训练世界模型。世界模型的目标是正确预测RL环境过渡动态的所有方面,其中包括(除了预测正确的下一个观察)预测收到的奖励以及布尔事件延续标志。“循环状态空间模型”或RSSM用于交替训练世界模型(来自实际环境数据)以及评论家和演员网络,两者都在世界模型产生的“梦想”轨迹上进行训练。

DreamerV3可用于所有类型的环境,包括具有基于图像或矢量的观察、连续或离散动作以及稀疏或密集奖励函数的环境。

多智能体RL

参数共享

Arameter共享是指一类采用基本单代理方法并使用它来学习所有代理的单一策略的方法。这种简单的方法已被证明可以在合作游戏中实现最先进的性能,并且通常是您应该开始尝试学习多代理问题的方式

共享批评家方法

共享批评家方法是当所有代理使用单个参数共享批评家网络时(在某些情况下,可以访问比代理可以看到的更多的观察空间)。请注意,许多专门的多代理算法,如MADDPG,大多是其单代理算法的共享批评家形式(在MADDPG的情况下为DDPG)

完全自主学习

完全独立学习涉及通过单个代理方法相互独立学习的代理集合。这通常有效,但可能不如专用的多代理RL方法有效,因为它们没有考虑多代理环境的非平稳性。

看到这里了,给辛苦搬运的博主助力一杯奶茶,或者一个免费的赞吧。
在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
强化学习是一种通过与环境互动来学习最佳行为策略的机器学习方法。为了开始学习这一领域,首先需要了解一些强化学习的基本算法。《Reinforcement Learning: An Introduction》(Sutton and Barto, 1998)是一本经典的强化学习教材,可以帮助初学者了解强化学习的基本概念和算法。该书介绍了强化学习的基本原理、价值函数、贝尔曼方程等重要概念,并介绍了一些经典的强化学习算法,如蒙特卡洛方法、时序差分学习、Q-learning等。这些算法是理解强化学习的基石,对初学者来说非常有帮助。 另外一本不错的入门教材是《Algorithms for Reinforcement Learning》(Szepesvári, 2009),这本书更加强调强化学习算法和数学基础。它详细介绍了动态规划、值迭代、策略迭代、TD学习等强化学习算法,并提供了一些例子和应用场景,有助于初学者更深入地理解强化学习算法的原理和实际应用。 除了书籍,MOOC平台上也有一些优秀的强化学习入门课程,如Coursera上的《Reinforcement Learning Specialization》和Udemy上的《Practical Reinforcement Learning》。这些课程结合了理论和实践,通过视频、案例分析等方式向学习者介绍强化学习的基本原理和算法,并帮助学习者掌握强化学习的实际应用技能。 总之,要想学习强化学习,首先需要了解一些基本的强化学习算法,上述提到的书籍和课程都是不错的入门资料,可以帮助初学者快速入门强化学习领域。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值