首页> 中国专利> 一种面向困难探索环境的记忆保持课程学习方法

一种面向困难探索环境的记忆保持课程学习方法

摘要

本发明公开了一种面向困难探索环境的记忆保持课程学习方法,用于困难探索环境下的策略求解,包括以下步骤:(1)提出双重记忆系统,包括短期记忆智能体和长期记忆智能体;(2)将短期记忆智能体交互产生的经验片段存储到记忆缓存池,采用基于KL散度的损失函数作为策略蒸馏的损失函数;(3)采用贝叶斯在线学习中后验的拉普拉斯近似估计作为各个任务记忆保持的损失函数,任务的信息通过在线拉普拉斯逼近顺序合并到后验中,采用了克罗内克分解近似的方法对费舍矩阵近似块对角分解;(4)在长期记忆智能体策略网络中的卷积层中加入零填充操作。所述方法在困难探索环境下进行有效的策略求解,并缓解记忆遗忘问题。

著录项

  • 公开/公告号CN112633466A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN202011169070.1

  • 发明设计人 曾政文;韦佳;

    申请日2020-10-28

  • 分类号G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构44102 广州粤高专利商标代理有限公司;

  • 代理人何淑珍;江裕强

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明属于机器学习领域中的课程学习方法,适用于困难探索环境下的策略求解,涉及 一种面向困难探索环境的记忆保持课程学习方法。

背景技术

近年来,人工智能领域飞速发展,其主要目标之一是实现让机器与环境自主交互,根据 环境中获得的感知信息和反馈,从而学习到最优行为。深度强化学习作为一种使智能体与环 境进行交互感知来学习最优行为的机器学习算法,能够较好地处理智能体决策问题,并在一 些复杂游戏上诸如AlphaGo、德州扑克以及星际争霸等取得了令人瞩目的研究成果。

深度强化学习是深度学习和强化学习的结合,包括了深度学习的感知能力以及强化学习 的决策能力。然而,现实中的复杂任务往往具有稀疏奖励、欺骗性奖励这两个突出的问题。 稀疏奖励问题是现实任务中普遍存在的问题,智能体必须采取成百上千正确的动作才能获得 正向奖励。而欺骗性奖励问题是个常见并且容易被忽略的问题,环境会给智能体是否达到全 局目标提供误导性反馈,这导致局部最优策略。这两个问题组合在一起合称作困难探索 (Hard-Exploration)问题。当应用到这些实际任务中时,深度强化学习算法会出现收敛困难、 样本复杂度高和过拟合等不足。

目前,越来越多的研究者开始重视这个问题。奖励塑性(reward shaping)已被证实是加 快强化学习任务训练的有力方法。其核心观点是根据先验知识设计额外的奖励函数,同时结 合现有的奖励函数可以有效减少次优动作的数量,以此缩减训练时间。然而,当奖励函数设 计不合理时,强化学习智能体会陷入优化额外的奖励函数的循环中,而忽略了真正需要优化 的问题。内在动机是解决稀疏奖励的典型方法,它通过加入内在奖励的方式训练自监督智能 体,使其探索并且熟悉任务环境而无需特定的目标。大体来说,其核心思想是根据对状态感 知的熟悉程度来给予奖励值。在一些简单的场景中,熟悉程度根据状态访问的次数来定义。 而在一些复杂的场景中,智能体可以建立环境模型,然后熟悉程度可以用学习进展的预测表 示。经验回放机制也是一种解决奖励稀疏的方法,其基本思路是建立了一个经验池用于收集 失败的探索经验,然后将这些经验中的状态作为到达最终目标前的子目标。之后从经验池中 采样出样本以及目标来训练。

课程学习是一种多阶段的迁移学习,可以有效加快深度强化学习智能体在困难探索环境 训练时的学习速度。其基本思想是根据先验知识将目标任务进行拆解为一个子任务来学习。 因课程学习具有设计简单、操作方便等特点,众多研究者根据具体任务的不同来设计特定的 课程学习方式,以解决不同强化学习问题。Shao等人(Shao K,Zhu Y,ZhaoD.Starcraft micromanagement with reinforcement learning and curriculumtransfer learning[J].IEEE Transactions on Emerging Topics in ComputationalIntelligence,2018,3(1):73-84.)在星际微操任 务中使用课程迁移学习。针对星际任务中,单位数量和环境组成决定了任务的复杂度这一特 点,通过改变单位的数量和环境的组成来设计不同难易程度的任务。这一课程设计的方式在 一些基准任务上取得了更好的结果。Wu等人观察到在毁灭战士游戏中,主任务可以根据所需 的技能分解为一系列的子任务。接着借鉴主从式的思想,将训练主任务的智能体称为主人, 而训练子任务的智能体称为随从,然后通过将主人和随从异步联合训练的方式来实现各个任 务间知识的共享。Tian等人在毁灭战士游戏中使用了课程学习的方法,通过修改对手的生命 值和速度来设计课程,并且在AI竞赛中取得了第一名的成绩。Bansal等人提出在多智能体竞 争环境下通过自博弈的方式,智能体能学习会到的行为复杂性远远高于环境本身,因为自博 弈的方法隐式的为智能体提供了由难到易的课程,最后在Mujoco机器人控制环境上验证了智 能体学习到了复杂行为。

