Integration of memory systems supporting non-symbolic representations in an architecture for lifelong development of artificial agents
支持非符号表示的记忆系统在人工智能代理终身发展的架构中的整合
Abstract 摘要
与自主智能体学习相比,终身智能体学习面临着以有利于长期发展的方式积累技能的额外挑战。智能体在某一时刻所学到的内容可以成为未来创造更复杂行为的一个元素,而其目的无法预见。
在其初始的低级感知运动发展阶段之后,代理预计将以与技能相同的方式获得支持复杂行为发展的价值观和目标,这些行为超越了反应水平。为此,它必须有一种方式来表示和记忆这些信息。
在本文中,我们通过对广泛的记忆系统和相关文献的回顾,确定了适合支持代理终身发展的表示系统的属性。在此分析之后,我们的第二个贡献是提出并实现这样一个表示系统在 MIND 中,这是一个用于终身发展的模块化架构。新的可变模块作为一个简单的记忆系统,与 MIND 的技能模块层次结构紧密集成,并允许围绕持久的非符号表示逐步构建行为。可变模块在复杂行为的发展和结构化方面有许多应用,同时也为设计师和操作员提供了明确的价值和目标模型,促进人机交互、控制和可解释性。
我们通过实验展示了可变模块的两种可能用途。在第一个实验中,技能通过使用一个表示“目标”概念的变量来交换信息,这使得导航行为的泛化成为可能。在第二个实验中,我们展示了如何学习和记忆非符号表示,以便超越简单的反应行为,并跟踪一个过程的步骤,而这个过程的状态无法通过观察环境来推断。
Keywords 关键词
终身学习学习代理人工行为模块化架构记忆系统内部表征
1. Introduction 1. 引言
机器学习领域提供了许多适用于智能体训练的解决方案,适合不同的学习环境、监督水平和数据可用性。一些研究集中在多任务学习上,以及如何利用先前的学习经验来应对智能体面临的目标和问题的变化。例如,迁移学习 [1], [2] 提供了解决方案,以重新训练智能体以实现新的目标行为,而变形学习 [3] 则用于其领域和特征的变化。这些解决方案旨在解决变化的问题,并帮助智能体适应新的约束。然而,它们并不是为了将变化作为学习过程的一部分进行整合,而是考虑长期和开放式的发展。
与其他专注于学习的领域相比,发展机器人学寻求从自然系统的生物和心理发展研究中获得新方法,以创建能够发展适应现实世界问题的技能并超越单一任务学习的灵活人工系统。“对灵活自主和开放式多任务学习系统的探索本质上是对通用人工智能长期研究的特定重新实例化”[4]。发展机器人学支持这样的观点:体现是我们所知的智能出现所必需的:生物系统并不是被动地暴露于感官输入中,而是积极地与周围环境互动[4],这导致了大脑、身体和环境之间动态互动的自组织[5]。
具身性的好处可以直接体现在简化许多传统人工智能问题上,例如图像处理可以通过主动改变视角来利用深度。它支持在形成对象概念的过程中发展,该概念源于同时的视觉体验(空间界限)和触觉体验(不可穿透性)。从这个概念可以开始进行实际用途的分类(食品和非食品),这反过来又为符号的出现提供了基础[4]。
持续出现[6]提出了完整发展方法的标准:自举、持续获取和整合新技能、技能的稳定性和可重复性,以及价值观和目标的自主发展。在这些标准中,发展机器人技术与终身(机器)学习领域相结合,特别是终身机器人学习[7],旨在为人工代理提供积累技能的能力,而不妨碍或遗忘之前的技能(稳定性),以增量的方式促进更复杂新技能的获取。
随着逐步学习和结构化其行为的能力,旨在终身发展的智能体将需要形成内部表征的能力,以超越纯粹的反应行为。内部表征在认知过程的多个层面上发挥作用,从脆弱的工作记忆保持短期信息以应对即时的时空问题,到长期记忆中储存的经验和在我们理解的抽象推理中所需的符号。记忆是执行任务和表现出不完全受即时感官信息影响的行为所必需的。为了发展自己的价值观和目标,智能体必须能够维持一个内部状态,独立于环境和其他智能体。这样的内部状态赋予智能体个体性,并使其即使在完全同质的群体中也能独立行为。这种能力在社会行为中发挥着重要作用,允许角色的动态变化 [8],[9]。
在本文中,我们讨论了在代理的终身发展背景下的记忆系统和表征。我们打算沿着程序性知识的终身发展原则来探讨记忆系统:复杂的表征在其形式和意义上是通过先前获得的表征的复杂性逐步增加而达到的,从非符号开始。与程序性知识及其发展机制紧密相连,非符号内部表征足够灵活,以适应代理的特定需求,遵循其发展路径,并随着其发展而增加复杂性。这个记忆系统的使用、存储在其中的表征以及对这些表征的解释,都必须根据行为进行学习。代理所获得的表征的有效性完全依赖于它们支持代理在世界中行动的能力。这个涌现过程是发展“扎根”符号的第一步,这些符号随后在社会背景中被引入和协商。
我们提出将这种方法实现为 MIND 上的可变模块,MIND 是一种旨在终身代理开发的架构,作为我们的测试平台。MIND 架构[11]基于一个灵活的模块化系统,能够整合新技能并通过训练任务的课程逐步构建复杂行为。新的可变模块与技能及其学习过程紧密集成,使其适合于新兴表征的获取。我们展示了它如何用于增加行为的复杂性,并在反应水平之上发展。我们探索了通过存储、检索和共享信息的能力所提供的行为结构化的新选项,例如围绕表示特定概念的可变模块组织的内联或分支结构。此外,我们讨论了内部表征如何影响学习策略和代理开发,并提供了引入人类指导和控制、改善行为可解释性以及作为激励系统基础的机会。
在回顾领域、激励和定义我们在第 3 节中对记忆系统的看法后,我们在第 4 节中介绍了 MIND 及其新的 Variable 模块,以及其实现和机制,以便实现人类的指导和控制,即 Drive 模块。第 5 节介绍了实验背景和训练过程,以及评估我们新系统的两个实验:我们首先探索了先前建立的技能层次结构的替代结构,使用一个变量在学习技能之间交换信息(第 5.2 节),然后我们为学习技能提供一个变量,以记住一系列动作中的一个步骤(第 5.3 节)。
2. Related works 2. 相关工作
我们的工作与发展机器人学领域相关[4],[5],在该领域中,信息的表示从不同方面进行研究,例如符号的获取[10],[12],它们的基础[13],以及这些信息在决策过程中的明显使用,或者这些信息在动机系统中可能发挥的作用[14],[15]。我们并不处理这些特定机制,超出我们实验所需的部分,目前依赖于固定的课程来训练行为,将自主发展的实现[16],[17],[18]留待未来的工作。本文重点关注能够支持信息表示的结构和元素,特别是在发展背景下。
我们使用 MIND 进行结构化的一般方法与关于进化虚拟生物的研究[19]在其层次结构和组合机制上相近,主要的不同在于我们对异构子结构的封装。本文特别关注信息在此类结构中的表示位置,与几种连接主义方法相似,从自编码器[20]到分层学习[21]和模块化神经控制器[22],形成可以被视为特定神经层中的涌现子符号表示。这些表示中处理的信息可以作为不同参数化技能的输入[23]。然而,与这些工作不同的是,信息表示元素的集成是在架构层面上遵循“行为塑造”方法[24]进行的,其更高层次的目的旨在为代理的终身发展建立构建块[7],并可能在未来关于元行为的研究中使用,如内在动机[14],[25]。
我们使用的实验过程类似于关于具身发展模型的实验,这些模型将抽象表示与运动技能结合起来[26],[27]。然而,我们的目标是在终身发展背景下获取信息的实用表示,而不是模拟特定的心理模型。我们的结果显示了基于智能体经验的亚符号原型的形成[10]。这个过程可以与神经符号概念学习中使用的概念量化[28]相比较,尽管在我们的具身方法中,物理交互取代了语言反馈,程序执行通过其在环境中的行动和朝向目标的进展得到验证。与 Konidaris 在符号生成方面的雄心勃勃的工作[13]不同,我们的方法涵盖了技能的获取以及表示的形成。
3. Memory and representation for lifelong development of artificial agents
3. 人工智能体终身发展的记忆与表征
作为一个与他人不同的个体,代理的开发涉及知识的持久性,超越环境的限制(有限性、短暂性)。技能是一种持久的知识,许多研究探讨了这种程序性知识(“知道如何”或“savoir-faire”知识)的获取和结构化。技能通常是长期知识,并且在短期内不会发生变化。
技能和程序性知识通常与声明性记忆和命题知识区分开来,后者代表关于“知道什么”的信息,存储事实和事件。从认知心理学的角度来看,声明性知识指的是长期的符号记忆,可以被明确地提取和表达。然而,这一定义有一些例外,例如面孔的记忆,它不是符号化和明确的。从进化的角度来看,声明性记忆仅在高级动物中出现,被视为相较于程序性记忆的较新发展。因此,它可能被视为程序性记忆的衍生物,这表明它们之间的区别并不那么明确,而是更为渐进 [29]。
在本节中,我们广泛地探讨人工系统中的陈述性知识,即关于当前上下文的信息。这将包括对状态的短期记忆,以处理表示概念的信息,这些信息可以在代理之间进行结构化或交换。第 3.1 节介绍了低级连接主义方法,这些方法因其通用性和非符号特性而在许多领域中被使用。第 3.2 节介绍了专门为满足具身人工代理需求而创建的认知架构中的自上而下设计。第 3.3 节讨论了表征的获取及其与意义的关系。第 3.4 节对内部状态和表征在代理的终身发展中的使用进行了综合。
3.1. Neuro-inspired low-level memory
3.1. 神经启发的低级记忆
生物启发的方法在机器学习和连接主义人工智能技术中研究了记忆系统以及自下而上形成低到中等水平的非符号表示,适用于广泛的应用[30],[31]。早期的开发代理架构,如机器人塑形[24],包括对代理传感器过去状态的记忆,以处理时间序列(遵循怀特海和林[32]的评论)。作者指出,这种记忆不必被视为对任何事物的“表示”。这种对纯反应代理行为的改进涉及到在日常语言中理解的记忆:记录环境的过去状态。
短期记忆的这一方面类似于人脑中的图像记忆或脆弱记忆的概念。两者都是短暂的高容量记忆,用于存储比可以立即处理的原始感知信息要大得多的信息。在时空问题中的应用显而易见,例如根据先前记录的位置推测投射物的未来位置。最近的研究[33]表明,脆弱记忆具有一定程度的处理能力,尽管不及工作记忆。脆弱记忆的低级处理可以与递归神经网络(RNN)中的上下文单元[34]进行比较,或与回声状态网络[36]或液态状态机[37]等水库计算[35]方法进行比较。在水库计算[38]中,瞬时输入被馈送到水库网络,该网络积累并丰富状态空间。通过另一个从水库中获取并通过传统方法训练的网络进行读出(图 1)。

Fig. 1. Reservoir computing: the instantaneous input on the left is fed to the reservoir network (in grey). On the right, the readout is done by another network (from Lukoševičius and Jaeger [38]).
图 1. Reservoir computing:左侧的瞬时输入被输入到储备网络(灰色部分)。右侧的读出由另一个网络完成(来自 Lukoševičius 和 Jaeger [38])。
与图像记忆和脆弱记忆相比,工作记忆是一种(相对)长寿命的低容量记忆,用于保留可以被有意识地处理的感知。工作记忆可以理解为存储高层次元素以进行短期规划,例如在导航问题中实体的空间坐标。Vandenbroucke 等人 [33] 对人脑中这些不同的短期记忆进行了概述,并检查了它们各自的特性。
使用包含处理表示的中间信息元素作为两个过程(这里是编码器和解码器)之间的连接点的想法,激发了多种关于程序知识结构化的方法,例如分层学习 [21] 或模块化神经网络策略 [22]。在这些工作中,控制的不同级别或层通过一个用于共享中间表示的记忆元素相连。在分层学习中,子网络的输出神经元与下一个网络的输入神经元相连。在模块化神经网络策略中,可以通过训练一个共同的中间层来互换不同传感器依赖和执行器依赖的网络。
在持久记忆模块中存储的低到中等水平的表征,如我们所见,对于自主代理一般有许多用途,从学习时间依赖的行为到改善结构化,但它们对于发展代理也特别重要。这些记忆元素可以表示模拟的生理或心理内部状态,用于触发和调节自主行为。受驱动减少理论启发的动机系统[39]使用次符号内部表征来实现自主代理的发展[14]。
3.2. Memory in cognitive architectures
3.2. 认知架构中的记忆
长期记忆系统存在于认知架构中,用于程序性和陈述性知识、关联和过去的经验。当前的工作记忆或感知元素被映射到适当的长期记忆结构,以获得更高层次的知识或预测。
ICARUS 架构的信念层次[40]是感知关联的长期记忆机制:感知被组合形成低级信念,而这些信念又可以组合形成更高级的信念。在图 2 中给出的自动驾驶汽车的例子中,智能体使用原始信念(右侧)来确定道路上 3 条线的相对位置。基于这些信念,它可以得出在第 1 条线和第 2 条线之间存在车道的更高级知识,以及它在该车道中的当前位置。将信念关联起来的语义结构是长期记忆元素,反映了关于世界的知识,这些知识应该是正确的。尽管是显性的,这种信念层次与水库结构有一些相似之处,其中任何级别的节点都可以通过控制层次访问。对于 ICARUS,控制层次是一个目标导向的子目标层次(见[41],[42]),每个子目标在其决策过程中使用适当的信念和信念级别。 例如,超车的高层目标可能会使用车道位置和占用信念,而保持在车道内的简单子目标则会使用关于线位置的低层信念。

Fig. 2. An example of the ICARUS belief system. The agent determines it is in the lane 1-2 from the perception of the relative position of 3 lines and its own position (from Choi and Langley [40]).
图 2. ICARUS 信念系统的示例。代理通过感知 3 条线的相对位置和自身位置,确定它位于 1-2 车道(来自 Choi 和 Langley [40])。
除了长期语义记忆,扩展的 SOAR 架构[43]还包括其他类型的长期记忆系统,例如情节记忆。情节记忆旨在存储代理所经历的状态、感知和工作记忆元素的序列。当代理经历与情节记忆中的部分序列匹配的一系列状态时,可以回忆起其余的序列并考虑以进行预测。
进行了实验[44],其中一个智能体在执行其他任务时,必须在电池放电时收集能量充电。虽然在执行其他任务时,智能体可能会发现一个当前不需要的能量充电,但它会记录发现之前的连续步骤/状态。当智能体需要能量并在当前环境中识别出多个记忆序列的步骤时,它将执行该事件的后续步骤以达到目标。结果表明,这种方法的效率是随机搜索的十倍。尽管给出的例子是一个导航问题,但据称情节记忆的编码是与任务无关的(只要保持时间/顺序关系)。
在许多商业或工业应用的项目中,知识的表示强烈依赖于任务和知识类型是一种常见做法。例如,自动驾驶汽车可能使用专用传感器,如 LiDAR,来准确地映射其环境。3D 点云被解释为简单的体积、边界框和可以存储在内存中的平面。这种世界模型不仅方便人类理解,代理还可以获得特定于这种表示的算法,例如路径规划算法。它还允许进行模拟和预测,以指导决策过程。
在认知架构和其他自主代理控制系统中使用的自上而下的记忆和表示方法在解决它们设计的特定问题时非常高效,并提供了许多优势。概念谓词可以用于生成更高层次的信息或预测,并且可以使用与信息表示兼容的特定算法来生成最佳解决方案。然而,它们通常在某种程度上依赖于任务,或者使用预先指定的表示和规则,或者使用先天的概念谓词[45]。由于这些元素必须事先指定,因此它们的应用往往仅限于已经知道解决方案且上下文定义良好的问题,因此不能仅依赖于通用用途,特别是在终身发展的背景下。
3.3. Perception, categorisation, meaning, symbols
3.3. 感知、分类、意义、符号
前面的部分表明,表征的获取涉及从感知或状态中过滤相关信息。这个过程可以与特征提取、分类、编码甚至压缩相比较,因为所感知的内容被简化为理解情况所需的内容[46]。提高表征的层次会使观察到的内容更加概括,细节被去除,表征变得更加紧凑,就像人脑中的短期记忆的不同层次[33],或 ICARUS 架构中的信念层次的不同层次[40]。这样的表征被称为感知基础的,它们的意义来自于智能体与其环境之间的互动。
随着信息处理的增加,选择特定领域进行考虑以及使用分类方法,抽象表示从非符号转向符号。虽然意义仍然根植于个人经验,但其与符号的关联是在社会互动中协商的。交流的成本和限制证明了使用高度抽象、高度压缩的符号表示的合理性(实际上,试图传达复杂的情感或体验时,人们常常会“无言以对”)。
最近关于神经符号系统的研究[47],[12]试图弥合低级神经架构与自然语言之间的差距。用自然语言给出的问题被转换为来自特定领域语言的组合运算符的树结构(例如,过滤、关联、存在)。一个基于神经的视觉系统被训练以识别符合运算符的概念,如实体和属性(例如,红色、立方体、狗)以及空间关系(例如,右侧、后面)。在这项工作中,概念的形成受到语言和教师提供的问题集的指导。
关于基础符号和新兴词汇的问题在 Steels 的研究中得到了很大程度的探讨[10]。通过语言游戏,智能体发展出一种共同语言(符号景观),使它们能够指代环境中的元素,如颜色[48]或相对空间坐标[49]。图 4 展示了一个语言游戏,其中智能体轮流命名一种颜色 1 ,而另一个智能体必须猜测并指向所提到的颜色。每个智能体从感知到原型发展出自己的表征(符号网络),并生成自己的语言库存。通过游戏,它们协商符号与意义之间的关联,共享交流的成功使得词汇在群体中传播[10]。在这项工作中,学习的社会背景是智能体之间的同伴关系,它们共享相同的环境约束。与其他工作的训练者-受训者互动(例如[12])不同,这种方法不易引入训练者的偏见,并有利于以适合其共同目标的精确度出现概念。 在因纽皮克语方言中发现的丰富海冰术语[50](阿拉斯加)说明了这种社会环境关系在文化的形成及其相关概念的出现中的重要性。
在图 4 所示的例子中,处理感觉为符号时,增加的“压缩”和细节的丧失是很有趣的。分类在将感觉转换为原型时已经失去了颜色的特定色调(它是“蓝色”),但在将表示与符号关联时也会发生这种情况:在这里,词“xiuxiu”指代绿色和黄色原型。在这种情况下,一个符号被认为足以表达成功进行猜谜游戏所需的意义(很可能是“其他颜色”)。
感知基础的方法特别适合于为智能体开发记忆系统和内部状态:每一个复杂性级别对应于一个程序性知识的级别,这意味着两者可以同时发展并相互支持。在这样的机制支持下,社会行为和沟通(至少是简单符号的沟通)可以被理解为复杂性的增加,而不是根本性的变化。无法被基础化的抽象概念和符号则留待在这一发展过程中进一步处理。
3.4. Internal states for lifelong development of agents
3.4. 代理的终身发展内部状态
众所周知,智能行为可以在没有内部表征的情况下出现 [51]。然而,旨在终身发展的智能体需要一种形成内部表征的方法,以便达到接近高等动物的复杂性水平。在前面的章节中,我们回顾了多种关于声明性知识表征的方法,从低级到复杂,从非符号到符号,从概念的形成到语言的出现。我们现在从终身智能体发展的角度对这些方法进行分析。我们从这一分析中得出的通用表征系统的要求将在第 4.2 节中呈现。
关于表示系统的整合 如果代理的技能使用诸如递归神经网络这样的结构来表示程序性知识,那么某种形式的低级记忆系统将已经以记忆层的形式包含在内。然而,这些记忆元素与单一技能相关联,无法与其他技能共享,这使得在训练过程中获得的表示无法支持后续技能的发展。为了解决这些限制,控制结构层次上还应包含一个中间级别的记忆系统。这将允许将任务作为记忆层进行承诺,并通过例如围绕概念的表示来提供技能结构化的替代方案。独立于操控它们的程序性知识存在的表示使其能够在发展过程中使用,在这个过程中,它们可以作为后续创建未预期目的的技能的基本元素。
在专门构建的表征系统上,发展型代理可以从使用专门构建的高级表征机制中受益。例如,使用专用的空间记忆进行映射和路径规划是有实际意义的,因为在空间环境中的导航通常与具身性相关。然而,这些表征系统的主要缺点是它们依赖于所表示知识的类型。构建依赖于特定一组专门元素的代理,无论是记忆系统(例如图 3)还是行为的运动原语,已经假设我们预见并提供了其发展所需的所有内容。即使这样的系统对于自主代理非常高效,它们也无法完全替代更通用的终身发展的机制。

Fig. 3. On the left: the extended SOAR architecture, showing a flat mapping between long term and short term memory (from Laird [43]). On the right: the ICARUS architecture, mapping long term to short term memory of different components at different stages of the deliberative process (from Choi and Langley [40]).
图 3. 左侧:扩展的 SOAR 架构,显示长期记忆和短期记忆之间的平面映射(来自 Laird [43])。右侧:ICARUS 架构,将长期记忆映射到不同阶段的深思熟虑过程中的不同组件的短期记忆(来自 Choi 和 Langley [40])。

Fig. 4. On the left: Two robots playing a language game of naming and pointing at colours. On the right: portion of a semiotic network for a single agent, linking sensations to sensory experiences, prototypes, and symbols. The generated symbols are negotiated between agents during the language game (from Steels [10]).
图 4. 左侧:两个机器人正在进行命名和指向颜色的语言游戏。右侧:单个智能体的符号网络的一部分,将感觉与感官体验、原型和符号联系起来。生成的符号在语言游戏中由智能体之间协商(来自 Steels [10])。
关于表征系统和发展,我们已经看到将高维状态或工作记忆的中间元素分类和编码为高度压缩表征的机制,以及这些表征在新兴符号基础中的作用。从长远来看,高级符号的出现将为通用人工智能和人类理解的高级推理铺平道路。我们认为这种自下而上的方法最适合发展中的智能体,每个行为复杂性的层次形成其有用且扎根的表征,作为下一个层次的基础,直到可以达到抽象层次的操作以处理这些表征。
我们提出的终身发展的表征系统借鉴了之前讨论的不同方法的特性,并旨在集成到一个发展代理架构中。以下部分介绍了我们的贡献——可变模块,以及其作为 MIND 的扩展的实现,MIND 是一个用于发展代理的反应性架构。
4. An architecture integrating memory systems for lifelong development
4. 一种集成内存系统以实现终身发展的架构
我们对记忆系统的处理遵循与程序性知识的终身发展相同的原则:复杂的表征是通过逐步增加先前获得的表征的复杂性而达到的,并且与程序性知识紧密结合,在完成新任务时提供相互支持。因此,这个记忆系统必须与支持程序性知识的结构紧密集成,并且这样的架构必须符合记忆系统所需的属性。
我们提出将这种方法实现为 MIND 上的可变模块,MIND 是一种旨在支持终身智能体发展的架构,基于一个灵活的模块化系统,能够整合新技能并通过训练任务的课程逐步构建复杂行为。作为架构的常规组件,可变模块能够与技能及其学习过程紧密集成,使其适合于新兴表征的逐步获取。
第 4.1 节介绍了 MIND 及其特定的协调机制——影响。第 4.2 节介绍了变量模块,我们的通用内存系统,符合影响机制。第 4.3 节详细说明了其几种可能的实现方式。第 4.4 节介绍了驱动模块,一种实现解决方案,提供了进入 MIND 层次结构的入口,以便实现人类的指导和控制。
4.1. MIND, an architecture for lifelong development
4.1. MIND,一个用于终身发展的架构
MIND 架构(Modular Influence Network Development)[11] 是一种适合开放式和累积学习的人工智能代理控制架构。MIND 将代表程序性知识的异构结构(如神经网络或编程程序)封装到专门执行不同子行为的技能模块中。技能模块被组合成层次结构,从执行简单感知运动行为的低级基础技能,到执行并发低级技能组合的复杂和高级技能。
与类似研究相比,MIND 的主要原创性在于其多层次层级结构[52],[19],使用通用控制信号 Influence,允许使用向量组合[53],[54],[55]来获得高效的全局行为。它在方法上显著优于机器人塑形技术[24]和其他层次方法[25],通过允许高级控制器在低级策略的子空间之间进行插值。Influence 机制证明适合于直接神经控制[19],[56],[57],[22]以及运动原语或模式(策略)[53]。与使用多个子系统的认知架构[43],[40],[25]不同,MIND 构建的模块网络应被视为对复杂行为的反应架构的发展。模块化设计和技能内部功能的封装使得控制器的选择独立于 MIND 的实现,并允许为每个技能使用不同的控制器,在同一层级内协同工作,这相较于可比系统[58],[19]是一个优势。
4.1.1. Base skill, complex skill, and Influence
4.1.1. 基础技能、复杂技能和影响
我们将感官信息和运动指令视为归一化在 0 和 1 之间的实数向量。可以创建一个模块,封装一个向量值函数 f,该函数将输入向量 = 映射到输出向量 = (公式 1)。函数 f 可以实现为编程过程,或者可以是一个函数逼近器,例如神经网络,或任何其他将两个实数向量关联的函数。这样的模块称为技能,而其输出向量直接用作运动指令的模块称为基础技能。
可以训练多个并发的基础技能来执行复杂任务的子任务。每个基础技能仅关联完成其分配任务所需的输入和输出。为了执行复杂任务,创建了一个复杂技能,它将通过一个称为影响的信号协调多个技能(其子技能),该信号决定了一个子技能对整体行为的“权重”。这种方法可以理解为将当前任务的解决委托给一个或多个子技能,类似于 Boid 大脑协调其子行为以执行群体行为的方式[59]。
复杂技能与其他技能一样,封装了如方程 1)中定义的一个函数。它的输出向量指向其子技能,称为影响向量 = 。复杂技能可以是更高层次复杂技能的子技能,从而创建技能的层次结构。顶层复杂技能,即主技能,接收一个恒定的影响值 1.0,这是一个推动整个决策过程的冲动。
图 5 显示了技能的层次结构。影响沿着垂直轴从主技能流向基础技能,以确定谁(以及以何种程度)负责整体行为。传感器的信息到达层次结构中的所有技能,运动指令从基础技能输出到执行器,形成水平信息流。其目的是确定行为的执行方式。与其他方法(例如[24],[60])不同,传感器输入对每个技能都是可用的,包括复杂技能。这使得复杂技能能够基于可能不被子技能所需的信息进行微妙的协调。

Fig. 5. A skill hierarchy, a master skill influences complex skills which in turn influence the base skills.
图 5. 技能层次结构,主技能影响复杂技能,而复杂技能又影响基础技能。
4.1.2. Using Influence to determine motor commands
4.1.2. 使用影响来确定运动指令
从主技能开始,每个复杂技能计算其输出向量 ,并将每个元素乘以它所接收到的影响的总和,形成影响向量 。然后,技能将影响向量的每个元素 发送到相应的子技能(图 6)。

Fig. 6. Internal architecture of a skill.
图 6. 技能的内部架构。
基础技能计算其输出向量,并将每个元素乘以它所接收到的影响的总和,类似于方程 2,从而形成运动命令向量 = 。基础技能然后将运动命令向量的每个元素 发送到相应的电机模块,并附上基础技能所接收到的影响的总和 ( )。每个电机模块随后根据方程 3 计算其执行器的相应运动命令,作为归一化加权和。方程 4 展示了从主技能到执行器在三层层次结构中运动命令的完整计算示例。
4.1.3. Training MIND and experimental results
4.1.3. 训练 MIND 和实验结果
MIND 架构通过一系列实验评估了模拟机器人在导航和收集行为方面的获取。MIND 层次结构按照课程进行训练,从低级基础技能开始,逐渐增加复杂性,并需要结合先前获得的技能。实验设置涉及六个任务的课程,以形成六项技能的行为层次结构(图 7),使代理能够在环境中收集物体,同时避免障碍物。这种受控的“塑造”[24]开发方法通过上下文的可分类性[61]大大降低了新任务的复杂性。实验还引入了技能层次结构的再训练和学习优化策略,以及受机器人塑造[24]和共同进化[62]启发的课程建立策略。

Fig. 7. An overview of the division into skills. On the left: the original Collect task, on the right : the Collect hierarchy with the addition of energy management.
图 7. 技能划分的概述。左侧:原始的收集任务,右侧:增加了能量管理的收集层级。
为了证明 MIND 适合终身发展,收集行为随后被扩展以包括能源管理约束,以及指示代理电池电量和充电区位置的新输入和物理元素。在 MIND 中,每项新技能都可以独立访问传感器数据[52],并对添加的元素(软件、硬件)进行局部协调,包括在形成先前技能时未出现或不需要的元素。该实验表明,可以集成新行为和物理元素,而不会对先前获得的行为产生任何影响,这些行为仍然可以用于未来的组合,并且不需要重新学习。最后,使用在模拟中训练的技能在现实世界的机器人上部署了一个概念验证。
4.1.4. Benefits and limitations
4.1.4. 优势和局限性
MIND 的设计是支持人工智能代理的终身发展的架构,其模块化反映了复杂任务的模块化和层次化特性,是技能逐步学习和积累的关键。模块的封装提供了稳定且可识别的技能 [6]:它定义了全球行为中技能的责任范围,并使其可用于组合。这在构建层次结构时提供了极大的灵活性:其他层次不关心模块如何完成其功能,执行类似功能的模块可以互相替换。例如,依赖于达到目标子技能的技能并不关心目标是通过飞行还是游泳来达到的。稳定性意味着后续训练利用先前获得的技能而不改变其目的,从而避免概念漂移和灾难性遗忘的风险,这将损害所有依赖于它们的其他技能。现有的层次结构可以在其基础上构建,子层次结构可以重新训练或替换,并且可以添加新模块以接口额外的物理元素。 在每一步中,代理被训练的目标行为可以成为未来创建一个或多个更复杂行为的元素,其目的无法预见。
与其他专注于自主发展的工作的基础架构相比,例如 GRAIL [60],在同一系统内使用不同的决策技术扩展到了更高的层次。GRAIL [67]、[68] 的变体,如 C-GRAIL、M-GRAIL,可以作为复杂技能的不同内部功能在 MIND 中实现。由于它没有引入明确的两级分离,例如“目标选择器”和“专家”,技能的责任领域的细分可以更细致,并逐渐分布在多个层次上。对每个层次使用的决策技术没有限制,可以使用基于神经网络的方法来控制较低层次的技能。最后,多层次的层级使 MIND 能够克服 M-GRAIL [67] 在重用先前学习的“序列”方面的限制,如通过能量管理(图 7)和物体计数(第 5.3 节)扩展收集层级所示。
进一步的研究涉及 MIND,旨在整合内在动机机制、自主结构化层次、人机界面,并朝着发展机器人学的完整架构迈出进一步的步骤,倾向于认知架构的涌现主义范式。正在研究对机器人和无人机的应用,以及多智能体问题的研究。然而,更根本的关注是缺乏任何形式的记忆系统或在层次内部表示信息的方法。
使用反应控制机制可以执行相当复杂的行为 [51],其他研究表明,MIND 反应层次能够支持协调的多智能体行为 [69]。然而,一些行为需要记忆或表示信息的能力。这可以简单到保留关于不再可观察环境的信息,或者涉及内部状态随时间演变的更复杂机制,目的是在同质群体中进行社会专业化 [70]。正如第 3.4 节所讨论的,可以将记忆元素添加到技能内部功能中,例如使用 RNN,但由于封装,这些记忆元素无法在技能之间访问或共享。每个技能必须学习和管理自己的表示,而这些表示无法用于创建未来的行为。
为了解决这个问题,我们在层级的水平上提供了一个记忆和表征系统,其元素可以以发展方式被多个技能重用。该记忆系统符合 MIND 的原则,并通过影响机制与技能进行交互。它使代理能够承诺于行为,超越纯粹的反应水平,并支持内部表征的终身发展。每个新概念都与相关技能一起引入,所获得的表征扎根于行为中,并保持可用于未来的组合,支持与技能模块相同的方式的发展。
在结构层面,内部表征使技能能够通过影响机制交换信息。这对基本导航立即有益,可以通过更高层技能分配的“目标”概念将其概括为单一技能,而不是绑定于特定的感官输入(对象、投放区、电源)。
以下部分展示了我们的记忆和表示系统是如何作为 MIND 的新型模块实现的:可变模块。
4.2. The memory system supporting non-symbolic representation: the variable module
4.2. 支持非符号表示的记忆系统:可变模块
为了满足终身发展的要求并遵循处理程序性知识发展的架构,我们遵循第 3.4 节中强调的指导方针,并提供一个(1)通用的非符号记忆系统(2)与程序性知识集成。记忆元素是(3)可识别的、稳定的和可重用的,并支持(4)行为的结构化。价值观的发展基于与技能相同的学习过程,导致(5)涌现表示,并可以支持(6)可解释系统的设计。这是通过遵循 MIND 的模块化原则及其表示信息的信号方法来实现的,从而使与技能的紧密集成形成涌现和持久的表示。
模块化:为了支持智能体的发展过程,形成表示的信息、内部状态或概念被实现为可变模块。它们可以通过技能在层级水平上访问,并受到与其他信息承载模块(即传感器和运动模块)相同的调节、访问和使用机制的约束。这确保了可变模块是常规组件,保持了基础方法的唯一性和可扩展性。可变模块可以被技能用作输入,以接收共享信息,或作为输出,以共享信息并根据影响机制合成多个并发命令。可变模块独立于技能模块存在,而依赖于它们的技能模块在某种程度上能够独立于可变模块运行。实际上,通过可变模块交换信息的技能在移除或使其无效时不会因为缺少输入而失败,因为如果允许技能之间的直接交换,它们就会失败。 可变模块充当技能之间信息交换的缓冲区,允许以不同的方式构建层次结构,例如线性或分支信息处理结构,同时保持影响机制的好处。作为一个模块,它是可识别和可寻址的,并且在多个行为中的共享使用确保了其专用目的的稳定性,就像技能模块提供可识别和稳定的行为一样。这些内部状态是可观察的,并且可以支持可解释系统的设计。
表示:变量模块旨在作为通用表示系统,必须处理任何类型的信息,例如目标的方向、时间、警报级别、角色等。单个变量模块可以表示一个简单概念,一个仅限于单一质量维度的概念空间[28]。为了形成复杂的概念空间,可以将多个变量一起提供给一个技能。图 8 说明了概念空间的概念,展示了颜色的心理表征以及目标在极坐标中的位置。根据 MIND 的信号方法,该概念使用一个介于 0 和 1 之间的实数表示,从而实现丰富的非符号表示。应用于运动控制时,该方法能够表示二元选择(0.5 以上为激活,0.5 以下为去激活),以及对执行器的精细控制(从 0 到 1,从全速前进到全速倒退)。 应用于陈述性知识时,它与所表示的知识类型无关,其连续范围可以根据需要划分为任意数量的类别:4 个季节、10 个角色、24 小时、26 个字母或 360 度,限制在于解释信息的函数的精度。

Fig. 8. On the left: the HSV representation of colour as an example of a conceptual space defined by the 3 dimensions of hue, saturation and value (from [28]). On the right: Polar coordinates relative to an agent. The 2 dimensions can be represented by 2 MIND variables.
图 8. 左侧:颜色的 HSV 表示,作为由色调、饱和度和明度三个维度定义的概念空间的示例(来自[28])。右侧:相对于一个智能体的极坐标。这两个维度可以由两个 MIND 变量表示。
出现:非符号表示媒介的整合及其在智能体发展过程中与新技能的实例化,导致在每个新的学习情境中行为与内部表征之间产生强烈的互动。对记忆元素的推理、其意义和解释,依赖于操控它们的技能,无论这些技能采取何种特定形式,它们都通过与技能相同的学习过程在感知或行为上扎根,从而导致涌现的表征。在学习感觉运动行为时,技能试图通过找到适当的命令来提高其效率,以发送给执行器。这些输出命令由驱动层转换为执行器的特定命令代码,并且由于该驱动层是给定的,技能必须适应其预期值。在可变模块的情况下,技能将同时提供和解释变量的信息。 这意味着,写入变量的技能和读取该变量的技能必须通过一种涌现过程在其值的意义上达成一致,通过将该变量细分为基于经验的边界类。例如,如果一个技能将一个变量设置为表示代理可以扮演的 3 种可能角色之一,它将选择 3 个不同的值来表示这 3 个角色。一个根据其角色读取该变量的技能将必须学习将该值分类为 3 个不同的类别。这个过程可以与代理之间的语言游戏相比较[10],在这里发生在单个代理内的技能之间。只要达成的表示能够改善代理在世界中的行为,它就是有效的。
持久性:变量模块中包含的信息在被覆盖之前会持续存在,并可以用作记忆。它的应用与人类的图像记忆和脆弱记忆相似,直到工作记忆,作为在处理的中间阶段存储过去观察和信息的一种方式。除了对任务的承诺和使用工作记忆的低级认知行为之外,架构内显式共享的持久信息提供了表示内部状态的可能性,这些状态可以逐渐演变和强化。它使得设计模仿生理或心理状态的智能体成为可能,这些状态可以被实例化为可识别的元素。这些内部状态可以调节行为,并通过聚合信息(例如来自各种心理过程的反馈)随时间变化。这为未来整合各种动机系统打开了许多可能性,例如基于驱动减少理论的系统[39]。
实现:可变模块以与传感器模块相同的方式向技能提供信息。可变模块也可以以与电机模块相同的方式接收来自技能的命令。向可变模块传输命令符合影响机制,命令的值以与电机命令相同的方式确定。图 9 显示了可变模块的示意图以及它如何融入技能层次结构。

Fig. 9. Left : Internal architecture of a variable module. Right : Variable integration in a MIND hierarchy.
图 9. 左:可变模块的内部架构。右:MIND 层次中的可变集成。
一旦来自技能的输入命令被处理,就会应用一个调节功能,然后再将结果提供给其他技能。在其最简单的形式中,它是一个线性传递函数,输出标准化的输入命令。在接下来的部分中,我们将介绍调节功能的可能实现,这些实现允许可变模块服务于不同的目的。
4.3. Variable implementation
4.3. 变量实现
调节过程为变量提供了许多可能的实现方式。由于技能可以适应多种内部功能,变量模块支持任何符合影响机制输入/输出规则的调节过程。因此,变量模块可以用于许多目的,例如内存管理、计数器、信号生成器、内部时钟等。功能的选择由设计者决定,添加新类型功能的可能性也是如此。
以下是我们实验中开发的变量模块的三个实现的概述:简单变量、计数器和正弦波生成器。
4.3.1. Simple variable 4.3.1. 简单变量
简单变量使用线性传递函数作为其调节函数。其输出值是输入技能命令之间仲裁的直接结果,按照第 4.1 节的方程 3 计算运动命令。
其他变量类型通过将其调节功能应用于该处理输入,扩展了简单变量的行为。图 10 显示了与两个输入技能相关联的简单变量值的演变。这个例子可以代表一个采矿/收集机器人返回基地的优先级水平,一个技能根据能量消耗进行评估,另一个根据其货物负载进行评估。随着红色技能的相对影响力增加,其对变量值的影响变得明显,在 T6 时红色技能命令的效果清晰可见。

Fig. 10. Simple variable. On the right: a diagram of two skills writing to a simple variable. On the left: the evolution over time of the commands, Influences and resulting value of the variable. The top graph shows the commands sent by the two concurrent skills, the middle graph shows their respective Influence and the bottom graph shows the evolution of the output value of the variable.
图 10. 简单变量。右侧:两个技能写入简单变量的示意图。左侧:命令、影响和变量结果值随时间的演变。顶部图表显示两个并发技能发送的命令,中间图表显示它们各自的影响,底部图表显示变量输出值的演变。
简单变量是最通用的变量实现:它存储来自技能的原始命令,并按原样提供。因此,简单变量在技能之间共享丰富的表示时非常方便。
简单变量可以在一段时间内保持一个值,然而,它会被任何非空影响值的输入命令不断覆盖,无论其多么微弱。因此,使用简单变量进行记忆需要精心设计的层次结构和非常准确的相关技能训练。
这与基于信号的方法的敏感性问题有关,如[11]中所讨论的。控制机制模拟连续的信号更新,而不是层次结构组件之间的瞬时命令或消息,在缺乏更大影响力的情况下,最弱的影响力变得主导。尽管到目前为止这并未被证明是一个问题,但不足够训练的技能的弱影响力可能在更大的层次结构中累积并干扰行为。如果将技能训练到所需的准确度成本过高,建议可以添加诸如影响力的激活阈值等机制来解决这个问题。
将变量应用于记忆和持久性重新唤起了对敏感性问题和 MIND 信号方法的反思。在解决这个问题时,可以考虑许多受信号处理、生物学或电子学启发的简单解决方案,例如积累器、电容器、阈值等。其中一种解决方案在下一节中实现为 Counter 变量。
4.3.2. Counter 4.3.2. 计数器
Counter 变量是一个简单的记忆解决方案,它记录来自输入信号的“事件”,并提供这些事件的“离散”计数作为输出。记录的事件是信号在给定阈值周围的上升沿和下降沿。
计数器将当前记录的计数输出为其最大可能计数的一个分数。在我们的默认实现中,最大值设置为 10,因此计数器的可能值为[0.0 0.1... 0.9 1.0]。 2 当输入值超过增量阈值的上升沿时,计数器递增。当输入值低于重置阈值的下降沿时,计数器重置为零。 3 在溢出的情况下,计数器重置为零。
图 11 显示了计数器值随时间的演变。在 T1 和 T2 之间,输入值首次超过增量阈值的上升沿将计数器的值提升至 0.1。在 T5 和 T6 之间,第二次上升沿将值提升至 0.2。在 T7 和 T8 之间,值低于重置阈值的下降沿将值重置为 0.0。

Fig. 11. A Counter variable: the rising edges of the input increment the counter, the falling edges reset it.
图 11. 计数器变量:输入的上升沿增加计数器,下降沿重置计数器。
与简单变量相比,值在时间上更稳定:输入的适度波动如果不超过阈值,则不会影响输出值。这大大降低了操纵这些变量的技能的准确性要求。然而,信息的表示要差得多(部分原因是这种“离散”形式),并且需要一些更高层次的处理(计数“事件”),这可能并不适合所有应用。
4.3.3. Wave generator 4.3.3. 波形发生器
在学习反应性运动技能时,提供一个随机值作为输入有助于代理从行为循环中解脱出来。在这些情况下,行为的轻微变化是可以接受的,考虑到随机值可以使代理对同一组感官输入产生不同的输出。
这个虚拟输入的想法与作为生成器的可变系统相符:输出是一个作为时间(或刻度)函数生成的信号,输入可以保持未使用或可以控制生成器的一个参数。在波形生成器的情况下,输出是时间测量的正弦函数,输入值设置频率。
图 12 显示了波形发生器随时间变化的值与归一化输入值的关系:T3 和 T5 之间的较高输入值导致输出值的振荡速度更快,而 T6 和 T8 之间的较低输入值则导致输出值的振荡速度更慢。

Fig. 12. A wave generator: the input value controls the wavelength.
图 12. 一个波发生器:输入值控制波长。
波形发生器可以有多种用途,例如测量时间或提供波动值。在关于进化虚拟生物的研究中[71],[19],使用了不同类型的振荡函数来同步肢体之间的运动以实现运动。在这种情况下,可以看到改变频率以加速或减速同步行走周期的好处。
在我们实际的实现中,使用的时间度量是系统的更新滴答,这是一个在每次评估 MIND 层次结构后递增的值。这是一种简单且计算成本低的方法,适合大多数用途。这种度量是相对于系统的执行而言的,这意味着它在每次执行时从同一点(滴答 0)开始,具有相同的更新速率,并且随着代理行为的执行而暂停和恢复。这种相对度量更适合于层次结构中行为的同步目的,对于其他依赖于实际时间度量的目的(24 小时周期、断电期间等),可以调用实时时钟系统来替代更新滴答。
4.4. An entry point for human guidance and control: the drive module
4.4. 人类指导和控制的切入点:驱动模块
探索在层级中表示和操控信息的新可能性需要一种方便的方式来理解和与可变模块互动。在构建层级时,我们需要提供临时结构和输入,设定进行此类训练所需的任意目标,这一切都需要技巧和临时解决方案,如第 5.2 节所示。
最终,一个完全发展的 MIND 代理的主要技能应该能够定义自己的目标,满足自己的需求,并继续自我发展,遵循持续的出现[6]。对这项工作的另一个看法是,人工代理是为了帮助我们实现目标和满足需求,这需要一种控制代理试图学习或完成的内容的方法。大多数控制架构提供了一种正式的方式来输入操作员的命令:“任务模块”、“监督者”[72]、“任务层”[73]。为这种系统选择的名称通常反映了架构的设计哲学。
在 MIND 中,这一角色由驱动模块(一个借用自驱动减少理论的术语[39])来扮演。驱动模块(图 13)是设置任务参数和目标、任务配置、约束的层级入口,并且可以提供可调的自主性和临时遥控[74]或人类指导(所谓的“人类在环”)。它使设计者能够定义一个在每次评估层级时调用的程序。该程序可以加载和访问代理可用的所有模块,并可以用于设置变量的值、向执行器添加并发命令或向技能发送影响,方式与技能控制下属组件(执行器、变量、子技能)相同。附录 C 讨论了可调自主性的应用和概念验证,该行为的演示视频可在[75]获取。

Fig. 13. The drive module and its relation to a MIND hierarchy. In this example the drive module guides learning by reading from the sensors and writing into the shared variable, taking the place of the master skill which has not been learned yet (shown in grey).
图 13. 驱动模块及其与 MIND 层次结构的关系。在这个例子中,驱动模块通过从传感器读取数据并写入共享变量来指导学习,取代了尚未学习的主技能(以灰色显示)。
在本文中,驱动模块被应用于以下实验中行为塑造过程的简化。
5. Experiments with the variable system
5. 变量系统的实验
为了展示 MIND 可变系统的应用,我们呈现了两个场景,展示可变模块的不同用途。这些实验使用最新版本的 EvoAgents 进行,EvoAgents 是一个实现 MIND 的框架,配备了训练代理所需的学习算法和仿真环境。第 5.1 节简要介绍了 EvoAgents、实验背景和使用的训练方法。为了符合终身发展的精神,这些实验中学到的新技能将尽可能重用在第 4.1 节中描述的先前实验系列中获得的技能和层次结构。
以下部分介绍了使用变量存储、检索和共享信息的实验。在第 5.2 节中,我们研究了将变量作为技能之间交换信息的手段,并组织内联结构:一个技能的输出是另一个技能的输入。我们围绕“目标”概念重新组织了收集场景中的不同导航技能,该概念由另一个技能设置值的变量表示。
第 5.3 节探讨了将变量用作记忆。在这个实验中,我们学习在一个环境中没有当前状态指示的过程中计数步骤。挑战在于通过与环境的互动学习有用的内部表示。
5.1. Experimental context
5.1. 实验背景
EvoAgents 是一个用 Java 编写的自定义框架,旨在使用 MIND 层次结构作为控制系统进行代理实验(图 14)。它包括 MIND 及其不同模块的实现,一套基于 Encog 库[76]的神经网络和遗传程序的学习算法,用于训练技能内部功能,以及多个接口(远程控制和仿真)和基于物理的仿真环境(2D [77],3D [78],多代理)。EvoAgents 旨在以无头配置运行并行学习算法,并已在 HPC 集群上使用。EvoAgents 是根据 GPL 3 许可证分发的开源软件,供社区审查或实现 MIND 层次结构[79]。

Fig. 14. Interfaces and simulation environments of EvoAgents. From left to right: 3D physics environment, our remote robot, multiagent environment, a remote environment in unity game engine.
图 14. EvoAgents 的接口和仿真环境。从左到右:3D 物理环境、我们的远程机器人、多智能体环境、Unity 游戏引擎中的远程环境。
为了本文的目的,我们仅考虑二维物理环境。所有动态物体都有模拟的质量和摩擦特性,并根据运动定律行为。
模拟机器人由两个驱动轮和一个前爪组成,用于抓取物体。在物理环境中,每个轮子的作用通过一个力冲量向量在机器人的身体上表示,该向量的位置和方向与轮子的相对位置相对应(如果只有一个轮子设置为向前运动,机器人将在原地旋转)。机器人配备了 18 个传感器,提供障碍物距离或目标方向等信息。传感器模块负责将传感器与 MIND 架构接口,并丰富感官信息。它们提供过去值和导数的历史,以供技能作为输入使用。
由电机模块发出的电机命令作为[0,1]范围内的实数,被驱动层解释为执行器能力的百分比(无论是功率、速度、角位置等)。对于轮子,1 对应全速前进,0 对应全速后退,0.5 对应停止。对于爪子,该值对应于其状态:大于 0.5 为闭合,小于 0.5 为打开。
学习技能模块由小型多层感知器(MLP)控制,这些感知器通过简单的遗传算法[80]进行训练,采用锦标赛选择和物种化。我们选择这个解决方案是因为它的简单性、探索性和在延迟奖励下的良好表现,然而,也可以使用其他学习算法。EvoAgents 还包括进化编程[81],它使用遗传算法通过树形表示法进化程序,类似于 S-表达式。这些遗传程序(GP)只能提供一个输出,对于需要多个输出的技能,我们修改了遗传算法,将多个 GP 视为一个个体,我们称之为遗传程序森林(GPF)。图 15 展示了遗传算法的交叉操作如何改变 MLP 和 GP。算法 1 详细说明了个体技能的基因组评估过程。

Fig. 15. Examples of crossover operations for neural networks and evolutionary programs. In bright red: the crossover point or its equivalent.
图 15. 神经网络和进化程序的交叉操作示例。亮红色部分:交叉点或其等效物。

Algorithm 1. Genome evaluation process for an individual skill.
算法 1. 个体技能的基因组评估过程。
层次结构使用课程学习技术进行训练,这适合 MIND 的开发背景和层次特性:通过新的“课程”添加越来越复杂的新技能,旨在实现更复杂的目标。
课程学习[82]是一种渐进式学习方法,旨在通过将复杂学习问题分解为更简单的问题来简化学习过程。这些方法在多个领域中得到应用,从使用神经网络的函数逼近到机器人技术和视频游戏[83]。课程学习将学习任务细分为不同但互补的子任务(或源任务),按照一定的顺序进行学习,通常是逐渐增加复杂性。
为了我们的目的,课程将由一系列任务组成,每个任务对应于要训练的技能层级,从基础技能到精通技能依次排列。课程是手工制作的,每个任务使用一个简单的环境和一组奖励函数,这既简化了学习环境的设计过程,又减少了训练期间的监督成本。课程引导代理的发展,通过关键技能的获取,并且与不同技能模块的分离一样,每个新任务都专注于新环境和相应目标的额外复杂性。
图 16 显示了如何使用课程初步训练一个层次结构:低级技能作为单独的任务进行训练,每个技能在训练过程中充当主技能的角色,并必须涵盖任务的所有预期行为。然后,高级技能被训练以在相应的更高复杂度的任务中使用低级技能。从低级技能到高级技能的学习是一个普遍规则,任务的顺序实际上取决于所需的子技能。例如,在图 16 中给出的例子中,Go To Object + Avoid 技能可以在 Go To DropZone 技能之前进行训练,因为它的两个子技能已经训练完成。

Fig. 16. Using a curriculum to build a MIND hierarchy composed of 6 skills. At each step one skill is trained using one task of the curriculum, the figure shows from left to right steps 1, 4 and 6. Lower level skills are trained first, at each step the learning skill has the role of master skill.
图 16. 使用课程构建由 6 项技能组成的 MIND 层次结构。在每一步中,使用课程中的一个任务训练一项技能,图中从左到右显示了第 1、4 和 6 步。首先训练较低级别的技能,在每一步中,学习技能充当主技能的角色。
忠于人工智能代理的终身发展的精神,以下实验将利用在之前一系列实验中获得的技能和技能层次[11]。第 4.1 节中的图 7 显示了已经可用的技能,这些技能不需要再次训练。
5.2. Scenario 1: Target variable
5.2. 场景 1:目标变量
该场景演示了变量在技能之间集中和交换信息的使用。这个应用示例旨在展示一个(或多个)技能所做计算的结果如何被存储并作为其他技能的输入提供,从而形成内联或分支的信息处理结构。交换的信息可以是对感知的中间分析或更复杂决策过程的结果。它被识别为一个可以组织技能结构的概念。
在这个实验中,我们通过围绕目标的概念重新组织收集场景中的不同导航技能来概括导航行为。主技能选择相关目标并设置一个包含其方向信息的变量。然后,这个变量作为输入提供给专用的导航技能。
5.2.1. Protocol 5.2.1. 协议
目标是学习第 4.1 节中描述的先前实验的收集行为。收集任务包括捡起一个物体并将其带回投放区,同时避免碰撞。
层次结构:该层次结构是原始 Collect 层次结构的修改版,如图 7 所示:GoToObject 和 GoToDropZone 技能被 GoToTarget 替代。
我们最低级的复杂技能是:
- 1.Avoid: Move while avoiding obstacles. Its inputs are the 10 proximity sensors. This skill is reused from previous experiments and did not require training.
避免:在避开障碍物的同时移动。它的输入是 10 个接近传感器。这个技能是从之前的实验中重用的,不需要训练。 - 2.GoToTarget: Similar to GoToObject and GoToDropZone, the orientation to the target is given by a variable (Target in Fig. 17) instead of the object or drop zone sensor.
GoToTarget:与 GoToObject 和 GoToDropZone 类似,目标的方向由一个变量(图 17 中的 Target)给出,而不是由物体或投放区传感器给出。Fig. 17. Collect hierarchy using a variable for the target.
图 17. 使用变量收集目标层次结构。
GoToTarget + Avoid 结合了 Avoid 和 GoToTarget,利用接近传感器在有障碍物的环境中导航到目标,同时避免碰撞。它替代了原始 Collect 层次结构中的 GoToObject + Avoid 和 GoToDropZone + Avoid 技能(图 7)。
最后,CollectVariable 技能结合了 GoToTarget + Avoid 和基础技能 ClawControl。它还输出到 Target 变量。它的输入是物体和投放区存在传感器,以决定需要做什么,同时也包括物体和投放区的两个方向传感器,以设置 Target 变量的适当值。
原始的 Collect 技能只需委托给适当的子技能,设置“谁”负责。每个子技能通过传感器访问适当的信息,以确定如何完成其子任务,一个技能使用物体传感器,另一个使用投放区传感器。CollectVariable 技能必须通过变量传递完成任务所需的信息,即通过识别适当的目标(物体或投放区)来确定物体或投放区的方向。
训练环境:初始训练环境类似于原始收集实验。例如,主技能的环境包含一个要收集的物体、一个存放物体的区域和需要避免的障碍物。代理在有限的时间内可以增加其得分。捡起物体会获得小奖励,而将物体存放在区域内则会获得大奖励。碰撞会结束评估。
原始设置在环境中放置一个单一的物体,该物体始终被代理的传感器跟踪。当代理成功收集物体时,它会随机放置在环境中,以便任务可以重复进行。我们发现,这种配置可以被影响机制利用,以简化学习任务。当代理将物体带到投放区时,由方向传感器跟踪的物体被保持在前爪中。在这些条件下,方向传感器始终报告物体在前面,因此 GoToObject 给出的输出是向前移动。因此,通过向量组合,GoToObject 行为可以在代理将物体带回投放区时保持活跃,而不会对轨迹产生不利影响,只需添加一个恒定的向前移动。
为了确保智能体在收集行为的不同子任务之间学习到严格的排斥,它在携带物体时不能总是从其物体方向传感器接收到指向前方的输入,以便它被迫忽略这些信息,而优先考虑投放区域的方向。因此,实验设置在两个方面进行了调整:
- •Multiple target objects are present in the environment. The object orientation sensor will give the orientation of the closest one.
环境中存在多个目标物体。物体方向传感器将提供最近物体的方向。 - •An object carried in the claw does not register on orientation sensors.
在爪子中携带的物体不会在方向传感器上注册。
技能内部功能:技能的默认内部功能仍然是多层感知器。然而,在这种情况下,其中一个技能使用遗传编程来进化其内部功能。我们将在结果部分看到为什么这种类型的控制器更适合特定任务。
塑造依赖于变量的技能和驱动模块的需求:
根据课程方法,首先训练较低级别的技能,较高级别的技能逐步建立在之前的技能之上,如图 16 第 5.1 节所示。在 CollectVariable 层次结构中(图 17),较低级别的技能 GoToTarget 依赖于一个由较高级别技能 CollectVariable 设置的变量值(图 18)。为了塑造 GoToTarget,我们为变量提供一个值,即目标对象的方向,并使用 GoToObject 环境及其奖励集进行训练。

Fig. 18. From left to right: The problem of the Target variable, the scaffolding solution using a programmed master skill and the drive module solution accessing the Target variable.
图 18. 从左到右:目标变量的问题,使用编程主技能的支架解决方案,以及访问目标变量的驱动模块解决方案。
我们最初的解决方案受到[11]中开发的上下文重训练方法的启发,使用一个主技能,该技能被编程为将物体方向传感器的值复制到目标变量,并通过发送一个恒定的最大影响力来激活 GoToTarget。然而,创建这样的“支架”技能很快被证明是繁琐的,并突显了对更高层次功能的直接控制的需求,无论是用于学习还是设定利用目标,这促使了第 4.4 节中描述的驱动模块的发展。
5.2.2. Results and analysis
5.2.2. 结果与分析
结果的视频可在[84]、[85]中获得,用于对训练过程的定量分析,每项技能进行了 10 次随机初始种子的复制。附录 B 中的图 B.27 显示了训练期间平均分数的演变。
使用神经网络:在环境的单一对象配置中,行为类似于原始层次结构(图 19)。图 20 显示了在多个对象的替代设置中的行为:每一行显示一个对象的收集,左侧是代理正在接近对象,右侧是投放区。

Fig. 19. Trajectory of the Collect Variable skill collecting a single object.
图 19. 收集变量技能收集单个物体的轨迹。

Fig. 20. Trajectory of the Collect Variable skill collecting 3 objects (neural network variant).

Fig. 21. The optimal trajectory of the Collect Variable skill using a function evolved via genetic programming.
5.3. Scenario 2: Counter variable
5.3.1. Protocol

Fig. 22. The Count Objects hierarchy.
5.3.2. Results and analysis
- 1.The agent brings the first object to the drop zone, VAR is at 0.
- 2.The agent just dropped the first object, is incremented by 0.1.
- 3.The agent brings the second object to the drop zone.
- 4.The agent just dropped the second object, is incremented by 0.1, bringing it to 0.2. The agent is now headed to the validation zone.
- 5.The agent just reached the validation zone, is reset to 0. The agent is headed for the object.

Fig. 23. Step 1-3 of the Count Objects behaviour. On the right the simulation, on the left the state of the MIND hierarchy.

Fig. 24. Step 4-5 of the Count Objects behaviour. On the right the simulation, on the left the state of the MIND hierarchy.
5.4. Assessment of variable module use in MIND

Fig. 25. A possible extension of the Count Objects hierarchy for multiagent coordination.
6. Discussion
6.1. Analysis
6.2. Limits
7. Conclusions and future works
Declaration of Competing Interest
Acknowledgements
Appendix A. Handcrafted network for collectVariable

Fig. A.26. The optimal solution for the CollectVariable skill using a multilayer perceptron. Connections not shown have their weights set to 0. SENSOBJ gives the value of 0.8 if an object is carried by the agent and 0.2 if not. This configuration is able to perform exclusion by shifting the excluded value of the orientation sensors to negative and using a ReLU to bring the excluded value to 0, having thus no effect on the final sum. It is however very specific and its neighbouring solutions have very poor performance which is not suited to our learning algorithm.
Appendix B. Quantitative results for Target variable

Fig. B.27. Evolution of the fitness score during training for the skills of the Target variable experiments (Section 5.2) for 10 replications using random initial seeds. The Collect skill using Genetic Program Forests reaches its optimal score around 100 generations. The greater variation in scores for GoToTarget+Avoid is due to the greater importance of random elements in the training scenario (obstacle generation and random target placement).
Appendix C. Applications for the drive module

Fig. C.28. An example of use for exploitation purposes: here the drive module takes operator input in real time and overrides variables to set alternate targets for delivering an object. The agent will only take operator input into account if it is carrying an object to deliver. If the waypoint is removed by the operator, the agent resumes its fully autonomous behaviour, setting its own values for variables through the hierarchy.

Listing 1. Abridged program for the drive module shown in Fig. C.28. L.12 computes the relative orientation of the operator marker given by the simulation viewer GUI. This value overrides the value of the target at l.13. Unlike the override procedure, L. 17&18 show examples of sending a regular Influence command which will be integrated with other commands exchanged in the hierarchy. Both skill receive a command of value 1.0, with a cumulative Influence of 1.0.
References
- [1]Multitask learningMach. Learn., 28 (1997), pp. 41-75
- [2]Transfer learning for reinforcement learning domains: a surveyJ. Mach. Learn. Res., 10 (2009)
- [3]Input addition and deletion in reinforcement: towards protean learningAuton. Agents Multi-Agent Syst., 36 (2022), pp. 1-34
- [4]Developmental robotics: a surveyConnect. Sci., 15 (2003), pp. 151-190
- [5]Developmental roboticsEncyclopedia of the Sciences of Learning, Springer (2012), pp. 969-972
- [6]Ongoing emergence: a core concept in epigenetic roboticsProceedings of the Fifth International Workshop on Epigenetic Robotics: Modeling Cognitive Development in Robotic Systems (2005)
- [7]Lifelong robot learningEncyclopedia of Robotics, Springer Berlin Heidelberg (2020), pp. 1-12
- [8]From agents to organizations: an organizational view of multi-agent systemsP. Giorgini, J.P. Müller, J. Odell (Eds.), Agent-Oriented Software Engineering IV, Lecture Notes in Computer Science, vol. 2935, Springer, Berlin Heidelberg (2004), pp. 214-230
- [9]MASQ: towards an integral approach to interactionProceedings of the 8th International Conference on Autonomous Agents and Multiagent Systems - Volume 2, AAMAS '09, International Foundation for Autonomous Agents and Multiagent Systems (2009), pp. 813-820
- [10]The symbol grounding problem has been solved, so what's nextSymbols and Embodiment: Debates on Meaning and Cognition (2008), pp. 223-244
- [11]A hierarchical representation of behaviour supporting open ended development and progressive learning for artificial agentsAuton. Robots (2021)
- [12]The neuro-symbolic concept learner: interpreting scenes, words, and sentences from natural supervision7th International Conference on Learning Representations, ICLR 2019, New Orleans, LA, USA, May 6-9, 2019, OpenReview.net (2019)
- [13]From skills to symbols: learning symbolic representations for abstract high-level planningJ. Artif. Intell. Res., 61 (2018), pp. 215-289
- [14]What is intrinsic motivation? A typology of computational approachesFront. Neurorobot., 1 (2007)
- [15]Intrinsically motivated model learning for developing curious robotsArtif. Intell., 247 (2017), pp. 170-186
- [16]Control what you can: intrinsically motivated task-planning agentAdv. Neural Inf. Process. Syst., 32 (2019)
- [17]Language as a cognitive tool to imagine goals in curiosity driven explorationAdv. Neural Inf. Process. Syst., 33 (2020), pp. 3761-3774
- [18]Intrinsically motivated goal exploration processes with automatic curriculum learningJ. Mach. Learn. Res., 23 (2022), pp. 6818-6858
- [19]Open-ended behavioral complexity for evolved virtual creaturesProceedings of the 15th Annual Conference on Genetic and Evolutionary Computation (2013), pp. 335-342
- [20]Autoencoders, minimum description length, and Helmholtz free energyAdv. Neural Inf. Process. Syst., 6 (1994), pp. 3-10
- [21]Layered learningEuropean Conference on Machine Learning, Springer (2000), pp. 369-381
- [22]Learning modular neural network policies for multi-task and multi-robot transferIEEE International Conference on Robotics and Automation (ICRA), IEEE (2017), pp. 2169-2176
- [23]Learning parameterized skillsProceedings of the 29th International Conference on International Conference on Machine Learning, ICML'12, Omnipress, Madison, WI, USA (2012), pp. 1443-1450
- [24]Robot shaping: developing autonomous agents through learningArtif. Intell., 71 (1994), pp. 321-370
- [25]Motivational engine and long-term memory coupling within a cognitive architecture for lifelong open-ended learningNeurocomputing, 452 (2021), pp. 341-354
- [26]An embodied developmental robotic model of interactions between numbers and spaceProceedings of the Annual Meeting of the Cognitive Science Society, vol. 33 (2011), pp. 237-242
- [27]Robotic model of the contribution of gesture to learning to countIEEE International Conference on Development and Learning and Epigenetic Robotics (ICDL), IEEE (2012), pp. 1-6
- [28]Induction, conceptual spaces and AIPhilos. Sci., 57 (1990), pp. 78-95
- [29]Procedural and declarative knowledge: an evolutionary perspectiveTheory Psychol., 9 (1999), pp. 605-624
- [30]Recurrent neural networks and robust time series predictionIEEE Trans. Neural Netw., 5 (1994), pp. 240-254
- [31]Remembering how to behave: recurrent neural networks for adaptive robot behavior, Recurrent neural networksRecurrent Neural Networks: Design and Applications (1999), pp. 355-389
- [32]Reinforcement learning of non-Markov decision processesArtif. Intell., 73 (1995), pp. 271-306
- [33]Accurate metacognition for visual sensory memory representationsPsychol. Sci., 25 (2014), pp. 861-873
- [34]Finding structure in timeCogn. Sci., 14 (1990), pp. 179-211
- [35]Reservoir computing trendsKünstl. Intell., 26 (2012), pp. 365-371
- [36]Minimum complexity echo state networkIEEE Trans. Neural Netw., 22 (2010), pp. 131-144
- [37]Liquid state machines: motivation, theory, and applicationsComputability in Context: Computation and Logic in the Real World (2011), pp. 275-296
- [38]Reservoir computing approaches to recurrent neural network trainingComput. Sci. Rev., 3 (2009), pp. 127-149
- [39]Principles of Behavior: An Introduction to Behavior TheoryAppleton-Century (Still Paywalled) (1943)
- [40]Evolution of the ICARUS cognitive architectureCogn. Syst. Res., 48 (2018), pp. 25-38
- [41]Teleo-reactive programs for agent controlJ. Artif. Intell. Res., 1 (1993), pp. 139-158
- [42]A systematic literature review of the teleo-reactive paradigmArtif. Intell. Rev., 42 (2014), pp. 945-964
- [43]Extending the Soar cognitive architectureFront. Artif. Intell. Appl., 171 (2008), p. 224
- [44]Extending cognitive architecture with episodic memoryProceedings of the Twenty-Second AAAI Conference on Artificial Intelligence, July 22-26, 2007, Vancouver, British Columbia, Canada, AAAI Press (2007), pp. 1560-1564
- [45]Predicate learning in neural systems: using oscillations to discover latent structureCurr. Opin. Behav. Sci., 29 (2019), pp. 77-83
- [46]From reality to mind: a cognitive middle layer of environment concepts for believable agentsD. Weyns, H.V.D. Parunak, F. Michel (Eds.), Environments for Multi-Agent Systems, First International Workshop, E4MAS 2004, Revised Selected Papers, LNAI, vol. 3374, Springer (2005), pp. 57-73
- [47]Neural-symbolic vqa: disentangling reasoning from vision and language understandingAdv. Neural Inf. Process. Syst., 31 (2018)
- [48]Coordinating perceptually grounded categories through language: a case study for colourBehav. Brain Sci., 28 (2005), pp. 469-488
- [49]A self-organizing spatial vocabularyArtif. Life, 2 (1995), pp. 319-332
- [50]Qanuq ilitaavut: “How we learned what we know”Wales Inupiaq Sea Ice Dictionary (2010), pp. 321-354
- [51]A robust layered control system for a mobile robotIEEE J. Robot. Autom., 2 (1986), pp. 14-23
- [52]Evolving composite robot behaviour-a modular architectureProceedings of the Fifth International Workshop on Robot Motion and Control, RoMoCo'05, IEEE (2005), pp. 271-276
- [53]AuRA: principles and practice in reviewJ. Exp. Theor. Artif. Intell., 9 (1997), pp. 175-189
- [54]Modeling self satisfaction and altruism to handle action selection and reactive cooperationProceedings of the 6th International Conference on the Simulation of Adaptive Behavior, vol. 2 (2000), pp. 314-323
- [55]N. Heess, G. Wayne, Y. Tassa, T.P. Lillicrap, M.A. Riedmiller, D. Silver, Learning and Transfer of Modulated Locomotor Controllers, arXiv, 2016.
- [56]Learning neural network policies with guided policy search under unknown dynamicsAdvances in Neural Information Processing Systems (2014), pp. 1071-1079
- [57]Learning collaborative foraging in a swarm of robots using embodied evolutionArtificial Life Conference Proceedings 14, MIT Press (2017), pp. 162-169
- [58]Competitive coevolution through evolutionary complexificationJ. Artif. Intell. Res., 21 (2004), pp. 63-100
- [59]Flocks, Herds and Schools: A Distributed Behavioral ModelACM SIGGRAPH Computer Graphics, vol. 21, ACM (1987), pp. 25-34
- [60]Grail: a goal-discovering robotic architecture for intrinsically-motivated learningIEEE Trans. Cogn. Dev. Syst., 8 (2016), pp. 214-231
- [61]Reinforcement learning for agents with many sensors and actuators acting in categorizable environmentsJ. Artif. Intell. Res., 23 (2005), pp. 79-122
- [62]Evolving soccer keepaway players through task decompositionMach. Learn., 59 (2005), pp. 5-30
- [63]MIND: base skills demo
- [64]MIND: complex skills demo
- [65]MIND: power management demo
- [66]MIND: robotic application
- [67]Autonomous reinforcement learning of multiple interrelated tasks2019 Joint IEEE 9th International Conference on Development and Learning and Epigenetic Robotics (ICDL-EpiRob), IEEE (2019), pp. 221-227
- [68]Analysing autonomous open-ended learning of skills with different interdependent subgoals in robots2021 20th International Conference on Advanced Robotics (ICAR) (2021)
- [69]Émergence de comportements collectifs basée sur l'apprentissage progressif individuelN. Sabouret (Ed.), Architectures multi-agents pour la simulation de systeèmes complexes - Vingt-huitième journées francophones sur les systèmes multi-agents, JFSMA, Cépaduès (2020)
- [70]CogLogo: une implémentation de MetaCiv pour NetLogo (démonstration)O. Simonin, S. Combettes (Eds.), Systèmes Multi-Agents et simulation - Vingt-septièmes journées francophones sur les systèmes multi-agents, JFSMA, Cépaduès (2019), pp. 183-184
- [71]Evolving virtual creaturesProceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques (1994), pp. 15-22
- [72]Architecture controlling multi-robot system using multi-agent based coordination approach8th International Conference on Informatics in Control, Automation and Robotics, ICINCO (2011)
- [73]An architecture for autonomyInt. J. Robot. Res., 17 (1998), pp. 315-337
- [74]Humans-robots sliding collaboration control in complex environments with adjustable autonomyIEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology, vol. 2, IEEE (2012), pp. 146-153
- [75]MIND: drive module demo
- [76]Encog
- [77]JBox2Dhttp://www.jbox2d.org/ (2014)
- [78]JBullethttp://jbullet.advel.cz/ (2008)
- [79]EvoAgents public repositoryhttps://gite.lirmm.fr/suro/evoagents2020 (2020–2022)
- [80]Artificial Intelligence: A Modern Approach(3rd ed.), Prentice Hall Press (2009)
- [81]A Field Guide to Genetic Programming, Creative Commons(2008)
- [82]Curriculum learningProceedings of the 26th Annual International Conference on Machine Learning, ACM (2009), pp. 41-48
- [83]Source task creation for curriculum learningInternational Conference on Autonomous Agents & Multiagent Systems, International Foundation for Autonomous Agents and Multiagent Systems (2016), pp. 566-574
- [84]MIND: taget variable demo
- [85]MIND: taget variable demo - genetic program version
- [86]Growing babies and robotsDevelopmental Robotics: From Babies to Robots, The MIT Press (2015), pp. 1-18
- [87]MIND: count variable demo
- [88]MetaCiv: un framework multi-agent basé sur MASQ pour modéliser des sociétés humainesR. Courdier, J.-P. Jamont (Eds.), Principe de Parcimonie - Vingt-deuxièmes Journées Francophones sur les Systèmes Multi-Agents, JFSMA, Cepadues Editions (2014), pp. 87-96
Cited by (0)
- 1
- For interpretation of the colours in the figure(s), the reader is referred to the web version of this article.
- 2
- In the EvoAgents implementation of MIND, the maximum value N of a counter can be provided via the agent configuration file, and is set at instantiation. Its value increments in steps, the only limit for N is the limit of double precision.
- 3
- Default increment threshold: 0.8. Default reset threshold: 0.2.
- 4
- Values for binary sensors such as SENSOBJ are 0.2 for false and 0.8 for true.
- 5
- The CollectVariable hierarchy was still under development at the time of this experiment, however they are interchangeable.