1

强化学习和世界模型中的因果推断

 7 months ago
source link: https://www.6aiq.com/article/1706174446685
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

导读 在强化学习,尤其是世界模型理论中,因果推断的作用是不可替代的,同时在世界模型中,因果推断也能得到很好的应用。

本次分享主要包括以下几部分内容:

  1. 关于强化学习

  2. 基于环境模型的强化学习框架

分享嘉宾|俞扬 南京大学 教授

编辑整理|毕东海

内容校对|李瑶

出品社区|DataFun

01世界模型

image-01736398af9e4388ab13905d52d37f61.png-imageStyle

"世界模型"源于认知科学,在认知科学里面有一个等价的词汇 mental models,也就是心智模型。那么什么是心智模型?在认知科学里有一个假设,认为人在大脑内部会有一个对于真实外在世界的表征,它对于认知这个世界,特别是推理和决策有很关键的作用。

在心理学中认为 mental model 的核心有两个部分,第一个叫 mental representation,即大脑中对于真实世界是怎么表征的;第二个叫做 mental simulation,即在大脑中对真实世界的运转生成一个模拟。Kenneth Craik 是动力学系统的开创人之一,他认为 mental model 是对这个世界的一个镜像(image),即世界是如何表征和运转的。关于 mental model 的研究在上世纪就已经开始。

image-692c38951b0c49fe80730201895054ec.png-imageStyle

近些年认知科学领域用动物进行了一些实验,发现在动物的大脑中确实会对真实世界有一些表征和模拟。比如有研究发现,老鼠的大脑能够对世界进行比较准确的观测,具体的,海马体是大脑的一部分,它可以形成对世界的一个编码,如果老鼠在世界里面运动,那么对应的海马体就会编码出所在位置。海马体编码除了能捕获老鼠的运动,还能够通过激活编码,识别这个老鼠的状态。

其中有一个实验,首先使老鼠在环境中运动,同时收集到一些数据,通过数据解码老鼠的运动状态,基本上能够通过解码还原出老鼠所在的位置。有趣的是当老鼠在睡觉的时候,它的大脑并没有完全地休息,可能会有一些活动例如做梦,这能够通过 mental model 解释。通过解码看到老鼠在做梦时,同样也在环境里面跑,而且很有可能是倒着跑,这在一定程度上说明生物是有 mental model 的,这是生物智能的一方面。

而 mental model 和今天讲的世界模型具有相同的含义,生物智能通常都是基于内在世界模型的还原。

02关于强化学习

image-220e354282ce4e7c9be8bbcca490c8f0.png-imageStyle

强化学习是机器学习的一个经典子领域,是关于决策方向的。很多其他机器学习技术,是监督学习,是关于预测、模式识别方向的。关于在决策方向上如何完成决策的任务,并学习最大化累积奖励的策略,这是强化学习要去解决的目标。另一方面,监督学习的训练需要一批有标记的数据。而强化学习需要我们在具体的环境中考虑智能体的决策,以模拟生物和环境之间的关系,智能体可以在环境里面产生一系列的行动或者决策,智能体在环境中产生行动以后,会观测到环境状态的变化和环境反馈的奖励。

image-0ece8f77482d419c99bb7226cfa5e8c3.png-imageStyle

强化学习的学习思路是从试错样本中学习。如图所示,强化学习随机采样并产生一些从起点到终点的轨迹策略,当它发现一些轨迹策略比另外一些轨迹策略更好,那么强化学习就会根据数据更新自己的策略,更新以后这个策略的效率就会更高,不断这样更新下去,最终能够收敛到一个比较好的策略。

强化学习的一个核心问题在于它的采样效率,完全随机采样的效率是很低的,对数据的利用程度不高,能够学的东西也没有那么多,就会导致强化学习需要大量的采样,这里面有大量的试错。所谓的试错是在已经能够推断出哪些地方不可以走之后,由于模型的学习能力不足,导致还要在错误的轨迹再试一下,当观察到有错误的结果,模型才知道这个地方是不能走的。这个问题就会导致强化学习在应用上受到很大的阻碍,因为实际上大部分的应用场景都不允许过多的试错,甚至有些情况下是完全不允许试错的,只有在允许试错的条件下面,强化学习才能发挥得比较好。

