https://github.com/maddybartlett/ImprovedRLContinuousStateReps
Improving Reinforcement Learning with Biologically Motivated Continuous State Representations
https://cs.uwaterloo.ca/~jorchard/academic/ICCM_Bartlett2023.pdf
摘要
从经验中学习,通常形式化为强化学习(Reinforcement Learning, RL),是智能体在自然环境中发展成功行为的重要手段。然而,尽管生物有机体嵌入在连续的空间和连续的时间中,但许多人工智能体使用的RL算法隐含地假设了某种形式的状态空间离散化,这可能导致资源使用效率低下和学习不当。在本文中,我们展示了受生物学启发的连续空间表示对于RL是有价值的状态表示。我们分别在导航任务和CartPole控制任务中使用内侧内嗅皮层的网格细胞模型和海马体的位置细胞模型来表示连续状态。具体来说,我们使用六边形空间语义指针(Hexagonal Spatial Semantic Pointers)模拟大脑中发现的六边形网格结构,并将这种状态表示与单隐藏层神经网络结合,在Actor-Critic框架中学习行动策略。我们的方法展示了在环境参数变化(行进速度)时显著增加的鲁棒性,并且在与深度神经网络相当的平均性能下学习稳定CartPole系统的动态,同时在试验中将终端奖励方差减少了150倍以上。
这些发现不仅指出了利用受生物学启发的表示来解决RL问题的效用,而且暗示了六边形结构表示在认知中的更一般角色。
关键词:强化学习;网格细胞;空间语义指针;表示法
引言
人类和动物能够通过试错过程学习如何与环境互动,重复那些带来高回报的行为,避免那些带来惩罚的行为。这个过程被称为条件作用,它启发了用于训练计算系统的强化学习(Reinforcement Learning, RL)算法的发展。反过来,RL算法也为理解生物体的学习本质提供了进一步的见解。
经典的RL算法将状态和动作空间离散化,并假设时间可以被划分为离散的时间步。然而,生物体存在于连续的时间和空间中,因此它们的学习机制也必须在连续领域中运作。虽然离散化表示在使用标准计算机时很方便,并且在RL中通常能够产生良好的结果,但它们也有局限性。例如,粗略的离散化可能导致控制输出不平滑和性能不佳,而精细的离散化可能导致状态数量、内存资源和学习所需时间的爆炸性增长。此外,选择一个与环境的“正确离散化”不匹配的离散化可能导致表现不佳或资源使用效率低下,或两者兼有。
获得一个好的离散化方案通常需要先验知识或试错。此外,环境本身在其运行寿命期间可能不稳定。这可能导致所选择的最优离散化随时间而偏离,以性能或浪费的表示资源为代价。
在RL中,特征表示在性能中起着至关重要的作用。已经提出了各种特征编码方法,包括通过像平铺编码(tile coding)这样的技术对状态空间进行离散化,以及使用深度自动编码器获得潜在状态表示(Lange & Riedmiller, 2010)。在深度RL网络中,通常使用线性输出层,因此大部分神经网络可以被视为状态编码网络,后面跟着线性价值函数近似。此外,还探索了受生物学启发的状态表示。例如,使用类似网格细胞表示的RL智能体在2D导航任务中的性能超过了深度AC模型和具有类似位置细胞表示的智能体(Banino et al., 2018)。这支持了网格细胞为RL任务提供有用基础的观点。然而,据我们所知,这些好处仅在导航任务中得到了证实。这些好处在多大程度上推广到其他类型任务仍然是一个开放的问题。
在RL网络中使用类似网格或位置细胞的空间信息编码已被证明有助于加快空间导航任务的学习速度(Gustafson & Daw, 2011; Banino et al., 2018; Dumont & Eliasmith, 2020; Bartlett et al., 2022a,b)。在当前工作中使用建模网格细胞的方法,首次由Dumont & Eliasmith (2020)提出,建立在空间语义指针(Spatial Semantic Pointers,SSPs; Dumont et al., 2023; Komer & Eliasmith, 2020; Komer et al., 2019)上,这是在采用向量符号架构(Vector Symbolic Architectures,VSAs)的认知模型中使用的连续值的高维表示。这种方法允许我们将连续的状态信息表示为特定类型的SSP(六边形SSP,或HexSSPs)。生成的表示可以映射到产生网格细胞的单个神经元上。
HexSSPs已被证明是灵活的、计算效率高的,并且作为VSA,具有很高的可解释性(Dumont et al., 2023; Komer & Eliasmith, 2020; Bartlett et al., 2022a,b)。通常情况下,SSPs可以为任何大小或形状的空间环境生成,并且可以扩展以适应环境的变化(Komer & Eliasmith, 2020)。Komer & Eliasmith (2020)进一步证明了编码空间位置的HexSSPs可以支持通过监督学习来导航包含障碍物的复杂连续空间环境的策略。HexSSPs也被证明作为语义映射、贝叶斯优化和概率的神经表示的表示是有用的(Dumont et al., 2023; Furlong et al., 2022; Furlong & Eliasmith, 2022)。由于它们能够将结构化数据表示为向量(例如,Voelker et al., 2021),这些表示可能允许将简单算法扩展到更复杂的空间。特别是,SSPs可以用来表示通过连续空间的序列或轨迹,以及混合离散和连续数据的层次表示。因此,设计用于SSP输入的算法可以应用于具有复杂特征数据的任务。
最近的研究已经展示了在使用强化学习(RL)在线学习导航策略时,六边形空间语义指针(HexSSPs)的有用性(Bartlett et al., 2022a,b)。然而,过去的这项工作仅限于在离散空间中定义的任务(Gymnasium的MiniGrid: Chevalier-Boisvert et al., 2018)。在本文中,我们展示了一系列模拟结果,证明了使用HexSSPs表示连续状态来解决优势Actor-Critic(A2C)网络任务的好处。
A2C网络首先在一个新的空间导航任务‘RatBox’上进行测试,该任务被设计为MiniGrid的连续空间变体。此外,由于HexSSPs的表示能力泛化到表示连续特征空间(Dumont & Eliasmith, 2020),我们还在连续状态RL基准任务CartPole(Brockman et al., 2016)上进行了模拟。这个问题类似于平衡一个倒立摆,对于许多动物行为来说是相关的,例如行走或栖息在树枝上。CartPole以前已经通过在带有神经网络的actor-critic模型(Anderson, 1989)和尖峰神经网络(Fr´emaux et al., 2013)中使用状态的连续表示有效地解决了。此外,已经证明,类似网格细胞的状态表示可以提高Deep Q网络在CartPole问题上的性能(Yu et al., 2020)。
方法 六边形空间语义指针(Hexagonal SSPs)
优势Actor-Critic网络
为这些模拟实现的优势Actor-Critic(A2C)网络与(Bartlett et al., 2022a)中介绍的相同。网络架构如图2所示。它是用Python和Nengo(Bekolay等人,2014)实现的,使用了神经工程框架(Neural Engineering Framework, NEF; Eliasmith & Anderson, 2003)的原则。代码可在 https://github.com/maddybartlett/ImprovedRLContinuousStateReps 上找到。
状态被表示为一个一位有效向量或由一群修正线性神经元组成。在解决RatBox任务时,编码器是从与观察空间相关的SSP空间区域中使用Sobel采样方法采样的,从而生成一群网格细胞神经元。在这种情况下的神经元数量是这样计算的:神经元数量至少是HexSSP维度的10倍,并且是2的幂(Sobel采样方法的要求)。对于CartPole任务,编码器是从整个SSP空间中随机采样的,因为一些状态变量的观察空间是无界的。除了状态表示层之外,网络的其他部分没有使用神经元。学习是在从状态表示层到输出的连接权重上执行的。连接权重被初始化为零。
超参数优化
RL网络和算法的性能对超参数的选择非常敏感(Sutton & Barto, 2018)。为了确定最大化性能的超参数配置,我们首先将性能指标定义为终端回报,即计算单一试验中最后100个情节所接收到的平均奖励。然后我们使用Neural Network Intelligence(NNI;Microsoft, 2021)Python包中实现的模拟退火算法搜索最大化性能的超参数配置,这个过程被称为超参数优化。该算法首先从超参数空间中随机采样,然后通过从实现更高性能的区域采样来进行。因此,每次NNI实验确定了在超参数随机选择下可实现的性能。对于HexSSP网络和所有状态离散化,进行了100次这样的NNI实验。所有NNI实验中固定了随机种子。超参数优化是在表1中指定的参数范围内进行的,这些范围是基于在与当前工作类似的导航任务上通过系统探索超参数空间获得的性能结果(Bartlett et al., 2022a)选择的。在可以采用多组超参数实现相同、最佳性能的情况下,基于最稳定的时间终端行为选择了超参数组。对于状态的离散表示,每个NNI实验设置了每个状态的箱数,其余超参数保持自由。
在有障碍物的连续空间导航中的评估(RatBox)
在非平稳环境中学习对于使用状态表征的RL算法来说可能是个挑战,因为环境的变化可能会导致最优离散化和实际离散化之间的不兼容。一般来说,连续状态表示通过允许状态之间的泛化来避免这个限制。这适用于我们在这里使用的HexSSP方法,其中泛化的程度由长度尺度参数指定。假设有适当长度尺度,我们预期我们的算法与状态离散化方法相比,将表现出对环境变化的鲁棒性。为了验证这个预测,我们在智能体速度设置为每秒10,000像素(pix/sec)的网络上进行了超参数优化,然后评估在智能体速度设置为10,000 pix/sec或降低到5,000 pix/sec时的性能。没有进行其他更改,并再次使用10个随机种子测试了网络。结果如图4所示。虽然使用HexSSPs表示状态的网络在速度变化后的性能略有下降,但仔细检查发现,这是由于十个随机种子中的两个没有学习,而其余的种子则达到了与原始性能一样好(数据未显示)。相比之下,在智能体速度变化后,没有任何基线网络能够解决任务,这表明网络需要不同的离散化,或者需要重新优化以适应。这个结果表明,连续的HexSSPs是一种更通用的解决方案,与标准离散表示相比,对任务或环境变化的敏感性较小。
在倒立摆(CartPole)问题上的评估
在这里,我们对OpenAI的Gym库(Brockman等人,2016)中的标准CartPole任务进行了学习特征的描述。CartPole的动态不稳定,使得性能特别容易受到状态表示精度的影响。因此,由于状态离散化引入的误差会导致性能下降。的确,先前研究在类似CartPole Swingup任务上使用连续和离散控制方案的学习报告中,与离散算法相比,连续算法的学习需要更少的试验次数(Doya,2000)。因此,我们首先寻求验证所提出的连续表示是否比状态离散化方法具有学习优势。我们在5种离散化上进行了学习特征的描述,这些离散化对应于每个4个状态变量应用的不同数量的分区。为每种离散化进行了超参数优化,并在模型的不同种子上进行了10次运行来描述性能。
如图5所示,随着离散化分辨率的增加,终端奖励增长缓慢,但远低于HexSSP模型实现的终端奖励。至关重要的是,与大多数表格方法的性能相比,使用HexSSPs表示状态的终端性能在种子上表现出相对较小的变化(95%置信区间:[496.88,499.97])。这特别令人惊讶,因为在使用表格方法时,唯一的随机性来源是由环境给定的初始条件;HexSSPs除了每个模型运行的编码器采样引入的随机性外,还受到这种随机性的制约。当然,手工调整的离散化可能有助于更好或更一致的性能,但这需要试错或对问题的先验知识。在测试的场景中,无论初始环境或网络条件如何,HexSSPs都能可靠地产生高终端性能。
与深度网络基线的比较
到目前为止,我们已经描述了将状态信息作为连续变量用HexSSPs表示的两个优势,这些优势是针对状态离散化方法衡量的。在RatBox的导航任务上,HexSSP表示赋予了对模型参数变化更大的鲁棒性。在CartPole控制任务上,我们观察到更好的终端性能和对初始条件的更低敏感性。然而,神经网络也可以表示连续状态信息,特别是多层网络,可以学习有效的表示来解码价值和策略函数。这可能包括在他们的隐藏层中使用与我们在这里使用相似的表示。使用HexSSP表示在RL问题上比最先进的技术提供了什么具体优势?
为了解答这个问题,我们将我们算法的性能与使用多层感知器策略(Raffin et al., 2021)在CartPole任务上的A2C方法进行了比较。图6展示了所提出的HexSSP单层网络模型和深度网络基线模型的学习曲线。在CartPole任务上,两种方法表现出相当的性能,这由一系列初始种子产生的中位数和分位数范围的重叠所显示。有趣的是,HexSSP方法产生了更可靠的终端性能,表明对初始种子的敏感性较低,这通过终端奖励的低方差来显示(基线:σ² = 20966.52,HexSSP:σ² = 127.84,L = 6.19,P = 0.017,使用组中位数的Levene等方差检验)。与最先进的方法相比,HexSSP表示的高性能可靠性表明了在不同类型的连续特征空间中的基本鲁棒性。我们推测,由于基线模型必须学习状态表示,因此它能够在训练后期修改这一表示,而这可能不再有利。HexSSP模型的表示是固定的,因此额外的训练不会以这种方式降低其性能。
在本文中,我们提出了六边形空间语义指针(HexSSPs)作为使用强化学习(RL)解决任务时表示连续状态的方法。我们在空间导航任务上评估了HexSSPs的性能,并将其与使用表格表示的网络进行了比较,并与通过反向传播学习状态表示的多层感知器进行了比较。虽然离散表示也能像HexSSP方法一样解决RatBox任务,但我们发现离散方法对任务变化不够鲁棒;HexSSPs证明非常鲁棒。我们还发现,HexSSP表示能够在标准基准CartPole任务上实现比任何表格表示更高的最终性能。HexSSP解决方案的性能也与深度A2C网络相当,但值得注意的是,HexSSP网络产生了更可靠的终端性能,表明它对网络初始化变化更为鲁棒。特别值得注意的是,在采用相对低效的问题领域子空间中的编码器采样方法的同时,实现了CartPole上的性能。因此,探索更高效的采样方法对这项任务的影响是未来工作的重要方向。
设计比较HexSSP方法和表格方法的实验是为了评估平均性能的差异。假设性能指标遵循高斯分布,本研究选择的10个样本大小赋予我们99.8%的概率,即平均性能落在采样数据点的范围内(计算为100%,其中N是样本点数)。然而,观察到2个(20%)随机种子在RatBox任务上产生了特别差的性能,这表明如果一个人要超越对平均性能的描述,而转向理解模型行为的完整分布,则需要更多的采样。
HexSSP方法的一个关键特性是,它允许人们构建神经元群体,其放电模式模仿在许多动物物种的内侧内嗅皮层(MEC)和海马体中发现的网格细胞和位置细胞。考虑到它们在生物体的空间导航中的作用,利用这些六边形模式表示在RatBox任务上获得的性能提升是意料之中的。这些放电模式很容易与神经科学中使用的动物模型(如啮齿动物)的神经记录进行比较。然而,据我们所知,这些表示在解决CartPole任务所需的运动控制中尚未被涉及。在这种情况下,将我们的网络性能与生物体的行为进行比较,可能会洞察六边形模式表示在生物认知中的具体作用。
在这项工作中探索的强化学习问题上,我们观察到六边形空间语义指针(HexSSPs)的好处在于它对噪声更加鲁棒,并且能够更好地泛化到环境变化中。这些特性对于需要在动态或不稳定环境中在线学习的自主智能体至关重要。因此,未来工作的一个有趣方向是探索HexSSP方法在解决非平稳问题方面的有效性。
此外,对噪声的鲁棒性在认知模型中非常重要,这种表示支持在尖峰神经网络中进行编码。而且,这些尖峰实现可以直接在神经形态硬件上实现。
Online Resources
All code necessary to reproduce these results are hosted at:
https://github.com/maddybartlett/ImprovedRLContinuousStateReps
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.