一种生成流模型的训练方法及相关装置制造方法及图纸

技术编号:36603250 阅读:21 留言:0更新日期:2023-02-04 18:21
一种生成流模型的训练方法,应用于人工智能技术领域。在该方法中,在训练生成流模型的过程中,针对智能体所处的任意一个状态,通过采样的方式从连续的动作空间中选取在该状态下所执行的多个第一动作以及能够转移至该状态的多个第二动作,然后通过生成流模型输出多个第一动作以及多个第二动作对应的预测值,进而求得用于更新生成流模型的损失函数。本方案中,通过采样得到的多个动作来近似表示连续的动作空间,进而对生成流模型进行训练,使得训练后的生成流模型能够应用于处理连续控制任务,增加了生成流模型可应用的场景,便于推广应用生成流模型。应用生成流模型。应用生成流模型。

【技术实现步骤摘要】
一种生成流模型的训练方法及相关装置


[0001]本申请涉及人工智能(Artificial Intelligence,AI)
,尤其涉及一种生成流模型的训练方法及相关装置。

技术介绍

[0002]作为一种新兴技术,生成流模型(GFlowNets)可以弥补强化学习在探索性任务上的不足。具体来说,基于贝尔曼方程,强化学习通常被训练为最大化对未来奖励的期望;因此,强化学习所学习到的策略更倾向于对具有更高奖励的动作序列进行采样。相比之下,生成流模型的训练目标是根据给定的奖励函数按比例近似地采样候选动作,而不是生成单个高奖励动作序列。具体来说,生成流模型更像是在主动学习环境中对不同的候选者进行抽样,因此生成流模型更适合探索任务。
[0003]目前,相关技术中的生成流模型仅限于应用在具有确定性的离散环境中,即智能体在离散环境中所处的状态以及能够执行的动作是有限的。然而,在现实环境中,具有大量的连续控制任务。在这些连续控制任务中,智能体在环境中所处的状态以及能够执行的动作是无限的,因此目前的生成流模型难以应用于处理连续控制任务,导致生成流模型可应用的场景较少,难以推广应用生成流模型。

技术实现思路