今天的强化学习在游戏环境能做得很好,是因为游戏环境是允许试错的,而一旦我们的环境不允许试错,那么强化学习应用起来就会很困难,所以这里的核心就是如何提高强化学习的样本效率。如果从生物的启发来看,像老鼠那样,跑了一下真实的环境以后,就可以在自己的 mental world 里面进行训练和学习,不需要真正地和环境进行交互就能学到很好,那么样本效率就能够得到大幅的提高,应用起来也会变得非常方便。

image-b983dd7eddc44fe1b7345540425b9f98.png-imageStyle

Mental world 在强化学习的发展历史中一直在被研究,这一分支叫做 Model-based reinforcement learning,即有模型的强化学习,这里的模型是专指对于我们的应用问题的建模。

比较经典的框架是 Dyna 架构,是 1990 年沙特提出来的。在这个框架里除了在环境里面进行试错,去收集数据以外,还专门有一步是要去学习 domain knowledge,它并不是直接从知识里面去学习,它是一个 action model,是一个黑盒,主要做的是将当前环境面临的条件作为输入,预测接下来的环境的条件。

类似于上图右边所示的强化学习框架,Agent 在我们的世界里面要执行一系列的动作,然后环境能够反馈出下一个状态是什么,那么在 Agent 的大脑里面能不能有一个 model 来建模这个世界是怎么运转的。在具体的算法框架里面就有怎么用数据去 update model,并且在学习策略的时候,要用 model 去产生更多的数据出来。更多的数据就相当于在 mental world 里面想象出来的数据,我们希望用这些想象出来的数据去帮助学习,从而大幅减少和真实环境的交互,提高强化学习的样本效率。

image-72bc2758f4294b06bc9e59d7a9e94a3b.png-imageStyle

关于 world model,强化学习从几十年前就一直有 model-based 的方向。在 2018 年时,有一个工作,就是希望对观测状态进行压缩和表征,其中包括两块,一块是使用 VAE 模型对高维的观测进行一个低维的表征,然后使用一个 RNN 模型建模状态和动作。状态输入以后先压缩到一个低维表征,再通过 RNN预测下一个状态,然后进行决策推断。在这个工作里面,作者为了更明确 model 指什么,所以这个工作里面就把 model 叫做 world model 世界模型。其实在强化学习里面,它就是对于世界怎么表征和怎么运转的建模。

image-0908acc9e49e459996605ceddcf00a0e.png-imageStyle

上图是来自 J.Pearl 的因果阶梯,以解释因果学习和其他理论有什么不同。因果阶梯从下往上三层分别是 association(相关性)、interventions(干预)、counterfactuals(反事实)。

可以从强化学习的角度理解因果阶梯,在强化学习算法中是真的在实施干预,为了了解不同决策产生的后果,就可以真正的在模拟环境里面做一下相关决策。在强化学习中可以收集到智能体在不同的干预下的数据。最上层是反事实,也就是数据上面没有体现出,还不知道一个决策会产生什么样的结果,但是我们希望能够在看到真实数据之前,将它推理出来。这在强化学习中,正好对应的就是 model-based reinforcement learning,因为只有 model 出来以后,才能够产生出没有见过的数据。

从图中可以看出,因果学习和 world model 中都有对真实世界的建模,世界模型的建模也是对应到因果模型里面的 counterfactual 层。

image-2ec86848029544419d823e5488b36f0e.png-imageStyle

从因果推断和 world model 两种理论的定义可以看出,世界模型一定是需要用因果关系进行建模的,它一定要关注到决策对于环境变化的因果性的影响。在 world model 构建出以后,如果需要去做决策,就需要明确地知道动作和结果之间的关系。比如可以通过公鸡打鸣来预测接下来一两个小时天会亮,这样一个关联关系用来做预测是没有问题的,但它不是一个因果关系,所以对于决策来说是没有用处的,不可能把公鸡杀掉以后天就不亮了,所以无法对环境进行改造,进行干预。因此如果我们想要做决策,就一定需要 world model 符合因果关系。

image-918b282948f64990955c56261418db77.png-imageStyle

上述问题导致对因果关系的学习有着很大的难度,因为今天大部分机器学习技术都是发现相关性,换而言之就是在监督学习里面,经常会假定数据是独立同分布的。我们会假定训练数据和预测数据的分布要有一定的规律。但是 world model 不是用来做预测的,它最核心的事情是要去回答 what if 这样的问题。比如股市中,如果我今天买,之后会怎么样?如果没买,又会怎样?只有回答大量的 what if question,才能帮助我们去做决策。这种 what if question,就使得我们总是对那些数据之外的事情很感兴趣,特别是在倒推的时候,我们总会假设如果做出另外一种决策,会不会更好。

而 world model 能够支撑我们去问 what if question,就意味着 world model 不管是从什么数据上面学出来的,总会关心那些数据以外的问题,所以我们一定要用 world model 去回答 out of data distribution 的数据上面的推理,所以它和我们今天所熟悉的大部分技术都不太一样。

world model 需要回答当决策者做另外一个决策时的结果,这样的预测实际上是非常难做的,它和经典的监督学习的假设是不一样的。

03基于环境模型的强化学习框架

image-e84a05d9a9cb440ba3aab63d1641e151.png-imageStyle

下面讲一下 world model 的框架。首先从真实事件里面采到了一些数据,通过环境学习的方式构建一个 world model,然后在 world model 里进行强化学习,以得到更好的策略,这个策略将会部署到真实环境里面去用,我们特别期待的是这个策略不需要做更多的探索,就直接可以部署到环境里面,做更好的决策。

当我们构建出 world model 之后,怎样在 world model 里去做更好的强化学习,哪怕这个 world model 并不是那么完美,或者远离数据以后就表现得不那么好。我们更关注的是怎样将 world model 构建得更好,从而使整个强化学习做得更好。在做很多复杂的决策时,特别是真实世界的复杂决策时,我们就可以用这样的技术去解决问题。

image-899db162da844dff8aedb777775933c0.png-imageStyle

我们希望 world model 能够和因果结合起来。如果将因果学习的技术放到 world model 中去,是否能让 world model 学得更好。

image-749cd77f999b4eedbaa1549a84ea63e2.png-imageStyle

起初的想法是,通过因果结构学习,能够把 world model 的结构发现得更好。World model 中哪些实体有因果关系,我们就将相应的边连上,没有因果关系的就把边去掉。这件事情其实看起来很简单,但是在强化学习里面去学 model 时,很久以来一直都是全连接的 model 的学习,就是上一个时刻的所有的变量,去预测下一个时刻的所有的变量,不太关注中间的关系,如果有一些假的因果关系在里面,就会导致 world model 学得不够好。

image-348aea975960406f98ca5c02a37e833b.png-imageStyle

因此我们探索能否通过更好的因果结构的学习,获得一个更好的 world model。我们将变量划分为因果变量和伪变量。真实环境模型与学到的环境模型去评估同一策略时,性能差异与引入的伪变量数量相关。能够排除的伪变量越多,该策略的性能会越好。

image-606b154b085e46f2a158fcee50ad11fe.png-imageStyle

从实验中也会发现,在比较好地还原因果关系以后,得到的模型性能确实是能够有提升的。这是关于如何使用因果发现来帮助我们把这个 world model 里面的结构呈现出来。

image-c8a760a326cb4ac187f3ce0cf27f2c56.png-imageStyle

在 2022 年前后,有更多的工作集中在 word model 的学习上,实质上是在关注强化学习下的表征学习。尽管文章标题可能未明确提及"world model"这一术语,但其实际上是在进行 world model 的学习。在基本的强化学习表征中,将世界视为一个具有状态的实体,这个状态会随着时间步骤的推移而变化。然而,我们可能无法直接观察到这个状态,而只能观察到其一些表征。因此,在执行决策后,决策和前一个时刻的状态将影响下一个时刻的状态。这个决策是由某个策略学得的,该策略可能基于观测来决定采取什么动作。在经典的强化学习中,决策通常被视为自由变量,即由个体自行选择。

同时,与决策相关的是奖励(reward)。奖励可能与状态的出现有关,也可能与动作和下一个状态的共同作用有关,决定奖励的是一个 reward 函数。然而,在面对复杂环境时,观测中可能包含与任务关系不大的信息。因此,某些研究考虑将 MDP 中的任务信息对状态进行拆分,使其中一部分与奖励无关,从而使建模更加稳定。近期的研究如 ICML 22 中的两篇相关工作,也在致力于进一步优化这个模型。

综合而言,观测变量可以分为四类:受决策影响的、不受决策影响的、与奖励相关的和与奖励无关的。在强化学习的后续阶段,我们主要关注的是通过决策可以影响的奖励最大化的部分。然而,我们发现在先前的分解中,其因果关系的可识别性可能是不足的。

image-4c7461dd79044c50877f36709b8db1fa.png-imageStyle

因此,在我们新的工作中发现,在建模过程中,上述四个方面都是不可或缺的。在这种情况下,能够实现以块状方式可辨识(block-wise identifiable),也就是说,在这种结构下,它才能够正确地识别这四个变量。识别出来后,就可以在此基础上进行鲁棒的强化学习训练。

image-c1969b805eb94cccb16a29a0e08a4ebd.png-imageStyle

从实验中也可以看到,如果能正确地对这四个方面进行分解,在进行接下来的强化学习步骤时,所有方法在没有噪音的情况下表现都差不多。然而,当引入更多噪音时,它能够将与奖励无关且与我们的控制无关的部分分离出来,从而使后续决策更加精准。

因此,对于 world model,对这些变量进行分解,呈现出变量之间的因果关系是非常必要的。

image-64562e8cb82047f693f173a8cab8ef1f.png-imageStyle

前述工作主要是关于因果结构,而后续可能会朝着 Rubin 的因果性方向发展。

我们在一些真实环境中观察到了因果建模错误的现象。例如上图所示,在与美团的合作中,当为骑手提供更高的价格时,我们预期骑手的效率应该更高。然而,监督学习的结果却截然相反,即价格越高骑手的效率反而降低。这显然与直觉相悖。

为什么会出现这种情况呢?我们在强化学习中默认假定动作是自由变量,然而实际收集到的数据并非如此,动作是根据策略从状态中生成的。因此,如果假设它是自由变量,当我们试图学习这种关系时,就会将隐含的关系纳入学习,导致问题的产生。这与我们经典的辛普森悖论有直接的联系。状态到动作之间存在多个不同的状态到动作映射,分开看时,每个映射都是正确的,但如果将所有数据合并来看,就会发现这是一个错误的关系。

image-c0a6b9bb4c13466cacba248698d87e17.png-imageStyle

为了解决这一问题,一种经典的方法是分布修正,即通过调整采集到的数据分布与目标分布之间的偏移,从一定程度上缓解这一问题。

然而,对于强化学习而言,目标分布实际上是不清楚的,因为我们不知道目标是什么,目标取决于策略,而策略尚未生成。因此,需要考虑对目标策略的最坏情况,希望在任何目标策略的情况下都能够实现较好的分布修正。

image-7f4af569e1b34bfb9e0209d10bd2c874.png-imageStyle

在进行修正后,我们在六个实际城市中观察到,绿色线所代表的是监督学习提取的关系。在其中五个城市中,关系都是错的,即骑手薪酬越高其效率越低。而经过修正后,可以观察到这些线都呈递增趋势。因此,修正后的结果能够更好地辅助我们进行 world model 的建模。

image-1f708ef472f645698160f3c5062df469.png-imageStyle

完成建模后,我们注意到在六个城市中,能够在决策层面取得更好的效果。在图中,竖线表示我们引入了新的决策,在两个不同的城市和区域之间进行了对比,之前的蓝色区域位于红绿色区域下方,但在应用新决策后,蓝色区域移动到了绿色社区域上方,进一步提高了我们的效率。因此,我们可以观察到监督学习所建立的模型实际上导致了效率的降低。这是基于真实随机数据的实验结果。收集随机数据是需要成本的,因此在实际业务中,我们不希望在真实环境中进行试错。可以看到,如果使用监督学习模型,其效果实际上比随机方法更差。而通过更好的建模,我们能够获得比随机方法更好的效果。因此,因果关系的修正在这个过程中至关重要。

image-786c0736c0f247a683876aa7f61b843d.png-imageStyle

接下来介绍一个最新的研究工作。虽然在这个工作中我们并没有直接使用因果学习的技术,但我们考虑的是,如果我们能够更好地学习 world model,其中是否蕴含了一些迄今尚未被充分发现的强化学习相关的信息。

image-e0fa8dc00b3342af9fc1b24a2b8d51ff.png-imageStyle

最初我们与淘宝合作,开始应用强化学习时,我们认识到必须能够成功学习 world model,否则这个任务就无法完成。在这个学习过程中,我们产生了一个思考:为什么我们能够实现泛化?因为我们总是期望 what model 能够回答那些不在我们数据集中的 what if 问题。那么,有什么原理能够使我们能够泛化到这些数据之外呢?

以购物场景为例,我们将平台视为策略,即 agent,而购物的客户则是我们的环境。由于 world model 需要包含大量虚拟客户来进行购物,我们关注的是在我们已经采集数据的推荐情况之外,当我们试图回答那些未见过的数据时,系统将如何运作。我们考虑的一个想法是,由于这里涉及到人类,我们可以将其看作是一个 agent。既然它是一个 agent,那么它应该是在最大化某种 reward 的基础上做出其行为决策的。

换句话说,我们可以将我们的环境也看作是一个需要通过强化学习来学习的 agent。在购物环境下,这种观点可能更加直观。由于我们的环境中存在人,我们可以假设这个人背后有 reward,有动机。如果我们直接从数据中观察,我们很难将数据泛化到其他场景中。

但是,如果我们能够学到这个 agent 背后的 reward,那么在面对其他未曾见过的场景时,我们就能够直接通过最大化这个 reward 来生成消费者行为数据。如果这个数据符合对该 agent 的假设,那么我们就能够在未曾见过的场景中生成数据,从而实现数据的泛化。我们将这样的 reward 称为 Dynamics reward。

后来我们发现,这个假设不仅对人类有效,对于其他环境,比如机械环境,也同样有效。因此,我们开发了一项技术,从有限的数据中还原 world model 背后的 reward 函数,并使用这个 reward 函数生成更多数据。

image-f65cfba5edb743e388ed73d59590a267.png-imageStyle

这是一个简单的场景,通过控制冰箱温度来调整压缩机的控制。如果压缩机增加压力,温度就会上升。图中横轴表示温度,纵轴表示压缩机的控制,颜色表示下一个时刻的温度。从图中可以看出,温度正在下降。图中的斜对角线代表我们的策略,该策略在采集到的数据点上运行,这些数据点用小圆圈表示。由于数据量有限,当我们尝试使用监督学习从这些数据中学习时,它的泛化能力非常有限,只能泛化到深色区域的一小部分,只有这一小部分是正确的,其他部分则不正确。因此,直接使用数据进行学习的泛化能力较差。

当我们从这些数据中学习一个 reward model 后,该 reward model 可以为模型评分,即确定哪些地方的 reward 较高,也就是模型在真实环境中表现良好的地方。通过对比可以看出,监督学习的泛化能力只覆盖了一小部分,而 reward model 学到的 Dynamics reward model 的泛化能力则涵盖了更大的区域。因此,泛化能力得到了显著增强。

对于一个未见过的测试策略,在监督学习模型中可能会偏离真实环境。但是如果使用了 reward model,模型就能够更紧密地贴合真实环境。值得一提的是,reward model 与我们在 ChatGPT 的最后一步中看到的用 reward model 修正价值对齐的方法基本相同。因此,在强化学习中,除了学习转移和计算转移外,我们还通过逆强化学习学习了一个 Dynamics reward model,并使用该 Dynamic reward model 进行转移修正,这极大地提高了离线强化学习的性能。

image-198f3a9c444d465c87a9de7984a80f91.png-imageStyle

在默认的 RL 基准测试上,可以看到性能得到了显著提升。之前的情况下,分数大致在 60 到 70 之间,而在线强化学习则能够达到 100 分。我们之前的研究在六个任务中取得了 80 分的成绩,而引入 Dynamics reward model 后,性能提升至 83 分,已经达到了性能的天花板,无法继续提高。我们已经成功解决了六个任务,这意味着我们的离线强化学习已经达到了与在线强化学习相媲美的水平,已经完成了一半的任务。

在更为困难的新 RL 基准测试中,采样策略的平均得分为 50 分,之前基本上都无法及格,我们的上一项工作仅达到 60 分,而加入 Dynamics reward model 的修正后,分数提高到 76 分,并且有三个任务的得分能够与在线强化学习相匹敌。因此,更好地建模 world model,能够使整个强化学习的性能显著提升。

image-064271dea9af4c21b755c1ad69154656.png-imageStyle

我们注意到在 CVPR 2023 上已经有一些研讨会强调了对 world model 的研究,尤其是特斯拉公司,他们认为构建出的 world model 对于自动驾驶至关重要。当然,这些仅仅是一个起点,我们期望更多的研究人员和学者,特别是从事因果建模的人士,能够将研究工作与 world model 相结合。感谢大家的关注。

04问答环节

Q1:请问世界模型是否类似于真实世界的数字孪生?或者在某种程度上两者之间是不是有一些技术可以共享?

A1:目前数字孪生仅是一个概念或者期望,我们希望在数字环境中创建与真实世界相似的实体。因此,数字孪生的定义在愿景上是相似的。然而,数字孪生并未形成独特的技术体系。特别是,当我们看今天市场上的数字孪生时,它们几乎全部转变为可视化工具,这与数字孪生最初的愿景背离甚远。虽然数字孪生方向有其潜力,但目前实际上并未产生出全新的技术。因此,我们仍然认为从数据学习,特别是学习 world model,并运用因果关系进行这些工作,才是真正值得追求的方向。这仅代表个人观点。

Q2:分享中提到因果推断与 world model 之间的相互赋能,可否分享一些这方面的启示。

A2:在建模时,World Model 表现为高度非线性,几乎没有线性情况。我们特别期望非线性因果建模和因果推断的技术能够得到良好的发展,并成功应用于 World Model。此外,在强化学习领域,我们渴望将因果推断技术应用于探索建模以及整个学习过程。目前,强化学习中的探索大多是随机的,效率较低。但如果引入因果推断,系统将能够理解应该在哪些方面进行探索,从而提高效率。因此,我们希望在强化学习中充分结合因果推断,尽管目前结合两者的研究相对较少。强化学习研究涉及领域广泛,而因果推断的应用相对有限,这可能是由于这一结合难度较大。因此,在这个方向上的坚持可能需要大家的共同努力。

以上就是本次分享的内容,谢谢大家。

image-3213f3bff0b84aba867a6ac5bb45766c.jpeg-imageStyle

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK