聆听他们的观点并加入讨论,我想这次对话的目的主要是探讨探索(exploration),或许我们可以将话题从特定主题稍微拓宽到更一般的层面。我注意到在之前的演讲中出现了一些共同的主题,其中之一就是如何评估进展(progress)。Ian 曾谈到过这一点。SweetsWill 提到了一些过度拟合强化学习(RL)的陷阱,Chelsea 则讨论了从对象层面的 RL 向元层面 RL 探索的转变,以及在这方面可能存在的针对不同种类的过度拟合和欺骗自己关于进展的方法。我认为这是一个非常有趣的话题,也是我所感兴趣的,希望我们能就此展开讨论。

还有一个我也很感兴趣的主题是关于元学习探索与我们自身设计之间的对比,以及我们认为在哪些情况下哪种方法更有前景。我们将对此进行探讨。我认为这涉及到了解探索最终如何以分层方式工作的挑战,即我们不仅是在采取行动进行探索,还在选项(options)层面进行探索。我认为这是一个非常重要的话题。这些就是我注意到的一些广泛议题,我打算在这里提出一两个问题来开启对话,同时也希望演讲者们思考我们应该作为该领域和探索研究者需要提出的大问题。

为了开始讨论,我发现自己特别被“如何评估进展”这个问题所吸引,因为思考强化学习中的进展和探索有时既深刻又令人困惑。我们该如何看待这一问题?是通过基准测试吗?比如 Ian 正在研究的 B Suite,如果我们解决了这些基准问题,或者说我们将我们认为构成进展的要素编码化,这是否是我们应该走的路?还是说其中有更深层的东西,比如对探索的真正洞察会通过基准测试或其他某种方式揭示出来?这是一个广泛的问题,我很乐意看到讨论走向何方。

我可以提供一个关于基准测试的反面案例:当我们开始撰写我主要展示的论文时,我们研究了元强化学习社区中人们用来评估的现有内容。其中没有任何一个真正挑战了问题的探索方面。当我们随后将在这些所谓基准上开发的所有算法——因为它们最初并非作为基准引入,而只是各种论文中的评估手段——在一个真正挑战探索的问题上进行评估时,它们都表现不佳。

这些算法无法找到好的探索策略。因此,我认为很难预见究竟是什么将构成挑战,什么会考验我们的算法等。总体而言,我通常是基准测试的拥护者,但我认为它们需要随着领域的发展而不断演进。基于我们当前算法的水平,我们可以持续地将最新知识和洞察添加到我们对当前方法挑战的认知中。

这里似乎有一种“公地悲剧”的迹象,所以我也插话谈谈。我认为至少从我(以及可能大多数人)的角度来看,探索并不像是一个与强化学习其余部分 magically 分离的东西。当你进行良好的强化学习时,你就能看出你进行了良好的探索。问题或许在于,即使是完全贪婪并辅以抖动(dithering)进行探索的策略,在结合奖励塑造、领域知识等特定情况下也能表现良好。

这使得很难说“看,探索是其中之一”。也许它是我们似乎在代理(agents)中手动调整的最后几件事之一。我知道在 AlphaStar 中确实如此,他们总是通过手工添加扰动来寻找新代理的方法。因此,对于我来说,B Suite 的重要之处在于试图确立一种主张:如果我们能实例化某些基准来代表探索问题的某个方面,那么这些就可以成为良好的代表性测试。

这可以加入生态系统,让人们意识到“哦,等等,这里有些东西需要解决”,而不是仅仅说“好吧,你是什么意思?我只要为此添加一个塑造奖励就行了”。我认为这是我们需要讨论的内容:我们对强化学习算法有何期望?我想补充一点,我非常同意他们刚才提到的几个观点,即基准测试应该随时间演变。

我想补充的是,Ian 也说过这一点:探索与强化学习的其他部分紧密相连。它与表示学习、信用分配等超级绑定在一起。如果我设计了一个惊人的探索策略,但它与策略相差太远,以至于我的在线学习算法或策略梯度方法无法真正利用它,那么这就不是一个非常有用的探索方法。因此,与几乎所有其他东西相比,探索更紧密地交织在强化学习中,这使得评估变得非常困难。

我喜欢持续添加基准测试的想法,并确保它们涵盖大家关心的所有问题空间。因为很容易只关注我们自己关心的问题,或者你关注你自己关心的问题。但是拥有……

我们共同认为重要的一组问题,看起来非常有用。我也将在此分享我的观点:我认为,避免针对特定基准测试或特定领域陷入过拟合陷阱的一种方法,是确保我们同时推进对现有方法的理论理解。

我认为,如果我们拥有既具备最坏情况下的保证、又能在比最坏情况更简单的问题中做出合理行为的算法,那么相比于仅了解其中一方面,这将让我们对这些方法更有信心。

乔尔插话说,我觉得我必须谈谈探索基准测试的问题。我认为这些基准在社区推动思维进步方面发挥着非常有价值的作用。这里我要把话题抛给莱昂斯一点。我认为“Go Explore”就是一个例子,它在强化学习社区引起了很大轰动。

我想他的意思是:这里有一个你认为在探索视角下很难的问题,以及一个你可能甚至没想过是解决方案的解法。从某种意义上说,这也令人兴奋,对吧?是的,这很有趣,我想被抛入“狮子群”中确实如此。

关于Go Explore,我认为有趣的一点——也许其他小组成员也会觉得这个主题很有趣——是它质疑了我们的一些假设。比如,形式化本身:例如在某些情况下,你有一个模拟器,你可以以任何方式利用它,这其实是可以的。

因此,也许这是我们关心的强化学习的一个类别,在那里我们无所顾忌,可以做任何想做的事。当然还有其他情况,你希望遵循强化学习的标准规则,但我认为这是一个有趣的主题。

我不确定它如何更广泛地联系到探索问题,但你知道,质疑奖励函数:奖励函数从何而来?它是如何被编码的?在某些情况下,它可能是错误的。假设中有一些我们内置的前提其实并不成立。

基于此延伸思考:在探索方面,我们在哪些地方应该考虑质疑整体形式化?有哪些我们可以作弊的方法,以及不可以作弊的方法?这是一个更广泛的问题。我很好奇大家对此有何看法。

乔尔,如果我可以的话:是的,这与威尔之前的观点相关,即探索与强化学习的其他方面紧密耦合。我认为在许多情况下,评估探索的难点在于如何将探索与其他挑战区分开来。

这也是为什么我认为离线强化学习或策略强化学习的研究更加清晰、更容易的原因。这也引出了伊恩演讲结尾提出的一个问题:当我们谈论问题的不同性质,即探索基准时,我们如何衡量泛化能力?或者时间信用分配的需求。

我们能否量化这些维度,然后用它们来捕捉问题的难度并用于评估探索?我认为这是一个值得深入思考的有趣话题。

沿着乔尔提问的思路,基于我们在机器人领域所做的工作,我对这一点有很多想法。我认为对于任何基准测试,我们理想中希望它能反映我们所关心的现实世界问题。机器人就是一个例子,当然也有许多其他强化学习适用的领域。

但在机器人的背景下,我认为强化学习的某些假设要么太强,要么太弱。例如,在机器人中获取奖励函数的访问权限可能非常具有挑战性,因为你只能观察到传感器提供的数据。你通常无法观察更多,而且很难在此基础上定义奖励函数。

有时你可以获得演示文稿,使强化学习问题显著简化;或者提供好状态和坏状态的例子,这也会使探索问题大大简化。在实践中,我们很少从头开始运行强化学习而不使用任何演示文稿或起点。

此外,虽然这并未真正内置于强化学习的形式化中本身,但我们通常假设我们可以重置环境并拥有真正的回合制设置,可以一次又一次地尝试。而在机器人领域,这需要人类在整个过程中始终在场;如果人类必须参与该过程,几乎就违背了强化学习本身的初衷。

