强化学习任务中高维连续动作空间离散化探索方法与流程

文档序号:14951161发布日期:2018-07-17 22:35阅读:5748来源:国知局

本发明涉及人工智能、机器学习技术领域,尤其涉及一种强化学习任务中高维连续动作空间离散化探索方法。



背景技术:

强化学习作为一种重要的机器学习方法,在智能控制机器人、人机博弈、临床医学及分析预测等领域有着诸多应用。强化学习独立于传统机器学习中监督学习和非监督学习之外,从智能主体和环境之间的交互中获得经验,从而完成智能主体从环境到行为映射的策略学习。在强化学习中,智能主体接受来自于环境的状态信息并基于学习的策略产生一个动作作用于环境,环境接受该动作后状态发生变化,同时产生一个回报值(奖励或惩罚),并将变化后的当前状态和该反馈信号发送给智能主体,智能主体再根据接收到的信息更新策略并根据策略选择下一个决策结果(即动作)。强化学习系统的学习目标在于与环境的交互行为中,动态地调整智能主体自身的参数从而更新待学习的策略,使得环境反馈的正信号最大。

强化学习算法的收敛过程可以看成是对动作空间进行搜索,从中发现最优策略的过程。对于动作空间高维且连续的学习任务,由于其动作空间较大,导致智能主体对策略的探索难度大、学习效率低。鉴于此,有必要进行深入研究,针对具有高维连续动作空间的强化学习任务,利用神经网络对其动作空间进行离散化,从而提高强化学习中智能主体的学习效率。



技术实现要素:

本发明的目的是提供一种强化学习任务中高维连续动作空间离散化探索方法,可以提高强化学习算法的学习效率和稳定性。

本发明的目的是通过以下技术方案实现的:

一种强化学习任务中高维连续动作空间离散化探索方法,包括:

步骤s1、对动作空间的每个维度进行量化,利用量化结果组成一个过完备的动作字典;

步骤s2、利用动作字典中的字典值,训练一个深度神经网络实现的自编码器完成对动作字典中字典值的降维与编码;

步骤s3、初始化一个值都为0的计数表,在智能主体与环境进行交互时,根据策略确定动作字典中相应的字典值作为动作,并对计数表中对应的计数值进行更新,从而完成一次策略更新;

步骤s4、当智能主体与环境完成k次策略更新后,对于动作字典中的每一字典值,均结合其在计数表中的计数结果计算将其从动作字典移除的概率,以计算得到的概率将相应字典值从动作字典中移除,遍历动作字典中的每一个字典值,将保存下来的字典值作为新的动作字典;

步骤s5、返回至步骤s3,继续进行策略更新直至收敛。

由上述本发明提供的技术方案可以看出,量化操作可以将连续的动作空间转化成一个离散的动作空间,然后通过深度神经网络实现的自编码器对离散动作空间中的动作值进行降维编码并计数,再统计一定次数的策略更新中各字典值对应编码码字的出现次数,并将极少出现的字典值按概率从动作字典中移除,从而不断去除动作字典中的冗余,进而提高智能体策略更新时的搜索效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种强化学习任务中高维连续动作空间离散化探索方法的示意图;

图2为本发明实施例提供的自编器网络的结构示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种强化学习任务中高维连续动作空间离散化探索方法,如图1所示,其主要包括:

步骤s1、对动作空间的每个维度进行量化,利用量化结果组成一个过完备的动作字典。

本步骤中,取足够小的量化间隔△对d维动作空间的每个维度进行均匀量化,利用均匀量化结果组成一个过完备的动作字典dict。由于量化间隔δ确定,因此该动作字典中的字典值为有限多个,计为m。

示例性的,本发明实施例可以针对18维连续动作空间(每个维度为在[0,1]区间内的连续值),可以取量化间隔△=0.1对该环境的动作空间进行量化,将量化后的离散化结果作为过完备的动作字典dict,则动作字典中字典值的个数m=1018

本领域技术人员可以理解,这一步操作需要根据环境对于动作取值的敏感性选择量化间隔,以保证得到的离散化动作字典是过完备的。

步骤s2、利用动作字典中的字典值,训练一个深度神经网络实现的自编码器完成对动作字典中字典值的降维与编码。

本发明实施例中,选择哈希编码作为其编码方式,可以采用如图2所示的深度神经网络实现的自编码器结构。

对于动作字典dict中任一个d维字典值ai,对其进行二值化的结果为b(ai)。显然地,b(ai)和ai一样,也是一个d维的向量,将b(ai)中的第j维向量值记为bj(ai)。对b(ai)进行量化,得到「b(ai)」,将「b(ai)」通过某种下采样映射方法映射到更低维的空间得到g(「b(ai)」),可以看出g(「b(ai)」)是一个关于ai的函数,因此可以记为需要特别说明的是,上述下采样映射方法有很多种,例如本实施例中我们可以采用simhash算法来实现。

本发明实施例中,所述自编码器的损失函数定义为:

其中,m为以δ为量化间隔的动作字典dict中字典值的个数,p(ai)表示某一字典值ai出现的概率,为约束损失函数中具有不用物理意义的两个损失函数项所采用的加权系数。

本领域技术人员可以理解,图2所提供的用于对动作值进行哈希编码的自编码器结构仅为一种较有效的网络结构设计方案。对于其他具体的交互环境,可以针对其动作空间的维数和数据的统计特征设计相似的神经网络结构和损失函数,所设计的结果均在本发明的保护范围之内。

步骤s3、初始化一个值都为0的计数表,在智能主体与环境进行交互时,根据策略确定动作字典中相应的字典值作为动作,并对计数表中对应的计数值进行更新,从而完成一次策略更新。

本发明实施例中,智能主体与环境进行交互时,智能主体接收来自于环境的状态值和回报值,并从动作字典中根据当前策略确定一个字典值作为当前的决策结果返回给环境,环境将接收到的决策结果作为一个动作来计算下一时刻的状态值和回报值,并将该动作传给训练好的自编码器进行编码,根据自编码器输出结果对计数表对应的计数值进行更新,即计数表的长度应该与动作字典中所有不同的字典值降维、编码后结果的个数相等。

示例性的,通过降维操作,我们将18维的动作向量处理成一个8维的动作向量,又通过哈希编码将每个维度的动作值二值化为0或者1,则计数表的长度为28

步骤s4、当智能主体与环境完成k次策略更新后,对于动作字典中的每一字典值,均结合其在计数表中的计数结果计算将其从动作字典移除的概率,以计算得到的概率将相应字典值从动作字典中移除,遍历动作字典中的每一个字典值,将保存下来的字典值作为新的动作字典。

本发明实施例中,计算一个字典值从动作字典中移除的概率公式为:

其中,α和β表示权重系数,一般设置为常数即可;为智能主体与环境完成k次策略更新后,字典值ai对应的计数表中的更新结果;表示计数表中计数结果中的最大计数值。

示例性的,α和β均可以设置为0.5,k可以设置为40000。

步骤s5、完成对动作字典的更新之后,将计数表重新置零,智能体继续进行策略更新直至智能主体学习到的策略满足实例需求或者算法稳定收敛。

需要特别说明的是智能体在与环境进行交互时的决策,均从当前的动作字典中选择某一字典值作为决策结果。

本发明实施例上述方案中,量化操作可以将连续的动作空间转化成一个离散的动作空间,然后通过深度神经网络实现的自编码器对离散动作空间中的字典值进行降维、编码并计数,再统计一定次数的策略更新中各字典值对应编码码字的出现次数,并将极少出现的字典值按概率从动作字典中移除,从而不断去除动作字典中的冗余,进而提高智能体策略更新时的搜索效率。

本发明专利具有一定的可检测性,具体的检测方案如下:

一、可根据相关程序进程在运行的过程中对计算机存储单元的占用情况检测是否使用了本发明专利涉及的技术方案。从相关的程序进程运行开始,动态检测其进程对内存的占用率,如果相关进程对内存的占用率呈现阶段性降低的变化特性,即每隔一段时间减少一次然后保持相对稳定的状态,那么该程序在具有很大可能使用了本发明专利中涉及的技术方案。

需要说明的是,由于在程序运行的过程中可能会出现内存泄露等特殊情况,因此是否使用了本发明专利涉及的技术方案还需要结合其它检测方法进一步确定。

二、检测相关程序中是否有“自编码器”、“计数表”和“动作字典”的存在,如果检测到相同或类似的模块,那么很有可能使用了本发明专利所涉及的技术方案。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1