CN113988254B - 用于多个环境的神经网络模型的确定方法及装置 - Google Patents
用于多个环境的神经网络模型的确定方法及装置 Download PDFInfo
- Publication number
- CN113988254B CN113988254B CN202010733166.XA CN202010733166A CN113988254B CN 113988254 B CN113988254 B CN 113988254B CN 202010733166 A CN202010733166 A CN 202010733166A CN 113988254 B CN113988254 B CN 113988254B
- Authority
- CN
- China
- Prior art keywords
- neural network
- kth
- training
- network model
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于多个环境的神经网络模型的确定方法及装置。其中,该方法包括:将第Ki个客户端本地的环境数据分别输入到N‑1个第一神经网络模型,得到N‑1组第一训练预估值;根据N‑1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值;在第Ki个神经网络模型对应的第一损失值满足预设的收敛条件的情况下,将第Ki个神经网络模型确定为目标神经网络模型。本发明解决了由于无法在不暴露不同客户端本地数据的情况下,使用同一神经网络模型对不同客户端中的数据进行处理的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种用于多个环境的神经网络模型的确定方法及装置。
背景技术
随着人工智能领域的发展,人工智能网络模型已广泛应用到生活各个方面。例如,在各种应用客户端中通过人工神经网络模型进行预测推荐。
神经网络模型是基于训练数据通过反复的迭代训练得到的,训练好的神经网络模型仅适用于与训练数据属于同一类型的数据。例如,在QQ飞车游戏当中,不同的玩家在不同的道路环境开车,客户端_1在公路道路下开车比赛,客户端_2在雪地道路下开车比赛。两个客户端在在不同的游戏环境下训练出来的神经网络是不一样的,每个客户端中训练得到的神经网络模型仅适用于对该客户端中的环境数据进行处理。例如,客户端_1训练出来的神经网络仅适用于公路道路下开车比赛,客户端_2训练出来的神经网络仅适用于雪地道路下开车比赛。若想要通过一个模型既能处理公路道路下开车比赛数据,又能处理雪地道路下开车比赛数据需要同时使用客户端_1和客户端_2中的数据对神经网络模型进行训练,而此种方式需要暴露两个客户端的本地数据,存在泄漏数据的风险。
针对相关技术中,由于无法在不暴露不同客户端本地数据的情况下,使用同一神经网络模型对不同客户端中的数据进行处理的问题,目前尚未存在有效的解决方案。
发明内容
本发明实施例提供了一种用于多个环境的神经网络模型的确定方法及装置,以至少解决由于无法在不暴露不同客户端本地数据的情况下,使用同一神经网络模型对不同客户端中的数据进行处理的技术问题。
根据本发明实施例的一个方面,提供了一种用于多个环境的神经网络模型的确定法,包括:将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
根据本发明实施例的另一方面,还提供了一种用于多个环境的神经网络模型的确定装置,包括:输入模块,用于将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;第一确定模块,用于根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;第二确定模块,用于在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述用于多个环境的神经网络模型的确定方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的用于多个环境的神经网络模型的确定方法。
在本发明实施例中,通过将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值;根据N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值;在第Ki个神经网络模型对应的第一损失值满足预设的收敛条件的情况下,将第Ki个神经网络模型确定为目标神经网络模型,目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。达到了在不暴露不同客户端本地数据的情况下,可以通过目标神经网络模型对不同客户端中的数据进行处理的目的,从而达到了避免客户端由于数据泄漏导致的安全性低的技术效果,进而解决了由于无法在不暴露不同客户端本地数据的情况下,使用同一神经网络模型对不同客户端中的数据进行处理的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的用于多个环境的神经网络模型的确定方法的硬件环境的示意图;
图2是根据本发明实施例的用于多个环境的神经网络模型的确定方法的流程图;
图3是根据本发明实施例的一种可选的智能体结构示意图一;
图4所示是根据本发明实施例的一种可选的智能体结构示意图二;
图5是根据本发明实施例的去中心化拓扑结构进行联邦强化蒸馏结构示意图;
图6是根据本发明实施例的一种可选的神经网络模型结构示意图一;
图7是根据本发明实施例的一种可选的神经网络模型结构示意图二;
图8是根据本发明实施例的一种可选的游戏客户端智能体结构示意图;
图9是根据本发明实施例的一种可选的用于多个环境的神经网络模型的确定装置的结构示意图;
图10是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种用于多个环境的神经网络模型的确定方法,可选地,作为一种可选的实施方式,上述用于多个环境的神经网络模型的确定方法可以但不限于应用于如图1所示的环境中。
可选地,在本实施例中,上述终端设备104可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。上述客户端可以是游戏客户端、视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器102可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述用于多个环境的神经网络模型的确定方法包括:
步骤S202,将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;
步骤S204,根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;
步骤S206,在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
通过上述步骤,将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值;根据N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值;在第Ki个神经网络模型对应的第一损失值满足预设的收敛条件的情况下,将第Ki个神经网络模型确定为目标神经网络模型,目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。达到了在不暴露不同客户端本地数据的情况下,可以通过目标神经网络模型对不同客户端中的数据进行处理的目的,从而达到了避免客户端由于数据泄漏导致的安全性低的技术效果,进而解决了由于无法在不暴露不同客户端本地数据的情况下,使用同一神经网络模型对不同客户端中的数据进行处理的技术问题。
作为一个可选的实施方式,上述客户端可以是游戏客户端、即时通讯客户端、视频客户端等。N个客户端中的每个客户端可以看成是一个智能体,该智能体中包括神经网络模型、本地环境数据、经验池(经验池中存储了经验信息)。每个智能体中的本地环境数据用于对该智能体中的神经网络模型进行训练,在模型的训练过程中可以使用智能体经验池中的经验信息进行修正。
图3是根据本发明实施例的一种可选的智能体结构示意图一。在现有技术中由于每个智能体中的神经网络模型是分别使用各自的本地环境数据进行训练得到的,所以每个智能体中训练好的神经网络模型仅适用于与该智能体中的本地环境数据同一类型的数据,而对于其他类型环境数据是无法处理的。如图3所示的智能体_1中的神经网络模型1仅适用于与智能体_1中的本地环境数据1相同类型的数据,而对于智能体_2中的本地环境数据2神经网络模型1是无法进行处理的。而若想用同一个神经网络模型既能处理智能体_1中的本地环境数据1,又能处理智能体_2中的本地环境数据2,那么需要同时使用本地环境数据1和本地环境数据2对一个神经网络模型进行训练。而此种方式需要暴漏本地环境数据1和本地环境数据2。而由于本地环境数据1和本地环境数据2属于两个不同的客户端,存在着泄漏数据导致的安全性低的问题。
作为一个可选的实施方式,图4所示是根据本发明实施例的一种可选的智能体结构示意图二,主要包括以下步骤:
步骤S301,N个智能体中的模型分别使用各自本地数据进行第i轮训练。N个智能体在各自本地使用深度学习(Deep Q-Learing,简称DQN)进行强化学习训练,N个智能体在各自本地分别使用各自本地的环境数据作为当前状态输入神经网络模型神经网络模型,神经网络模型可以是由多层卷积网络构成的神经网络模型,输出是概率最大的动作。在训练该神经网络模型的同时,会在本地保存经验,经验由四种东西组成(s,a,r,s’),s表示当前状态,a表示网络输出的动作,r表示使用输出的动作进行环境交互产生的回报,s’执行输出动作后的下一个状态。通过如下公式反复迭代E步:
target=r+γ(max(Q(s',a')))
pred=Q(s,a)
loss=(target-pred)2
L(ω)=E[r+γmaxQ(s',a',ω)-Q(s,a,ω)2],
其中,r+γmaxQ(s',a',ω)表示target,每轮训练可以是对神经网络模型进行E步的迭代训练,具体的每一轮的训练步数可以根据实际情况而定,例如,E可以是5步、10步、15步等,具体步数可以根据实际情况而定,在此不作限定。其中,Q(s,a)就代表这将状态s输入至神经网络所得到的网络前一层输出各个动作的概率,最后一层是用来输出概率最大的那个动作。Target是目标输出结果,loss是损失值,代表目标输出结果Target与预估输出结pred之间的误差。L(ω)是DQN下的损失函数,其中,ω为神经网络模型参数。
步骤S302,在N个智能体中选取出目标智能体。目标智能体的选取方式可以通过N个智能体中各个智能体进行投票的方式,票数最多的智能体作为目标智能体。若在投票后,存在多个票数相同的智能体,则重新选取。选取出目标智能体可以是第Ki个客户端,其余智能体可以是N个客户端中除了第Ki个客户端其他的客户端。
步骤S303,目标智能体使用本地环境数据对其他智能体发送的神经网络模型进行蒸馏。在所有智能体达成共识选择了票数最多的目标智能体之后,N个智能体中除了被选中的目标智能体会将本地的神经网路模型发送给被选中的目标智能体。目标智能体会使用自己本地的经验和环境状态对收集到的其他N-1个智能体的神经网络网络进行蒸馏,使得这些神经网络模型所蕴含的知识能够传递给K本地的神经网络模型。具体的蒸馏过程可以包括:其余智能体将各自第i轮模型训练得到的N-1个神经网络模型发送至目标智能体。目标智能体将本地环境数据输入至N-1个神经网络模型,得到N-1个神经网络模型输出的N-1组第一训练预估值。
步骤S304,对目标智能体第Ki个客户端中的第Ki个神经网络模型输出的损失值进行更新。获取目标智能体第Ki个客户端中的第Ki个神经网络模型在第i轮模型训练时输出的第Ki组训练预估值和第Ki组训练损失值。通过如下公式计算N-1组第一训练预估值与第Ki组训练预估值之间的散度值。
其中,p(x)和q(x)代表的是概率分布,其中,p(x)表示第一训练预估值的概率,q(x)表示第Ki组训练预估值的概率。使用散度值更新损失值。将计算得到的散度值作为损失,与第Ki个神经网络模型在第i轮模型训练时得到的第Ki组训练损失值进行叠加,作为第Ki个神经网络模型的新的损失值;
步骤S305,判断新的损失值是否满足预设收敛条件,若满足,则将第Ki个神经网络模型作为目标神经网络模型,若不满足收敛条件,则继续执行步骤S306。本实施例中的收敛条件可以是新的损失值小于预设阈值,预设阈值可以根据实际情况设置,例如可以是0.01、0.1等;
步骤S306,将目标智能体在第i轮模型训练时得到的第Ki个神经网络模型使用第Ki个客户端中的本地数据继续进行训练得到更新的第Ki个神经网络模型,通过更新后的散度进行反向传播,使得这个更新后的损失缩小,直到更新的第Ki个神经网络模型输出的预估值满足收敛条件。这样的话就说明选取出的目标智能体的神经网络模型的概率分布在接近于其余的神经网络模型,也就是说Ki个神经网络模型学习到了其余神经网络模型的知识。将更新的第Ki个神经网络模型作为全局网络传递给各个智能体。各个智能体接受到目标智能体传过来的网络之后,继续执行S302-S305,直到最后选取出的客户端经过模型蒸馏后输出的更新后的损失值满足收敛条件。但是再次执行S302时各个智能体不会投票给之前已投票过的智能体,这是为了保证在蒸馏过程全局神经网络模型中能够学习到各个智能体在不同环境数据下的知识。当所有的智能体都选择完了就会将之前的选择过的智能体重置,重新加入选择。图5是根据本发明实施例的去中心化拓扑结构进行联邦强化蒸馏结构示意图。由图中可以看出整个拓扑结构中没有额外的节点参与。N个智能体组成了点对点的去中心化拓扑结构,所有智能体之间都能够相互通信。
可选地,在所述将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型之前,所述方法包括:在N个客户端中的每个客户端上使用客户端本地的环境数据对与每个客户端对应的神经网络模型进行第i轮模型训练,共得到N个第i轮神经网络模型中的N组第i轮训练参数值,所述第Ki个神经网络模型是所述N个第i轮神经网络模型中与所述第Ki个客户端对应的神经网络模型;在所述N个客户端中的第Ki个客户端被选中的情况下,若第Ki个神经网络模型与所述N个客户端中除所述第Ki个客户端之外的客户端对应的N-1个第i轮神经网络模型的模型结构相同,将所述N个客户端中除所述第Ki个客户端之外的客户端上得到的N-1组第i轮训练参数值传输到所述第Ki个客户端;在所述第Ki个客户端上将所述N-1组第i轮训练参数值分别代入到第Ki个神经网络模型中,得到所述N-1个第一神经网络模型。
作为一个可选的实施方式,N个智能体中的神经网络模型的模型结构可以相同也可以不同。图6是根据本发明实施例的一种可选的神经网络模型结构示意图一,神经网络模型包括:输入层、输出层,隐含层,不同结构的神经网络模型的隐含层数可以不同。神经网络模型的每层中包括多个神经元节点,不同结构的神经网络模型中每层的神经元数量也可以不同。作为一个可选的实施方式,图7是根据本发明实施例的一种可选的神经网络模型结构示意图二,如图7所示的神经网络模型与图6所示的神经网络模型的隐含层数和神经元节点数均不同。
在本实施例中,若N个客户端中的神经网络模型的模型结构相同,可以包括以下步骤:
步骤S401,N个客户端使用各自本地环境数据分别对本地神经网络模型进行第i轮的E步训练,得到N个第i轮神经网络模型,每个第i轮神经网络模型均存在对应的训练参数值,训练参数值可以是神经网络模型进行E步训练过程中得到的神经网络中神经元之间的传递参数,N个第i轮神经网络模型中包括N组第i轮训练参数值。
步骤S402,N个客户端通过投票方式选中第Ki个客户端,其他N-1个客户端将各自第i轮训练时得到的第i轮训练参数值发送给第Ki个客户端,第Ki个客户端将得到的N-1组第i轮训练参数值带入到本地的第Ki个神经网络模型中,得到N-1个新的神经网络模型,新的神经网络模型对应于N-1个第一神经网络模型。
可选地,在所述将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型之前,所述方法包括:在N个客户端中的每个客户端上使用客户端本地的环境数据对与每个客户端对应的神经网络模型进行第i轮模型训练,共得到N个第i轮神经网络模型;在所述N个客户端中的第Ki个客户端被选中的情况下,若第Ki个神经网络模型与所述N个客户端中除所述第Ki个客户端之外的客户端对应的N-1个第i轮神经网络模型的模型结构不同,将所述N个客户端中除所述第Ki个客户端之外的客户端上得到的所述N-1个第一神经网络模型传输到所述第Ki个客户端,其中,所述N个第i轮神经网络模型包括:所述第Ki个神经网络模型和所述N-1个第一神经网络模型。
作为一个可选的实施方式,N个神经网络的模型结构也可以不同,可以是部分不同,也可以是全部不同。在本实施例中,以N个客户端中的神经网络模型结构均不同为例进行说明。若N个客户端中的神经网络模型的模型结构不同,可以包括以下步骤:
步骤S501,N个客户端使用各自本地环境数据分别对本地神经网络模型进行第i轮的E步训练,得到N个第i轮神经网络模型,第i轮神经网络模型既包括神经网络模型的模型结构,也包括在第i轮训练的过程中得到的训练参数值。
步骤S502,N个客户端通过投票方式选中第Ki个客户端,其他N-1个客户端将各自第i轮训练时得到的第i轮神经网络模型整体发送给第Ki个客户端。
可选地,所述方法还包括:在所述第Ki个神经网络模型对应的第一损失值不满足所述预设的收敛条件的情况下,将更新的第Ki个神经网络模型分别传输到N个客户端中除所述第Ki个客户端之外的N-1个客户端,其中,所述更新的第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对所述第Ki个神经网络模型继续进行训练后得到的,所述更新的第Ki个神经网络模型输出的一组预估值满足第二收敛条件;在N个客户端中的每个客户端上使用客户端本地的环境数据对N个所述更新的第Ki个神经网络模型执行第i+1轮模型训练,共得到N个第i+1轮神经网络模型。
作为一个可选的实施方式,若在第i轮模型训练后得到的更新后的损失值不满足收敛条件,则进行第i+1轮的模型训练。将目标智能体在第i轮模型训练时得到的第Ki个神经网络模型使用第Ki个客户端中的本地数据继续进行训练得到更新的第Ki个神经网络模型,通过更新后的散度进行反向传播,使得这个更新后的损失缩小,直到更新的第Ki个神经网络模型输出的预估值满足收敛条件。这样的话就说明选取出的目标智能体的神经网络模型的概率分布在接近于其余的神经网络模型,也就是说Ki个神经网络模型学习到了其余神经网络模型的知识。将更新的第Ki个神经网络模型作为全局网络传递给各个智能体进行第i+1轮的模型训练,得到N个第i+1轮神经网络模型。
可选地,在所述共得到N个第i+1轮神经网络模型之后,所述方法还包括:在所述N个客户端中的第Ki+1个客户端被选中的情况下,将N-1个第二神经网络模型传输到所述第Ki+1个客户端,其中,所述N-1个第二神经网络模型是所述N个客户端中除所述第Ki+1个客户端之外的客户端上得到的N-1个第i+1轮神经网络模型;将所述第i+1轮模型训练中使用的第Ki+1个客户端本地的环境数据分别输入到所述N-1个第二神经网络模型,共得到N-1组第二训练预估值,其中,所述第Ki+1个神经网络模型为所述N个第i+1轮神经网络模型中与所述第Ki+1个客户端对应的神经网络模型;根据所述N-1组第二训练预估值与第Ki+1组训练预估值,确定所述第Ki+1个神经网络模型对应的第二损失值,其中,所述第Ki+1组训练预估值是在进行所述第i+1轮模型训练时,将所述第i+1轮模型训练中使用的第Ki+1个客户端本地的环境数据输入到所述第Ki+1个神经网络模型得到的输出值;在所述第Ki+1个神经网络模型对应的第二损失值满足所述收敛条件的情况下,将所述第Ki+1个神经网络模型确定为所述目标神经网络模型。
作为一个可选的实施方式,N个客户端使用各自本地环境数据对第Ki+1个神经网络模型进行第i+1轮模型训练后,在除了第Ki个客户端中的其余N-1个客户端中选取出第Ki+1个客户端,第Ki+1个客户端可以是除了第Ki个客户端中任意一个客户端。其余N-1个客户端将各自在第i+1轮模型训练后得到的N-1个第i+1轮神经网络模型发送到第Ki+1个客户端。第Ki+1个客户端将本地环境数据输入到N-1个第i+1轮神经网络模型,得到N-1个第i+1轮神经网络模型输出的第二训练预估值。将第二训练预估值与第Ki+1组训练预估值的散度值作为损失,加上Ki+1个神经网络模型输出的损失作为新的损失。判断新的损失是否收敛,若收敛,将Ki+1个神经网络模型作为目标神经网络模型。若不收敛继续第i+2轮模型训练。
可选地,所述根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的损失值,包括:确定所述N-1组第一训练预估值中每组第一训练预估值与所述第Ki组训练预估值的散度值,共得到一组散度值;将所述一组散度值与所述第Ki组训练损失值的和确定为所述第Ki个神经网络模型对应的第一损失值,其中,所述第Ki组训练损失值是所述第Ki组训练预估值与第Ki组训练实际值之间的误差值,所述第Ki组训练实际值与所述第Ki个客户端本地的环境数据对应。
作为一个可选的实施方式,在第i轮模型训练时,第Ki个神经网络模型输出的预估值,与本地环境数据对应的实际值可以通过交叉熵损失函数确定出损失值,该损失值用于表示第Ki个神经网络模型输出的预估值与实际值之间的误差。将第Ki个客户端的本地数据输入其他N-1个客户端在i轮模型训练后得到的N-1个第i轮模型得到的预估值与第Ki个神经网络模型输出的预估值的散度值作为损失,加上第Ki个神经网络模型通过交叉熵损失函数确定的损失值作为新的损失值,也就是第Ki个神经网络模型对应的第一损失值。
可选地,所述方法还包括:将第Ki个客户端本地的第一组图像信息分别输入到N-1个第一神经网络模型,得到N-1组第一动作预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的图像信息对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;根据所述N-1组第一动作预估值与第Ki组动作预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用所述第一组图像信息对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组动作预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对所述N-1个第一神经网络模型对应的N-1个客户端中获取到的图像信息进行处理,得到对应的动作预估值。
作为一个可选的实施方式,通过一个具体实施例说明本申请。N个客户端可以是游戏客户端,图8是根据本发明实施例的一种可选的游戏客户端智能体结构示意图。其中,游戏客户端_1、游戏客户端_N中的环境数据不同,游戏客户端_1中的环境数据是公路游戏环境数据,游戏客户端_N中的环境数据时雪地游戏环境数据。当然,本实施例中还可以包括其他游戏客户端,如游戏客户端_2,游戏客户端_2中的环境数据不同于游戏客户端_1和游戏客户端_N中的环境数据,例如可以是山路游戏环境数据。各个游戏客户端中分别包括:神经网络模型、游戏环境数据、经验池中的经验信息。在本实施例中包括如下步骤:
步骤S601,N个游戏客户端中的神经网络模型分别使用各自本地游戏环境数据进行第i轮训练。输入神经网络模型的环境数据可以是图像信息,这些图像信息可以是玩家在游戏客户端中操控虚拟对象的图像信息,虚拟对象可以是虚拟车辆。客户端中的神经网络模型可以根据输入的图像信息预估虚拟对象下一时刻的动作,例如车辆左转,右转,后退,前进,加速,漂移。N个游戏客户端在各自本地使用各自本地分别使用各自本地的图像信息作为当前状态输入神经网络模型神经网络模型,输出是概率最大的动作车辆左转,右转,后退,前进,加速。
步骤S602,在N个游戏客户端中选取出目标游戏客户端。
步骤S603,其余游戏客户端将各自第i轮模型训练得到的N-1个神经网络模型发送至目标游戏客户端。目标游戏客户端将本地图像信息输入至N-1个神经网络模型,得到N-1个神经网络模型输出的N-1组第一动作预估值。
步骤S604,对目标游戏客户端中的第Ki个神经网络模型输出的损失值进行更新,获取目标游戏客户端中的第Ki个神经网络模型在第i轮模型训练时输出的第Ki组动作预估值和第Ki组动作损失值,其中,第Ki组动作损失值可以通过交叉熵损失函数计算得到。N-1组第一动作预估值与第Ki组动作预估值之间的散度值。使用散度值更新Ki组动作损失值。将计算得到的散度值作为损失,与第Ki个神经网络模型在第i轮模型训练时得到的Ki组动作损失值进行叠加,作为第Ki个神经网络模型的新的损失值;
步骤S605,判断新的损失值是否满足预设收敛条件,若满足,则将第Ki个神经网络模型作为目标神经网络模型,若不满足收敛条件,则继续执行步骤S606。本实施例中的收敛条件可以是新的损失值小于预设阈值,预设阈值可以根据实际情况设置,例如可以是0.01、0.1等;
步骤S606,将目标游戏客户端在第i轮模型训练时得到的第Ki个神经网络模型使用目标游戏客客户端中的本地数据继续进行训练得到更新的第Ki个神经网络模型,通过更新后的散度进行反向传播,使得这个更新后的损失缩小,直到更新的第Ki个神经网络模型输出的预估值满足收敛条件。这样的话就说明选取出的目标游戏客户端的神经网络模型的概率分布在接近于其余的神经网络模型,也就是说Ki个神经网络模型学习到了其余神经网络模型的知识。将更新的第Ki个神经网络模型作为全局网络传递给各个游戏客户端。各个游戏客户端接受到目标智能体传过来的网络之后,继续执行S602-S605,直到最后选取出的客户端经过模型蒸馏后输出的更新后的损失值满足收敛条件。但是再次执行S602时各个游戏客户端不会投票给之前已投票过的游戏客户端,这是为了保证在蒸馏过程全局神经网络模型中能够学习到各个游戏客户端在不同游戏环境数据下的知识。当所有的游戏客户端都选择完了就会将之前的选择过的游戏客户端重置,重新加入选择。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述用于多个环境的神经网络模型的确定方法的用于多个环境的神经网络模型的确定装置。如图9所示,该装置包括:输入模块92,用于将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;第一确定模块94,用于根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;第二确定模块96,用于在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
可选地,上述装置还用于在所述将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型之前,在N个客户端中的每个客户端上使用客户端本地的环境数据对与每个客户端对应的神经网络模型进行第i轮模型训练,共得到N个第i轮神经网络模型中的N组第i轮训练参数值,所述第Ki个神经网络模型是所述N个第i轮神经网络模型中与所述第Ki个客户端对应的神经网络模型;在所述N个客户端中的第Ki个客户端被选中的情况下,若第Ki个神经网络模型与所述N个客户端中除所述第Ki个客户端之外的客户端对应的N-1个第i轮神经网络模型的模型结构相同,将所述N个客户端中除所述第Ki个客户端之外的客户端上得到的N-1组第i轮训练参数值传输到所述第Ki个客户端;在所述第Ki个客户端上将所述N-1组第i轮训练参数值分别代入到第Ki个神经网络模型中,得到所述N-1个第一神经网络模型。
可选地,上述装置还用于在所述将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型之前,在N个客户端中的每个客户端上使用客户端本地的环境数据对与每个客户端对应的神经网络模型进行第i轮模型训练,共得到N个第i轮神经网络模型;在所述N个客户端中的第Ki个客户端被选中的情况下,若第Ki个神经网络模型与所述N个客户端中除所述第Ki个客户端之外的客户端对应的N-1个第i轮神经网络模型的模型结构不同,将所述N个客户端中除所述第Ki个客户端之外的客户端上得到的所述N-1个第一神经网络模型传输到所述第Ki个客户端,其中,所述N个第i轮神经网络模型包括:所述第Ki个神经网络模型和所述N-1个第一神经网络模型。
可选地,上述装置还用于在所述第Ki个神经网络模型对应的第一损失值不满足所述预设的收敛条件的情况下,将所述第Ki个神经网络模型分别传输到N个客户端中除所述第Ki个客户端之外的N-1个客户端;在N个客户端中的每个客户端上使用客户端本地的环境数据对N个第Ki个神经网络模型执行第i+1轮模型训练,共得到N个第i+1轮神经网络模型。
可选地,上述装置还用于在所述共得到N个第i+1轮神经网络模型之后,在所述N个客户端中的第Ki+1个客户端被选中的情况下,将N-1个第二神经网络模型传输到所述第Ki+1个客户端,其中,所述N-1个第二神经网络模型是所述N个客户端中除所述第Ki+1个客户端之外的客户端上得到的N-1个第i+1轮神经网络模型;将所述第i+1轮模型训练中使用的第Ki+1个客户端本地的环境数据分别输入到所述N-1个第二神经网络模型,共得到N-1组第二训练预估值,其中,所述第Ki+1个神经网络模型为所述N个第i+1轮神经网络模型中与所述第Ki+1个客户端对应的神经网络模型;根据所述N-1组第二训练预估值与第Ki+1组训练预估值,确定所述第Ki+1个神经网络模型对应的第二损失值,其中,所述第Ki+1组训练预估值是在进行所述第i+1轮模型训练时,将所述第i+1轮模型训练中使用的第Ki+1个客户端本地的环境数据输入到所述第Ki+1个神经网络模型得到的输出值;在所述第Ki+1个神经网络模型对应的第二损失值满足所述收敛条件的情况下,将所述第Ki+1个神经网络模型确定为所述目标神经网络模型。
可选地,上述装置还用于通过如下方式实现所述根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的损失值:确定所述N-1组第一训练预估值中每组第一训练预估值与所述第Ki组训练预估值的散度值,共得到一组散度值;将所述一组散度值与所述第Ki组训练损失值的和确定为所述第Ki个神经网络模型对应的损失值,其中,所述第Ki组训练损失值是所述第Ki组训练预估值与第Ki组训练实际值之间的误差值,所述第Ki组训练实际值与所述第Ki个客户端本地的环境数据对应。
可选地,上述装置还用于将第Ki个客户端本地的第一组图像信息分别输入到N-1个第一神经网络模型,得到N-1组第一动作预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的图像信息对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;根据所述N-1组第一动作预估值与第Ki组动作预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用所述第一组图像信息对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组动作预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对所述N-1个第一神经网络模型对应的N-1个客户端中获取到的图像信息进行处理,得到对应的动作预估值。
根据本发明实施例的又一个方面,还提供了一种用于实施上述用于多个环境的神经网络模型的确定方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图10所示,该电子设备包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;
S2,根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;
S3,在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的用于多个环境的神经网络模型的确定方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的用于多个环境的神经网络模型的确定方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储客户端本地的环境数据等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述用于多个环境的神经网络模型的确定装置中的输入模块92、第一确定模块94、第二确定模块96。此外,还可以包括但不限于上述用于多个环境的神经网络模型的确定装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1008,用于显示上述待处理的订单信息;和连接总线1010,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述用于多个环境的神经网络模型的确定方法的各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;
S2,根据所述N-1组第一训练预估值与第Ki组训练预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;
S3,在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种用于多个环境的神经网络模型的确定方法,其特征在于,包括:
将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;
确定所述N-1组第一训练预估值中每组第一训练预估值与第Ki组训练预估值的散度值,共得到一组散度值;将所述一组散度值与第Ki组训练损失值的和确定为第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练损失值是所述第Ki组训练预估值与第Ki组训练实际值之间的误差值,所述第Ki组训练实际值与所述第Ki个客户端本地的环境数据对应,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;
在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
2.根据权利要求1所述的方法,其特征在于,在所述将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型之前,所述方法包括:
在N个客户端中的每个客户端上使用客户端本地的环境数据对与每个客户端对应的神经网络模型进行第i轮模型训练,共得到N个第i轮神经网络模型中的N组第i轮训练参数值,所述第Ki个神经网络模型是所述N个第i轮神经网络模型中与所述第Ki个客户端对应的神经网络模型;
在所述N个客户端中的第Ki个客户端被选中的情况下,若第Ki个神经网络模型与所述N个客户端中除所述第Ki个客户端之外的客户端对应的N-1个第i轮神经网络模型的模型结构相同,将所述N个客户端中除所述第Ki个客户端之外的客户端上得到的N-1组第i轮训练参数值传输到所述第Ki个客户端;
在所述第Ki个客户端上将所述N-1组第i轮训练参数值分别代入到第Ki个神经网络模型中,得到所述N-1个第一神经网络模型。
3.根据权利要求1所述的方法,其特征在于,在所述将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型之前,所述方法包括:
在N个客户端中的每个客户端上使用客户端本地的环境数据对与每个客户端对应的神经网络模型进行第i轮模型训练,共得到N个第i轮神经网络模型;
在所述N个客户端中的第Ki个客户端被选中的情况下,若第Ki个神经网络模型与所述N个客户端中除所述第Ki个客户端之外的客户端对应的N-1个第i轮神经网络模型的模型结构不同,将所述N个客户端中除所述第Ki个客户端之外的客户端上得到的所述N-1个第一神经网络模型传输到所述第Ki个客户端,其中,所述N个第i轮神经网络模型包括:所述第Ki个神经网络模型和所述N-1个第一神经网络模型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第Ki个神经网络模型对应的第一损失值不满足所述预设的收敛条件的情况下,将更新的第Ki个神经网络模型分别传输到N个客户端中除所述第Ki个客户端之外的N-1个客户端,其中,所述更新的第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对所述第Ki个神经网络模型继续进行训练后得到的,所述更新的第Ki个神经网络模型输出的一组预估值满足第二收敛条件;
在N个客户端中的每个客户端上使用客户端本地的环境数据对N个所述更新的第Ki个神经网络模型执行第i+1轮模型训练,共得到N个第i+1轮神经网络模型。
5.根据权利要求4所述的方法,其特征在于,在所述共得到N个第i+1轮神经网络模型之后,所述方法还包括:
在所述N个客户端中的第Ki+1个客户端被选中的情况下,将N-1个第二神经网络模型传输到所述第Ki+1个客户端,其中,所述N-1个第二神经网络模型是所述N个客户端中除所述第Ki+1个客户端之外的客户端上得到的N-1个第i+1轮神经网络模型;
将所述第i+1轮模型训练中使用的第Ki+1个客户端本地的环境数据分别输入到所述N-1个第二神经网络模型,共得到N-1组第二训练预估值,其中,所述第Ki+1个神经网络模型为所述N个第i+1轮神经网络模型中与所述第Ki+1个客户端对应的神经网络模型;
根据所述N-1组第二训练预估值与第Ki+1组训练预估值,确定所述第Ki+1个神经网络模型对应的第二损失值,其中,所述第Ki+1组训练预估值是在进行所述第i+1轮模型训练时,将所述第i+1轮模型训练中使用的第Ki+1个客户端本地的环境数据输入到所述第Ki+1个神经网络模型得到的输出值;
在所述第Ki+1个神经网络模型对应的第二损失值满足所述收敛条件的情况下,将所述第Ki+1个神经网络模型确定为所述目标神经网络模型。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将第Ki个客户端本地的第一组图像信息分别输入到N-1个第一神经网络模型,得到N-1组第一动作预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的图像信息对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;
根据所述N-1组第一动作预估值与第Ki组动作预估值,确定第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用所述第一组图像信息对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组动作预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;
在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对所述N-1个第一神经网络模型对应的N-1个客户端中获取到的图像信息进行处理,得到对应的动作预估值。
7.一种用于多个环境的神经网络模型的确定装置,其特征在于,包括:
输入模块,用于将第Ki个客户端本地的环境数据分别输入到N-1个第一神经网络模型,得到N-1组第一训练预估值,其中,所述N-1个第一神经网络模型中的每个第一神经网络模型分别对应于一个客户端,所述每个第一神经网络模型是在对应的客户端上使用客户端本地的环境数据对相应的神经网络模型进行第i轮模型训练得到的,N为大于1的自然数,i为自然数;
第一确定模块,用于确定所述N-1组第一训练预估值中每组第一训练预估值与第Ki组训练预估值的散度值,共得到一组散度值;将所述一组散度值与第Ki组训练损失值的和确定为第Ki个神经网络模型对应的第一损失值,其中,所述第Ki个神经网络模型是使用第Ki个客户端本地的环境数据对第Ki个客户端对应的神经网络模型进行第i轮模型训练得到的,所述第Ki组训练损失值是所述第Ki组训练预估值与第Ki组训练实际值之间的误差值,所述第Ki组训练实际值与所述第Ki个客户端本地的环境数据对应,所述第Ki组训练预估值是在进行所述第i轮模型训练时所述第Ki个神经网络模型的输出值;
第二确定模块,用于在所述第Ki个神经网络模型对应的所述第一损失值满足预设的收敛条件的情况下,将所述第Ki个神经网络模型确定为目标神经网络模型,其中,所述目标神经网络模型用于允许对多个环境下的输入数据进行处理,得到对应的输出结果。
8.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至6任一项中所述的方法。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733166.XA CN113988254B (zh) | 2020-07-27 | 2020-07-27 | 用于多个环境的神经网络模型的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733166.XA CN113988254B (zh) | 2020-07-27 | 2020-07-27 | 用于多个环境的神经网络模型的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113988254A CN113988254A (zh) | 2022-01-28 |
CN113988254B true CN113988254B (zh) | 2023-07-14 |
Family
ID=79731500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010733166.XA Active CN113988254B (zh) | 2020-07-27 | 2020-07-27 | 用于多个环境的神经网络模型的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113988254B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
CN109325584A (zh) * | 2018-08-10 | 2019-02-12 | 深圳前海微众银行股份有限公司 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
CN109698822A (zh) * | 2018-11-28 | 2019-04-30 | 众安信息技术服务有限公司 | 基于公有区块链和加密神经网络的联合学习方法及系统 |
CN110399742A (zh) * | 2019-07-29 | 2019-11-01 | 深圳前海微众银行股份有限公司 | 一种联邦迁移学习模型的训练、预测方法及装置 |
WO2019219846A1 (en) * | 2018-05-17 | 2019-11-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor |
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及系统 |
CN110795477A (zh) * | 2019-09-20 | 2020-02-14 | 平安科技(深圳)有限公司 | 数据的训练方法及装置、系统 |
CN110874637A (zh) * | 2020-01-16 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据保护的多目标融合学习方法、装置和系统 |
CN110909878A (zh) * | 2019-12-02 | 2020-03-24 | 支付宝(杭州)信息技术有限公司 | 预估资源使用份额的神经网络模型的训练方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107221320A (zh) * | 2017-05-19 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 训练声学特征提取模型的方法、装置、设备和计算机存储介质 |
US11526745B2 (en) * | 2018-02-08 | 2022-12-13 | Intel Corporation | Methods and apparatus for federated training of a neural network using trusted edge devices |
-
2020
- 2020-07-27 CN CN202010733166.XA patent/CN113988254B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
WO2019219846A1 (en) * | 2018-05-17 | 2019-11-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concepts for distributed learning of neural networks and/or transmission of parameterization updates therefor |
CN109325584A (zh) * | 2018-08-10 | 2019-02-12 | 深圳前海微众银行股份有限公司 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
CN109698822A (zh) * | 2018-11-28 | 2019-04-30 | 众安信息技术服务有限公司 | 基于公有区块链和加密神经网络的联合学习方法及系统 |
CN110399742A (zh) * | 2019-07-29 | 2019-11-01 | 深圳前海微众银行股份有限公司 | 一种联邦迁移学习模型的训练、预测方法及装置 |
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及系统 |
CN110795477A (zh) * | 2019-09-20 | 2020-02-14 | 平安科技(深圳)有限公司 | 数据的训练方法及装置、系统 |
CN110909878A (zh) * | 2019-12-02 | 2020-03-24 | 支付宝(杭州)信息技术有限公司 | 预估资源使用份额的神经网络模型的训练方法和装置 |
CN110874637A (zh) * | 2020-01-16 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据保护的多目标融合学习方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
BatchCrypt: Efficient Homomorphic Encryption for Cross-Silo Federated Learning;Chengliang Zhang等;《 2020 USENIX Annual Technical Conference》;493-506 * |
联邦学习模型在涉密数据处理中的应用;贾延延;张昭;冯键;王春凯;;中国电子科学研究院学报(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113988254A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11779837B2 (en) | Method, apparatus, and device for scheduling virtual objects in virtual environment | |
WO2020259502A1 (zh) | 神经网络模型的生成方法及装置、计算机可读存储介质 | |
CN110443284B (zh) | 人工智能ai模型的训练方法、调用方法、服务器及可读存储介质 | |
CN112791394B (zh) | 游戏模型训练方法、装置、电子设备及存储介质 | |
CN108319478B (zh) | 对象的属性的调整方法、装置、存储介质和电子装置 | |
CN113110590B (zh) | 一种多机分布式协同仿真控制平台及控制方法 | |
CN114415735B (zh) | 面向动态环境的多无人机分布式智能任务分配方法 | |
CN111905377B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110251942B (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN111898770B (zh) | 一种多智能体强化学习方法、电子设备及存储介质 | |
CN114139637A (zh) | 多智能体信息融合方法、装置、电子设备及可读存储介质 | |
CN109993308A (zh) | 基于云平台共享学习系统及方法、共享平台及方法、介质 | |
CN115300910B (zh) | 基于多智能体强化学习的去混淆游戏策略模型生成方法 | |
CN113561986A (zh) | 自动驾驶汽车决策方法及装置 | |
CN112948885B (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
CN116362327A (zh) | 一种模型训练方法、系统及电子设备 | |
CN110598853B (zh) | 一种模型训练的方法、信息处理的方法以及相关装置 | |
CN115797517A (zh) | 虚拟模型的数据处理方法、装置、设备和介质 | |
CN116468121A (zh) | 基于通用经验博弈强化学习的多机空战决策方法 | |
CN113887708A (zh) | 基于平均场的多智能体学习方法、存储介质及电子设备 | |
CN111282272A (zh) | 信息处理方法、计算机可读介质及电子设备 | |
CN113988254B (zh) | 用于多个环境的神经网络模型的确定方法及装置 | |
CN109529358A (zh) | 特征整合方法和装置及电子装置 | |
CN116943220A (zh) | 一种游戏人工智能控制方法、装置、设备及存储介质 | |
CN111443806B (zh) | 交互任务的控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |