基于TF - Agents的深度Q网络强化学习训练实践
1. TF - Agents概述
TF - Agents借助TFPyEnvironment类,既支持纯Python环境,也支持基于TensorFlow的环境。更广泛地说,TF - Agents支持并提供纯Python和基于TensorFlow的组件,如智能体、回放缓冲区、指标等。
2. 训练架构
TF - Agents训练程序通常分为两部分并行运行:
- 左侧:驱动程序使用收集策略探索环境,选择动作并收集轨迹(即经验),将其发送给观察者,观察者将其保存到回放缓冲区。
- 右侧:智能体从回放缓冲区中提取批量轨迹并训练网络,收集策略会使用这些网络。
以下是对一些常见问题的解答:
|问题|解答|
| ---- | ---- |
|为什么有多个环境?|并行探索多个环境副本,可利用CPU核心的计算能力,让训练GPU保持忙碌,并为训练算法提供相关性较低的轨迹。|
|什么是轨迹?|它是从一个时间步到下一个时间步的转换的简洁表示,或者是从时间步n到时间步n + t的连续转换序列。|
|为什么需要观察者?|直接让驱动程序保存轨迹会使架构缺乏灵活性。观察者可以是任何以轨迹为参数的函数,可用于将轨迹保存到回放缓冲区、TFRecord文件、计算指标等,还可以将多个观察者传递给驱动程序。|
架构虽常见,但可按需定制,甚至替换部分组件。若不是研究新的强化学习算法,通常会使用自定义环境,只需创建一个继承自 tf_agents.environments.py_environment 包中 PyEnvi
基于TF-Agents的DQN训练实践
超级会员免费看
订阅专栏 解锁全文
1015

被折叠的 条评论
为什么被折叠?