然而,上述的课程学习方式仅仅考虑了最终任务的性能,而忽略了中间任务的表现情况 (Narvekar S,Peng B,Leonetti M,et al.Curriculum Learning forReinforcement Learning Domains:A Framework and Survey[J].arXiv preprintarXiv:2003.04960,2020.)。换句话说,智能 体可能仅仅知道如何完成最终任务,而忘记如何解决中间任务。因此,中间任务的作用仅仅 是为最终任务提供有限的知识。由于强化学习在困难探索环境下严重过拟合的特点,训练的 模型可以在最终任务上取得卓越的表现,但是大多数情况下忘记如何解决中间任务。这给后 续的应用带来了极大的不便。

发明内容

为了解决现有方法存在的问题,本发明从课程学习着手,提出了一种面向困难探索环境 的记忆保持课程学习方法。该方法主要有三个核心点:双重记忆系统、贝叶斯在线学习和位 置信息编码。该方法能使智能体一边学习新的知识,一边将新学习到的知识进行存储,同时 在整体性能以及鲁棒性方面均优于传统课程学习方法。

本发明至少通过如下技术方案之一实现。

一种面向困难探索环境的记忆保持课程学习方法,所述方法包括以下步骤:

步骤S1、根据困难探索问题构建一系列子任务,并将子任务进行排列组成智能体即将学 习的课程;

步骤S2、构造双重记忆系统,双重记忆系统包括短期记忆智能体和长期记忆智能体;初 始化各个智能体的策略参数,并用深度神经网络来表示各个智能体的策略函数;

步骤S3、短期记忆智能体根据步骤S1的课程进行序列训练,持续从一系列子任务中学 习新的知识;

步骤S4、当短期记忆智能体收敛到当前任务下的最优策略时,收集与当前任务交互产生 的经验片段,并将经验片段存储到记忆缓存池中;

步骤S5、使用记忆缓存池中的数据来训练长期记忆智能体,使用策略蒸馏将知识从短期 记忆智能体迁移至长期记忆智能体,并采用KL散度作为策略蒸馏的损失函数,同时,采用 贝叶斯在线学习中参数后验的拉普拉斯近似估计作为记忆保持的损失函数,参数后验视作旧 任务的信息容器,以此约束与旧任务相关的参数;

步骤S6、使用记忆缓存池中的数据训练到迭代次数后,保存长期记忆智能体策略参数, 同时,将记忆缓存池中的样本输入到长期记忆智能体的策略网络中,计算长期记忆智能体的 各层网络的前向输入和反向梯度,再根据克罗内克乘积计算当前参数下的费舍矩阵,保存网 络各层参数的克罗内科因子,利用衰减因子来对各个任务的费舍矩阵进行更新合并;

步骤S7、重复步骤S3至步骤S7直到课程中的任务都训练完毕,获得最终的短期记忆智 能体和长期记忆智能体。

进一步地,步骤S1的子任务构建方法为修改环境参数,或者简化任务环境,但是环境状 态空间以及动作空间保持不变。

进一步地,步骤S1是根据启发式的方法或者专家知识将子任务按照从易至难的顺序进行 排列。

进一步地,所述短期记忆智能体的深度神经网络包括表示层、动作层、状态估值层;

长期记忆智能体的深度神经网络包括表示层和动作层;对于短期记忆智能体的深度神经 网络和长期记忆智能体的深度神经网络中表示层的具体结果,根据实际问题组合卷积层和全 连接层,而短期记忆智能体的深度神经网络和长期记忆智能体的深度神经网络中动作层和状 态估值层均用全连接网络表示,动作层输出动作概率分布,状态估值层输入当前状态估值, 长期记忆智能体和短期记忆智能体的网络输入均为当前环境状态。

进一步地,所述长期记忆智能体的深度神经网络中的卷积层均使用零填充操作,以便对 位置信息进行编码。

进一步地,步骤S3中,课程中的每个任务建模为马尔可夫决策过程,并且使用演员评论 家算法来求解,课程中每个任务的最优策略为

其中,i代表课程中的任务序号,

进一步地,步骤S3的训练过程是具体为从学习的课程中挑选出任务M

进一步地,步骤S4中,收集的经验片段表示为(s,a),其中s表示环境状态,a表示当前 状态智能体输出的各个动作概率,记忆缓存池只保存一个任务的样本,因此下一个任务样本 全部替换上一个任务的样本。

进一步地,步骤S5中,训练长期记忆智能体具体包括以下步骤:

1)、根据批大小B

2)、根据策略蒸馏损失函数计算知识迁移的损失函数,同时,采用基于贝叶斯在线学习中后 验的拉普拉斯近似估计作为记忆保持的损失函数;

所述策略蒸馏损失函数为:

采用的基于贝叶斯在线学习的记忆保持损失函数如下所示:

其中γ是超参数,在记忆保持和学习新任务的灵活性之间进行平衡,θ为长期记忆智能体 的神经网络参数,

所述基于贝叶斯在线学习中后验的拉普拉斯近似估计为:

3)、将策略蒸馏损失函数和基于贝叶斯在线学习的记忆保持损失函数相加并赋予权重系数从 而得到有监督信息的损失函数,并使用后向传播算法和ADAM(adaptivemoment estimation, 自适应矩估计)优化算法去最小化有监督信息的损失函数从而训练长期记忆智能体从而训练 长期记忆智能体的策略模型,重复训练直到达到最大训练迭代次数E

所述有监督信息的损失函数形式如下:

L

其中,γ为平衡策略蒸馏损失函数和基于贝叶斯在线学习的记忆保持损失函数之间重要性 的权重系数。

进一步地,所述费舍矩阵的表达式如下:

其中G

为了减少计算量,将费舍矩阵近似为块对角矩阵,同时每个对角块可以分解为两个小的 克罗内克因子。并且第z层网络参数对数似然的梯度可以表示为两个向量的克罗内克积:

由此可以获得近似的费舍矩阵计算形式:

其中G

进一步地,在步骤S6中,基于贝叶斯在线学习的记忆保持损失函数如下所示:

其中,N为神经网络的层数。

进一步地,迭代训练结束以后,根据式子

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明针对困难探索环境下课程学习中出现的灾难性遗忘问题,提出了一种记忆保持 课程学习方法,利用双重记忆系统、贝叶斯在线学习和位置信息编码,帮助智能体在利用课 程学习算法高效学习新任务的同时,能够保持课程中子任务的知识不被遗忘。此外,该方法 不仅能使智能体保持记忆从而完成旧任务,同时在整体性能以及鲁棒性方面均优于传统课程 学习方法。

2、本发明采用了克罗内克分解曲率近似贝叶斯在线学习中的费舍矩阵,这种方式考虑了 每层网络中参数间的关系,是费舍矩阵的一个更加细粒度的近似方式。相比于采用费舍矩阵 对角计算的粗粒度近似方法。本发明方法可以更好地保持课程中子任务地知识。

附图说明

图1为本实施例短期记忆智能体网络结构图;

图2为本实施例的一种面向困难探索环境的记忆保持课程学习方法的流程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下结合附图并举实施例对本发 明作进一步详细描述。

如图1和图2所示的一种面向困难探索环境的记忆保持课程学习方法,包括以下步骤:

步骤S1、根据目标任务M

设置记忆缓存池容量N,费舍矩阵的更新参数β,正则项参数γ,训练迭代次数E

步骤S2、构造双重记忆系统,系统包括短期记忆智能体和长期记忆智能体,前者关注于 最近的任务而不考虑保留之前学习到的知识,而后者将前者学到的知识进行迁移巩固。在长 期记忆智能体策略网络中的卷积层中加入零填充操作,以此隐式编码智能体的位置信息。

初始化短期记忆智能体的策略参数θ

所述短期记忆智能体的深度神经网络包括表示层、动作层、状态估值层。具体地,神经 网络的最低层为表示层,用于对输入的数据进行特征提取。表示层上面分叉连接动作层和状 态估值层,动作层和状态估值层分别是神经网络的两个输出。

长期记忆智能体的深度神经网络由表示层和动作层堆叠而成,;对于短期记忆智能体的深 度神经网络和长期记忆智能体的深度神经网络中表示层的具体结构,可以根据实际问题组合 卷积层和全连接层,而短期记忆智能体的深度神经网络和长期记忆智能体的深度神经网络中 动作层和状态估值层均用全连接网络表示,动作层输出动作概率分布,状态估值层输入当前 状态估值,长期记忆智能体和短期记忆智能体的网络输入均为当前环境状态。

步骤S3、短期记忆智能体根据步骤S1的课程进行序列训练,持续从一系列子任务中学 习新的知识。其中,短期记忆智能体使用深度强化学习算法在各个子任务上训练。深度强化 学习作为机器学习的一种范式,是一种使智能体直接与环境做互动,通过试错的方式学习到 针对某个问题最优策略的学习算法,而这种策略表示为环境状态与动作的映射关系。具体地, 本发明中使用深度强化学习算法中的演员评论家算法直接建模和优化策略,策略采用参数化 的函数建模,表示为π

从课程

步骤S4、当交互数达到最大训练局数后,继续让短期记忆智能体在任务M

步骤S5、使用记忆缓存池中的数据来训练长期记忆智能体,使用策略蒸馏来将知识从短 期记忆智能体迁移至长期记忆智能体,并采用KL散度作为策略蒸馏的损失函数。同时,采 用贝叶斯在线学习中参数后验的拉普拉斯近似估计作为记忆保持的损失函数,通过最大后验 估计在旧任务上学习到的模型参数后验,可以作为解决新任务时的先验。在这个方法中,参 数后验可以视作旧任务的信息容器,以此约束与旧任务相关的参数;

训练长期记忆智能体具体包括以下步骤:

1)、根据批大小B

2)、根据策略蒸馏损失函数计算知识迁移的损失函数,同时,采用基于贝叶斯在线学习中后 验的拉普拉斯近似估计作为记忆保持的损失函数;

所述策略蒸馏损失函数为:

采用的基于贝叶斯在线学习的记忆保持损失函数如下所示:

其中γ是超参数,在记忆保持和学习新任务的灵活性之间进行平衡,θ为长期记忆智能体 的神经网络参数,

所述基于贝叶斯在线学习中后验的拉普拉斯近似估计为:

3)、将策略蒸馏损失函数和记忆保持的损失函数相加并赋予权重系数,从而得到有监督信息的 损失函数,并使用后向传播算法和ADAM优化算法作为最小化有监督信息的损失函数,从而 训练长期记忆智能体的策略模型,重复训练直到达到最大训练迭代次数E

所述有监督信息的损失函数形式如下:

L

其中,γ为平衡策略蒸馏损失函数和基于贝叶斯在线学习的记忆保持损失函数之间重要性 的权重系数。由此训练出来的长期记忆智能体的策略记作

步骤S6、使用记忆缓存池中的数据训练到迭代次数后,保存长期记忆智能体策略参数, 同时,将记忆缓存池中的样本输入到长期记忆智能体的策略网络中,计算各层网络的前向输 入和反向梯度。接着根据克罗内克乘积计算当前参数下的费舍矩阵,保存网络各层参数的克 罗内科因子,利用衰减因子来对各个任务的费舍矩阵进行更新合并;

在步骤S6中,费舍矩阵的计算公式如下:

其中

为了减少计算量,采用了克罗内克分解近似的方法对费舍矩阵近似块对角分解,将费舍 矩阵近似为块对角矩阵,同时每个对角块可以分解为两个小的克罗内克因子。并且第z层网 络参数对数似然的梯度可以表示为两个向量的克罗内克积:

其中

由此可以获得近似的费舍矩阵计算形式:

其中G

步骤S7、重复步骤S3-步骤S6直到课程中所有的任务训练完毕,获得最终的短期记忆智 能体参数和长期记忆智能体参数。相比于直接在任务上进行强化学习训练,短期记忆智能体 结合课程学习的方式可以更加高效的在困难探索环境中,如机器人导航任务、机器臂控制任 务等,进行强化学习训练,而仅仅使用传统的深度强化学习方法,智能体在学习过程中不仅 仅收敛速率慢,而且还会遇到收敛困难的问题。除此以外,长期记忆智能体在短期记忆智能 体的基础上加入了记忆保持功能,也就是说长期记忆智能体可以在一系列任务上保持良好的 性能,而不会遗忘,这可以用于机器人户外探索任务中。在户外探索任务中,机器人时刻面 临不同的环境,如沙地、草地、公路等,而长期记忆智能体可以在面临不同的环境时,依然 能保持对旧环境的记忆,这可以有效保证机器人在户外环境中的整体探索性能。

以上所述,仅为本发明较佳的实施例,但本发明的保护范围并不局限于此,任何熟悉本 技术领域的技术人员在本发明所公开的范围内,根据本发明的技术方案及其发明构思加以等 同替换或改变,都属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号