一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于值分布的多智能体强化学习方法及系统与流程

2021-12-14 23:14:00 来源:中国专利 TAG:


1.本发明涉及多智能体强化学习技术领域,尤其涉及一种基于值分布的多智能体强化学习方法及系统。


背景技术:

2.强化学习已被广泛应用于各种合作多智能体问题,例如多人游戏、传感器网络和交通灯控制等,这些复杂的现实问题都可以被建模为一个合作多智能体系统。在合作多智能体系统中,由于智能体的部分可观和智能体间通信限制,每个智能体只能以分散的方式与环境交互。在交互过程中,智能体的部分可观、智能体策略的变化、奖励函数和状态转换函数都会给长期回报带来随机性。此外,这种随机性会随着智能体数量的增加而加剧。
3.近年来,基于值分布的强化学习在单智能体领域中取得了很大的成就,不同于传统强化学习中只预测价值函数的均值,它通过利用离散分布或分位数函数来估计价值函数的随机分布。估计值分布尽管可以建模长期回报中的随机性,但很难直接应用于基于集中式训练分散式执行范式的多智能体强化学习。
4.现有主流的多智能体强化学习训练范式为集中式训练分散式执行,使智能体既能在训练过程中利用全局信息来协调合作,又能在执行时只利用部分观测信息。当前许多基于价值函数的多智能体强化学习技术都采用了该范式,它们通过团队奖励引导联合价值函数的学习,并将联合价值函数分解为智能体个人的价值函数,从而使每个智能体集中化学习策略,然后只依赖于个人的价值函数来执行。但是,依然存在如下技术问题:
5.1)现实的多智能体问题中的环境和奖励通常存在随机性,导致了长期回报的随机性,而现有主流的多智能体强化学习技术只拟合了长期回报的均值,忽视了其内在的随机性,进而会使策略收敛不平稳。例如,自动驾驶汽车场景中模型无法准确有效的自动驾驶汽车,影响车上乘客以及道路其他车辆的安全;计算机游戏场景中无法自动游戏,降低玩家的游戏体验。
6.2)现有的集中式训练分散式执行范式只适用于将联合价值函数均值分解为多个个人价值函数均值,不适用于将联合价值函数分布分解为多个个人价值函数分布,导致估计值分布的思想很难应用于基于集中式训练分散式执行范式的多智能体强化学习,从而导致在实际应用场景中无法应对突发事件,使策略不够安全稳定;例如,自动驾驶汽车场景中无法有效应对突发事件,影响车上乘客以及道路其他车辆的安全,同样的,对于计算机游戏场景中某些突发情况也无法有效应对,降低了玩家的游戏体验。


技术实现要素:

