值分布强化学习(Distributional Reinforcement Learning)是一类基于价值的强化学习算法,也是一类新兴的强化学习方法。该方法达到了非分布式强化学习方法上新的基准性能,也与神经科学有着内在联系,因此具有很高的研究价值。本文将带大家一起选读多个近期值分布强化学习相关的研究工作,这些工作的发展脉络清晰、研究动机明确,为后续的进一步研究提供了重要参考。
什么是值分布强化学习
值分布强化学习(Distributional Reinforcement Learning,Distributional RL)是一类基于价值的强化学习算法(value-based Reinforcement Learning,value-based RL)。经典的基于价值的强化学习方法尝试使用期望值对累积回报进行建模,表示为价值函数 V(x) 或动作价值函数 Q(x,a)。而在这个建模过程中,完整的分布信息很大程度上被丢失了,值分布强化学习就是想要解决这个问题,对累积回报这个随机变量的分布 Z(x,a) 进行建模,而非只建模其期望。
目前的值分布强化学习通常使用 Dirac Mixture 对连续分布进行参数化建模。近年来,许多研究人员尝试从以下两个角度开展研究:一是对分布进行更好的参数化,从而更好地拟合实际的连续分布,如 C51、QR-DQN、IQN 和 FQF;二是对分布的不同统计特性进行建模,尝试找出更适合强化学习任务的建模方式,如 QR-DQN 学习分布的分位数值(quantile value)和 Expectile DRL 学习分布的期望分位数值(expectile value),而 MMD-DRL 则避免了对 Dirac Mixture 模型统计意义的人为规定。
值分布强化学习方法是一类新兴的强化学习方法,达到了非分布式强化学习方法上新的基准性能,在 Atari 基准上超过了原有的基于期望的 value-based RL 方法。另外,也有研究人员发现了值分布强化学习与神经科学的内在联系。因此,值分布强化学习方法具有很高的研究价值。接下来,本文将带大家一起选读多个近期值分布强化学习相关的研究工作,这些工作的发展脉络清晰、研究动机明确,为后续的进一步研究提供了重要的参考价值。
A Distributional Perspective on Reinforcement Learning
“A Distributional Perspective on Reinforcement Learning”是由 DeepMind 的 Bellemare 等人完成的文章,是现代值分布强化学习中比较重要的一篇文章。文章从理论上证明了分布贝尔曼算子(distributional Bellman operator)的一些性质,并提出了一种实现方法,成为了后续研究的一个重要基石。在这篇文章中,作者首先说明传统 DQN 算法希望学习的 Q 是一个数值,其含义是未来奖励和的期望。而在值分布强化学习系列算法中,目标则由数值变为一个分布。在值分布强化学习中,目标也由数值 Q 变为随机变量 Z,这种改变可以使学到的内容是除了数值以外的更多信息,即整个分布。
在这种设定下,作者引入了 distributional Bellman operator,随后在 Wasserstein metric 下证明了 distributional Bellman operator 是一个 γ-contraction 算子。但由于 Wasserstein metric 的梯度在实际采用时是有偏差的。因此,在实际算法上,作者采用了 KL 散度进行计算。作者提出了 C51 算法,将可能的 Z 划分为51个固定区间,然后学习 Z 区到每个区间的概率,在迭代中使用 KL 散度计算损失函数(loss)。然而,在对目标的 Z 值进行一次 distributional Bellman operator 的计算之后,为了再次将其化为同样51个固定区间的概率表示,C51 算法使用了一种投影方法(即图1 d 中 Φ 所示),可以将概率重新投影到原来的固定区间中。随后,再采用 KL 散度的交叉熵为 Loss,对其进行优化即可。
Distributional Reinforcement Learning with Quantile Regression
在 C51 提出约四个月后,2017年10月,C51 的作者 Bellemare 与同在 DeepMind 的 Dabney 等人提出了 QR-DQN 算法,并在 Atari 实验上刷新了 C51 的实验结果。
QR-DQN 与 C51 的最大不同点在于对分布的表述方式。C51 算法固定了 N 个概率的可能取值,然后使用可学习的、与 N 个值相对应的 N 个概率值去描述分布。而 QR-DQN 则使用分位数来描述分布,也就是说,固定 N 个分位数,然后学习这 N 个分位数对应的数值取值。可以说,QR-DQN 使用了与 C51 相对的一种方法去描述分布。
图2:QR-DQN 的分位点投影(quantile projection)
分位数即累积分布函数(CDF)的逆,通过分位数 τ,可以找到与之相对应的一个 z 值。如果当在 CDF 函数上对分布进行建模时,便可以和 Wasserstein metric 更好地结合起来。如图2所示,黑色线为 Z 的 CDF 函数,蓝色线为 QR-DQN 使用的分位数方法对 CDF 的近似表达。红色部分,是近似表达与真实 CDF 函数之间的误差。
学习对应的分位数值时,QR-DQN 使用了分位点回归(Quantile Regression)。对于每个设定的分位数值 τ,使用 Quantile Regression 以及 Huber Loss。通过这种方法,QR-DQN 不会再设置Z取值的上下界,因此相比 C51 而言有更大的灵活程度。
在实验部分,QR-DQN 首先使用了一个 Toy Case 实验,在 Windy Gridworld 上证明了使用本文提出的方法,的确可以学到状态对应的分布。随后,QR-DQN 又在 Atari 上完成了实验,并且得到了比 C51 更加显著的提升。
Implicit Quantile Networks for Distributional Reinforcement Learning
QR-DQN 在对分布进行建模时,选择了固定且等间隔的概率位置,这个固定位置的限制使得算法难以适应不同的分布,无法进一步降低 Wasserstein 距离。为了解决这个问题,QR-DQN 的作者 Dabney 等人在 QR-DQN 的基础上提出了 IQN 算法,并取得了比 QR-DQN 更好的性能表现。
IQN 与 QR-DQN 主要有两点不同。首先,它在估计给定的分位数 τ 对应的取值时,将分位数 τ 也作为神经网络模型的输入,也就是说,使用神经网络来拟合整个连续分布,从而提高对于不同分布的表达能力。通过调整神经网络的容量,理论上能够以任意精度拟合价值函数对应的分布。其次,IQN 中使用从均匀分布中采样的分位数 τ 替代了 QR-DQN 中固定的分位数,通过调整每次采样中的分位数个数,可以提高强化学习在训练过程中的样本效率,更好地利用训练资源。
在 Atari 基准上的测试结果表明,IQN 算法的性能比起上述的 C51 和 QR-DQN 有着明显提升,和集成了各种经验技巧的 Rainbow 相比,IQN 的性能也十分接近。
Fully Parameterized Quantile Function for Distributional Reinforcement Learning
如果能够使用无穷多个采样点和无穷大的模型容量,IQN 方法就能够近似任意的完整分位数函数(quantile function),但这显然是不可能的。因此在实际中,必须考虑在有限个采样的情况下值分布强化学习算法的表示能力。
从这个角度出发,来自加利福尼亚大学圣迭戈分校的 Derek Yang 和微软亚洲研究院的研究人员合作提出了 FQF 方法。FQF 对分布进行了完全的参数化,而非如 QR-DQN 一般事先固定分位数或 IQN 中随机采样得到的分位数。在 FQF 中,分位数和其对应的值都被进行了参数化,根据不同的分布特点,调整分位数的位置,并使用 Quantile Regression 得到分位数对应的值。
在 FQF 中,算法包含两个模型,一个是分位数提议网络(fraction proposal network),用来针对每个状态动作对应生成合适的分位数位置;二是分位数值网络(quantile value network),将前一个网络输出的分位数τ映射到对应的取值(quantile value)。
FQF 通过最小化真实分布与近似分布之间的 1-Wasserstein 距离来训练分位数提议网络。利用分数提议网络生成的当前提议的分位数,可以通过 Quantile Regression 来训练分位数值网络。与 QR-DQN 和 IQN 相比,通过学习和自我调整的分位数位置可以更好地近似真实分布。
Non-crossing quantile regression for deep reinforcement learning
QR-DQN、IQN、FQF 等使用 Quantile Regression 的值分布强化学习方法已经取得了很好的效果,然而实验表明,Quantile Regression 并不能保证得到的分位数值(quantile value)的单调性。但一个有效的、分布的分位数值应该是非减的,这就导致直接通过 Quantile Regression 并不能学习到一个有效的分布。这种交错(crossing)的现象在有限的采样数的情况下十分明显,而缺少单调性的约束,模型的可解释性会大大降低。由于值分布强化学习是基于分布的统计意义进行建模,所以这种方式最终会导致模型的整体性能下降。
针对这个问题,“Non-crossing quantile regression for deep reinforcement learning”文章的作者提出了一种无交错的分位数回归(non-crossing quantile regression)方法。该方法通过在对分位数值进行估计时加入单调性的限制,以保证最终估计得到的分位数值不会出现上述提到的交错现象。作者通过实验证明了在加入分位数的单调性限制的情况下,该方法仍能保证分布在无限次迭代更新之后可以收敛到固定点。
Statistics and Samples in Distributional Reinforcement Learning
“Statistics and Samples in Distributional Reinforcement Learning”是由 DeepMind 在2019年提出的。文章的作者提出了一种分析值分布强化学习的统一分析框架,并基于这种框架,提出了一种新的分析算法:Expectile Distributional RL(EDRL)。
作者分析认为,此前的值分布强化学习算法,大致可以归为两种类型。其中一类是学习离散类别分布(categorical distribution reinforcement learning,CDRL)的算法,前文中提到的 C51 即为这类算法,另一类是学习概率分布的分位数的算法,QR-DQN 等即属于这类。作者认为,这些值分布强化学习的算法都可以视为:首先找到一系列统计量(statistics)以描述分布,然后在做更新时找到一种 Imputation Strategy 来根据维护的一系列统计量重构分布,并在此基础上计算 Loss。随后,作者与 QR-DQN 进行类比,提出了 EDRL 算法。若对期望分位数不熟悉的话,可以通过以下的例子迅速类比:均值之于0.5 期望分位数,即为中位数之于0.5 分位数。
作者以 Chain MDP 为例,说明了 EDRL 算法的优势。在 CDRL 算法中,由于投影操作的存在,最后回到 x_0 状态时,更倾向于高估方差(图8中的蓝色分布);而 naïve 的 EDRL 则会低估方差,迅速塌缩到一个冲击函数(橙色);这样在综合考虑 imputation strategy 时,才能更加精确地估计分布(绿色)。随后,作者使用上述框架定义了 Bellman closedness 的概念:在维护一个统计量的集合是否可以通过自身经由 Bellman operator 之后的值来学习自身。通过这种分析,作者对值分布强化学习中何种统计量可以通过 Bellman update 来学到进行了理论上的分析。最终,在 Tabular case 和 Atari 上进行的实验表明,EDRL 算法相比 CDRL、QDRL 等基线算法,有较为明显的优点。
Distributional Reinforcement Learning with Maximum Mean Discrepancy
在值分布强化学习的研究中,如何表述分布,如何衡量分布(随机变量)之间的差异,成为了瓶颈。因为,要完全表示 return 的分布需要无限维的空间,所以,找到一种拥有更强表现能力的方法就至关重要。在之前的工作中,研究者们基本都使用概率分布函数或者分位数等方式,对其 return 的分布进行建模。而在2020年7月的文章“Distributional Reinforcement Learning with Maximum Mean Discrepancy”中,作者提出了 MMD-DQN 算法,使用最大平均差异(Maximum Mean Discrepancy,MMD)对分布进行建模。
如果对 MMD 不太熟悉的话,那么可以考虑一种 MMD 的特例,比如当考虑一阶情况时,MMD 可以理解为 X,Y 两个随机变量的一阶矩的差值。事实上,MMD 的含义类似于衡量某种矩的差异。如下式所表示,MMD 依赖于某一类映射 f∈F,其定义为,两个随机变量 Z,W 经过某一类映射 F 的变换后,随机变量期望之差的上界。这里先后取上界、期望,也是 MMD 中 Maximum 和 Mean 得名的原因。最后,再经过核函数映射等可以进一步化简,得到可以在实际算法中使用的解析解。
作者通过这种方式,巧妙地对 return 的分布进行表示,同时避免了 C51、QR-DQN 中只能选择固定值、分位数,而在近似真实分布上具有较大误差的情形。随后,作者证明了 MMD 的特性以及 Bellman operator 的收敛性,并提出了 MMD-DQN 算法。在计算 MMD 以及选取最佳动作的过程中,还采取了对 Z 进行采样的策略
最终,作者在 Atari 上进行实验,并将实验结果与 C51、QR-DQN、以及 IQN、FQF 等基线进行对比,从表2中可以看到,性能在整体游戏上有了提升。
值分布强化学习的应用
值分布强化学习可以对强化学习中价值函数对应的完整分布有一个参数化的建模方式,分布中的信息可以带来更多的操作和利用空间,一个典型的应用方向就是风险敏感(risk-sensitive)的应用。
在强化学习中,探索(exploration)和利用(exploitation)的平衡是一个关键的问题,有些场景中需要智能体具有足够的探索能力才能够学习到真正有用的策略,即智能体需要能够理解不同状态的价值的不确定性。使用值分布强化学习可以对状态的价值函数进行更精细的建模,有助于设计更好的探索策略,从而提高智能体在冒险任务中的表现能力。
对这个方向感兴趣的读者还可以参考以下几篇文章:
a. Borislav Mavrin et al. Distributional Reinforcement Learning for Efficient Exploration. ICML 2019.
b. Junyu Zhang et al. Cautious Reinforcement Learning via Distributional Risk in the Dual Domain. 2020.
c. Xiaoteng Ma et al. DSAC: Distributional Soft Actor Critic for Risk-Sensitive Reinforcement Learning. ICML workshop 2019.
总结
值分布强化学习在近几年得到了广泛的关注,在非分布式的强化学习算法中超过了之前已有的算法,刷新了 Atari 等基准测试场景下的最优性能。而随着对于强化学习的马尔可夫过程的随机变量有了更完整的建模,强化学习算法可以更有针对性地处理不同的问题,例如在保证算法较高性能的同时控制算法风险,这是原本的基于期望的价值函数难以做到的。
此外,值分布强化学习还有着很大的发展潜力。首先,对于分布的建模仍然存在着很明显的近似误差,如何对分布进行更好地建模仍然是该领域中十分重要的一个问题。另外,值分布强化学习方法在侧重于探索的任务中还存在着很大的性能缺失,如何利用完整分布的信息以提高算法的探索能力也是一个很关键的问题。希望借由此文,可以有更多的研究人员关注和投入到这个领域中,一起推动值分布强化学习这个领域的发展,为后续的技术和理论完善贡献力量。