DreamerV2
DreamerV2是一个用于强化学习的算法,专注于从像素输入中学习复杂的行为。它是Dreamer算法的升级版本,由DeepMind的研究团队开发。DreamerV2利用世界模型的概念,这意味着它通过学习一个模型来预测环境的未来状态,从而在这个预测的世界里进行计划和决策。这种方法使得算法能够在高效地使用数据方面表现出色,并且能够在仅从原始像素输入中进行学习的情况下,学会执行复杂的任务。
强化学习是机器学习的一个领域。
这就像训练宠物一样。当宠物做出了指定动作之后,我们给它一些食物作为奖励,使它更加坚信只要做出那个动作就会得到奖励。
这种训练叫 Reinforcement Learning(强化学习,简称 RL
特性
模型基础学习:DreamerV2首先学习一个模型来预测环境的动态。这个模型能够预测未来的观测值和奖励,基于过去的观测值、行动和当前的隐状态。
潜在空间规划:一旦模型被学习,DreamerV2在潜在(隐)空间中使用这个模型进行决策规划。潜在空间是一个较低维度的表示空间,可以更高效地处理和规划。
从像素到行动:DreamerV2能够直接从像素输入中学习策略和价值函数,无需手工设计的状态表示。这使得它能够在各种复杂的环境中应用,包括那些只提供视觉输入的环境。
数据高效性:通过在其学习的模型上进行规划和决策,DreamerV2可以更高效地利用经验数据,与那些需要大量交互数据才能学习的方法相比,这是一个显著的优势。
应用
DreamerV2适用于各种强化学习任务,特别是那些环境信息通过高维感觉输入(如视频帧)提供的任务。它在连续控制任务和一些游戏环境中表现出色,证明了其作为一种强大的强化学习算法的能力。
用DreamerV2玩小游戏
下载代码
https://github.com/danijar/dreamerv2
安装环境
pip install tensorflow pip install tensorflow_probability pip install pandas pip install matplotlib pip install ruamel.yaml pip install 'gym[atari]' pip install dm_control
训练
#Train on Atari python3 dreamerv2/train.py --logdir ~/logdir/atari_pong/dreamerv2/1 --configs atari --task atari_pong # Train on DM Control python3 dreamerv2/train.py --logdir ~/logdir/dmc_walker_walk/dreamerv2/1 --configs dmc_vision --task dmc_walker_walk
使用Tensorboard监控训练情况。
# Monitor results tensorboard --logdir ~/logdir
Generate plots
# Generate plots python3 common/plot.py --indir ~/logdir --outdir ~/plots --xaxis step --yaxis eval_return --bins 1e6