清北联合出品!一篇Survey整明白「Transformer+强化学习」的来龙去脉

人工智能 新闻
Transformer与强化学习结合的综述!

Transformer模型自发布后,很快就成了自然语言处理和计算机视觉领域在有监督学习设置下的主流神经架构。

虽然Transformer的热潮已经开始席卷强化学习领域,但由于RL本身的特性,例如需要进行独特的特征、架构设计等,当前Transformer与强化学习的结合并不顺利,其发展路线也缺乏相关论文进行贯穿性地总结。

最近来自清华大学、北京大学、腾讯的研究人员联手发表了一篇关于Transformer与强化学习结合的调研论文,系统性地回顾了在强化学习中使用Transformer的动机和发展历程。

图片

论文链接:https://arxiv.org/pdf/2301.03044.pdf

文章中对现有的相关工作成果进行分类,并对每个子领域进行深入讨论,最后还总结了该研究方向的未来前景。

Transformer配RL

强化学习(RL)为序列决策(sequential decision-making)提供了一个数学化的形式,可以让模型自动获得智能行为。

RL为基于学习的控制提供了一个通用框架,随着深度神经网络的引入,深度强化学习(DRL)的通用性在近年来也取得了巨大的进展,但样本效率问题阻碍了DRL在现实世界中的广泛应用。

为了解决这个问题,一个有效的机制是在DRL框架中引入inductive bias,其中比较重要的是函数近似器架构的选择(the choice of function approximator architectures),例如DRL智能体的神经网络的参数化。

然而,与监督学习(SL)中的架构设计相比,在DRL中选择架构设计的问题仍然没有得到充分的探讨,大多数现有的关于RL架构的工作是由(半)监督学习社区的成功所激发的。

例如,处理DRL中基于图像的高维输入的常见做法是引入卷积神经网络(CNN);处理部分可观察性的另一种常见做法是引入递归神经网络(RNN)。

近年来,Transformer架构在广泛的SL任务中彻底改变了学习范式,并表现出比CNN和RNN更优越的性能,比如Transformer架构能够对较长的依赖关系进行建模,并具有出色的可扩展性。

受SL成功启发,行业内对在强化学习中应用Transformer的兴趣激增,最早可以追溯到2018年的一篇论文,其中自注意机制被用于结构化状态表示的关系推理。

之后,许多研究人员开始试图将自注意力应用于表示学习,以提取实体之间的关系,从而可以更好地进行策略学习。

图片

除了状态表示学习外,先前的工作还用Transformer来捕捉多步骤的时间依赖性,以处理部分可观察性问题。

最近,离线RL由于其利用离线大规模数据集的能力而受到关注,相关研究结果也表明,Transformer架构可以直接作为序列决策的模型,并可推广到多个任务和领域。

这篇调研论文的目的是介绍Transformers in Reinforcement Learning领域(TransformRL)。

图片

尽管Transformer已经被认为是目前大多数SL研究的基础模型,但它在RL社区的探索仍然较少。事实上,与SL领域相比,在RL中使用Transformer作为函数近似器需要解决一些不同的问题:

1. RL智能体的训练数据通常是当前策略的函数,这在Transformer学习的过程中会引起不平稳性(non-stationarity)。

2. 现有的RL算法通常对训练过程中的设计选择高度敏感,包括网络架构和容量等。

3. 基于Transformer的架构经常受到高计算和内存成本的影响,也就是说训练和推理起来既慢又贵。

比如在一些游戏中的人工智能案例中,样本生成的效率在很大程度上影响了训练性能,取决于RL策略网络和价值网络的计算成本。

TransformRL的未来

论文中简要回顾了Transformers for RL的进展情况,其优势主要包括:

1. Transformers可以作为RL中的一个powerful模块,比如作为一个表示模块或世界模型;

2. Transformer可以作为一个序列决策器;

3. Transformer可以提升跨任务和领域的泛化性能。

鉴于Transformer在更广泛的人工智能社区都表现出强大的性能,研究人员认为将Transformer和RL结合起来是一个有前途的研究方向,下面是一些关于该方向的未来前景和开放性问题。

结合强化学习和(自)监督学习

追溯TransformRL的发展,可以发现其训练方法同时涵盖了RL和(自)监督学习。

当作为一个在传统RL框架下训练的表示模块时,Transformer架构的优化通常是不稳定的。当使用Transformer通过序列建模来解决决策问题时,(自)监督学习范式可以消除deadly triad problem。

在(自)监督学习的框架下,策略的性能深受离线数据质量的约束,利用(exploitation)和探索(exploration)之间的明确权衡不复存在,因此在Transformer学习中结合RL和(自)监督学习时,可能会学到更好的策略。

一些工作已经尝试了监督预训练和RL参与的微调方案,但在相对固定的策略下,探索会受到限制,这也是有待解决的瓶颈问题之一。

另外,沿着这条路线,用于性能评估的任务也相对简单,Transfomer是否可以将这种(自)监督学习扩展到更大的数据集、更复杂的环境和现实世界的应用也值得进一步探索。

此外,研究人员希望未来的工作能够提供更多的理论和经验见解,以确定在哪些条件下这种(自)监督学习有望表现良好。

图片

通过Transformer连接在线和离线学习

踏入离线RL是TransformRL的一个里程碑,但实际上,利用Transformer来捕捉决策序列中的依赖关系并抽象出策略,主要是与所使用的相当多的离线数据的支持分不开的。

然而,对于一些决策任务来说,在实际应用中摆脱在线框架是不可行的。

一方面,在某些任务中获得专家数据并不那么容易;另一方面,有些环境是开放式的(如Minecraft),这意味着策略必须不断调整,以处理在线互动过程中未见的任务。

因此,研究人员认为把在线学习和离线学习连接在一起是必要的。

Decision Transformer之后的大多数研究进展都集中在离线学习框架上,一些工作试图采用离线预训练和在线微调的范式。然而,在线微调中的分布转变仍然存在于离线RL算法中,研究人员期望通过对Decision Transformer进行一些特殊设计来解决这个问题。

此外,如何从头开始训练一个在线Decision Transformer是一个有趣的开放性问题。

为Decision-making问题量身定做的Transformer结构

目前Decision Transformer系列方法中的Transformer结构主要是vanilla Transformer,它最初是为文本序列设计的,可能具有一些不适合决策问题的性质。

例如,对轨迹序列采用vanilla的自注意力机制是否合适?决策序列中的不同元素或同一元素的不同部分是否需要在位置embedding中加以区分?

此外,由于在不同的Decision Transformer算法中,将轨迹表示为序列的变体有很多,如何从中选择,仍缺乏系统的研究。

例如,在行业中部署此类算法时,如何选择稳健的hindsight信息?

并且vanilla Transformer也是一个计算成本巨大的结构,这使得它在训练和推理阶段都很昂贵,而且内存占用率很高,也限制了它捕获依赖关系的长度。

为了缓解这些问题,NLP中的一些工作改进了Transformer的结构,但类似的结构是否可以用于决策问题也值得探讨。

用Transformer实现更多的通用智能体

论文中对通用智能体(generalist agents)Transformers的回顾已经显示了Transformers作为一种通用策略的潜力。

事实上,Transformer的设计允许使用类似处理blocks的方式来处理多种模态(如图像、视频、文本和语音),并展示了对超大容量网络和巨大数据集的出色可扩展性。

最近的工作也在训练能够执行多模态和跨领域任务的智能体上取得了重大进展。

不过,鉴于这些智能体是在大规模的数据集上进行训练的,目前还不能确定它们是否只是记住了数据集,以及它们是否能进行有效的泛化。

因此,如何学习到一个能够在没有强假设(strong assumption)的情况下对未见过的任务进行泛化的智能体仍然是一个值得研究的问题。

此外,研究人员也很好奇,Transformer是否足够强大到可以用来学习一个可用于不同任务和场景的通用世界模型。

RL for Transformers

虽然文章中已经讨论了RL如何从Transformer模型中受益,但反过来说,用RL来提升Transformer训练仍然是一个有趣的开放性问题,还没有被很好地探索过。

可以看到,最近来自人类反馈的强化学习(RLHF)可以学习到一个奖励模型,并使用RL算法对Transformer进行微调,以使语言模型与人类意图相一致。

在未来,研究人员认为RL可以成为一个有用的工具,进一步完善Transformer在其他领域的表现。

责任编辑:张燕妮 来源: 新智元
相关推荐

2022-11-02 14:02:02

强化学习训练

2021-09-10 16:31:56

人工智能机器学习技术

2022-11-14 10:22:12

训练强化学习

2023-02-01 13:07:05

AI

2022-08-26 14:44:32

强化学习AI

2020-08-10 06:36:21

强化学习代码深度学习

2020-11-12 19:31:41

强化学习人工智能机器学习

2021-09-17 15:54:41

深度学习机器学习人工智能

2020-07-10 08:03:35

DNS网络ARPAne

2020-06-05 08:09:01

Python强化学习框架

2020-08-16 11:34:43

人工智能机器学习技术

2020-08-14 11:00:44

机器学习人工智能机器人

2020-12-23 06:07:54

人工智能AI深度学习

2020-05-12 07:00:00

深度学习强化学习人工智能

2022-05-31 10:45:01

深度学习防御

2017-07-25 16:04:31

概念应用强化学习

2022-01-06 09:53:21

机器学习人工智能神经网络

2021-10-31 14:14:33

内存接口协议

2017-07-14 16:24:48

TensorFlow框架开发

2020-01-23 15:33:07

AI 数据人工智能
点赞
收藏

51CTO技术栈公众号