7.本发明的目的是提供一种基于值分布的多智能体强化学习方法及系统,能够应用于自动驾驶汽车场景、计算机游戏场景等随机性较大的多智能体场景,对于自动驾驶汽车场景,可以让汽车更全面地感知路面信息,使驾驶更安全;对于计算机游戏场景,可以让游戏单元间的配合更加默契,提升玩家的游戏体验。
8.本发明的目的是通过以下技术方案实现的:
9.一种基于值分布的多智能体强化学习方法,包括:
10.应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,将个人价值函数的分布建模为离散分布;
11.基于多种离散分布的变换操作设计分布混合网络,分布混合网络的每一层对个人价值函数对应的离散分布进行变换操作,最终将多个个人价值函数的离散分布合并为一个联合价值函数的离散分布;
12.使用团队奖励来引导联合价值函数离散分布的学习,同时通过分布混合网络来反向引导各智能体值分布函数网络的学习;
13.学习完毕后,应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,再根据个人价值函数的分布的均值来选取最优动作。
14.一种基于值分布的多智能体强化学习系统,用于实现前述的方法,该系统包括:
15.离散分布建模单元,用于应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,将个人价值函数的分布建模为离散分布;;
16.离散分布合并单元,用于基于多种离散分布的变换操作设计分布混合网络,分布混合网络的每一层对个人价值函数对应的离散分布进行变换操作,最终将多个个人价值函数的离散分布合并为一个联合价值函数的离散分布;
17.学习单元,用于使用团队奖励来引导联合价值函数离散分布的学习,同时通过分布混合网络来反向引导各智能体值分布函数网络的学习;
18.动作选择单元,用于在学习完毕后,应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,再根据个人价值函数的分布的均值来选取最优动作。
19.由上述本发明提供的技术方案可以看出,针对随机性较大的多智能体场景,能够在训练过程中能够很好地捕获长期回报中存在的随机性,精准地预测真实的价值函数分布,解决了由于环境随机性过大而训练不平稳的问题,使得策略收敛更快,模型性能得到有效提升,提升模型性能主要体现提升了相应应用场景中的任务效果,例如,对于自动驾驶汽车场景,可以让汽车更全面地感知路面信息,使驾驶更安全;对于计算机游戏场景,可以让游戏单元间的配合更加默契。此外,根据定义的离散分布的变换操作,该方法可以与所有基于集中式训练分散式执行范式的方法相结合,可见本发明具备较大的扩展性。
附图说明
20.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
21.图1为本发明实施例提供的一种基于值分布的多智能体强化学习方法的流程图;
22.图2为本发明实施例提供的离散分布的变换操作的示意图;
23.图3为本发明实施例提供的一种基于值分布的多智能体强化学习系统的示意图。
具体实施方式
24.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
25.首先对本文中可能使用的术语进行如下说明:
26.术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
27.下面对本发明所提供的一种基于值分布的多智能体强化学习方法进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。
28.本发明实施例提供一种基于值分布的多智能体强化学习方法,它是一种结合值分布和集中式训练分散式执行范式的多智能体强化学习方法,适用于随机性较大(也即随机性超出设定阈值,阈值大小可根据实际情况或者经验设定)的多智能体场景,例如,自动驾驶汽车场景中由于行人的不规则运动、路面突发事故等都会使环境的随机性很大;例如,计算机游戏场景中敌方游戏单元的动作、游戏中随机生成的物体以及游戏单元之间造成的伤害等都会带来随机性。如图1所示,主要包括如下步骤:
29.步骤1、应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,将个人价值函数的分布建模为离散分布。以自动驾驶汽车场景与计算机游戏场景为例:
30.1)自动驾驶汽车场景中,每一辆汽车作为一个智能体,各自构建了一个值分布函数网络,值分布函数网络的输入数据为智能体观测到的场景数据,例如,速度信息、位置信息、以及与周围车辆及行人的距离,这些场景数据将合并为一组标量数据输入至值分布函数网络,由网络输出对应的个人价值函数的分布,再根据个人价值函数的分布的均值来选取最优动作,最优动作可以让汽车更全面地感知路面信息,使驾驶更安全。
31.本领域技术人员可以理解,自动驾驶汽车场景中的动作是指针对汽车的操控动作,例如,加减速、变道、灯光开关/调节等。
32.2)计算机游戏场景中,每一个游戏单元作为一个智能体,每一个游戏单元单独控制游戏中己方一个游戏单位;对每一个智能体各自构建一个值分布函数网络,值分布函数网络的输入数据为智能体观测到的场景数据,例如,游戏场景中己方游戏单位的位置、血量,以及视野范围内的己方游戏单位、敌方单位的位置和血量,这些场景数据将合并为一组标量数据输入至值分布函数网络,由网络输出对应的个人价值函数的分布,再根据个人价值函数的分布的均值来选取最优动作,最优动作可以让游戏单元间的配合更加默契。
33.本领域技术人员可以理解,计算机游戏场景中动作是指对游戏单位的操控动作,例如,朝某个方位移动或者释放某种技能等。
34.需要说明的是,各应用场景中智能体值分布函数网络根据输入的场景数据输出个
人价值函数的分布过程中,所涉及的数据处理流程均可参照常规技术来实现,本发明不做赘述。
35.本发明实施例中,将个人价值函数的分布建模为离散分布,所述离散分布用一组离散值和每个离散值对应的概率表示,一组离散值称为离散分布的基。
36.示例性的,离散分布x的可能取的一组离散值为{1,2,3},称之为离散分布x的基;每个离散值对应的概率分别为p(x=1)=0.5,p(x=2)=0.3,p(x=3)=0.2,所有离散值对应的概率和为1。
37.步骤2、基于多种离散分布的变换操作设计分布混合网络,分布混合网络的每一层对个人价值函数对应的离散分布进行变换操作,最终将多个个人价值函数的离散分布合并为一个联合价值函数的离散分布。
38.本发明实施例中,实际上是将联合价值函数和个人价值函数都建模为离散分布,为了将个人价值函数分布整合到联合价值函数分布中,设计了五种离散分布的变换操作,它们作为离散分布上的基本操作,用于实现分布的变换和不同分布的组合。五种离散分布的变换操作主要包括:加权操作、偏置操作、卷积操作、投影操作和函数变换操作。
39.如图2所示,为以上五种变换操作的原理。
40.如图2的(a)部分所示,加权操作是将一个离散分布x的基乘以一个权重ω,对离散分布的基进行放缩。
41.如图2的(b)部分所示,函数变换操作是对一个离散分布x的基进行非线性变换f(.)。
42.如图2的(c)部分所示,偏置操作是将一个离散分布x的基加上一个常数b,对离散分布的基进行平移。
43.如图2的(d)部分所示,投影操作是让两个离散分布x的基保持一致,即将一个离散分布的基投影到另一个离散分布的基上,φ(.)表示投影函数。
44.如图2的(e)部分所示,卷积操作是对两个离散分布x进行求和,变为一个离散分布。例如,当有5个离散分布需要通过卷积操作合并为一个离散分布时,则需要执行4次卷积操作。
45.如以上原理介绍,加权、函数变换、偏置操作都是对离散值集合中的每个离散值进行变换操作,概率值集合保持不变,投影和卷积操作对离散值集合和概率值集合都会进行变换。
46.本发明实施例中,基于上述五种离散分布的变换操作设计了分布混合网络,来将个人价值函数分布整合为联合价值函数分布,分布混合网络是一个多层的神经网络,从第一层至于倒数第二层中,每一层均执行分别多次变换操作序列,每一次变换操作序列包括依次执行的加权操作、投影操作、卷积操作、偏置操作、函数变换操作与投影操作;每一次变换操作序列都将输入的多个离散分布合并为一个离散分布,每一次变换操作序列中加权操作与偏置操作的参数不同,即权重ω与常数b不同,下一层输入的离散分布即为上一层执行多次变换操作产生的多个离散分布;最后一层执行一次变换操作序列,将倒数第二层输出的多个离散分布合并为一个离散分布,即联合价值函数的离散分布,最后一层执行变换操作序列包括依次执行的加权操作、投影操作、卷积操作、偏置操作与投影操作,即去掉了函数变换操作。
47.变换操作序列中,先对各个离散分布进行加权操作后采用投影操作使加权操作后的离散分布保持相同的基,然后利用卷积操作对离散分布进行求和,并对卷积操作后的离散分布进行偏置操作与函数变换操作,再利用投影操作来控制基的大小,使得当前层输出的离散分布和输入离散分布的基保持一致大小;考虑到输出输出的离散分布的基大小一般是输入的离散分布的基大小的若干整数倍,为了减小下一层的计算量,因此需要对输出的离散分布在输入下一层前进行投影操作来减小基的大小。如之前所述,分布混合网络的最后一层去掉了函数变换操作,即偏置操作后直接利用投影操作来控制基的大小。
48.步骤3、使用团队奖励来引导联合价值函数离散分布的学习,同时通过分布混合网络来反向引导各智能体值分布函数网络的学习。
49.本发明实施例中,联合价值函数离散分布是多个个人价值函数离散分布通过一个分布混合网络拟合而成,因此,使用团队奖励来引导联合价值函数离散分布的学习的同时,会通过分布混合网络来反向引导个人价值函数离散分布的学习。
50.在学习过程中,数据集包含了应用场景中不同时间步下对应于不同智能体的场景数据,每一时间步下,都可以利用相应的场景数据结合前述步骤1~2获得相应的联合价值函数离散分布;对于每一时间步的联合价值函数离散分布,通过离散分布的均值能够选出最优动作,各智能体协同执行最优动作后,如果应用场景的变化符合预期要求,则将产生团队奖励,因此,使用团队奖励对下一时间步的联合价值函数离散分布做偏置操作(即将团队奖励作为偏置操作中的常数b)来作为当前时间步的联合价值函数离散分布的标签,再通过梯度下降的方式反向更新各智能体值分布函数网络的参数以及分布混合网络的参数(即变换操作中的参数)。
51.需要说明的是,应用场景的变化所要符合的预期要求可根据应用场景以及实际情况自行设定,本发明不对预期要求的内容进行限定。举例来说,计算机游戏场景中,预期要求可以设置为敌方某单位血量的减少量为n,当前时间步,依据联合价值函数离散分布的均值选出最优动作,由各智能体协作执行最优动作后,敌方相关单位血量的减少量为m,且m不小于n,则认定应用场景的变化符合预期要求。
52.以上学习过程的原理可以理解为:一方面,值分布函数网络的输出被建模为离散分布,因此,更新值分布函数网络的参数过程也就相当于个人价值函数离散分布的学习过程。另一方面,通过学习一个联合价值函数离散分布,相当于多个个人价值函数离散分布结合起来变成一个离散分布后同时进行学习,从而无需独自学习单个人价值函数离散分布,不仅提升学习效率,也能够提升网络决策能力,进而提升了相应应用场景中的任务效果。
53.本发明实施例中,通过团队奖励来引导联合价值函数离散分布的学习,可以捕获长期回报中存在的随机性,举例来说:对于自动驾驶汽车场景,利用团队奖励来引导联合价值函数离散分布更全面地表示路面信息,使驾驶更安全;对于计算机游戏场景,利用团队奖励来引导联合价值函数离散分布更好地建模环境中的随机性,让游戏单元间的配合更加默契。
54.步骤4、学习完毕后,应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,再根据个人价值函数的分布的均值来选取最优动作。与常规技术类似的,学习完毕之后,每一时间步中,应用场景中各智能体也根据个人价值函数的分布的均值来进行动作决策,选出最优动作来执行;执行后应用场景的环境将产生变化,进而
下一时间步中各智能体的观测到的场景数据也将发生变化。
55.本发明实施例上述方案,能够在训练过程中能够很好地捕获长期回报中存在的随机性,精准地预测真实的价值函数分布,解决了由于环境随机性过大而训练不平稳的问题,使得策略收敛更快,模型性能得到有效提升。此外,根据定义的离散分布的变换操作,该方法可以与所有基于集中式训练分散式执行范式的方法相结合。
56.本发明另一实施例还提供一种基于值分布的多智能体强化学习系统,其用于实现前述实施例的方法,如图3所示,该系统主要包括:
57.离散分布建模单元,用于应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,将个人价值函数的分布建模为离散分布;;
58.离散分布合并单元,用于基于多种离散分布的变换操作设计分布混合网络,分布混合网络的每一层对个人价值函数对应的离散分布进行变换操作,最终将多个个人价值函数的离散分布合并为一个联合价值函数的离散分布;
59.学习单元,用于使用团队奖励来引导联合价值函数离散分布的学习,同时通过分布混合网络来反向引导各智能体值分布函数网络的学习;
60.动作选择单元,用于在学习完毕后,应用场景中每一智能体值分布函数网络根据观测到的场景数据,输出个人价值函数的分布,再根据个人价值函数的分布的均值来选取最优动作。
61.需要说明的是,上述系统所涉及的各项技术细节在之前的实施例中已经进行了详细的说明,故不再赘述。
62.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
63.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
64.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献