状态部分可观测强化学习算法的高效采样更新方法及装置转让专利
申请号 : CN202010291366.4
文献号 : CN111582439B
文献日 : 2021-08-10
发明人 : 薛晨 , 杨君 , 许函 , 陈章 , 梁斌
申请人 : 清华大学
摘要 :
权利要求 :
1.一种状态部分可观测强化学习算法的高效采样更新方法,其特征在于,包括以下步骤:
采集智能体与环境交互生成的交互数据,并将所述交互数据添加至样本池中,包括:根据所述智能体接收的环境当前时刻的观测值、上一时刻记忆值、上一时刻动作,长短时记忆网络计算当前时刻记忆值;通过智能体全连接网络根据所述当前时刻记忆值计算当前时刻选择的动作;通过所述智能体与所述环境交互做出所述动作,且所述环境根据所述智能体动作转移至下一状态并返回给所述智能体奖励信号、下一时刻的观测值、交互过程是否终止的判断值;将本时步交互过程中产生的所述交互数据添加至所述样本池中,其中,将所述交互数据按顺序存放存储至所述样本池;
从所述样本池中随机选取多条样本片段,生成训练样本数据;以及根据所述训练样本数据对更新长短时记忆网络的网络参数,其中,在更新长短时记忆网络的网络参数时,引入标签数据判断样本片段中的数据是否来自同一交互过程。
2.根据权利要求1所述的方法,其特征在于,所述从所述样本池中随机选取多条样本片段,生成训练样本数据,包括:
获取所述样本池中样本的数量,并随机选取n个片段首时步的索引;
根据每条片段首时步的索引,在所述样本池中取出对应样本片段,添加至训练样本中。
3.根据权利要求1所述的方法,其特征在于,所述根据所述训练样本数据对更新长短时记忆网络的网络参数,包括:
更新每条片段数据的记忆值,并进行神经网络的前向传播,得到前向传播结果;
根据所述前向传播结果计算损失函数,并进行梯度的反向传播;
根据梯度以及学习率的大小对所述网络参数进行更新。
4.根据权利要求3所述的方法,其特征在于,所述更新每条片段数据的记忆值,并进行神经网络的前向传播,得到前向传播结果,包括:将所述每片段首时步的上一时刻记忆值初始化为样本池中存储值;
根据上一时刻动作、上一时刻记忆值、当前时刻观测值,由最新长短时记忆网络计算当前时刻记忆,并将更新的记忆值传输给后续神经网络;
判断交互过程是否终止,其中,若终止,则将记忆值置为0,否则所述记忆值保持不变,并将所述记忆值传输给下一时刻。
5.一种状态部分可观测强化学习算法的高效采样更新装置,其特征在于,包括:添加模块,用于采集智能体与环境交互生成的交互数据,并将所述交互数据添加至样本池中;
获取模块,用于从所述样本池中随机选取多条样本片段,生成训练样本数据;以及更新模块,用于根据所述训练样本数据对更新长短时记忆网络的网络参数,所述更新模块具体用于引入标签数据判断样本片段中的数据是否来自同一交互过程;
所述添加模块包括:
第一计算单元,用于根据所述智能体接收的环境当前时刻的观测值、上一时刻记忆值、上一时刻动作,长短时记忆网络计算当前时刻记忆值;
第二计算单元,用于通过智能体全连接网络根据所述当前时刻记忆值计算当前时刻选择的动作;
判断单元,用于通过所述智能体与所述环境交互做出所述动作,且所述环境根据所述智能体动作转移至下一状态并返回给所述智能体奖励信号、下一时刻的观测值、交互过程是否终止的判断值;
第一添加单元,用于将本时步交互过程中产生的所述交互数据添加至所述样本池中,所述第一添加单元具体用于将所述交互数据按顺序存放存储至所述样本池。
6.根据权利要求5所述的装置,其特征在于,所述获取模块包括:获取单元,用于获取所述样本池中样本的数量,并随机选取n个片段首时步的索引;
第二添加单元,用于根据每条片段首时步的索引,在所述样本池中取出对应样本片段,添加至训练样本中。
7.根据权利要求6所述的装置,其特征在于,所述更新模块包括:第一更新单元,用于更新每条片段数据的记忆值,并进行神经网络的前向传播,得到前向传播结果;
第三计算单元,用于根据所述前向传播结果计算损失函数,并进行梯度的反向传播;
第二更新单元,用于根据梯度以及学习率的大小对所述网络参数进行更新。
8.根据权利要求7所述的装置,其特征在于,所述第一更新单元具体用于将所述每片段首时步的上一时刻记忆值初始化为样本池中存储值,并且根据上一时刻动作、上一时刻记忆值、当前时刻观测值,由最新长短时记忆网络计算当前时刻记忆,并将更新的记忆值传输给后续神经网络,以及判断交互过程是否终止,其中,若终止,则将记忆值置为0,否则所述记忆值保持不变,并将所述记忆值传输给下一时刻。
说明书 :
状态部分可观测强化学习算法的高效采样更新方法及装置
技术领域
背景技术
动作。然而,现实世界中的任务常常由于传感器的限制,无法获取完全信息而导致只能观测
到部分状态信息,即智能体无法直接感知到环境的完整状态信息,只能得到部分状态的观
测值。
此记忆选择动作。由于记忆信息与状态信息相比具有强烈的时序相关性,传统基于状态信
息的采样更新方式在状态部分可观强化学习算法中不再适用,不但更新效率低,且无法保
证更新的准确性,体验较差。
发明内容
互数据添加至样本池中;从所述样本池中随机选取多条样本片段,生成训练样本数据;根据
所述训练样本数据对更新长短时记忆网络的网络参数。
训练时间、提高算法表现,不但提高更新效率,而且有效保证更新的准确性,提升算法的使
用体验。
值、上一时刻记忆值、上一时刻动作,长短时记忆网络计算当前时刻记忆值;通过智能体全
连接网络根据所述当前时刻记忆值计算当前时刻选择的动作;通过所述智能体与所述环境
交互做出所述动作,且所述环境根据所述智能体动作转移至下一状态并返回给所述智能体
奖励信号、下一时刻的观测值、交互过程是否终止的判断值;将本时步交互过程中产生的所
述交互数据添加至所述样本池中。
索引;根据每条片段首时步的索引,在所述样本池中取出对应样本片段,添加至训练样本
中。
到前向传播结果;根据所述前向传播结果计算损失函数,并进行梯度的反向传播;根据梯度
以及学习率的大小对所述网络参数进行更新。
化为样本池中存储值;根据上一时刻动作、上一时刻记忆值、当前时刻观测值,由最新长短
时记忆网络计算当前时刻记忆,并将更新的记忆值传输给后续神经网络;判断交互过程是
否终止,其中,若终止,则将记忆值置为0,否则所述记忆值保持不变,并将所述记忆值传输
给下一时刻。
将所述交互数据添加至样本池中;获取模块,用于从所述样本池中随机选取多条样本片段,
生成训练样本数据;更新模块,用于根据所述训练样本数据对更新长短时记忆网络的网络
参数。
训练时间、提高算法表现,不但提高更新效率,而且有效保证更新的准确性,提升算法的使
用体验。
网络计算当前时刻记忆值;第二计算单元,用于通过智能体全连接网络根据所述当前时刻
记忆值计算当前时刻选择的动作;判断单元,用于通过所述智能体与所述环境交互做出所
述动作,且所述环境根据所述智能体动作转移至下一状态并返回给所述智能体奖励信号、
下一时刻的观测值、交互过程是否终止的判断值;第一添加单元,用于将本时步交互过程中
产生的所述交互数据添加至所述样本池中。
片段首时步的索引,在所述样本池中取出对应样本片段,添加至训练样本中。
元,用于根据所述前向传播结果计算损失函数,并进行梯度的反向传播;第二更新单元,用
于根据梯度以及学习率的大小对所述网络参数进行更新。
忆值、当前时刻观测值,由最新长短时记忆网络计算当前时刻记忆,并将更新的记忆值传输
给后续神经网络,以及判断交互过程是否终止,其中,若终止,则将记忆值置为0,否则所述
记忆值保持不变,并将所述记忆值传输给下一时刻。
附图说明
具体实施方式
图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
化学习算法的高效采样更新方法。
忆值、上一时刻动作,长短时记忆网络计算当前时刻记忆值;通过智能体全连接网络根据当
前时刻记忆值计算当前时刻选择的动作;通过智能体与环境交互做出动作,且环境根据智
能体动作转移至下一状态并返回给智能体奖励信号、下一时刻的观测值、交互过程是否终
止的判断值;将本时步交互过程中产生的交互数据添加至样本池中。
值ot,并将该观测值ot与智能体上一时刻的动作at‑1、上一时刻的记忆值ht‑1一起,输入到长
短时记忆网络中,计算出当前时刻的记忆值ht。接下来将当前时刻的记忆ht输入到后续的全
连接(Multi‑Layer Perceptron,MLP)网络中,得到智能体在当前时刻选择做出的动作at。
之后环境根据智能体做出的动作给出当前时刻的奖励值rt,并给出下一时刻状态的部分观
测值ot+1以及任务是否终止的判断标签donet。
存储,将所有交互数据按顺序存放即可,即可以直接将下一次交互过程的数据添加至上次
交互过程的末尾。因而样本池可选用数组与矩阵等更高效的数据结构,其第一维即为每个
独立的step。
条片段首时步的索引,在样本池中取出对应样本片段,添加至训练样本中。
l的数据(di,di+1,…di+l‑1)取出作为一条样本片段。
播结果;根据前向传播结果计算损失函数,并进行梯度的反向传播;根据梯度以及学习率的
大小对网络参数进行更新。
存储值;根据上一时刻动作、上一时刻记忆值、当前时刻观测值,由最新长短时记忆网络计
算当前时刻记忆,并将更新的记忆值传输给后续神经网络;判断交互过程是否终止,其中,
若终止,则将记忆值置为0,否则记忆值保持不变,并将记忆值传输给下一时刻。
旧网络计算出来的记忆值将与进行采样更新的时刻下新网络计算出来的记忆值有一定的
区别。为尽量减小这种偏差的影响,我们只将每个片段首时步的上一时刻记忆值ht‑1初始化
为其存储值,其后每个时步的ht‑1均由上一时刻根据当前最新的网络参数重新计算得到。
完全可观的,因而引入长短时记忆网络并对记忆数据的采样更新方式进行改进将极大提高
强化学习算法在现实任务中的表现。其次,在将采样数据按顺序依次输入循环神经网络时,
采用随机选取样本片段的方式替代原始选取整个交互过程的方式,使得样本数据的时序相
关性大大降低。并且,将样本片段首时步的上一时刻记忆设为之前存储的记忆值,使得神经
网络能够学得更长远的记忆。最后,在网络更新时引入标签数据判断样本片段中的数据是
否来自同一交互过程,而在采样时无需保证片段中的数据均来自同一交互过程,使得样本
数据的存储以及采样效率得到明显提高。
的采样方式,并且更新网络环节中,根据交互过程是否终止传输给下一时刻不同的记忆值,
以及更新网络环节中,样本片段首时步的上一时刻记忆值初始化为样本池中存储的记忆
值。
低样本数据的时序相关性且使得网络依然能学得较长时间的记忆。通过添加交互结束的标
签数据,同一采样片段中的数据不再必须属于同一交互过程,从而使得样本数据存储以及
采样的两个过程的效率都得到明显提高,解决目前存在的采样更新方式存在效率低下,使
得算法学习速率大幅降低的问题,可以极大缩短算法训练时间、提高算法表现,不但提高更
新效率,而且有效保证更新的准确性,提升算法的使用体验。
时刻观测值,由最新长短时记忆网络计算当前时刻记忆,并将更新的记忆值传输给后续神
经网络,以及判断交互过程是否终止,其中,若终止,则将记忆值置为0,否则记忆值保持不
变,并将记忆值传输给下一时刻。
不再赘述。
低样本数据的时序相关性且使得网络依然能学得较长时间的记忆。通过添加交互结束的标
签数据,同一采样片段中的数据不再必须属于同一交互过程,从而使得样本数据存储以及
采样的两个过程的效率都得到明显提高,解决目前存在的采样更新方式存在效率低下,使
得算法学习速率大幅降低的问题,可以极大缩短算法训练时间、提高算法表现,不但提高更
新效率,而且有效保证更新的准确性,提升算法的使用体验。
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技
术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结
合和组合。
隐含地包括至少一个该特征。在本发明的描述中,“N个”的含义是至少两个,例如两个,三个
等,除非另有明确具体的限定。
分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明
的实施例所属技术领域的技术人员所理解。
指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执
行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设
备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传
输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装
置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连
接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),
可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器
(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介
质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他
合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技
术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离
散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编
程门阵列(FPGA)等。
质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如
果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读取存储介质中。
制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变
型。