现在我们已经了解了 RL 术语和符号的基础知识,下面将介绍 RL 中的各种算法,以及对算法设计中各种trade-off的描述。

A Taxonomy of RL Algorithms

这个部分的目标是:

  • DRL算法中对于 学习什么  如何学习 的基本设计方案
  • 表明算法在这些分支中的trade-off
  • 把一些突出的现代算法放到这些分支中

Model-Free vs Model-Based RL

RL一个重要的分支点是agent能否访问(或学习)环境的模型,所谓环境的模型就是指能否预测状态和奖励,拥有模型的好处是它允许agent通过提前思考来进行假话,了解可能的选择会发生什么,并作出决定,然后agent可以将提前计划的结果提炼到学习策略中,这个方法的著名例子是AlphaZero,当这种model-based方法有用时,相比Model-free 算法,大大提高了sample efficiency.

而主要的缺点是环境的真实模型通常对agent不可用。 如果agent想在这种情况下使用模型,它必须纯粹从经验中学习模型, 最大的挑战是agent 学习模型带来的偏差,导致了虽然agent在学习模型方面表现良好,但在真实环境中表现欠佳。 模型学习从根本上来说是困难的,因此即使是付出大量时间和计算的高强度努力也可能无法获得回报。

使用模型的算法称为model-based方法,不使用模型的算法称为model-free方法。 虽然无模型方法放弃了使用模型在样本效率方面的潜在收益,但它们往往更容易实现和调整。 与基于模型的方法相比,无模型方法更受欢迎,并且得到了更广泛的开发和测试。

What to Learn

另一个重要的分支是what to learn, 具体有:

  • policies 是stochasitc or deterministic
  • Q值
  • value functions
  • environment models

What to Learn in Model-Free RL

使用model-free RL训练agent主要有两种方法

policy optimization

表述一个policy 使用 [公式] ,通过目标 [公式] 梯度上升直接优化参数 [公式] ,或者通过最大化 [公式] 的局部近似值来间接优化参数 [公式] 。 这种优化几乎都是on-policy的,也就是每次更新仅使用最近policy收集的数据,通常还需要一个近似器 [公式] 来逼近 [公式] ,用来进行策略更新

policy optimization的一些方法如:

  • A2C/A3C 使用梯度上升来直接优化performance
  • PPO,不直接最大化performmance,而最大化一个替代的目标函数,用来保守估计 [公式]

Q-Learning

这种方法是学习一个近似器 [公式] 来近似最优Q值 [公式] ,通常使用基于贝尔曼方程的目标函数,这种优化通常是off-policy的,意味着每次更新都可以使用训练时收集的任意点的数据,无论智能体在收集数据时是如何探索的,相关的策略是通过 [公式]  [公式] 的关系联系的,Q-learning的动作由下式给出:

[公式]

Q-learning的方法例子包括:

  • DQN,DRL的一个经典算法

cs.toronto.edu/~vmnih/d

  • C51,学习Q^*分布 的一个变体

arxiv.org/abs/1707.0688

Trade-offs Between Policy Optimization and Q-Learning

policy optimization方法的主要优势是他们是基于一套规则的(原文用了principle),也就是它直接优化了想要的结果,这就使得算法本身稳定可靠,相比之下,Q-learning 方法非直接地优化agent的performance,通过训练 [公式] 来满足Self-consistency equation, 这种学习方式有很多failure mode,因此相对来说不是很稳定,但Q-learning方法获得了更好的样本效率(sample efficient),因为他们比policy optimization方法更有效地reuse data.

Interpolating Between Policy Optimization and Q-Learning.

策略优化和 Q-learning 并不是不兼容的(在某些情况下,事实证明是等价的),并且存在一系列介于这两个之间的算法。 生活在这个范围内的算法能够在任何一方的优势和劣势之间tradeoff。 例子包括:

  • DDPG 学习一个确定性policy和一个Q-function,并互相使用,互相提升。
  • SAC,使用随机policies,熵正则化,和一些其他的技巧来稳定学习 ,获得了比DDPG更高的benchmark分数。

What to Learn in Model-Based RL

与无模型 RL 不同,基于模型的 RL 没有太明确的定义归类:有许多使用模型的正交方法。 我们将举几个例子,但这份清单远非全面。 在每种情况下,模型可以是给定的,也可以是学习的。

Background: Pure Planning.

最基本的方法从不明确表示策略,而是使用模型预测控制 (MPC) 等纯规划技术来选择操作。 在 MPC 中,每次agent观察环境时,它都会计算一个相对于模型最优的计划,其中该计划描述了在当前之后的某个固定时间窗口内采取的所有行动。 (规划算法可以通过使用学习的价值函数来考虑超出范围的未来奖励。)然后agent执行计划的第一个动作,并立即丢弃其余的动作。 每次准备与环境交互时,它都会计算一个新计划,以避免使用计划中的动作比预期的计划范围短。

MBMF 工作在DRL的一些标准基准任务上探索了具有学习环境模型的 MPC。

Expert Iteration

纯规划的直接后续涉及使用和学习策略的显式表示, [公式] 。 agent在模型中使用规划算法(如蒙特卡洛树搜索),通过从其当前策略中采样来生成计划的候选动作。 规划算法产生的动作比单独的策略产生的动作要好,因此它是相对于策略的“专家”。 之后更新策略以产生更像规划算法输出的动作。

  • The ExIt algorithm使用这个算法来玩
  • AlphaZero is another example of this approach.

Data Augmentation for Model-Free Methods

使用无模型 RL 算法来训练策略或 Q 函数,但要么 1)在更新agent时用虚构的经验增强真实经验,要么 2)仅使用虚构的经验来更新agent。

  • See MBVE for an example of augmenting real experiences with fictitious ones.
  • See World Models for an example of using purely fictitious experience to train the agent, which they call “training in the dream.”

Embedding Planning Loops into Policies.

另一种方法是将规划程序作为子程序直接嵌入到策略中——这样完整的计划就成为了策略的辅助信息——同时使用任何标准的无模型算法来训练策略的输出。 关键的概念是,在这个框架中,policy可以学会选择如何以及何时使用计划。 这使得模型偏差不再是一个问题,因为如果模型在某些状态下不利于规划,则策略可以简单地学会忽略它。

  • See I2A for an example of agents being endowed with this style of imagination.