因此,我认为在制定基准测试并试图开发反映机器人标准问题以及其他现实世界问题的基准时,我们应该重新考虑所有假设。

是的,我想回到莱昂之前提出的问题:我认为基准测试很棒,如果我们能提炼出……比如我之前介绍的B-suite。这是一种不太受关注的基准类型:这些简单的诊断测试,几乎具有教学性质,通过示例教你一些东西。

但最终,这是一种较弱的理解形式。没有人会通过例子来教授线性回归,比如“看这个漂亮的数据集”。也许你会看到那种展示曲线如何起伏以说明事物可能出错的图表,但你知道的。

我认为如果我们要达到一个阶段,我希望追求比这更深层的理解形式。特别是如果我们都知道epsilon-greedy或类似方法效果不好,或者Boltzmann探索不够好。我们从理论上知道它们不够好,从例子中也知道它们不够好。

因此,让我们开发工具、示例或实验,或者理论来帮助我们要获得效果更好的方法。这意味着在数据效率方面表现更好的算法……

信息收集。还有其他人想插话吗?还是我来?重定向。好吧,我们必须刻意制造分歧。我们要在这件事上引发冲突。我想大家都这么认为。好了,好了。我 suppose 可以刻意制造分歧。这里有一个让我有时思考时感到困扰的有趣问题,我很想知道各位小组成员的看法。

我想象自己可能已经理解某种立场了,但你知道的,当我们思考将强化学习算法扩展到真正雄心勃勃的目标时——比如能够学会人类能做的一切的机器人策略,或者类似的事情——这里有一个问题:我们应该设计探索机制,还是应该通过学习来获得?

你知道,切尔西一直在谈论元学习。许多其他人也在讨论手动编码探索策略之类的事情。我想有时候我不知道该如何思考,哪种方法更有前景?或者也许两者都不是最好的,但它们在不同情境下各有优势。但这里可能存在一些分歧,我们可以加以阐明:我们应该在元学习上投入更多资源吗?还是在对象级学习上投入更多?你们怎么看?

我的意思是,正如切尔西所说,你仍然需要能够解决单个任务才能进行元学习,对吧?所以你不能完全忽视在单一马尔可夫决策过程(MDP)中理解探索以及设计更好的探索算法。我认为,我们不能完全放弃这一点。但我确实认为,是的,有很多有趣的地方。

我的意思是,毫无疑问,我们学得越多越好。我认为我们需要提高的一点是:目前设计的许多探索算法往往是针对特定的最坏情况或特定类型的问题结构而设计的,并且它们往往过度依赖于这些结构。

这一点在威尔的演示中也体现出来。例如,当遇到非常适合 epsilon-greedy 策略的情况时——因为问题在每个时间步都提供了丰富的信号——那么你的表现就不应该像在某些深度强化学习算法中那样糟糕,对吧?我认为这种快速适应的能力在许多方法中仍然 largely missing(很大程度上缺失)。

我想如果我们具备这些能力,我们对探索领域的现状可能会感觉好得多。是的,我想我会说,我同意亚历克对此的看法。你知道的,我想这也联系到我回答玛莎问题的答案。但也许其他人也应该尝试回答这个问题。“Deep Sea”确实是一个例子,我认为它受到来自表格设置(tabular setting)的一些直觉的影响。

我想表格设置基本上是目前绝大部分探索研究工作所在的地方。但是,亚历克,你知道的,这个群体中的许多人都在推动……但仅仅因为我们有了那个,以及因为我是一个主张将表格设置作为健全性检查的人,我认为我们不应该忘记重点必须是具有泛化能力的探索。

所以关于泛化……你知道,这是不同的词,但你可以说“泛化”。你也可以谈论带有先验知识的探索。有趣的是,探索的有趣之处不在于你在白板状态下的第一个动作。你打开一个 Atari 游戏并做出你的第一个动作,没有任何算法能在第一次动作中做得很好,对吧?那并不有趣。

有趣的是,比如你已经玩了一段时间,知道了一些东西,还有一些其他的东西你仍然不知道。这就是泛化。这与拥有先验知识类似,这也与元强化学习(Meta RL)设置相似。所以我认为这是有趣的点,这就是我们必须瞄准和关注的重点。

我完全同意伊恩刚才说的话,并且只想说:在元学习通常应用的完全独立任务之间,与仅仅应用相同类型的方法以重用经验并泛化到新问题的探索方式之间的这种差距,似乎是一条可行的道路。这里没有清晰的任务边界;我们希望算法在单个生命周期中不断进行元学习,考虑从探索角度出发的各种因素。

是的,一般来说,我同意前面所说的所有内容。我会说我认为威尔说过也许没有任务边界,而且我认为这在总体上是一个合理的假设。但我也认为,做出这一假设允许我们在问题上取得更多进展。存在一些我们可以构建任务和任务边界的情况,这可能会让我们比在假设处于最一般情境下时更好地解决问题。

鉴于强化学习问题有多么困难,我非常支持在各种问题领域中做出我们认为合理的假设,以使事情更具可处理性和实用性。话虽如此,我同意在元强化学习中定义任务是一种负担。某种程度上,你是将这种负担从……我不知道是奖励设计之类的东西——转移到了设计这些任务分布的负担上。

希望我们最终也能摆脱定义任务分布这一步,将其放在一个更容易指定的地方,比如也许我们只需要写下一堆句子来描述我们希望我们的智能体完成的任务。那将非常棒,然后它就能从中推导出任务之类的东西。

是的,我认为我们应该不断重新思考我们所处的环境设定以及我们可以引入以使事情变得更简单的假设。至少从这个角度来看,我们正在解决现实世界的问题。我打算尝试制造更多的争议,看看是否有效。所以我的问题是:在深度强化学习中,探索本质上是停滞的吗?直到我们理解不确定性神经网络为止。

我的意思是:这是否意味着,如果我们不破解那个问题,我们就几乎无事可做?我认为这取决于你如何定义强化学习中的探索问题。如果你的目标是在深度强化学习中定义……嗯,在深度强化学习中,是的。但即使如此,比如,有

如果你的目标是定义一种能在广泛问题领域中通用的单一探索策略和算法,那么可能这种根本不存在。也就是说,不可能定义出一种在所有我们关心的领域都能达到理想效果的算法。是的。所以我认为唯一的希望是,抱歉,我有个外卖到了,没静音……但我认为唯一的机会在于,你必须明确你正在为哪类环境设计探索算法。理想情况下,你会说我想构建一个对某类特定环境家族有效的通用强化学习算法。

那么探索部分就应该针对这一类别进行定制。我认为元强化学习(Meta-RL)使这一点变得非常明确,或者说是像工匠一样具体:你观察到的分布是什么?你应该从中学习。这非常具体,但本质上这与贝叶斯先验类似,甚至不需要是贝叶斯的。你只需明确:哪些环境是我关心的?哪些不是?如果你说我不关心深海之类的问题,那么你就有望做得更好。

这应该是我们追求的目标:正确的探索方式。就像你说出环境家族,我就为你提供针对该家族的优质探索方案。是的,我认为这在某种程度上是合理的单向推论:如果我能找到一种极好的方法来表征神经网络中的不确定性,那肯定对探索和强化学习有用。但我认为,一旦我们对底层强化学习问题做出结构性假设,用于探索的方法可能会比通用的不确定性量化更容易实现。

这是一个有趣的例子:在块马尔可夫决策过程(Block MDP)风格模型中,底层存在一个马尔可夫的表格状态,但你观察到的是来自它的高维发射过程。在这种情况下,你可以进行探索。即使使用神经网络构建事物,通过噪声对比估计执行双样本检验,得出的结果至少对于探索目的而言是一种有效的不确定性量化。虽然这不是完全通用的不确定性表征,但在该模型内它是有效的。

我认为这是一种模式,在强化学习问题中可能会反复出现——或者我们应该如此。正如之前多次提到的,只要结构来自真实应用的代表,我们就应毫不犹豫地利用问题结构;但要小心不要过度拟合雅达利或MuJoCo中存在的特定结构。我喜欢Alex的回答,并想进一步阐述:既然我们需要具有争议性,我认为试图表征神经网络的不确定性实际上可能正是让我们停滞不前的原因。

在许多环境中,探索是免费获得的。随着我们扩大技术规模,虽然探索仍将是问题所在,但在当前关注的地方可能会更容易解决。一个好的类比可能是双陆棋(Backgammon)。众所周知,在强化学习中我们能在该领域取得进展,因为它的混合性很好。或者骑自行车的例子——虽然不确定是否恰当,但你很快就能知道做错了会发生什么。

我猜测现实世界中有很多我们并不关心探索的不确定性,无论是由于结构性假设还是其他驱动因素导致行为不同。我自己很想探讨这些想法。我同意Mark的观点,并想指出一点:既然提到了深海或这类病态问题……我确实注意到那种需要担心高效深度探索的需求,与90年代人们认为“永远不能用梯度下降优化神经网络因为它是非凸的”这类观点有相似之处。

所以,这有可能实现。我其实不认为……我还不太准备好完全接受它,但我认为那里有平行关系,你应该对此保持警惕。如果你从事探索研究并担心所有这些理论问题,你应该问自己:这些在真实问题中真的重要吗?也许贪婪加上一点抖动就足够了,不需要做不确定性量化。我认为深度强化学习中不确定性量化的巨大成功尚未到来,这应该让我们感到担忧。

Ian,你认为这是源于不确定性量化本身的潜在局限性,还是像Daniel所说的那样,我们还没有足够好地解决那个特定问题?我认为更像是后者。人们常说“深度学习从80年代就存在,他们早就搞定了”,但这显然不止于此。ReLU替代Sigmoid很重要;Adam替代SGD或不同的动量机制也很重要。如果你用大型sigmoid网络配合恒定步长的SGD,基本上行不通。

现在大家都说“它一直有效”,其实并没有真正起作用。主要思想基本在那里,我希望情况类似:我们需要某种类似于ReLU或Adam的东西来解锁认知不确定性。因为我知道它在简单事物中很重要,直觉上我觉得在重要事务中更是如此。但我承认证据尚不充分,所以你应该保持怀疑态度。嗯,所以我们种在碰到官方时间……

允许超时十五分钟,所以我本想利用这点时间继续深入讨论,因为我真的很享受这个话题。但我没有这么做。我想说的是,如果演讲者能留下来,请留下;观众若愿意继续参与也欢迎留下。现在似乎有一个链接指向 Gather 社交空间,如果你想跳转到那里也可以。但我更希望开放讨论环节,提出一些我们尚未问出但应该关注的问题。对于演讲者或持有类似观点的人而言,在深度强化学习的探索领域,有哪些被低估的重要议题是我们应当探讨的?

我稍后需要参加一个助教会议,所以我会快速介入。我觉得我们非常希望看到更多关于探索的研究,特别是在不仅仅只有奖励函数的情况下——例如当存在良好状态示例或演示数据时。目前这方面虽有少量工作,但并非主流强化学习研究的主流方向。然而在实际应用中,这种情况在许多领域都非常普遍且实用。

我想补充一点,虽然不一定直接关联切尔西刚才所说的内容,但我认为基准测试存在一个真正的问题。我并非不喜欢基准测试,但问题在于将“最大化基准分数”等同于衡量进步的方式变得过于单一。我们可以通过调整训练范式中的其他部分来达成这一点,即使这些调整使得结果难以直接比较——比如我可以随意调整神经网络结构或训练方式。

这种行为的借口往往是:“如果你的设置与我略有不同,就很难进行严格的苹果对苹果的对比。”但我认为这非常成问题,因为这可能导致我们陷入盲点或误解实际发生的情况。我并没有解决方案,因为我确实认为基准测试很有用,但这确实是我们需要警惕的问题之一。

当你提到这一点时,这是否反映了审稿的挑战?通常评审者会将基准测试作为判断研究价值的初步启发式标准,从而产生“刷榜”的压力?还是说这更深层地涉及理解某项工作是否真正具有洞察力的挑战?

我认为更多属于后者。我不认为应该责怪评审者,毕竟这是我们研究者自身造成的问题。一个容易举例说明我自己工作的例子是:如果我使用大量环境帧数进行实验,而对比的对象仅使用很少的帧数,那么在这两者之间讨论进展是没有任何合理性的。算法和基准最大化确实鼓励了这种行为,以及许多其他让方法看起来稳健甚至自欺欺人的手段。

我完全同意威尔的观点,但我想强调 B Suite 基准测试的另一个好处:我们可以设定一个明确的基准目标——即在特定数量的帧内完成某项任务。这可以成为焦点,但强化学习领域普遍存在一种不安的张力:我们究竟在做什么?是为了获得一个优秀的 Atari 玩家吗?AlphaGo 是强化学习的巨大成功,但他们真正想要的是下围棋的优秀策略。

其他都不重要。同样的逻辑也适用于许多 DQN 相关工作,焦点在于最终得到一个优秀的策略。而探索类研究如果要想成功,关键在于算法能否在现实世界中持续运行并良好学习。我不喜欢将 epsilon 设为零来玩最后一局游戏,因为这些游戏只是虚构的演练场。

我们处于一个未知的未来,强化学习将崛起并为我处理所有 AI 任务。但即便在 DeepMind 内部也存在这种张力:AI 究竟是那个策略,还是强化学习算法本身?这自然引出了我想指出的另一件事:在理论和应用中研究探索时,我们往往忽略了复杂性。

探索的精神在于智能体与真实环境互动并承担后果。然而,在探索与其他关切(如安全性、鲁棒性)的交叉领域,我们看到的成果并不多。我们需要维持可行的性能水平,以免在真实系统中有人拔掉算法的电源。如何让强化学习中的探索与这些复杂性共存?这很难,但如果我们想让 RL 智能体在重要领域得到试用,这就至关重要。

我赞同威尔和亚历克刚才的评论(尽管形式略有不同)。对于昨天讨论过的离线强化学习,其现实应用更为清晰:当你拥有大量离线数据或历史数据并希望做出更好的序列决策时,这就是离线 RL 的目标。而对于在线探索,情况则不那么明确。

部分原因在于现状:当你说要“进行环境中的探索”时……

就像Alex说的那样,我们不太清楚究竟允许进行何种类型的探索。安全约束等因素使得情况有些模糊。此外,正如刚才所说,额外的反馈和信号是否会让探索变得容易得多?也许我们需要在这方面多做一些工作,以引导我们明确在探索过程中哪些因素更为重要。

从某种意义上说,这也是我最近对无奖励探索(reward-free exploration)产生兴趣的部分原因。在这种情境下,你被迫去思考:除了显式的奖励信号外,还有哪些其他信号是你应该或可以利用的?

我认为大多数情况下,这些探索方式在本质上仍然相当同质化。比如,我们可能会尝试预测未来状态等问题。但毫无疑问,如果我们能利用更多样化的数据源,效果会更好。

好了,也许我该结束这次会议了。非常感谢Alec、Ian以及Chelsea和Absentia带来的这场精彩讨论,我很高兴能与大家交流。

目前社交活动正在进行中,希望到时候能见到在座的各位。谢谢Joel。谢谢大家。好的很精彩。

明天见。我非常喜欢所有的演讲和讨论,在此向所有发表精彩报告的讲者表示衷心感谢,也感谢Joe主持了这些发人深省的讨论。

明天我们将探讨优化、强化学习以及深度强化学习的主题,欢迎大家参加。同时,也请大家现在加入我们的社交活动。谢谢。