Timing Actions in Games through Bio-InspiredReinforcement Learning
通过生物启发式强化学习在游戏中定时动作
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10766547
摘要
一种受生物启发的强化学习(RL)版本可以用于在完全神经形态的机器人中学习规划动作,允许感知、处理、动作规划和控制,同时保持端到端的脉冲信号。这样的智能体可以充分利用稀疏、低功耗的编码,并揭示生物智能的秘密。当前神经形态RL的最先进水平使用神经元群体来实现传统的RL方程,结合新颖的脉冲状态表示方法,并通过在一个8×8网格世界中离散状态定义下更新神经连接权重来实现学习。我们调整并扩展了该算法,使其适用于能够玩高度动态游戏的全神经形态机器人。在本文中,我们将RL算法与一个空气曲棍球机器人模拟器集成在一起;将维度加倍,现在状态是连续的。我们展示了我们可以调整该方法以学习精确的“击打时机”,当冰球在机器人前面移动时,机器人必须选择正确的时机拦截冰球,并将其击向对手的球门。我们还引入了一种发展性的学习方法——课程学习(CL),使机器人首先学习简单的任务,然后可以将其推广并完善为更复杂的场景。简化的空气曲棍球场景展示了未来全神经形态管道的良好前景。
I. 引言
由于生物体在现实环境中的高效性和适应性,它们为解决机器人技术中的动态任务提供了灵感。这一洞察推动了神经形态机器人的发展,这些机器人利用大脑启发的计算原理进行感知、知觉和控制。一个例子是神经形态iCub[1],配备了事件驱动的神经形态视觉和触觉传感器,被用作验证神经形态技术和计算在机器人技术中的平台。目标是开发一条从感知到控制的全神经形态管道,使像iCub这样的机器人能够有效地与动态环境互动,如图1所示。
iCub机器人[1]嵌入了被称为事件相机[2]的生物启发视觉传感器,其输出类似于人类视网膜在光感受器/电路检测到像素级别的显著亮度变化时发出的脉冲。这种感知模式能高效捕捉目标动态,因为它们具有低延迟、高时间分辨率和数据压缩的特点。
尽管生物启发的感知和知觉已经被广泛研究[2],但这里关注的是使用强化学习(RL)的生物启发决策算法。为此,Bartlett等人[3]应用了类似网格细胞的生物启发表示形式,在Gym Minigrid任务[4]中应用于RL,展示了比传统表示方法在收敛时间和效率方面的优势。然而,所提出的方法仅在小规模Minigrid任务中进行了评估,其中智能体在一个离散网格中导航至目标,只需要少量的状态维度。
为了验证使用事件相机作为输入和生物启发RL模型的全神经形态系统iCub玩空气曲棍球的能力,我们评估了Minigrid变体[3]是否可以扩展到这样一个具有挑战性的任务,使用由达姆施塔特工业大学[5]发布的挑战提供的空气曲棍球模拟器。虽然我们尚未成功训练机器人玩完整的空气曲棍球游戏,但我们专注于让机器人沿着单一轨迹学习精确的击打时机,但速度和起始位置有所变化。
空气曲棍球任务提供了比Minigrid任务大得多的状态空间(见图2)。在Minigrid[3]的情况下,智能体是一个非完整移动机器人,使用三维状态(x, y, θ)描述其当前位置和方向,并在一个离散的8x8网格中导航。而在空气曲棍球场景中,智能体是一个三自由度(DoF)平面臂,滑动末端执行器抓住的球棒沿桌面移动。由于环境复杂性的增加,网络需要更具描述性的状态,包括诸如末端执行器和冰球位置以及冰球速度等变量。
状态空间的更高维度(从三个维度增加到六个维度)使得学习变得更加困难且耗时更长,实验结果也证明了这一点。因此,我们还探索了使用课程学习(CL)[6]的有效性,我们在其中训练RL网络先掌握简单任务,然后再应对更困难的任务。这种方法模仿了生物体学习新技能的过程,通过分解问题来解决复杂性逐渐增加的任务[7],[8]。
本工作的主要贡献是:
• 将Bartlett等人[3]实施的神经网络集成并在空气曲棍球挑战Mujoco环境中重新调整。代码公开可访问。
• 训练这种网络进行精确的时间动作以拦截移动的冰球。
• 确定最佳的网络参数和超参数,使其与更高维度的状态表示兼容。
• 展示了CL与生物启发表示相结合的优势。
• 使用空间表示法,迄今为止仅用于描述位置信息,以编码间接依赖于位置的速度。
尽管空气曲棍球挑战要求智能体在游戏中运用所有策略,例如进攻或防守,但我们专注于一个测试案例,冰球沿直线水平移动,机器人有两个可用操作来构建轨迹。
这种设置提供了一个可重复的基准实验,可以变得越来越复杂。最终目标是证明生物启发可能是提高学习动作时机效率的关键。
II. 方法
我们使用的神经形态强化学习(RL)[3]包含三个组成部分:状态表示、突触权重更新(学习)以及策略估计。一个机器人模拟器在根据策略执行的动作与下一时间步的更新状态之间形成闭环(见图5)。随着权重的更新,机器人的动作策略会进行调整,从而改善行为以随着时间推移获得更多奖励。图3展示了这些组件是如何连接的。
A. 状态表示
从机器人模拟器中提取的环境状态被转换为一组活跃神经元的生物学启发式表示形式,如文献[3]所述。对于空气曲棍球任务,末端执行器和冰球的位置及速度都会影响所选择的动作,因此状态 (X) 定义如下:
在深度强化学习方法中,上述状态表示将是神经网络的输入,该网络被训练以输出任务的正确策略。然而,这将要求网络学习策略以及一个合适的神经状态表示,以便能够表达该策略。在本文采用的基于生物学的表示方法中,我们利用对大脑机制的理解,将状态编码为一种神经表示,使得第一层神经元已经具有灵活且有用的状态表示。特别是,连续状态输入被转换为一种称为空间语义指针(Spatial Semantic Pointer,简称SSP)的高维向量表示[9],该表示又由一群神经元表示。
先前的研究探索了独热编码[10],其中编码是唯一的。然而,位的利用率低,以及SSP表示[3]、[11],其中产生的神经活动类似于网格细胞[12]、[9],均匀覆盖状态空间,并与使用的自我中心状态空间完美对齐,即 。SSP统一了数据驱动和认知方法,允许在适合神经网络的向量空间中操纵和组合特征空间以形成更复杂的结构[13]、[14]。作为一种受生物学启发的方法,SSP在较小的任务中已被证明是有效的,而这项工作将其应用扩展到处理空气曲棍球挑战所需的更大状态空间。
我们的任务超越了这三个维度,并结合了两个不同的代理[3]。我们使用神经群体来表示状态,其优点是仍然实现了编码空间的高利用率(即与使用独热编码相比),但神经活动仍然保证是稀疏的。因此,高输入状态维度可以在群体中相对较少的神经元中编码。虽然先前的工作[3]已经表明这种表示风格在减少所需学习试验的数量和学习鲁棒性方面是有利的,但本文是首次在更复杂的机器人任务中使用这种方法。
SSP通过分数绑定实现连续值状态信息的编码到向量S中,分数绑定通过圆周卷积[15]实现。对于状态的每个元素(例如,),定义一个高维单位向量 [X, Y] 并计算其傅里叶变换 F(X),然后将其提升到指数 x,即 。然后将所有转换后的分量相乘,并取逆傅里叶变换,即:
S的大小表示可以表示的输入空间的大小,而不会发生重复使用值的情况,这在使用的圆周卷积中可能会发生。然后,随机的SSP通过一组固定的权重(Wencoders)和一个修正线性激活函数来激活状态神经元,从而激活大小为N的神经群体。(CreateAMind)
B. 学习
学习是通过更新产生策略的值数组 V(s) 的输出权重来实现的。重要的是,由于我们已经通过SSP方法得到了一个有用的神经表示,因此只需要学习神经网络的输出权重。这使得学习规则成为一个简单的基于增量的学习规则,并避免了对误差反向传播的需求。因此,我们用来估计的方程是传统强化学习(RL)的方程,但学习结果是通过网络权重更新实现的。我们使用了一个演员-评论家(actor-critic)框架,其中评论家模块评估性能,而演员(即代理)模块选择动作以最大化奖励。评论家的权重估计价值函数:
C. 策略估计和机器人动作
策略定义了机器人对于任何输入状态将采取的动作。定义了一个离散的动作空间 A ,并且基于当前策略做出动作选择,使得:
这提供了在利用和探索之间的权衡,随着权重的收敛,这种权衡会随着时间的推移而衰减。
在我们实验中,机器人的动作被定义为目标末端执行器的位置。由于机器人在连续空间中操作,无法在网络的单个更新步骤中到达这些位置,因此必须在多个时间步骤中选择正确的动作以获得奖励并成功执行。使用模拟器中机器人模型提供的逆运动学和PID控制来移动机器人,并且在机器人运动时可以更改目标位置。代理还应该在没有任何先验知识的情况下考虑动态效应,如惯性。
D. 课程学习
在强化学习策略中需要克服的一个困难是探索高维状态在计算上过于昂贵,以至于在合理的学习时间内难以实现。像通过示范教学这样的方法,是一条捷径,它通过提供一个非最优但合理的解决方案来简化对整个状态空间的探索,机器人可以在此基础上进行改进。课程学习(Curriculum Learning,简称CL)是另一种方法,旨在通过逐步增加问题的复杂性来提高学习速率。问题的整个复杂性最初对系统是隐藏的,机器人能够解决一个更简单的问题,并将简单的解决方案适应到更复杂的问题上。受人类学习机制的启发,CL在各种机器学习应用中已被证明是有效的[19]。
我们通过让网络接触实验任务的两个步骤来实现CL。一旦在第一步中学会了简单的问题,第二步就引入了更难的问题(即任务的其余部分)。为此,代理必须在以前未见过的状态中重新应用已知的策略。虽然传统的RL具有独立值的离散状态[16],但所提出方法的神经编码部分地重用了已经训练过的神经元,允许在这些新状态上应用先前的策略,而无需对这些新状态进行任何学习。
我们通过重新设计实验过程,而不是修改网络架构或步骤更新,来实现系统的CL。
E. 网络调优
空气曲棍球任务代表了对MiniGrid挑战[3]的显著扩展,考虑到环境的连续性和更高维度的空间,以及因此增加的陷入次优动作的概率。
III. 实验
实验是使用提出的强化学习方法与空气曲棍球游戏环境的模拟器集成进行的。模拟的3自由度机器人臂学会了以精确的时机击打移动的冰球。
仿真环境由达姆施塔特工业大学提供,该大学组织了一个机器人空气曲棍球挑战赛[5],提供了一个开放的Python仿真环境,该环境利用MuJoCo作为实时物理引擎。表II显示了模拟器的规格。
所有实验的设置都是相同的,机器人末端执行器从桌子上的一个固定点开始,空气曲棍球冰球以恒定速度水平穿过桌子,如图4所示。机器人被限制在垂直于冰球路径的直线上移动,因此机器人的任务是学会在末端执行器和冰球路径的交点处以精确的时机击打冰球。
对于机器人任务,可能的动作集合 A被定义为机器人控制器应尝试到达的空气曲棍球桌上的位置。通常,机器人需要超过一个时间步长才能完成动作。因此,机器人的位置和运动存在于连续空间中。由于这种连续性,代理可以通过从一个动作切换到另一个动作来调节末端执行器的轨迹,使得动作序列的选择对于获得奖励至关重要。定义了两个最终位置,如图4所示:
在所有场景中,网络的行为都由一个相同的奖励系统 R(s, a) 指导,该系统以分段函数描述:
在整个回合中,网络一直保持零奖励,直到球杆击中冰球使其向对手的球门方向移动时,代理将获得1的奖励。
进行了三个实验,并在表III中进行了总结:
实验1:验证了在所提出环境中的学习。网络学习1500次试验,每次试验包括100个步骤。在每次试验中,初始冰球速度在1.5到1.8米/秒的区间内随机变化,而初始y位置是恒定的,等于-0.3米。在1500次试验结束后,网络权重被冻结,最终策略被评估。
实验2:研究了使用CL的RL与不使用CL的RL的能力。没有CL的网络必须学习一个复杂的任务,即在单次运行中随机位置和速度,而使用CL的网络则分两个阶段学习。在第一阶段,网络被训练以击打以固定速度移动的冰球。当奖励和执行时间(以仿真时间步数衡量)都收敛时,网络停止并将权重保存。保存的权重被用作起点,以解决更复杂的任务,其中冰球速度在1.5到1.8米/秒的范围内变化,初始位置范围从-0.3米到0.3米。
实验3:旨在使用CL学习更广泛的速度范围,与第二个实验相比,每次试验随机选择在1到2米/秒之间。鉴于在随机速度上学习的权重,网络在第二次运行中被训练在-0.3米到0.3米之间的位置,每次试验随机选择。由于冰球可以达到比实验2更慢的速度,一次试验的步数从100增加到200,允许代理观察完整的轨迹。
IV. 结果
实验1:学习
网络在不到700个训练周期内收敛到一个稳定的策略,实现了最大奖励,之后机器人能够持续击中冰球,如图5a所示。在同一时间点,执行击打所需的步骤数下降到一个稳定的值,少于25步,如图5b所示。这意味着机器人能够精确估计何时以及如何移动以在第一个可能的实例中击中冰球。
图5c显示了单个训练周期中末端执行器位置的示例,比较了第25个(未训练)周期和第150个(半训练)周期的击打动作。代理在第25个周期中大约需要60步才能击中冰球,末端执行器轨迹反映了一种探索性策略。相比之下,经过150个周期的训练后,代理能够在少于25步内准确击中冰球。因此,通过交替使用可用的动作(见第三部分),网络学会了在精确的空间和时间拦截冰球,以最大化冰球沿正x分量轨迹移动的机会。这种方法允许代理优化动作时机。
实验1:执行
训练完成后,机器人能够在1.5至1.8米/秒的速度范围内正确击中冰球,如图6所示。因此,网络能够区分冰球速度的差异,并产生适当的击打时机策略。对于较慢的冰球初始速度,网络在起始位置等待的时间步数比对于较快的冰球速度要多,并选择正确的时间开始击打动作。
实验2:课程学习
图7显示了使用CL的影响,将收敛时间从861个周期减少到359个周期,节省了58%。收敛被定义为代理在100步内持续击中冰球的试验之后。因此,CL是训练所提出的生物启发式强化学习的一个有价值的方法,可能允许复杂任务以减少的训练周期数量逐步学习。
实验3:扩展场景中的课程学习
在实验2中CL显示出有希望的结果之后,我们扩展了问题的复杂性,学习更广泛的速度范围,并应用了CL。图8显示了在两个连续运行中,奖励和步骤数随试验变化的趋势,首先训练随机冰球速度,然后训练随机冰球位置和速度,从第一次运行中学到的权重开始。在CL的第一阶段(见图8a),代理在大约300次试验中获得一致的高奖励,大约需要30步就能用末端执行器击中冰球。在CL的第二阶段,也是更困难的阶段(见图8b),代理在1500次试验后获得高奖励。在这种情况下,完成击打任务大约需要50步,这比预期的要多,因为机器人必须等待更多的步数来应对速度较慢的冰球,大约在1米/秒左右。
实验3:执行
在训练后获得结果之后,网络在推理中进行了测试。图9a显示了代理能够击中它已经训练过的冰球位置,但对于未知的初始位置,即在训练期间未考虑的位置,代理不能轻易击中冰球。图9b验证了最终网络对所有测试的初始冰球位置和速度表现出适当的行为。绘制的末端执行器轨迹确保了网络不仅仅是重放每个场景中学到的动作序列,而是根据各种起始冰球位置和速度调整其行为。
V. 结论
这项工作展示了利用生物启发式强化学习(RL)在复杂动态环境中为机器人提供概念验证。我们集成了一个神经网络和一个机器人模拟器,使用生物启发式状态表示,即随机空间语义指针(SSP),作为网络的输入。这种新颖的应用比之前的工作解决了更复杂的问题,之前的工作集中在更简单、低维的状态空间上。
选择了空气曲棍球挑战[5]来探索具有同时代理和目标运动的实际应用。我们的实验将游戏限制为以随机初始速度和位置击打冰球。神经网络与空气曲棍球模拟器的集成可作为未来研究的基准。
结果表明,在700-861个周期内成功学习,推理确认机器人能够在25个时间步内定时动作。引入课程学习(CL)将收敛时间减少到359次试验。进一步的CL探索显示了稍高的收敛时间(300次和1500次试验),这是由于冰球轨迹的变异性增加,机器人大约在50步内击中冰球。CL优化支持生物启发式学习的效率。
未来的工作可以将此设置推广到更复杂的场景,包括具有更多自由度的机器人平台,如神经形态iCub,以及各种目标运动。这将涉及定义更多的动作并扩大神经元数量以覆盖完整的状态空间。在神经形态硬件上部署网络将加速学习和推理。
弥合仿真与现实之间的差距,初始冰球位置和速度将由高频事件驱动的跟踪器估计,使用iCub进行测试[22]。
此外,单层SSP编码是有效的,因为我们假设我们可以直接从模拟器观察机器人和冰球的状态。根据传感器对状态的可观测性,可能需要进一步开发系统(例如添加潜在神经元层)以适应现实世界的RL。
这些步骤旨在开发一个具有生物启发式传感器的完全神经形态系统,实现类似于人类的高效决策、规划和动作执行。了解神经形态强化学习与传统方法和基本启发式方法相比的性能优势也将是有趣的。最终,这种方法可能会彻底改变自主机器人系统在动态环境中的能力。
原文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10766547
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.