[0004]本申请实施例提供了一种生成流模型的训练方法,通过采样得到的多个动作来近似表示连续的动作空间,进而对生成流模型进行训练,使得训练后的生成流模型能够应用于处理连续控制任务,增加了生成流模型可应用的场景,便于推广应用生成流模型。
[0005]本申请第一方面提供一种生成流模型的训练方法,应用于电子设备上,以训练得到能够处理连续控制任务的生成流模型。该方法包括:获取第一状态信息,第一状态信息用于指示智能体所处的第一状态。其中,智能体是生成流模型所应用的任务的本体,是一个学习者或者决策者。例如,生成流模型应用于处理自动驾驶任务时,智能体则为部署生成流模型的自动驾驶车辆。第一状态信息可以是用于指示作为智能体的自动驾驶车辆在地图中所处的位置,自动驾驶车辆与其他车辆之间的距离,自动驾驶车辆与障碍物之间的距离等信息。
[0006]然后,将第一状态信息输入生成流模型,得到多个第一输出值,多个第一输出值为在第一状态下分别选择多个第一动作时的预测值。简单来说,在将第一状态信息输入生成流模型之后,生成流模型能够预测得到在第一状态下分别选择给定的各个动作时的预测值,这些预测值能够转换为用于选择各个动作的概率值。
[0007]其次,将多个第二状态信息输入生成流模型,得到多个第二输出值,多个第二状态信息用于指示执行对应的第二动作后能够转移至第一状态的多个第二状态,多个第二状态信息与多个第二动作一一对应,多个第二输出值为分别在多个第二状态下选择对应的第二动作时的预测值,多个第一动作和多个第二动作均是在连续的动作空间中采样得到的。
[0008]具体来说,由于第一状态可以是由其他的状态转移得到的,因此可以是以第一状态为转移后的状态,确定得到转移前的状态。具体地,由于用于转移状态的动作所处的动作空间是连续的,即用于转移得到第一状态的动作是无限的,因此可以通过采样的方式来得到多个第二动作,该多个第二动作是用于转移到第一状态的动作。此外,由于状态之间的转移规则通常是固定的,因此基于多个第二动作能够确定转移到第一状态之前的多个第二状态。
[0009]最后,基于损失函数,更新生成流模型,损失函数是基于多个第一输出值与多个第二输出值之间的差异得到的。具体地,在得到多个第一输出值和多个第二输出值之后,将多个第一输出值视为第一状态下采样得到的多个输出流,将多个第二输出值视为第一状态下采样得到的多个输入流,进而基于多个第一输出值与多个第二输出值之间的差异来计算损失函数,以便于基于损失函数来更新生成流模型。
[0010]本方案中,在训练生成流模型的过程中,针对智能体所处的任意一个状态,通过采样的方式从连续的动作空间中选取在该状态下所执行的多个第一动作以及能够转移至该状态的多个第二动作,然后通过生成流模型输出多个第一动作以及多个第二动作对应的预测值,进而求得用于更新生成流模型的损失函数。本方案中,通过采样得到的多个动作来近似表示连续的动作空间,进而对生成流模型进行训练,使得训练后的生成流模型能够应用于处理连续控制任务,增加了生成流模型可应用的场景,便于推广应用生成流模型。
[0011]在一种可能的实现方式中,连续的动作空间中所包括的动作为连续变量。即动作空间内的动作可以是在一定区间任意取值的变量。例如,机器人手臂转动的角度、自动驾驶车辆的速度和加速度等属于连续变量的动作。
[0012]在一种可能的实现方式中,多个第一动作的数量与多个第二动作的数量相同。例如,多个第一动作的数量和多个第二动作的数量均为K,K为大于1的整数。例如,K为1000,5000或10000等数值,本实施例并不限定K的具体取值。
[0013]本方案中,通过限定多个第一动作的数量与多个第二动作的数量相同,能够尽可能地提高采用多个第一动作以及多个第二动作来近似表示连续的动作空间的精确率,进而提高训练得到的生成流模型的精度。
[0014]在一种可能的实现方式中,该方法还包括:获取第一奖励值,第一奖励值是基于智能体转移至第一状态所获得的奖励得到的。然后,基于第一奖励值、多个第一输出值和多个第二输出值来计算损失函数。具体地,损失函数是基于求差结果与第一奖励值之间的差值得到的,求差结果为多个第一输出值的和与多个第二输出值的和之间的差值。
[0015]具体来说,在一些情况下,当智能体转移至某一些特定的状态下,能够得到一定的奖励,以鼓励智能体在探索过程中尽可能转移至某些特定的状态。在这种情况下,对于具有奖励的状态节点而言,生成流模型的优化目标则是使得该状态节点的流入量尽可能接近流出量与奖励的和。
[0016]在一种可能的实现方式中,第一奖励值可以是与多个第一动作的数量以及动作空间的度量值相关,该度量值用于指示动作空间的大小。具体来说,在获得第一状态对应的奖励之后,基于第一状态对应的奖励、多个第一动作的数量以及动作空间的度量值,能够计算得到第一奖励值。例如,假设第一状态对应的奖励为R(s
t
),多个第一动作的数量为K,动作空间的度量值为μ(A),则第一奖励值可以表示为K/μ(A)*R(s
t
)。
[0017]在一种可能的实现方式中,损失函数包括第一损失函数和第二损失函数;其中,第一损失函数是基于多个第一输出值的和与多个第二输出值的和之间的差值得到的,第二损失函数是基于目标输出值与第二奖励值之间的差值得到的,目标输出值为多个第二输出值中的一个,第二奖励值与第二输出值对应的动作相关。
[0018]具体来说,在另一些情况下,智能体转移状态过程中所能够得到的奖励可能是与智能体所执行的动作相关,即奖励不再是仅仅与智能体所处的状态相关。在这种情况下,在计算第一状态下的奖励值时,可以是基于转移至第一状态时所执行的第二动作来确定。
[0019]本方案中,通过将损失函数分为两个部分,一个部分为状态节点对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种生成流模型的训练方法,其特征在于,包括:获取第一状态信息,所述第一状态信息用于指示智能体所处的第一状态;将所述第一状态信息输入生成流模型,得到多个第一输出值,所述多个第一输出值为在所述第一状态下分别选择多个第一动作时的预测值;将多个第二状态信息输入生成流模型,得到多个第二输出值,所述多个第二状态信息用于指示执行对应的第二动作后能够转移至所述第一状态的多个第二状态,所述多个第二状态信息与多个第二动作一一对应,所述多个第二输出值为分别在所述多个第二状态下选择对应的第二动作时的预测值,所述多个第一动作和所述多个第二动作均是在连续的动作空间中采样得到的;基于损失函数,更新所述生成流模型,所述损失函数是基于所述多个第一输出值与所述多个第二输出值之间的差异得到的。2.根据权利要求1所述的方法,其特征在于,所述连续的动作空间中所包括的动作为连续变量。3.根据权利要求1或2所述的方法,其特征在于,所述多个第一动作的数量与所述多个第二动作的数量相同。4.根据权利要求1

3任意一项所述的方法,其特征在于,所述方法还包括:获取第一奖励值,所述第一奖励值是基于所述智能体转移至所述第一状态所获得的奖励得到的;所述损失函数是基于求差结果与所述第一奖励值之间的差值得到的,所述求差结果为所述多个第二输出值的和与所述多个第一输出值的和之间的差值。5.根据权利要求4所述的方法,其特征在于,所述第一奖励值与所述多个第一动作的数量以及所述动作空间的度量值相关,所述度量值用于指示所述动作空间的大小。6.根据权利要求1

3任意一项所述的方法,其特征在于,所述损失函数包括第一损失函数和第二损失函数;其中,所述第一损失函数是基于所述多个第一输出值的和与所述多个第二输出值的和之间的差值得到的,所述第二损失函数是基于目标输出值与第二奖励值之间的差值得到的,所述目标输出值为所述多个第二输出值中的一个,所述第二奖励值与所述第二输出值对应的动作相关。7.根据权利要求1

6任意一项所述的方法,其特征在于,所述方法还包括:从所述动作空间中采样得到所述多个第二动作;将所述第一状态信息和所述多个第二动作输入状态预测模型,得到所述多个第二状态信息,所述状态预测模型用于基于执行动作和转移后的状态预测得到转移前的状态。8.根据权利要求1

7任意一项所述的方法,其特征在于,所述第一状态信息是基于状态序列得到的,所述状态序列用于指示有序的多个状态。9.根据权利要求8所述的方法,其特征在于,所述多个状态中的状态是基于前一个状态以及所述前一个状态对应的执行动作得到的,所述前一个状态对应的执行动作是在所述动作空间中采样得到的多个动作中选取的,且所述多个动作的选取概率是基于所述生成流模型所输出的预测值得到的。10.根据权利要求1

9任意一项所述的方法,其特征在于,所述生成流模型用于处理具
有连续的动作空间的任务,所述任务包括自动驾驶任务、机器人控制任务、游戏角色控制任务、推荐任务、参数优化任务或蛋白质结构搜索任务。11.一种生成流模型的训练装置,其特征在于,包括:获取模块,用于获取第一状态信息,所述第一状态信息用于指示智能体所处的第一状态;处理模块,用于将所述第一状态信息输入生成流模型,得到多个第一输出值,所述多个第一输出值为在所述第一状态下分别选择多个第一动作时的预测值;所述处理模块,还用于将多个第二状态信息输入生成...

【专利技术属性】
技术研发人员:李银川邵云峰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1