强化学习方法、装置、计算机可读介质及电子设备与流程

文档序号:19312946发布日期:2019-12-03 23:42阅读:158来源:国知局
强化学习方法、装置、计算机可读介质及电子设备与流程

本公开涉及机器学习技术领域,具体而言,涉及一种强化学习方法、强化学习装置、计算机可读介质及电子设备。



背景技术:

近年来,强化学习(reinforcementlearning)作为机器学习的一大研究热点,已经被广泛应用于仿真模拟、机器人控制、优化与调度等诸多领域。

强化学习是用于描述和解决智能体在与环境的交互中,通过学习策略以达成最大回报或实现特定目标的问题。最常用强化学习模型是马尔可夫决策过程(markovdecisionprocess,mdp),智能体可以根据已有的策略选择当前状态下的最优的动作,执行此动作,观察环境给出的反馈和环境的下一个状态,并根据该反馈调整策略,反复迭代直至找到最优的策略能够最大限度获得正反馈。大多数情况下,mdp中的各个变量无法知晓,需要依据对环境的探索来得到最优的奖励。因此需要收集历史数据,通过历史数据建立一个仿真环境,把这个仿真环境当作现实环境进行探索,发现更好的动作,从而得到更高的回报。

然而,基于历史数据得到的仿真环境不能完全反映真实环境的情景,由此训练出来的强化算法受仿真环境的影响较大。如果仿真环境比较贴合真实环境,得到的强化算法得出最优解;而如果仿真环境偏离真实环境,得到的强化算法也无法收敛到真实最优解;从而导致强化算法的稳定性较差。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明人发现,相关技术中,通过历史数据建立的仿真环境不能完全反映真实环境的情景。对于历史数据密集的样本中,仿真环境的反馈能够较好地贴合真实环境的反馈,而对于历史数据稀疏的样本,仿真环境的反馈则容易偏离真实环境。因此,基于仿真环境训练出来的强化学习算法易受到仿真环境的影响,稳定性较差。

基于此,本公开实施例的目的在于提供一种强化学习方法、强化学习装置、计算机可读介质及电子设备,进而至少在一定程度上克服上述问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开实施例的第一方面,提供了一种强化学习方法,包括:

通过历史数据构建仿真环境;

确定所述仿真环境的第一状态,通过强化模型确定对于所述第一状态的第一响应动作;

计算所述第一响应动作的置信度,根据所述第一响应动作的置信度确定探索样本;

基于所述探索样本对所述强化模型进行训练。

在本公开的一种示例性实施例中,所述计算所述第一响应动作的置信度,包括:

根据所述历史数据的变化范围确定多个取值区间;

根据所述历史数据中各样本的动作变量的取值,确定各所述取值区间的置信度;

根据所述第一响应动作所属的目标取值区间的置信度确定所述第一响应动作的置信度。

在本公开的一种示例性实施例中,所述根据所述第一响应动作的置信度确定探索样本,包括:

如果所述第一响应动作的置信度满足预设条件,则将所述第一响应动作以第一概率确定为探索样本;

如果所述第一响应动作的置信度不满足所述预设条件,则将所述第一响应动作以第二概率确定为探索样本,其中,所述第一概率大于所述第二概率且所述第一概率与所述第二概率之和为1。

在本公开的一种示例性实施例中,如果所述第一响应动作的置信度满足预设条件,则将所述第一响应动作以第一概率确定为探索样本,包括:

如果所述第一响应动作的置信度满足预设条件,根据所述第一响应动作确定所述仿真环境的第二状态;

基于所述强化模型确定对于所述第二状态的第二响应动作;

如果所述第二响应动作的置信度满足所述预设条件,则确定所述第一响应动作与所述第二响应动作为探索轨迹;

以所述第一概率,将所述探索轨迹中包含的响应动作确定为探索样本。

在本公开的一种示例性实施例中,所述方法还包括:

如果所述探索轨迹中包含的响应动作的数量超过预设阈值,则重新确定第一状态。

在本公开的一种示例性实施例中,所述方法还包括:

如果所述第一响应动作的置信度不满足所述预设条件,则对所述第一响应动作添加噪声获得第二响应动作,以使所述第二响应动作的置信度满足所述预设条件。

在本公开的一种示例性实施例中,所述根据所述历史数据中各样本的动作变量的取值,确定各所述取值区间的置信度,包括:

根据所述历史数据中各样本的动作变量的取值,计算各所述取值区间的样本分布概率;

对所述样本分布概率进行数据处理,以得到各所述取值区间的置信度,其中,所述数据处理包括滤波处理、平滑处理和归一化处理中的一种或多种。

在本公开的一种示例性实施例中,所述第一响应动作包括多维变量,所述如果所述第一响应动作的置信度满足预设条件,包括:

如果所述多维变量在各维度的置信度均满足预设条件,则确定所述第一响应动作的置信度满足预设条件。

在本公开的一种示例性实施例中,根据所述第一响应动作的置信度确定探索样本之前,包括:

根据历史数据分别确定各维度的取值区间;

分别计算所述各维度的取值区间对应的置信度;

根据所述多维变量在各维度上所属的各目标取值区间,确定所述多维变量的各维度的置信度。

根据本公开实施例的第二方面,提供了一种强化学习装置,包括:

环境构建模块,用于通过历史数据构建仿真环境;

动作确定模块,用于确定所述仿真环境的第一状态,通过强化模型确定对于所述第一状态的第一响应动作;

置信度计算模块,用于计算所述第一响应动作的置信度,根据所述第一响应动作的置信度确定探索样本;

模型训练模块,用于基于所述探索样本对所述强化模型进行训练。

在本公开的一种示例性实施例中,置信度计算模块包括:

区间划分单元,用于根据所述历史数据的变化范围确定多个取值区间;

区间置信度确定单元,用于根据所述历史数据中各样本的动作变量的取值,确定各所述取值区间的置信度;

动作置信度确定单元,用于根据所述第一响应动作所属的目标取值区间的置信度确定所述第一响应动作的置信度。

在本公开的一种示例性实施例中,置信度计算模块包括:

正样本确定单元,用于如果所述第一响应动作的置信度满足预设条件,则将所述第一响应动作以第一概率确定为探索样本;

负样本确定单元,用于如果所述第一响应动作的置信度不满足所述预设条件,则将所述第一响应动作以第二概率确定为探索样本,其中,所述第一概率大于所述第二概率且所述第一概率与所述第二概率之和为1。

在本公开的一种示例性实施例中,正样本确定单元用于:

如果所述第一响应动作的置信度满足预设条件,根据所述第一响应动作确定所述仿真环境的第二状态;

基于所述强化模型确定对于所述第二状态的第二响应动作;

如果所述第二响应动作的置信度满足所述预设条件,则确定所述第一响应动作与所述第二响应动作为探索轨迹;

以所述第一概率,将所述探索轨迹中包含的响应动作确定为探索样本。

在本公开的一种示例性实施例中,所述装置还包括:

状态重置模块,用于如果所述探索轨迹中包含的响应动作的数量超过预设阈值,则重新确定第一状态。

在本公开的一种示例性实施例中,所述装置还包括:

动作处理模块,用于如果所述第一响应动作的置信度不满足所述预设条件,则对所述第一响应动作添加噪声获得第二响应动作,以使所述第二响应动作的置信度满足所述预设条件。

在本公开的一种示例性实施例中,所述区间置信度确定单元用于:

根据所述历史数据中各样本的动作变量的取值,计算各所述取值区间的样本分布概率;

对所述样本分布概率进行数据处理,以得到各所述取值区间的置信度,其中,所述数据处理包括滤波处理、平滑处理和归一化处理中的一种或多种。

在本公开的一种示例性实施例中,正样本确定单元用于:

如果所述第一响应动作的各维变量的置信度均满足预设条件,则确定所述第一响应动作的置信度满足预设条件。

在本公开的一种示例性实施例中,所述强化学习装置还包括:

多维区间划分单元,用于根据历史数据分别确定各维度的取值区间;

多维置信度计算单元,用于分别计算所述各维度的取值区间对应的置信度;

多维置信度确定单元,用于根据所述第一响应动作的各维变量分别所属的各目标取值区间,确定所述第一响应动作的各维变量的置信度。

根据本公开实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的强化学习方法。

根据本公开实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的强化学习方法。

本公开实施例提供的技术方案可以包括以下有益效果:

在本公开的一些实施例所提供的技术方案中,一方面,通过仿真环境可以不断探索得到响应动作,并根据响应动作的置信度得到探索样本,能够去除历史数据中置信度不高的数据,有利于强化模型收敛到最优解。另一方面,通过置信度对探索样本进行控制,避免过于依赖仿真环境而造成训练结果不稳定的问题,有利于提高强化模型的稳定性和可靠性。再一方面,通过探索样本对强化模型的探索过程进行控制,可以提高探索的有效性,从而加快强化模型的训练,提高训练效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出了根据本公开的一个实施例的强化学习方法的流程图;

图2示意性示出了根据本公开的一个实施例中计算置信度的步骤的流程图;

图3示意性示出了根据本公开的一个实施例中确定探索样本的步骤的流程图;

图4示意性示出了根据本公开的另一个实施例中确定探索样本的步骤的流程图;

图5示意性示出了根据本公开的一个实施例中获取响应动作的步骤的流程图;

图6示意性示出了根据本公开的另一个实施例的强化学习方法的流程图;

图7示意性示出了根据本公开的一个实施例的强化学习装置的框图;

图8示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

本公开首先提出一种强化学习方法。如图1所示,该强化学习方法可以包括以下步骤:

s110.通过历史数据构建仿真环境;

s120.确定所述仿真环境的第一状态,通过强化模型确定对于所述第一状态的第一响应动作;

s130.计算所述第一响应动作的置信度,根据所述第一响应动作的置信度确定探索样本;

s140.基于所述探索样本对所述强化模型进行训练。

根据本示例性实施方式提供的方法中,一方面,通过仿真环境可以不断探索得到响应动作,并根据响应动作的置信度得到探索样本,从而得到与真实环境更加贴合的样本数据,有利于强化模型收敛到最优解。另一方面,可以避免置信度不高的数据对模型的训练造成影响,从而提高模型训练效率。再一方面,通过置信度对探索样本进行控制,从而对策略起到限制作用,避免过于依赖仿真环境而造成训练结果不稳定的问题,有利于提高强化模型的稳定性和可靠性。

下面对本实施方式中的各个步骤的具体实施方式进行详细说明。

在步骤s110中,通过历史数据构建仿真环境。

强化学习的基本要素可以用四元组<s,a,r,t>来表示。其中s可以表示环境的状态;a表示智能体可选择的动作;r可以表示奖励函数,即在状态s下执行动作a得到的奖励;执行动作a之后,环境的状态会发送变化,t表示状态转移函数,可以表示为t(s’|s,a),即,在状态s下执行动作a后,环境转移至s’的概率。强化学习的目标是找到一个策略π使得得到的奖励累计最大。其中,策略π可以表示状态到动作的映射,其可以表示为π(a|s),即,在状态s时采取动作a的概率。为了得到最大的奖励,需要选择每一个状态下的最优的动作a,以使得执行该动作a之后得到的奖励最大。在训练过程中通过不断调整策略,确定出每一个状态下的最优动作,从而找到最优的策略使得得到的累计奖励最大。

仿真环境可以指模拟真实世界中的动态问题的神经网络模型,利用仿真环境执行所有可能的动作,从而确定累计奖励最大的策略。也就是说,利用仿真环境可以对强化学习算法进行测试,以帮助强化学习算法的训练。历史数据中可以包括多个样本,每个样本中可以包含不同的动作、状态以及对动作的反馈。通过历史数据建立的仿真环境可以包括所有的动作取值以及对应的状态的取值和反馈。因此,仿真环境以历史数据为依据,可以确定环境的当前状态,以及状态如何改变,从而可以对策略进行训练。

以迷宫游戏为例,用户在迷宫中行走的路径可以为样本,通过采集多个用户的行走路径可以构建出该迷宫的所有可能路径,从而建立迷宫模型,该迷宫模型的状态为所有路径,动作为可选择的通道,反馈则为是否能够走到出口。以物品推荐场景为例,状态可以为用户浏览过的n个物品,动作为推荐的物品,反馈则为用户对推荐的物品的选择,例如点击、购买等,通过收集大量的用户对物品的状态的改变以及反馈可以构建一仿真环境,该仿真环境包含了所有用户浏览物品的过程,该过程中包含用户当前浏览的物品以及在当前推荐的物品中选择的下一个浏览的物品。

在步骤s120中,确定所述仿真环境的第一状态,通过强化模型确定对于所述第一状态的第一响应动作。

根据历史数据可以确定仿真环境的状态空间,第一状态可以为该状态空间中的一个取值,将该取值可以作为仿真环境的初始状态开始探索。在该第一状态下可以随机选取第一响应动作;或者通过历史数据确定出该第一状态对应的历史响应动作,在该历史响应动作的基础上添加噪声得到第一响应动作。通过仿真环境可以计算执行该第一动作能够得到的奖励,以及该第一动作执行之后状态的改变。

在步骤s130中,计算所述第一响应动作的置信度,根据第一响应动作的置信度确定探索样本。

响应动作的置信度可以指响应动作在真实环境发生的概率,置信度越高在在真实环境中相同状态下发生该响应动作可能性越大。换言之,置信度可以表示仿真环境与真实环境的贴合程度,置信度越高说明对应的历史数据越能够表达环境的真实情况。样本分布越密集越有利于建立仿真环境,如果历史数据在某一取值空间分布比较稀疏,那么通过该空间的样本可能无法准确反映真实的环境。在样本数据分布稀疏的空间,仿真环境无法提供可靠的样本数据用于强化学习训练,如果当前策略探索到样本分别稀疏的空间,基于仿真环境无法得到准确的反馈,容易导致策略对仿真环境“过拟合”,无法收敛到真实解。通过响应动作的置信度可以排除仿真环境中不可靠的数据。因此,响应动作的置信度可以通过历史数据中样本的分布情况确定,样本分布越密集,则对应的动作置信度越高。

如图2所示,计算响应动作的置信度可以具体通过以下步骤:

s210.根据所述历史数据的变化范围确定多个取值区间;

s220.根据所述历史数据中各样本的动作变量的取值,确定各所述取值区间的置信度;

s230.根据所述第一响应动作所属的目标取值区间,确定所述第一响应动作的置信度。

在步骤s210中,根据历史数据的样本分布可以确定历史数据的取值范围,从而将取值范围划分为多个区间。历史数据的取值范围可以包括动作变量的取值范围以及状态变量的取值范围,从历史数据中查询到动作变量以及状态变量的最小值和最大值,从而可以确定动作变量的取值范围和状态变量的取值范围。确定范围后,可以将该范围进行均匀划分,得到多个间隔大小相等的区间。例如,取值范围为0~1000,则可以以100为长度,将该范围划分为10个区间,0~100、100~200、200~300、…。根据历史数据中变量的维度,取值区间可以包括一维区间,也可以包括二维或三维区间,本实施方式对此不做特殊限定。例如,历史数据中可以包括状态和动作两个变量,则取值区间可以包括状态的取值范围和动作的取值范围,例如其中x表示状态,y表示动作。

在步骤s220中,通过历史数据中包含的所有样本的总数量,以及动作变量的取值落在各个取值区间的样本的数量,能够计算出各个取值区间的样本分布概率。置信度可以为取值区间的样本分布概率。样本分布越密集的取值区间的置信度越大,而样本分布越稀疏的取值区间的置信度越小。例如,历史数据包含1000个样本,每一样本中包含x和y两个变量,其中x为动作变量,y为状态变量,样本中x的取值最小值为1,最大值为20,则x的取值为1~20,对该历史数据划分为10个区间,x的每一取值区间的大小间隔为2,如果样本中有50个样本的x的取值在1~2之间,那么1~2这个取值区间的概率为50/1000。

在步骤s230中,第一响应动作所属的取值区间可以为目标取值区间,则目标取值区间的置信度为第一响应动作的置信度。响应动作的置信度可以作为探索的依据,置信度越高的响应动作被探索到的概率越大。因此,如果第一响应动作的置信度满足条件,那么第一响应动作可以作为探索样本,从而被执行,获取对第一响应动作的反馈。

本示例实施方式中,响应动作可以为多维变量,例如,响应动作可以是对物品的点击、购买、收藏等。如果响应动作为多维变量,则对每一维变量分别计算置信度。即,每一维度可以对应一取值范围,从而对于每一维度分别确定多个取值区间。对于各维变量,分别计算各取值区间的置信度,从而得每一维度的取值区间的一置信度。例如,对于n维响应动作an,可以分别计算a1在区间i置信度,以及a2在区间j的置信度等等,其中i和j分别为a1的取值区间和a2的取值区间。

如果第一响应动作为多维变量,则可以确定第一响应动作的各维变量所属的目标取值区间,从而确定第一响应动作的各维变量的置信度。例如,第一响应动作为三维变量,则第一维变量的置信度可以为0.3、第二维变量的置信度可以为0.2、第三维的置信度可以为0.5。

探索样本可以指强化模型在探索过程中执行的样本。也就是说,在强化学习过程中,可以对探索样本一一进行执行,从而确定最优的策略。探索样本可以包括多个响应动作以及各个响应动作执行前的状态和执行后的状态。一般而言,在仿真环境中探索时,需要探索没有被执行过的动作,从而确定出最优的动作,对于探索过程没有限制,导致可能探索到大量负反馈的动作。在本示例性实施方式中,通过对探索样本进行限制,可以使得探索过程可控制,从而提高探索效率和效果。

在示例性的实施方式中,可以通过以下方式计算各取值区间的样本分布概率:

其中,可以表示n维变量an在第i个取值区间的数量,可以表示变量an出现在第i个取值区间的概率,n为大于0的正整数。计算得到各个取值区间的样本分布概率后还可以对概率进行平滑处理,以消除样本空间概率为0的问题。平滑处理的方式可以包括滤波平滑、普拉斯平滑等等,例如,通过普拉斯平滑对概率进行处理:

计算得到各个取值区间的样本分布概率后,可以设定一置信度阈值将n维变量an对应的按照从大到小的顺序排序,可以得到有序序列从而找到一使得则可以确定为最小的置信度。对于an的第i各取值区间,如果i大于t,则可以确定i为置信区间。在该置信区间的所有动作变量均可以满足预设条件,从而可以根据响应动作所属的取值区间确定该响应动作是否满足预设条件。

每一维度的动作变量均可以包括一置信度,因此各取值区间的置信度还可以为各个维度上的置信度的平均值。例如,利用公式:计算各个维度上的置信度的平均值,其中,为n维变量的置信度,为某一维度的置信度,n为变量的维度。或者,可以将每一维度上的置信度的最小值作为对应的取值区间的置信度。

参考图3,本示例性实施方式中可以利用步骤s310至步骤s320,将第一响应动作确定为探索样本。其中:

s310.如果所述第一响应动作的置信度满足预设条件,则将所述第一响应动作以第一概率确定为探索样本;

s320.如果所述第一响应动作的置信度不满足所述预设条件,则可以将所述第一响应动作以第二概率确定为探索样本,其中,所述第一概率大于所述第二概率且所述第一概率与所述第二概率之和为1。

在步骤s310中,如果第一响应动作属于置信区间,则第一响应动作的置信度满足预设条件,可以将第一响应动作以第一概率确定为探索样本。预设条件可以包括一置信度阈值,例如,预设条件可以为置信度大于可以表示一置信度阈值,例如0.5等,置信度阈值还可以包括其他值,例如0.3、0.4、0.6等,本实施方式对此不做特殊限定。

如果第一响应动作为多维变量,则分别确定第一响应动作的各维变量是否满足预设条件,如果各维变量的置信度均满足预设条件则可以确定第一响应动作满足预设条件。如果第一响应动作中某一维变量的置信度不满足预设条件,则第一响应动作不满足预设条件。第一概率为响应动作被确定为探索样本的概率。也就是说,在响应动作的置信度满足预设条件的基础上,可以随机选取响应动作成为探索样本,成为探索样本的响应动作满足第一概率。如果第一响应动作被确定为探索样本,则第一响应动作被执行后会对当前的第一状态产生影响,使得状态改变到第二状态,从而生成以第一响应动作开始的探索轨迹,以一定的概率将第一响应动作确定为探索样本,能够避免探索轨迹深度过大,导致探索进入循环的状态,从而重新选择一个新的状态开始探索新的动作。例如,如果第一概率为0.8,则如果第一响应动作满足预设条件,则由第一响应动作开始的10个响应动作中,大约8个动作会被确定为探索样本,而从不被确定为探索样本的响应动作开始,可以重新在另一状态下进行确定新的响应动作,开始新的探索。在步骤s320中,如果第一响应动作的置信度不满足预设条件,则将第一响应动作以第二概率确定为探索样本,从而使得置信度小的动作有被探索到的可能性,扩大探索的程度。其中,第一概率可以大于第二概率,也就是说,满足预设条件的响应动作有较大的概率可以被确定为探索样本,不满足预设条件的响应动作有较小的概率可以被确定为探索样本。并且,第一概率与第二概率之和可以是1。例如,第一概率为0.8、第二概率为0.2,或者第一概率为0.6、第二概率为0.4等。本示例实施方式并不限于此,在本公开的其他实施方式中,第一概率以及第二概率可以包含其他取值,例如第一概率可以为0.9、第二概率为0.1,第一概率为1、第二概率为0等等。

参考图4,利用步骤s410至步骤s440可以在第一响应动作的置信度满足预设条件时,将第一响应动作以第一概率确定为探索样本。其中:

s410.如果所述第一响应动作的置信度满足预设条件,根据所述第一响应动作确定所述仿真环境的第二状态。

s420.基于所述强化模型确定对于所述第二状态的第二响应动作。

s430.如果所述第二响应动作的置信度满足所述预设条件,则确定所述第一响应动作与所述第二响应动作为探索轨迹。

s440.以所述第一概率,将所述探索轨迹中包含的响应动作确定为探索样本。

在步骤s410中,如果第一响应动作的置信度满足预设条件,则第一响应动作的执行可以使仿真环境的状态从第一状态改变为第二状态,并且可以计算第一状态下执行第一动作的奖励。例如,通过状态转移函数t(s′|s,a)来确定第二状态,其中,a为执行的响应动作,即第一响应动作;s为执行动作a前的状态,即,第一状态;s′表示执行动作a之后的状态,即第二状态;t可以表示执行了响应动作a之后,状态从s变为s′的概率。

在步骤s420中,基于强化模型确定第二状态下的第二响应动作。基于第一响应动作对于仿真环境的状态的影响以及仿真环境反馈的奖励,强化模型可以根据动作变量的历史取值的范围,在第二状态下所有可选的动作中选择能够使得反馈的奖励较大的动作作为第二响应动作。

在步骤s430中,如果第二响应动作的置信度仍然满足预设条件,则第二响应动作也可以作为探索样本,从而生成了由第一响应动作到第二响应动作的探索轨迹。同理地,在第二响应动作满足预设条件的情况下,可以确定第三响应动作、第四响应动作等等,如果响应动作一直满足预设条件则可以继续探索直到探索深度到达阈值,或者响应动作穷尽为止,从而得到第一状态下的一条探索轨迹。其中,探索深度可以表示探索轨迹中包含的响应动作的数量。探索深度可以根据实际需求设定,例如5、6、10等,也可以为其他值,例如8、20等,本示例实施方式对此不做特殊限定。

如果第二响应动作的置信度不满足预设条件,则可以重新选择一初始状态,在该初始状态下重新进行动作的探索;或者,通过图5中的步骤重新确定第二响应动作。在第二响应动作之后的其他响应动作不满足预设条件时,也可以通过图5所示的步骤重新确定其他响应动作,如果重新确定了多次响应动作,响应动作的置信度都不满足预设条件,可以从仿真环境中重新选择初始状态,重新开始第一步探索。也就是说,在响应动作不满足预设条件时可以重新开始新的探索,从而得到多条探索轨迹,作为探索样本。

在步骤s440中,将探索轨迹中包含的响应动作以第一概率确定为探索样本。例如,探索轨迹中包含10个响应动作,则从这10个响应动作中随机丢弃一定数量的响应动作,从而将剩下的响应动作作为探索样本。探索样本可以限制强化模型的探索过程,使得强化模型在探索样本中选择动作,从而控制探索过程更加高效;随机丢弃一些探索轨迹中的响应动作,可以使得探索过程更加灵活。

本示例实施方式中,在第一响应动作的置信度不满足预设条件的情况下,也可以重新确定响应动作。在可选的动作取值中随机选择一动作取值作为第二响应动作。或者,通过不断地对第一响应动作进行噪声处理直到处理后的响应动作的置信度满足预设条件。示例性的,在第一响应动作的基础上可以叠加一噪声,计算叠加噪声后的响应动作的置信度,如果该响应动作的置信度仍然不满足预设条件,则对第一响应动作重新叠加噪声,直至叠加噪声后的响应动作满足预设条件,从而将满足预设条件的响应动作作为第二响应动作,继续进行探索。

如图5所示,可以利用步骤s510至步骤s550在第一响应动作的置信度不满意预设条件的情况下得到第二响应动作。其中:

在步骤s510中,生成噪声;例如通过高斯噪声、白噪声等方式生成一噪声;在步骤s520中,对第一响应动作添加噪声得到候选响应动作;在步骤s530中,计算候选响应动作的置信度;在步骤s540中,判断候选响应动作的置信度是否大于预设值;预设条件可以包括响应动作大于预设值;在步骤s550中,如果候选响应动作大于预设值,则将候选响应动作确定为第二响应动作;在步骤s540中,如果候选响应动作不大于预设值,则转至步骤s510,重新生成噪声,基于重新生成的噪声确定当前的候选响应动作,直至当前的候选响应动作的置信度大于预设值为止,将当前的候选响应动作确定为第二响应动作。

本示例实施方式中,将置信度不满足预设条件的所有响应动作可以保存到候选样本集合,在多次对第一响应动作添加了不同的噪声后,得到的添加噪声的响应动作的置信度仍然不满足预设条件时,可以从该候选样本集合中随机确定出一响应动作作为第二响应动作。

在步骤s140中,基于探索样本对强化模型进行训练。

将探索样本作为强化模型的训练样本,对强化模型进行训练,以确定出奖励最大的策略。由于探索样本可以代表所有可能的取值中比较可靠的数据,因此在强化模型实际的学习的过程中,能够避免无效的探索,从而在较短的时间内完成训练。

图6为本示例实施方式中的强化学习方法的一种流程。如图6所示,利用步骤s610至步骤s690可以确定出探索样本,对强化模型进行训练。

其中:

在步骤s610中,利用真实数据得到仿真环境;在步骤s620中,随机确定初始状态;在步骤s630中,利用强化模型得到响应变量a;在步骤s640中,对a添加噪声,得到an;在步骤s650中,利用仿真环境计算执行an的奖励,并更新状态;在步骤s660中,判断an的置信度是否满足预设条件,如果满足则执行步骤s670,将an作为正样本训练策略;如果不满足则执行步骤s680,将an作为负样本存入样本集合。以一定的概率可以在样本集合中抽取负样本进行训练。在步骤s670或者步骤s680之后,执行步骤s690,判断,如果是则完成策略训练;如果否则转至步骤s620。

进一步的,本示例性实施方式还提供一种强化学习装置,可以用于执行本公开上述的强化学习方法。

如图7所示,该强化学习装置700可以包括环境构建模块710、动作确定模块720、置信度计算模块730以及模型训练模块740。其中:

环境构建模块710,用于通过历史数据构建仿真环境;

动作确定模块720,用于确定所述仿真环境的第一状态,通过强化模型确定对于所述第一状态的第一响应动作;

置信度计算模块730,用于计算所述第一响应动作的置信度,根据所述第一响应动作的置信度确定探索样本;

模型训练模块740,用于基于所述探索样本对所述强化模型进行训练。

在本公开的一种示例性实施例中,置信度计算模块730可以包括:

区间划分单元,用于根据所述历史数据的变化范围确定多个取值区间;

区间置信度确定单元,用于根据所述历史数据中各样本的动作变量的取值,确定各所述取值区间的置信度;

动作置信度确定单元,用于根据所述第一响应动作所属的目标取值区间的置信度确定所述第一响应动作的置信度。

在本公开的一种示例性实施例中,置信度计算模块730可以包括:

正样本确定单元,用于如果所述第一响应动作的置信度满足预设条件,则将所述第一响应动作以第一概率确定为探索样本;

负样本确定单元,用于如果所述第一响应动作的置信度不满足所述预设条件,则将所述第一响应动作以第二概率确定为探索样本,其中,所述第一概率大于所述第二概率且所述第一概率与所述第二概率之和为1。

在本公开的一种示例性实施例中,正样本确定单元用于:

如果所述第一响应动作的置信度满足预设条件,根据所述第一响应动作确定所述仿真环境的第二状态;基于所述强化模型确定对于所述第二状态的第二响应动作;如果所述第二响应动作的置信度满足所述预设条件,则确定所述第一响应动作与所述第二响应动作为探索轨迹;以所述第一概率,将所述探索轨迹中包含的响应动作确定为探索样本。

在本公开的一种示例性实施例中,所述装置700还包括:

状态重置模块,用于如果所述探索轨迹中包含的响应动作的数量超过预设阈值,则重新确定第一状态。

在本公开的一种示例性实施例中,所述装置700还包括:

动作处理模块,用于如果所述第一响应动作的置信度不满足所述预设条件,则对所述第一响应动作添加噪声获得第二响应动作,以使所述第二响应动作的置信度满足所述预设条件。

在本公开的一种示例性实施例中,所述区间置信度确定单元用于:

根据所述历史数据中各样本的动作变量的取值,计算各所述取值区间的样本分布概率;

对所述样本分布概率进行数据处理,以得到各所述取值区间的置信度,其中,所述数据处理包括滤波处理、平滑处理和归一化处理中的一种或多种。

在本公开的一种示例性实施例中,区间置信度确定单元用于:

如果所述第一响应动作的各维变量的置信度均满足预设条件,则确定所述第一响应动作的置信度满足预设条件。

在本公开的一种示例性实施例中,所述强化学习装置700还包括:

多维区间划分单元,用于根据历史数据分别确定各维度的取值区间;

多维置信度计算单元,用于分别计算所述各维度的取值区间对应的置信度;

多维置信度确定单元,用于根据所述第一响应动作的各维变量分别所属的各目标取值区间,确定所述第一响应动作的各维变量的置信度。

由于本公开的示例实施例的强化学习装置的各个功能模块与上述强化学习方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的强化学习方法的实施例。

下面参考图8,其示出了适于用来实现本公开实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备的计算机系统800仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有系统操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的强化学习方法。

例如,所述的电子设备可以实现如图1中所示的:步骤s110,通过历史数据构建仿真环境;步骤s120,确定所述仿真环境的第一状态,通过强化模型确定对于所述第一状态的第一响应动作;步骤s130,计算所述第一响应动作的置信度,根据所述第一响应动作的置信度确定探索样本;步骤s140,基于所述探索样本对所述强化模型进行训练。

又如,所述的电子设备可以实现如图2所示的各个步骤。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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