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

智能体动作的决策方法及相关设备与流程

2021-10-22 22:52:00 来源:中国专利 TAG:决策 动作 实施 通信 智能


1.本技术实施例涉及通信技术领域,尤其涉及一种智能体动作的决策方法及相关设备。


背景技术:

2.随着通信技术的不断发展,多个智能体相互协作,共同完成一项任务的场景越来越多,多智能体需要同时与环境进行交互,各自完成相适应的动作以此完成规定的任务,如多基站的联合调度、自动驾驶中多汽车的联合编排等;多智能体强化学习的需要也越来越多,强化学习即指智能体以与环境交互的方式进行学习,根据环境反馈的状态对环境作出动作,从而获得奖励并根据奖励机制来获得知识,从而改进智能体对环境作出的反应。
3.在多智能体强化学习中,由于单个智能体通常很难观测到全局的状态信息,因此各智能体之间需要通信来交换状态信息,来实现多智能的协作,多智能体之间相互通信就需要确定通信内容和通信方法,前者解决传输的内容,后者解决传输的途径;现有技术中,智能体通常采用神经网络模型来确定通信内容,该模型的输入为环境中的状态,输出传给其他网络的通信信息和自身的执行动作,然后根据整个协作任务的奖励来作为对神经网络的反馈评价,根据该评价来训练神经网络模型。
4.由于通信信息不直接影响协作任务的完成,而是通过影响每个智能体的动作来间接影响协作任务对应的奖励,这样利用任务奖励来引导通信信息的学习会使得训练模型更加困难,并且同时输出信息和动作会使得网络规模显著增大,模型训练困难的问题亟需解决;另一方面强化学习的目标中没有考虑通信开销,这可能会导致学习到的通信内容维度较大,无法适用于实际通信场景,特别是带宽受限的无线通信。


技术实现要素:

