Acme学习笔记(一)
Chapter 2 RL
强化学习的设置可以看作是一个智能体基于环境观察值生成动作、环境根据动作产生奖励和下一时刻观测值的迭代循环。从数学的角度而言,这样的迭代交互可以视为马尔可夫过程或者部分可观测马尔可夫过程。智能体通过策略与环境产生交互,在深度强化学习中,通常用一个深度神经网络来表示它,为了表征更加普遍的setting,智能体使用循环网络作为策略。
Online Reinforcement Learning
在线强化学习的setting常常与给定的环境描述有关,被视为”标准“的强化学习设置。在线强化学习算法分为on-policy和off-policy两种。其中off-policy算法采用experience replay充分利用数据进行策略的更新。
Offline Reinforcement Learning
离线强化学习也被称为batch-RL,agent无法与环境进行交互,只能从给定的数据集中学习策略。在setting下学习策略无法从环境中得到反馈,那么算法就可能出现选择了数据集中没有的actions导致高回报的错误。因此,离线setting中的方法经常包含正则化,以激励学习的策略避免未知或不确定的状态-动作区域。
Imitation Learning
对于一些任务,无法定义reward,使用模仿学习能够很好解决问题。在模仿学习的setting中,环境没有定义reward,而是使用一些demonstrations,目标是学习一个与所提供的demonstrations相匹配的策略或者推断这些demonstrations行为能够获得的奖励。
Learning from Demonstrations
环境可以定义reward,但是很难优化,使用一个专家agent引导学习。
Chapter 3 Acme
Acme是一个强化学习算法的实现框架,能够用于分布式的智能体并行执行。将agent分为三个组件:与环境交互生成数据的actor,存储数据的replay系统以及更新agent行为的learner。这些组件通过builder构成一个完整的agent用于训练和评估agent的性能。

3.1 Environments and environment loops
使用dm_env这个包来定义环境:dm_env.Environment,里面的方法有:
重新开始一段序列
def reset(self) -> TimeStep
更新环境
def step(self, action) -> TimeStep
返回奖励
def reward_spec(self)
返回折扣因子
def discount_spec(self)
定义观察值
def observation_spec(self)
定义动作
def action_spec(self)
释放环

本文介绍了Acme框架,涵盖在线强化学习、离线强化学习、imitationlearning等内容,详细阐述了Actor、Learner和经验回放机制,以及Acme在分布式强化学习中的应用,列举了如DQN、DDPG和TD3等经典和改进的算法。
最低0.47元/天 解锁文章
369

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



