Fork me on GitHub

DreamerV2

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
posted @ 2024-03-30 18:13  秋夜雨巷  阅读(7)  评论(0编辑  收藏  举报