5.本技术提供了一种智能体动作的决策方法,用于解决利用任务奖励来间接确定通信内容而导致的神经网络模型训练困难的问题;将通信对动作的影响和通信维度作为学习目标的一部分,从而解决通信难以学习和智能体之间通信开销的问题。
6.本技术的第一方面提供了一种智能体动作的决策方法,包括:
7.在多智能体协作的场景下,第一智能体从环境中获取第一状态信息,并通过第一模型对获取到的第一状态信息进行处理,得到第一协作消息,该第一协作消息不仅用于第一智能体自身动作的决策,还是向其他智能体传输的通信信息;然后第一智能体将第一协作消息和从其他智能体接收到的第二协作消息输入至第二模型,得到第一智能体所需要执行的第一协作动作;其中,第一模型和第二模型在训练过程中,都根据相同的任务奖励来进行学习,该奖励与每一个智能体获取到的状态信息、得到的协作消息以及最终确定的每个智能体对应的协作动作相关,是对其进行的评价,多个智能体可以根据该评价来训练第一模型和第二模型。
8.本技术利用第一模型对第一状态信息进行处理,得到第一协作消息,然后再利用
第二模型,对第一协作消息进行处理得到第一协作动作,使得原来根据状态信息同时得到协作消息和协作动作的并行网络模型变成串行网络模型,同时奖励除了与任务相关,也与状态信息、协作消息以及协作动作相关,这样使得每一个网络模型的结构更加简单,同时新的奖励机制可以直接对第一模型和第二模型进行评价,神经网络模型的训练也更加容易。
9.基于第一方面,本技术还提供了第一方面的第一种实施方式:
10.奖励是对基于同一协作任务的多个智能体之间,完成该任务的结果进行的评价,是与任务本身相关的一种评价机制,所以针对某一项任务,任务完成度越高,目标实现度越高,奖励越高,同时奖励机制还需要包括第一奖励和第二奖励,第一奖励为状态信息和第一协作消息的相关度,其中,第一协作消息是第一模型对第一状态信息的筛选与压缩,第一状态信息与第一协作信息相关度越低,则说明第一模型选择出最相关的信息,筛除了第一状态信息中大量与任务无关的信息,即第一状态信息与第一协作消息的相关度越低,第一奖励越高。
11.其中,第一奖励可以对第一模型进行评价,根据反馈的第一奖励来对第一模型进行训练学习,这样可以直接对第一模型进行评价,根据奖励不断优化网络模型。
12.基于第一方面的第一种实施方式,本技术还提供了第一方面的第二种实施方式:
13.奖励还可以包括第二奖励,第二奖励为第一协作消息、第一协作动作和第二协作动作的相关度。第一协作信息作为第一智能体和其他智能体的第二模型的输入,指导智能体协作动作的选择,当第一协作消息、第一协作动作和第二协作动作的相关度越高,第二奖励越高,第一奖励和第二奖励越高,奖励就越高。
14.在本技术中,奖励不仅要对任务完成度进行评价,还需要评价第一状态信息和第一协作消息的相关度,第一协作消息与协作动作的相关度;通过该种奖励机制的反馈不断优化网络模型,可以获得更优的第一协作消息、第一协作动作以及第二协作动作,即网络模型可以从状态信息中获取到更有用的信息即第一协作消息,然后根据第一协作消息得到每个智能体最佳的协作动作,从而能更好的完成协作任务。
15.基于第一方面至第一方面的第二种实施方式,本技术还提供了第一方面的第三种实施方式:
16.状态信息包括第一智能体从环境中获取到的第一状态信息,还包括其他智能体从环境中获取到的第二状态信息,其中第二状态信息用于确定其他智能体的第二协作消息。
17.基于第一方面的第三种实施方式,本技术还提供了第一方面的第四种实施方式:
18.在多智能体协作的场景下,多个智能体从环境中采集状态信息也是由任务决定,根据一定的评价机制来分配采集任务,第一智能体根据协作任务的评价机制从环境中获取第一状态信息,第二智能体根据同一评价机制从环境中获得第二状态信息,然后每一个智能体别对获取到的状态信息进行处理,得到相互通信的协作消息,这样每一个智能体都可以观测到全局的状态信息,更好的协作完成任务。
19.基于第一方面至第一方面的第四种实施方式,本技术还提供了第一方面的第五种实施方式:
20.第一智能体还可以包括一个筛选模型,处于第一模型与第二模型之间,用于对第一协作消息和第二协作消息进行筛选,即在第二模型通过第一协作消息和第二协作消息得到第一协作动作之前,对输入第二模型的第一协作消息和第二协作消息进行处理,包括冗
余信息删除,错误信息修改等;这样可以使得第二模型的输入更加准确简洁,减少第二模型的强化训练的复杂度。
21.基于第一方面至第一方面的第五种实施方式,本技术还提供了第一方面的第六种实施方式:
22.在两个智能体之间相互通信发送协作消息时,还可以通过通信模块来进行协作消息的传递,首先,第一智能体通过通信模块对第一协作消息进行编码,然后向其他智能体发送编码后的第一协作消息,然后其他智能体通过该通信模型,再对其进行解码,然后获取第一协作消息。
23.一般的智能体在相互通信传递信息时,为了应对信道变换,需要增加冗余来对抗通信介质的干扰,如果利用神经网络对信息进行传递,并且根据任务对通信模型进行强化训练,这样可以得到对任务更有用的通信内容,提高了通信效率。
24.本技术的第二方面提供了一种第一智能体,包括:
25.处理单元,用于通过第一模型,对从环境中获取的第一状态信息进行处理,得到第一协作消息。
26.发送单元,用于向至少一个第二智能体发送所述第一协作消息;
27.所述处理单元,还用于通过第二模型,对所述第一协作消息和第二协作消息进行处理,得到所述第一智能体执行的第一协作动作,所述第二协作消息由所述至少一个第二智能体发送。
28.其中,所述第一模型和所述第二模型根据相同的奖励确定;所述第一协作消息还用于确定所述至少一个第二智能体需执行的第二协作动作;所述奖励与状态信息、所述第一协作消息、所述第二协作动作和所述第一协作动作相关;所述状态信息包括所述第一状态信息。
29.基于第二方面,本技术还提供了第二方面的第一种实施方式:
30.所述奖励是对基于同一协作任务的所述第一智能体与所述至少一个第二智能体的任务完成度的评价,所述奖励包括第一奖励和/或第二奖励,所述第一奖励为所述状态信息和所述第一协作消息的相关度;其中,所述状态信息和所述第一协作消息的相关度越低,所述第一奖励越高。
31.基于第二方面的第一种实施方式,本技术还提供了第二方面的第二种实施方式:
32.所述第二奖励为所述第一协作消息、所述第一协作动作和所述第二协作动作的相关度;其中,所述第一协作消息、所述第一协作动作和所述第二协作动作的相关度越高,所述第二奖励越高。
33.基于第二方面至第二方面的第二种实施方式,本技术还提供了第二方面的第三种实施方式:
34.所述状态信息还包括第二状态信息,所述第二状态信息用于所述至少一个第二智能体根据所述第二状态信息得到所述第二协作消息。
35.基于第二方面的第三种实施方式,本技术还提供了第二方面的第四种实施方式:
36.获取单元,用于根据协作任务的评价机制从环境中获取所述第一状态信息;其中,所述第二状态信息为所述至少一个第二智能体根据所述协作任务的同一评价机制从环境中获得。
37.基于第二方面至第二方面的第四种实施方式,本技术还提供了第二方面的第五种实施方式:
38.接收单元,用于通过筛选模型接收所述第二协作消息,所述筛选模型用于根据所述第一协作消息和所述第二协作消息进行筛选。
39.基于第二方面至第二方面的第五种实施方式,本技术还提供了第二方面的第六种实施方式:
40.所述发送单元具体用于通过通信模型对所述第一协作消息进行编码;所述发送单元向所述至少一个第二智能体发送编码后的所述第一协作消息,以使得所述至少一个第二智能体通过所述通信模型对编码后的所述第一协作消息进行解码,获取所述第一协作消息。
41.本技术第三方面提供一种智能体,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述智能体执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。
42.本技术第四方面提供了一种多智能体协作系统,包括:第一智能体和至少一个第二智能体,所述第一智能体和所述至少一个第二智能体执行如上述第一方面至第一方面的任一种可能的实现方式中所述的方法。
43.本技术实施例第五方面提供了一种计算机存储介质,该计算机存储介质用于储存为上述智能体所用的计算机软件指令,其包括用于执行为智能体所设计的程序。
44.该智能体可以如前述第二方面所描述的第一智能体。
45.本技术第六方面提供了一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以进行第一方面至第一方面的任一种可能的实现方式中任一项所描述的智能体动作的决策方法;
46.其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
47.在一种可能的实现中,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
48.本技术第七方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面中任意一项的智能体动作的决策方法中的流程。
49.从以上技术方案可以看出,本技术具有以下优点:
50.本技术通过对环境中采集的状态信息进行处理,得到第一协作消息,然后再对第一协作消息进行处理得到第一协作动作,使得原来根据状态信息同时得到协作消息和协作动作的并行网络模型变成串行网络模型,同时奖励除了与任务相关,也与状态信息、协作消息以及协作动作相关,这样使得每一个网络模型的结构更加简单,同时新的奖励机制可以直接对第一模型和第二模型进行评价,减少了神经网络模型的训练复杂度,提高了协作任务的完成度。
附图说明
51.图1为本技术实施例提供的智能体强化学习示意图;
52.图2为本技术实施例提供的多智能体强化学习示意图;
53.图3为本技术实施例提供的全连接神经网络的结构示意图;
54.图4为本技术实施例提供的智能体动作的决策方法对应的网络架构图;
55.图4a为本技术实施例提供的智能体动作的决策方法对应的另一个网络架构图;
56.图4b为本技术实施例提供的智能体动作的决策方法对应的另一个网络架构图;
57.图5为本技术实施例提供的智能体动作的决策方法的流程示意图;
58.图6为本技术实施例提供的第一模型和第二模型对应的训练框架图;
59.图7为本技术实施例提供的第一模型和第二模型对应的另一种训练框架图;
60.图8为本技术实施例提供的一种智能体的结构示意图;
61.图9为本技术实施例提供的另一种智能体的结构示意图。
具体实施方式
62.本技术提供了一种智能体动作的决策方法,用于解决利用任务奖励来间接确定通信内容而导致的神经网络模型训练困难的问题。
63.下面将结合本技术中的附图,对本技术中的技术方案进行详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
64.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
65.请参阅图1,为本技术实施例提供的智能体强化学习示意图,强化学习是智能体利用与环境交互的方式来进行学习,智能体接收环境反馈的状态信息,做出动作,然后获得奖励以及下一时刻的状态。其中,奖励是根据任务本身对动作做出的评价,在一段时间内,智能体积累到的奖励越大,证明智能体对环境状态所做出来动作越好;智能体不断的进行学习,调整动作,最终根据奖励获得知识,改进行动方案以适应环境。
66.请参阅图2,为本技术实施例提供的多智能体强化学习示意图,多智能体强化学习是指多个智能体同时与环境进行交互,对环境状态做出动作,共同完成协作任务;例如多基站联合调度、自动驾驶中多汽车的联合编队、设备到设备中的多用户联合传输等。由于单个智能体很难观测到全局的状态信息,要实现多智能体之间的协作,更好完成任务,就需要多智能体联合学习,多智能体联合学习即需要通过通信来交互信息。
67.多智能体之间通信,需要解决传输内容和传输方式的问题,传统的通信方式为传输内容和传输方式分开设计。传输内容通常为某个智能体所观测到的所有状态,如自动驾驶汽车摄像头采集的图像或者视频、基站收集的本小区用户的信道状态、各种传感器采集的数据等。智能体需要将这些数据传输给其他的智能体,通信方法则是采用香农的通信构
架,包括信源和信道编码等。其中,信源编码实现对信源的压缩,以降低通信开销;信道编码通过增加冗余,以对抗通信介质中的干扰。
68.这种通信方式没有针对任务和接收方自身观测到的状态信息对通信内容进行筛选,最坏的情况为发送方需要将自己全部观测到的状态信息传输给其他所有智能体,接收方必须接收到其他所有智能体观测的全部状态信息,这样才能保证每个智能体观测到全局状态,做出最佳动作;因此通信内容将含有大量的冗余信息,导致通信效率降低。
69.因此,多智能体可以选择基于学习的通信方式,即利用强化学习中奖励的引导,每个智能体自主学习到完成任务所需要的通信内容,利用神经网络模型对通信内容进行选择。根据任务奖励的引导,对神经网络模型进行训练。
70.如图3所示,为全连接神经网络的结构示意图,全连接神经网络又叫多层感知机(multilayer perceptron,mlp),mlp的左侧x
i
为输入层,右侧y
i
为输出层,中间多层则为隐藏层,每一层都包括数个节点,被称为神经元;其中相邻两层的神经元之间两两相连,以第一层为例,第二层每个神经元h为第一层的输出,依次推导,神经网络的最后的输出用矩阵表达可以递归为:y=f
n
(w
n
f
n-1
(...) b
n
)。
71.其中w为权重矩阵,b为偏置向量,f为激活函数。因此,简单的说,可以将神经网络模型理解为一个从输入数据集合到输出数据集合的映射关系。而通常神经网络模型都是随机初始化的,神经网络模型的训练则是不断优化权重矩阵w和偏置向量b的过程,具体的方式是采用损失函数对神经网络的输出结果进行评价,并将误差反向传播,通过梯度下降的方法迭代优化w和b,以降低损失函数,然后利用训练优化后的w和b来对输入进行处理,得到输出;其中,损失函数与任务相关,是对任务的一种评价。
72.在多智能体联合协作的场景下,多智能体通过神经网络模型,输入从环境中获取的状态信息,输出自身的协作动作和传输给他人的协作消息,利用奖励来对输出进行评价,对神经网络模型进行训练,其中强化学习的目标为:
[0073][0074]
其中,r
t
是奖励,γ是折扣因子,π是策略,包括关于协作动作的策略和关于协作消息的策略。其中,π(a
i
|s
i
,m-i
)表示智能体在状态为s
i
,从其他智能体收到的消息为m-i
时,执行动作a
i
;π(m
i
|s
i
)表示智能体在状态为时s
i
,生成协作消息m
i
传输给其他智能体;即奖励机制引导神经网络改变输出的协作动作和协作消息,不同的输出会获得不同的奖励,在一段时间内累积的奖励越大时,其对应的协作动作和协作消息越好。
[0075]
由于奖励是对任务完成度进行的评价,而协作消息影响协作动作,协作动作直接影响任务完成,所以奖励对协作消息的评价是间接的,这将导致根据奖励学习协作消息内容是非常困难的,同时,根据状态信息并行输出协作消息和协作动作将导致神经网络模型规模显著增大,使得神经网络模型训练变得异常困难;另一方面强化学习的目标中只有奖励,没有考虑通信开销,这可能会导致学习到的通信内容维度较大,无法适用于实际通信场景。
[0076]
请参阅图4,为本技术实施例中的智能体动作的决策方法对应的网络架构图,如图4所示,第一智能体从环境中获取第一状态信息s1,将第一状态信息s1输入至第一智能体的
第一模型,生成第一协作消息m1;第二智能体从环境中获取第二状态信息s2,将第二状态信息输入至第二智能体的第一模型,生成第二协作消息m2;然后,第一智能体接收第二智能体发送的第二协作消息m2,并且将第一协作消息m1和第二协作消息m2作为第一智能体对应的第二模型的输入,第二模型对其进行处理,生成第一协作动作a1;同理,第二智能体接收第一智能体发送的第一协作消息m1,并且将第一协作消息m1和第二协作消息m2作为第二智能体对应的第二模型的输入,第二模型对其进行处理,生成第二智能体的第二协作动作a2。
[0077]
本实施例采用串型网络结构,第一模型完成状态信息的提取,根据协作任务从中抽取对多个智能体的协作动作来说有用的信息,生成协作消息;该协作消息既用于本智能体的动作决策,也是传输给其他智能体的通信内容,影响其他智能体的协作动作决策。第二模型输入本智能体第一模型生成的协作消息和其他智能体发送的协作消息,输出本智能体所需要执行的协作动作。这样,每个神经网络模型的结构更加简单,可以通过改变奖励机制直接对第一模型和第二模型进行训练,具体方法步骤如图5所示:
[0078]
501、第一智能体通过第一模型,对从环境中获取的第一状态信息进行处理,得到第一协作消息。
[0079]
状态信息是根据协作任务观测到的环境特征,例如,自动驾驶中多汽车的联合编队的协作任务中,状态信息可以是汽车观测到的路面状况,汽车观测到的障碍物图像等;设备到设备中的多用户联合传输的协作任务中,状态信息可以是设备获取到的信道资源、信道损耗值等。智能体确定行动方案完成协作任务以适应环境,因此,首先需要从环境中获取到状态信息。
[0080]
在多智能体联合协作的场景下,单个智能体很难掌握全局状态信息,需要多个智能体联合获取状态信息并进行交互,因此,每个智能体都有观测环境状态的任务;可选的,多个智能体根据协作任务本身来分配状态信息的获取,即第一智能体需要根据协作任务的某一评价机制从环境中获取所述第一状态信息;第二智能体也需要根据同一评价机制从环境中获得第二状态信息。
[0081]
示例性的,在多汽车编队协作的场景下,当为高速公路货车编队时,由于高速公路一般路线固定,障碍物和突发因素较少,因此高速公路货车编队的任务则为与带头货车到行动路线保持一致,各货车之间车距保持不变。因此,根据该协作任务,其评价机制则可以包括对各车之间车距的评价,因此带头的汽车从环境中获取的状态可以是路况信息等,后面的汽车则不仅需要监测路况,还需要监测前一个汽车的位置。
[0082]
示例性的,当多汽车编队协作为自动协同驾驶时,交通环境的复杂多变将需要汽车感知、计算庞大的数据量,需要车辆全面、准确并迅速地评估实时的交通环境变化,然后作出合理的动作规划;因此,根据这一评价机制,各汽车需要从环境中获取交通拥堵信息、感知领近车辆和行人的动态、获取交通信号灯信息、感知车辆间距,并且根据任务确定每个车辆需要监控的范围等,设计合理的状态信息获取策略,达到合理利用资源、合理完成任务的效果。
[0083]
第一智能体根据评价机制对环境进行监测,获取到有用第一状态信息,然后对第一状态信息进行处理,即通过第一模型学习到第一状态信息中对任务有用的信息,得到第一协作信息;示例性的,第一模型的结构和维度由第一状态信息的数据结构进行确定,例如状态信息为图像,第一模型就可以采用卷积网络,若状态信息是某一信道值,第一模型则采
用全连接神经网络,具体形式不做限定。该第一协作信息不仅用于第一智能体的动作决策,而且还为多智能体之间相互交互通信的通信信息,便于其他智能体获取到全局环境状态信息,即也用于第二智能体的动作决策。
[0084]
502、第一智能体向至少一个第二智能体发送第一协作消息。
[0085]
第二智能体的第二协作动作需要由第一协作消息来确定,因此第一智能体需要向第二智能体发送该第一协作消息,在一个优选的实施方式中,第一智能体和第二智能体之间可以通过通信模型来传输信息。请参阅图4a,为本技术实施例中的智能体动作的决策方法对应的另一个网络架构图,如图4a所示:第一智能体在向第二智能体传输第一协作消息m1时,先将第一协作消息m1传输至第一智能体的通信模型,然后由第一智能体的通信模型经过信道传输至第二智能体的通信模型。
[0086]
通信模型作为信道适配器,可以包括编码器和解码器,用来解决信道干扰、噪声等问题。例如,通信模型中的编码器先对第一协作消息m1进行编码,然后向第二智能体发送,第二智能体的通信模块接收到编码后第一协作消息m1,由通信模块中的解码器对其进行解码,完成数据传输。
[0087]
其中,通信模块用于减少通信开销,并且保证数据传输真实可靠,利用神经网络可以不断学习新知识,不断调整编码方案,其可以与第一模型和第二模型联合训练,也可以作为独立的网络,完成通信任务,单独进行训练。
[0088]
503、第一智能体接收至少一个第二智能体发送的第二协作消息。
[0089]
请参阅图4b,为本技术实施例中的智能体动作的决策方法对应的另一个网络架构图,如图4b所示,第一智能体接收到至少一个第二智能体发送第二协作消息之后,就需要通过第二模型对第一协作消息和第二协作消息进行处理,在将第一协作消息和第二协作消息传输至第二模型之前,还可以通过筛选模块对第一协作消息和第二协作消息进行筛选,将筛选后的信息输入至第二模型。
[0090]
示例性的,筛选模型可以对第一协作消息和第二协作消息重复的信息进行删减,可以对比第一协作消息和第二协作消息,对错误信息进行纠正,具体不做限定。
[0091]
可以理解的,步骤502和步骤503无时序上的先后关系,第一智能体可以先发送第一协作消息,再接收第二协作消息,也可以先接收第二协作消息,再发送第一协作消息,具体形式不做限定。
[0092]
504、第一智能体通过第二模型,对所述第一协作消息和第二协作消息进行处理,得到所述第一智能体执行的第一协作动作。
[0093]
第二模型用于动作决策,通过输入第一协作消息和第二协作消息,来确定智能体本身所要完成的协作动作,然后根据任务评价机制来获得奖励,并根据奖励来学习新知识,不断调整协作动作;最终累计最大奖励确定智能体的行动方案。
[0094]
其中,第一模型和第二模型由相同的奖励确定;即第一模型和第二模型强化学习的目标一致,都可以为:
[0095]
[0096]
其中,是任务的奖励;i(m;a)是协作消息与协作动作之间的互信息,最大化这一项即是从状态信息中提取到与协作动作最相关的协作信息;i(s;m)是协作消息与状态信息之间的互信息,最小化这一项实现对获取状态信息的压缩,去除对与协作动作无关的状态信息的获取。
[0097]
可以理解的,第一模型和第二模型强化学习的目标中,可以只包括任务的奖励和协作消息与协作动作之间的互信息i(m;a),也可以只包括任务的奖励和协作消息与状态信息之间的互信息i(s;m),还可以包括三者,具体不做限定。
[0098]
可以理解的,奖励与状态信息、第一协作消息、第二协作动作和第一协作动作都相关;是对状态信息、协作消息和协作动作的整体评价,即当智能体确定一个协作动作时,系统需要根据该智能体获取的状态信息与第一协作消息的相关度,第一协作消息与第一协作动作和第二协作动作的相关度来进行评价,确定最终的奖励。在训练过程中,第一模型和第二模型不断进行学习,确定多个行动方案,行动方案中包括状态信息的获取、第一协作消息的生成、以及第一协作动作和第二协作动作的确定。每个行动方案对应一个奖励,最大奖励对应的行动方案将会确定出最有效的状态信息的观测、确定出最有用的协作消息、以及最合适的协作动作。
[0099]
可以理解的,奖励是对基于同一协作任务的第一智能体与至少一个第二智能体的任务完成度的评价,状态信息和第一协作消息的相关度越低,奖励越高;第一协作消息、第一协作动作和第二协作动作的相关度越高,奖励越高。
[0100]
可以理解的,第一模型的作用为从状态信息中提取对任务最有用的信息生成第一协作信息,即第一模型需要完成对状态信息的筛选及压缩,当第一模型提取到最有效的信息时,其与状态信息的相关度也就越低,例如状态信息中包括十个不同方面的信息数据,最终第一模型筛选出与任务最相关的数据信息只有三个,这样就可以根据这三个数据信息得到第一协作消息,该第一协作消息与状态信息的相关度低,其奖励就高;第二模型的作用为根据协作消息得到最有用的动作,即第一协作消息与第一协作动作和第二协作动作的相关度越高,奖励越高。
[0101]
本实施例通过对环境中采集的状态信息进行处理,得到第一协作消息,然后再对第一协作消息进行处理得到第一协作动作,使得原来根据状态信息同时得到协作消息和协作动作的并行网络模型变成串行网络模型,同时奖励除了与任务相关,也与状态信息、协作消息以及协作动作相关,这样使得每一个网络模型的结构更加简单,同时新的奖励机制可以直接对第一模型和第二模型进行评价,减少了神经网络模型的训练复杂度,提高了协作任务的完成度。
[0102]
下面对第一模型和第二模型的训练过程进行描述:
[0103]
请参阅图6,为本技术实施例中的第一模型和第二模型对应的训练框架图,如图6所示:
[0104]
训练框架包括第一智能体、第二智能体、共用的通信评价网络和动作评价网络、以及每个智能体的第一模型和第二模型;训练的过程为:
[0105]
首先根据任务确定迭代轮数并且初始化所有网络的网络参数,然后第一智能体从环境中获取第一状态信息s1,第二智能体从环境中获取第一状态信息s2,然后基于共同的通信评价网络将第一状态信息s1输入至第一智能体第一模型,将第二状态信息s2输入至第二智能体第一模型,分别得到第一协作消息m1和第二协作消息m2;然后第一协作消息m1和第二协作消息m2传输至共同的动作评价网络中,由共同的动作评价网络传递信息至第一智能体的第二模型和第二智能体的第二模型,每个智能体的第二模型分别对m1和m2进行处理,分别得到第一协作动作a1和第二协作动作a2,然后根据a1和a2获得奖励,同时获取下一时刻的状态信息。当循环次数达到迭代轮数后,就累计计算总奖励并且保存训练模型,然后进行下一次训练,最后从多个训练模型中选取最佳模型,确定最佳参数。
[0106]
请参阅图7,为本技术实施例中的第一模型和第二模型对应的另一种训练框架图,如图7所示:
[0107]
训练框架包括第一智能体、第二智能体、每个智能体的第一模型和第二模型;训练的过程为:
[0108]
首先根据任务确定迭代轮数并且初始化所有网络的网络参数,然后第一智能体从环境中获取第一状态信息s1,第二智能体从环境中获取第一状态信息s2,然后将第一状态信息s1输入至第一智能体第一模型,将第二状态信息s2输入至第二智能体第一模型,分别得到第一协作消息m1和第二协作消息m2;然后第一智能体将第一协作消息m1传输至第一智能体的第二模型和第二智能体,第二智能体将第二协作消息m2传输至第二智能体第二模型和第一智能体;第一智能体的第二模型分别对m1和m2进行处理,得到第一协作动作a1,第二智能体的第二模型分别对m1和m2进行处理,得到第二协作动作a2,然后根据a1和a2获得奖励,同时获取下一时刻的状态信息。当循环次数达到迭代轮数后,就累计计算总奖励并且保存训练模型,然后进行下一次训练,最后从多个训练模型中选取最佳模型,确定最佳参数。
[0109]
请参阅图8,本技术实施例提供的一种第一智能体的结构示意图。如图8所示,该第一智能体800包括:
[0110]
处理单元801,用于通过第一模型,对从环境中获取的第一状态信息进行处理,得到第一协作消息。
[0111]
发送单元802,用于向至少一个第二智能体发送所述第一协作消息。
[0112]
所述处理单元801,还用于通过第二模型,对所述第一协作消息和第二协作消息进行处理,得到所述第一智能体执行的第一协作动作,所述第二协作消息由所述至少一个第二智能体发送。
[0113]
其中,所述第一模型和所述第二模型根据相同的奖励确定;所述第一协作消息还用于确定所述至少一个第二智能体需执行的第二协作动作;所述奖励与状态信息、所述第一协作消息、所述第二协作动作和所述第一协作动作相关;所述状态信息包括所述第一状态信息。
[0114]
一种可能的实现中,所述奖励是对基于同一协作任务的所述第一智能体800与所述至少一个第二智能体的任务完成度的评价,所述奖励包括第一奖励和/或第二奖励,所述第一奖励为所述状态信息和所述第一协作消息的相关度;其中,所述状态信息和所述第一
协作消息的相关度越低,所述第一奖励越高。
[0115]
一种可能的实现中,所述第二奖励为所述第一协作消息、所述第一协作动作和所述第二协作动作的相关度;其中,所述第一协作消息、所述第一协作动作和所述第二协作动作的相关度越高,所述第二奖励越高。
[0116]
一种可能的实现中,所述状态信息还包括第二状态信息,所述第二状态信息用于所述至少一个第二智能体根据所述第二状态信息得到所述第二协作消息。
[0117]
一种可能的实现中,所述第一智能体800还包括获取单元803。
[0118]
所述获取单元803,用于根据协作任务的评价机制从环境中获取所述第一状态信息;其中,所述第二状态信息为所述至少一个第二智能体根据所述协作任务的同一评价机制从环境中获得。
[0119]
一种可能的实现中,所述第一智能体还包括接收单元804。
[0120]
所述接收单元804,用于通过筛选模型接收所述第二协作消息,所述筛选模型用于根据所述第一协作消息对所述第二协作消息进行筛选。
[0121]
一种可能的实现中,所述发送单元802具体用于通过通信模型对所述第一协作消息进行编码;所述发送单元802向所述至少一个第二智能体发送编码后的所述第一协作消息,以使得所述至少一个第二智能体通过所述通信模型对编码后的所述第一协作消息进行解码,获取所述第一协作消息。
[0122]
上述第一智能体800的各个单元的功能,具体可参见前述图5所示的方法实施例中的第一智能体的实现细节,此处不再赘述。
[0123]
请参阅图9,为本技术实施例提供的另一种第一智能体的结构示意图,该第一智能体900包括:中央处理器901,存储器902,通信接口903。
[0124]
中央处理器901、存储器902、通信接口903通过总线相互连接;总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0125]
存储器902可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器602还可以包括上述种类的存储器的组合。
[0126]
中央处理器901可以是中央处理器(central processing unit,cpu),网络处理器(英文:network processor,np)或者cpu和np的组合。中央处理器901还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
[0127]
通信接口903可以为有线通信接口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为
wlan接口,蜂窝网络通信接口或其组合等。
[0128]
可选地,存储器902还可以用于存储程序指令,中央处理器901调用该存储器902中存储的程序指令,可以执行图5所示方法实施例中的一个或多个步骤,或其中可选的实施方式,使得所述第一智能体900实现上述方法中智能体的功能,具体此处不再赘述。
[0129]
本技术实施例还提供了一种多智能体协作系统,包括:第一智能体和至少一个第二智能体;第一智能体和至少一个第二智能体执行如上述图5所示的任一项智能体动作的决策方法。
[0130]
本技术实施例还提供了一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器运行指令或计算机程序,执行图5所示方法实施例中的一个或多个步骤,或其中可选的实施方式,以实现上述方法中智能体的功能。
[0131]
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
[0132]
在一种可能的实现中,上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
[0133]
本技术实施例还提供了一种计算机存储介质,该计算机存储介质中存储有实现本技术实施例提供的智能体动作的决策方法中智能体功能的计算机程序指令。
[0134]
本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述图5所示智能体动作的决策方法中的流程。
[0135]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0136]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0137]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0138]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0139]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0140]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0141]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