CN117518907A - 智能体的控制方法、装置、设备及存储介质 - Google Patents
智能体的控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117518907A CN117518907A CN202311451091.6A CN202311451091A CN117518907A CN 117518907 A CN117518907 A CN 117518907A CN 202311451091 A CN202311451091 A CN 202311451091A CN 117518907 A CN117518907 A CN 117518907A
- Authority
- CN
- China
- Prior art keywords
- intelligent agents
- agents
- intelligent
- agent
- online
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 230000009471 action Effects 0.000 claims abstract description 115
- 238000003062 neural network model Methods 0.000 claims abstract description 97
- 238000012549 training Methods 0.000 claims abstract description 40
- 239000003795 chemical substances by application Substances 0.000 claims description 563
- 230000006870 function Effects 0.000 claims description 69
- 238000000605 extraction Methods 0.000 claims description 54
- 238000004088 simulation Methods 0.000 claims description 37
- 239000013598 vector Substances 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002787 reinforcement Effects 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 20
- 238000013473 artificial intelligence Methods 0.000 abstract description 19
- 230000000875 corresponding effect Effects 0.000 description 164
- 230000001276 controlling effect Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical group C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- 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
-
- 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/092—Reinforcement learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种智能体的控制方法、装置、设备及存储介质,属于人工智能技术领域。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。该方法包括:获取真实环境中的N个智能体分别对应的状态信息和在线信息;通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息;根据所述第一智能体对应的动作信息,对所述第一智能体进行控制。上述方法,由于神经网络模型的输入为智能体的状态信息和在线信息,因此该模型能够灵活地对变数量的多智能体进行控制,解决了只基于固定数量的智能体来训练模型带来的泛化性差的问题。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种智能体的控制方法、装置、设备及存储介质。
技术背景
智能体的控制应用于各种场景中,涉及地面、空中、水下和外太空等场景。例如,在工业领域,智能体的控制可以应用于仓储物流搬运、工厂不同工位物料运输、大型零件加工或者焊接、长距离物体检测抓取等场景,旨在提高工作效率,减少人力成本,以及减少工作的危险。
在研究智能体的控制方法时,在模型训练阶段经常采用MLP(Multi-LayerPerceptron,多层感知机)结合RNN(Recurrent Neural Network,循环神经网络)的网络模型。该网络模型通过MLP提取出每个智能体以及智能体所处环境的状态信息的特征表达,RNN根据该MLP提取出的特征表达进一步提取智能体之间的依赖关系特征,通过网络模型根据该依赖关系特征可以得到智能体对应的动作信息。该网络模型通过强化学习方式根据状态信息决策出智能体的动作信息,在训练过程中,以最大化长期回报为目标不断优化网络参数,最终得到训练后的网络模型。我们可以通过输入每一个智能体的状态信息,利用上述训练后的网络模型,得到每一个智能体的动作信息。
上述相关技术提供的使用MLP结合CNN网络结构训练网络模型,这种方法,由于网络模型是根据固定数量的智能体进行模型的训练,因此该模型不能在变数量的智能体控制中取得良好的表现,即模型的泛化能力差。因此当模型迁移到真实环境中,当智能体的数量发生改变,比如在执行一个任务过程中有智能体出现故障从而数量减少的时候,该模型的适用性差,会导致智能体控制效率低下的问题。
发明内容
本申请实施例提供了一种智能体的控制方法、装置、设备及存储介质。本申请实施例提供的技术方案如下:
根据本申请实施例的一个方面,提供了一种智能体的控制方法,所述方法包括:
获取真实环境中的N个智能体分别对应的状态信息和在线信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,所述智能体对应的在线信息用于指示所述智能体是否在线,N为大于1的整数;
通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作,所述神经网络模型是采用强化学习方式进行训练得到的模型;
对于所述N个智能体中在线的第一智能体,根据所述第一智能体对应的动作信息,对所述第一智能体进行控制。
根据本申请实施例的一个方面,提供了一种神经网络模型的训练方法,所述方法包括:
获取仿真环境中的M个智能体在第一时间单元分别对应的状态信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,M为大于1的整数;
确定所述M个智能体在所述第一时间单元分别对应的在线信息,所述智能体对应的在线信息用于指示所述智能体是否在线;
通过所述神经网络模型根据所述M个智能体在第一时间单元分别对应的状态信息和在线信息,生成所述M个智能体在第一时间单元分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作;
在基于所述M个智能体在第一时间单元分别对应的动作信息,对所述M个智能体进行仿真控制之后,确定所述M个智能体在第二时间单元分别对应的状态信息和奖励信息,所述智能体对应的奖励信息是指执行所述智能体对应的动作信息之后获得的奖励分数,所述第二时间单元位于所述第一时间单元之后;
根据所述M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到所述神经网络模型的损失函数值;
基于所述损失函数值,对所述神经网络模型的参数进行调整,得到训练后的神经网络模型。
根据本申请实施例的一个方面,提供了一种智能体的控制装置,所述装置包括:
获取模块,用于获取真实环境中的N个智能体分别对应的状态信息和在线信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,所述智能体对应的在线信息用于指示所述智能体是否在线,N为大于1的整数;
生成模块,用于通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作,所述神经网络模型是采用强化学习方式进行训练得到的模型;
控制模块,用于对于所述N个智能体中在线的第一智能体,根据所述第一智能体对应的动作信息,对所述第一智能体进行控制。
根据本申请实施例的一个方面,提供了一种神经网络模型的训练装置,所述方法包括:
获取模块,用于获取仿真环境中的M个智能体在第一时间单元分别对应的状态信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,M为大于1的整数;
第一确定模块,用于确定所述M个智能体在所述第一时间单元分别对应的在线信息,所述智能体对应的在线信息用于指示所述智能体是否在线;
生成模块,用于通过所述神经网络模型根据所述M个智能体在第一时间单元分别对应的状态信息和在线信息,生成所述M个智能体在第一时间单元分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作;
第二确定模块,用于在基于所述M个智能体在第一时间单元分别对应的动作信息,对所述M个智能体进行仿真控制之后,确定所述M个智能体在第二时间单元分别对应的状态信息和奖励信息,所述智能体对应的奖励信息是指执行所述智能体对应的动作信息之后获得的奖励分数,所述第二时间单元位于所述第一时间单元之后;
计算模块,用于根据所述M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到所述神经网络模型的损失函数值;
调参模块,用于基于所述损失函数值,对所述神经网络模型的参数进行调整,得到训练后的神经网络模型。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述智能体的控制方法或上述神经网络模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述智能体的控制方法或上述神经网络模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现上述智能体的控制方法或上述神经网络模型的训练方法。
本申请实施例提供的技术方案至少包括如下有益效果:
由于神经网络模型的输入为智能体的状态信息和在线信息,该在线信息能够及时向模型反馈智能体的数量变化。因此该模型能够灵活地对变数量的多智能体进行控制,解决了只基于固定数量的智能体来训练模型带来的泛化性差的问题,因此当该模型迁移到真实环境中,当真实环境中的智能体数量发生变化时,该模型具有很好的适用性,从而提高了智能体控制效率。
附图说明
图1是本申请一个实施例提供的CTDE框架的示意图;
图2是本申请一个实施例提供方案实施环境的示意图;
图3是本申请一个实施例提供的智能体的控制方法的流程图;
图4是本申请另一个实施例提供的智能体的控制方法的流程图;
图5是本申请一个实施例提供的transformer模型的示意图;
图6是本申请一个实施例提供的神经网络模型的训练方法的流程图;
图7是本申请一个实施例提供的智能体的控制装置的框图;
图8是本申请一个实施例提供的神经网络模型的训练装置的框图;
图9是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,简称AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互***、机电一体化等技术。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,简称ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、AIGC(Artificial Intelligence Generated Content,人工智能生成内容)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的强化学习技术,具体通过如下实施例进行说明。
在对本申请技术方案进行介绍说明之前,先对本申请涉及的一些概念进行定义和说明。
CTDE(centralized training with decentralized execution,中心化训练分布式执行):在CTDE中,训练阶段以中心化的方式进行,所有智能体共享全局信息,并共同学习一个中央策略(Centralized Policy),它接收整个智能体群体的状态信息并生成相应的动作信息。请参考图1,其示出了本申请一个实施例提供的CTDE框架的示意图。每个智能体都有一个独立的演员(Actor),它们共享上述中央策略的网络参数。Actor通过上述中央策略根据智能体自身的观察的状态信息(o),输出智能体相应的动作(a),这些动作作为实际智能体在环境中采取的行动。评论家(Critic)是一种价值函数估计器,它考虑到所有智能体的输入和输出,并给出相应的分数或价值。Critic的作用是评估多个智能体的***在整体上的质量,提供一个反馈信号或回报,用于优化上述共享的网络参数。
在本申请中,这个中央策略是一个神经网络模型,在一些实施例中,该神经网络模型可以是transformer神经网络模型。
请参考图2,其示出了本申请一个实施例提供的方案实施环境的示意图,该方案实施环境可以包括:第一设备10、第二设备20和至少一个智能体30。
第一设备10用于在仿真环境中使用强化学习方式对神经网络模型进行训练,得到训练后的神经网络模型。该训练后的神经网络模型用于直接迁移至真实环境中使用,实现对智能体进行控制。
第二设备20用于在真实环境中运行上述训练后的神经网络模型,通过训练后的神经网络模型根据真实环境的状态信息和智能体的在线信息,生成针对智能体30的动作信息,该动作信息用于控制智能体30在真实环境中进行动作。
在一些实施例中,每一个智能体30对应着一个第二设备20。第二设备20可以独立于智能体30设置,例如第二设备20可以是能够与智能体30进行通信的独立的设备,诸如PC(Personal Computer,个人计算机)、手机、平板电脑、服务器等电子设备。
在一些实施例中,第二设备20也可以集成在智能体30上,例如第二设备20可以是安装在智能体30身上的控制器,该控制器具备信息处理以及控制智能体30进行操作的功能。
在一些实施例中,上述第一设备10可以是诸如PC、服务器等具备计算与存储能力的电子设备。
智能体30的数量是多个。智能体30可以是一种能够感知环境、处理信息、执行任务的自动化设备,用于替代或辅助人类在各种领域和场景中完成工作或娱乐的目的。示例性地,智能体的30可以是智能小车,即可以移动且能够对其移动进行控制的小车。示例性地,在仓储场景下,智能体的30可以是用于搬运货物的机器人,也可以是仓储机器人、物流仓库巡视机器人等。当然,本申请技术方案除了可应用于仓储场景之外,还可应用于其他场景,如辅助驾驶、巡检场景、配送场景等,本申请对此不作限定。
此外,智能体的30所处的真实环境中可以设置用于采集该真实环境的状态信息的传感设备。示例性地,传感设备包括但不限于摄像头、距离传感器、速度传感器、运动传感器、温度传感器等,其能够采集真实环境的状态以及真实环境中的智能体的30的状态。
请参考图3,其示出了本申请一个实施例提供的智能体的控制方法的流程图。该方法各步骤的执行主体可以是计算机设备,例如该计算机设备可以是图2所示的方案实施环境中的第二设备20。该方法可以包括如下步骤310~330中的至少一个步骤。
步骤310,获取真实环境中的N个智能体分别对应的状态信息和在线信息,智能体对应的状态信息用于指示智能体的状态以及智能体所处环境的状态,智能体对应的在线信息用于指示智能体是否在线,N为大于1的整数。
智能体是指具有自主决策、感知和执行能力的智能实体,例如机器人、无人驾驶车辆等。真实环境是指智能体进行移动、操作和交互的物理环境,它可以包括物理参数和特征,例如地形、障碍物等。真实环境中包括N个智能体是指该真实环境中包括多个智能体,并且多个智能体可以通过通信、协作或竞争等方式相互影响,本申请实施例提供的技术方案适用于对多个智能体进行联合控制的场景。
智能体对应的在线信息用于反映智能体当前是否在线。示例性地,如果智能体在线,表示智能体能够进行通信、接收指令、发送数据以及实时更新状态信息。示例性地,如果智能体不在线,表示智能体当前无法参与到协同控制、信息交互和共享决策等联合操作中。这可能是由于智能体电量耗尽、硬件故障或其他技术问题导致的,需要采取相应的措施,以确保智能体能够尽快恢复在线状态,以便继续参与到任务中。
在一些实施例中,对于任意一个智能体,在智能体由在线变为不在线,或者由不在线变为在线的情况下,对智能体对应的在线信息进行更新。示例性地,如果智能体的电源供应中断或电池电量耗尽,智能体由在线变为不在线。示例性地,如果智能体的电源供应问题得到解决,例如电池充电完成或电源故障修复,智能体从不在线转为在线。
在一些实施例中,状态信息包括环境状态信息和智能体状态信息。其中,环境状态信息用于指示智能体所处的真实环境的状态。环境状态信息可以包括环境中物体的位置、尺寸、姿态、重量等信息中的至少一种。智能体状态信息用于指示智能体的状态。智能体状态信息可以包括智能体的位置、姿态、速度、加速度等信息中的至少一种。当然,上述关于环境状态信息和智能体状态信息的介绍说明仅是示例性和解释性的,本申请对此不作限定。
在一些实施例中,状态信息至少包括神经网络模型根据该状态信息从而决策出智能体动作信息所需的全部信息。示例性地,在机器人搬运货物的场景中,机器人状态信息可以包括机器人的位置、姿态、速度、朝向、负载等信息中的至少一种,这些信息可以反映机器人的运动状态和任务状态。环境状态信息可以包括真实环境中的货物的位置、数量、重量、目标地点等信息中的至少一种,以及包括真实环境的地图、障碍物、通道等信息中的至少一种,这些信息可以反映货物的分布和需求以及真实环境的结构和限制。
在一种可能实现方式中,可以通过安装在真实环境和/或智能体上的传感设备获取上述状态信息。示例性地,可以通过摄像头、雷达、激光等传感设备,获取真实环境中的障碍物、人员、物体等信息;也可以通过安装在智能体身上的传感设备,获取智能体的位置、姿态、速度等信息。
步骤320,通过神经网络模型根据N个智能体分别对应的状态信息和在线信息,生成N个智能体分别对应的动作信息,智能体对应的动作信息用于指示智能体所需执行的动作,神经网络模型是采用强化学习方式进行训练得到的模型。
神经网络模型是指一种由神经元和神经元之间的连接组成的计算模型。它由多个层次或组成部分,每一层都包含一定数量的神经元,它们通过学习和调整神经元之间的连接权重,来实现对输入数据的表征和处理。强化学习是一种机器学习的方法,它关注的是智能体在与环境的交互中如何通过观察到的状态信息和奖励信息来学习最优行为策略。当采用强化学习方式对神经网络模型进行训练时,神经网络的连接权重会根据智能体与环境的交互经验进行调整,以最大化期望的累积奖励。通过这种方式,最终得到的神经网络模型能够表现出在与环境交互中学到的最优行为策略。
在一些实施例中,该神经网络模型其输入数据包括N个智能体的状态信息和在线信息,其中若在线的智能体数量为K,则不在线的智能体数量为N-K,K为大于或等于0的整数,输入数据包括N组数据,其中K组数据用于指示在线智能体对应的状态信息,N-K组数据可以为无效数据,用于表示不在线的智能体对应的状态信息为空。输出数据包括N组数据,其中K组数据用于指示在线智能体对应的动作信息,N-K组数据可以为无效数据,用于表示对不在线的智能体不进行控制,该动作信息可以包括若干个候选的动作的概率。
步骤330,对于N个智能体中在线的第一智能体,根据第一智能体对应的动作信息,对第一智能体进行控制。
第一智能体是指N个智能体中处于在线状态的任意一个智能体,通过神经网络模型的输出可以得到N个智能体对应的动作信息,从而对于当前在线的智能体进行控制,对于当前不在线的智能体不进行控制。示例性地,假设当前***中有包含5个智能体,处于在线状态的智能体为1号智能体、2号智能体和3号智能体,神经网络模型接受5组状态信息和在线信息的输入,可以记为((o1,mask1),(o2,mask2),(o3,mask3),(o4,mask4),(o5,mask5)),其中(o4,mask4)和(o5,mask5)可以都记为表示4号智能体和5号智能体不在线并且输入的状态信息为无效值。通过神经网络模型分别得到5组动作信息的输出,可以记为(a1,a2,a3,a4,a5),分别对应着5个智能体各自的动作信息,由于4号智能体和5号智能体不在线,因此a4和a5可以为数值0用于表示动作信息为无效值,即对4号智能体和5号智能体不进行控制,也可以用其他预设的符号或数值表示动作信息为无效值,本申请对此不作限定。1号智能体执行a1的指示,2号智能体执行a2的指示,3号智能体执行a3的指示,其中,a1,a2和a3可以为具体的动作指令。
本申请实施例提供的技术方案,由于神经网络模型的输入为智能体的状态信息和在线信息,该在线信息能够及时向模型反馈智能体的数量变化。因此该模型能够灵活地对变数量的多智能体进行控制,解决了只基于固定数量的智能体来训练模型带来的泛化性差的问题,因此当该模型迁移到真实环境中,当真实环境中的智能体数量发生变化时,该模型具有很好的适用性,从而提高了智能体控制效率。
请参考图4,其示出了本申请另一个实施例提供的智能体的控制方法的流程图。该方法各步骤的执行主体可以是计算机设备,例如该计算机设备可以是图2所示的方案实施环境中的第二设备20。该方法可以包括如下步骤410~460中的至少一个步骤。
步骤410,获取真实环境中的N个智能体分别对应的状态信息和在线信息,智能体对应的状态信息用于指示智能体的状态以及智能体所处环境的状态,智能体对应的在线信息用于指示智能体是否在线,N为大于1的整数。
在一些实施例中,N个智能体分别对应的状态信息和在线信息可以作为神经网络模型的输入,该神经网络模型可以是transformer模型。请参考图5,其示出了本申请一个实施例提供的transformer模型的示意图。其中区域51用于指示智能体对应的状态信息,其中o代表状态信息,oN代表第N个智能体的状态信息。区域52用于指示智能体对应的在线信息,其中mask代表在线信息,maskN代表第N个智能体的在线信息。
步骤420,通过嵌入表示层根据N个智能体分别对应的状态信息,生成N个智能体分别对应的状态嵌入表示,状态嵌入表示是对状态信息进行转化得到的向量表示。
如图5所示,该神经网络模型包括嵌入表示层53、特征提取层54和多层感知机55。通过嵌入表示层53对状态信息进行embedding(嵌入)操作可以将状态信息转化为模型可以理解并处理的向量表示,该向量表示包含了状态信息的语义信息。
示例性地,可以将第1个智能体进行embedding操作得到的状态嵌入表示记为(a1,a2,…,an),其中n为大于1的整数,a1,a2,an可以代表第1个智能体不同状态信息的向量表示。同样地,我们可以得到每一个智能体对应的状态信息的向量表示。
步骤430,根据N个智能体分别对应的在线信息,对N个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到特征提取层的输入信息。
在一些实施例中,对N个智能体中不在线的智能体进行屏蔽的实现方式可以包括:对于N个智能体中的每一个智能体,计算智能体对应的状态嵌入表示与智能体对应的在线信息的乘积,得到智能体对应的更新后状态嵌入表示;其中,智能体对应的在线信息为1表示智能体在线,智能体对应的在线信息为0表示智能体不在线;根据N个智能体分别对应的更新后状态嵌入表示,得到特征提取层的输入信息。
示例性地,将第1个智能体的状态嵌入表示记为(a1,a2,…,an),其中,若第1个智能体在线,将其在线信息记为1,则第1个智能体对应的状态嵌入表示与其对应的在线信息的乘积仍然为(a1,a2,…,an)。示例性地,若第1个智能体不在线,将其在线信息记为0,则第1个智能体对应的状态嵌入表示与其对应的在线信息的乘积为0,即对第1个智能体进行屏蔽。同样地,我们可以计算得到每一个智能体对应的状态嵌入表示与其对应的在线信息的乘积,从而实现对下线智能体的屏蔽。
步骤440,通过特征提取层对输入信息进行处理,得到输出特征向量;
在一些实施例中,特征提取层是基于Transformer结构构建的。Transformer是一种基于自注意力机制(Self-Attention)的神经网络架构。Transformer模型的核心思想是利用自注意力机制学习输入序列中各个元素之间的关联性,在不使用循环或卷积操作的情况下,捕捉全局上下文信息。如图5所示,该transformer结构中可以包括X个transformerblock(块),X为大于0的整数,各个transformer块可以通过串联的方式进行连接,不同数量的block也可以达到相似的效果,本申请对transformer block的数量不作限定。
在一些实施例中,将输入信息输入至特征提取层,通过特征提取层对输入信息进行处理,得到输出特征向量;其中,特征提取层采用注意力机制提取每两个智能体之间的关联关系。
输入信息可以为在线的智能体对应的状态嵌入表示,如图5所示,区域56为注意力机制的结构示意。注意力机制基于一种称为自注意力机制(Self-attention)的机制,它允许模型在输入信息的每个位置上进行计算,并为每个位置分配一个权重,表示该位置在上下文中的重要性。示例性地,通常使用一组查询(query)、键(key)和数值(value)来计算注意力权重。查询用于指定位置,键和数值则用于构建表示,通过计算查询和键之间的相似度,得到该位置对其他位置的注意力权重。最后,通过将权重与对应位置的数值进行加权求和,得到代表该位置重要性的输出特征向量。
示例性地,可以将第1个智能体对应的状态信息(如位置信息)作为query查询的位置,将其他每一个智能体的状态信息作为key,分别计算相似度从而得到该位置信息对其他状态信息的注意力权重。以此我们可以计算出输入信息中每一个位置之间的特征向量,从而得到每两个智能体之间的关联关系。
上述方法中,特征提取层中的注意力机制可以捕捉到输入信息中任意两个位置之间的关联关系,从而得到任意两个智能体之间的关联关系。这种关联关系有助于模型更好地理解输入信息的结构和语义信息,并提供更有意义的特征表示,以供后续的决策应用。
步骤450,通过多层感知机根据输出特征向量,生成N个智能体分别对应的动作信息。
如图5所示,区域57为模型的输出,其中a代表动作信息,aN代表第N个智能体的动作信息。多层感知机是指MLP(Multilayer Perceptron),是一种经典的人工神经网络模型,由多个全连接的神经网络层组成。它的基本结构由输入层、隐藏层和输出层构成,在隐藏层和输出层之间可以有多层。每个神经网络层由多个神经元组成,其中隐藏层和输出层的神经元通常采用非线性激活函数,以增加模型的表达能力。多层感知机根据特征提取层输出的特征向量作为输入,通过前向传播计算,得到每个智能体对应的动作信息。这些动作信息可以是表示智能体采取的动作信息的向量,也可以是包含指示智能体行为的概率分布。
步骤460,对于N个智能体中在线的第一智能体,根据第一智能体对应的动作信息,对第一智能体进行控制。
步骤460与上文中步骤330的描述相同,详细内容请参考上文,本申请在此不作赘述。
本申请实施例提供的技术方案,根据在线信息,实现了变数量智能体的控制,提升了灵活性。并且通过计算智能体对应的状态嵌入表示与其对应的在线信息的乘积,屏蔽已下线的智能体,通过模型的注意力结构能够提取出任意两个智能体的关联关系,通过屏蔽已下线的智能体和提取出关联关系能够输出更加准确可靠的动作信息。
上文实施例介绍了在真实环境中应用训练后的神经网络模型对智能体进行控制的方案,下面将通过实施例介绍该神经网络模型在仿真环境中的训练过程。对于神经网络模型的应用和训练,两者是相关联的,在一侧实施例中未做详细说明的细节,可参见另一侧实施例中的介绍说明。
请参考图6,其示出了本申请一个实施例提供的神经网络模型的训练方法的流程图。该方法各步骤的执行主体可以是计算机设备,例如该计算机设备可以是图2所示的方案实施环境中的第一设备10。该方法可以包括如下步骤610~660中的至少一个步骤。
步骤610,获取仿真环境中的M个智能体在第一时间单元分别对应的状态信息,智能体对应的状态信息用于指示智能体的状态以及智能体所处环境的状态,M为大于1的整数。
仿真环境是指构建的虚拟智能体运动场景,用于替代真实环境对控制算法进行开发、调试、验证和优化。仿真环境的设计应该尽可能贴近真实环境,这有助于提升神经网络模型从仿真环境迁移到真实环境之后的性能。
仿真环境中的智能体是用于模拟真实环境中的智能体的模型。仿真环境中的智能体与真实环境中的智能体可以具有相同的结构、属性参数、能力、数量等,从而使得仿真环境与真实环境更加地接近,有助于提升神经网络模型从仿真环境迁移到真实环境之后的性能。
在一些实施例中,可以根据配置文件对仿真环境以及仿真环境中的智能体进行设置与生成。具体来说,获取配置数据,配置数据用于配置仿真环境的特性以及智能体的数量;基于配置数据,构建仿真环境,以及在仿真环境中创建M个智能体。
仿真环境的特性包括环境的大小、形状、障碍物的分布、物体的属性等。根据配置数据构建仿真环境,并根据配置数据创建M个智能体,并进行初始化。
在一些实施例中,不同的配置数据用于配置不同数量的智能体,神经网络模型采用不同的配置数据进行训练。示例性地,通过修改配置数据中的智能体数量参数,可以灵活地改变所生成智能体的数量,以适应不同的实验场景和需求。
上述方法,根据配置数据可以指定仿真环境的特性和智能体的数量,并根据不同配置数据来构建仿真环境和初始化智能体。通过灵活调整配置数据,***能够适应不同的任务需求,并为神经网络模型提供多样化的训练数据,从而提升智能体在不同情境下的应用能力,提高了模型的泛化性能。
步骤620,确定M个智能体在第一时间单元分别对应的在线信息,智能体对应的在线信息用于指示智能体是否在线。
在一些实施例中,随机或基于既定的规则,确定M个智能体在第一时间单元分别对应的在线信息。示例性地,通过随机生成来确定智能体的在线信息。***可以随机生成一组长度为M且只包含0和1的序列,其中0代表智能体不在线,1代表智能体在线,从而可以模拟不同智能体在第一时间单元中的在线情况。这种随机生成的方式能够提供一定的随机性,并在一定程度上反映真实世界中智能体的在线状态的不确定性。
示例性地,基于既定的规则来确定智能体的在线信息。在这种情况下,***会根据预设的规则或条件,判断每个智能体的在线状态。示例性地,一个智能体在执行完100个动作信息之后,将其从在线转为不在线。示例性地,一个智能体在线时长超过预设阈值,将其从在线转为不在线。根据这些规则,***会对每个智能体进行判断,并确定其在线或不在线状态。
上述方法,通过随机生成或基于既定规则来确定M个智能体在第一时间单元分别对应的在线信息,用于指示智能体是否在线。随机性的引入或基于规则改变智能体的在线情况可以实现动态调整可控制的智能体的数量,能够很好地模拟真实环境中的智能体在线状态的变化和差异。
步骤630,通过神经网络模型根据M个智能体在第一时间单元分别对应的状态信息和在线信息,生成M个智能体在第一时间单元分别对应的动作信息,智能体对应的动作信息用于指示智能体所需执行的动作。
在一些实施例中,神经网络模型包括嵌入表示层、特征提取层和多层感知机。
具体实现步骤为:通过嵌入表示层根据M个智能体分别对应的状态信息,生成M个智能体分别对应的状态嵌入表示,状态嵌入表示是对状态信息进行转化得到的向量表示;根据M个智能体分别对应的在线信息,对M个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到特征提取层的输入信息;通过特征提取层对输入信息进行处理,得到输出特征向量;通过多层感知机根据输出特征向量,生成M个智能体分别对应的动作信息。
在一些实施例中,对M个智能体中不在线的智能体进行屏蔽的过程如下:对于M个智能体中的每一个智能体,计算智能体对应的状态嵌入表示与智能体对应的在线信息的乘积,得到智能体对应的更新后状态嵌入表示;其中,智能体对应的在线信息为1表示智能体在线,智能体对应的在线信息为0表示智能体不在线;根据M个智能体分别对应的更新后状态嵌入表示,得到特征提取层的输入信息。
在一些实施例中,将输入信息输入至特征提取层,通过特征提取层对输入信息进行处理,得到输出特征向量;其中,特征提取层采用注意力机制提取每两个智能体之间的关联关系。
在一些实施例中,特征提取层是基于Transformer结构构建的。
在一些实施例中,本申请提出使用Transformer网络结构进行多智能体强化学习训练,其中使用了CTDE的训练框架。Transformer网络也可以与其他多智能体训练框架结合使用,比如:IQL(Independent Q-Learning,独立Q学习)、MADDPG(Multi-Agent DeepDeterministic PG,基于DDPG的多智能体算法)、COMA(Counterfactual Multi-AgentPolicy Gradients,)、MAAC(Multi-Agent Soft Actor-Critic,多智能体SAC算法):SAC算法的多智能体扩展版本,本申请对此不作限定。
步骤640,在基于M个智能体在第一时间单元分别对应的动作信息,对M个智能体进行仿真控制之后,确定M个智能体在第二时间单元分别对应的状态信息和奖励信息,智能体对应的奖励信息是指执行智能体对应的动作信息之后获得的奖励分数,第二时间单元位于第一时间单元之后。
通过模拟环境和智能体之间的交互,可以更新智能体的状态信息,以反映其在第二时间单元的新状态。奖励信息反映了智能体在执行动作后所取得的结果,通常用于评估和反馈智能体的行为。奖励信息可以是一个实数值,代表动作的好坏程度或效果的优劣。奖励信息可能与任务目标相对应,例如在目标导向的任务中,对于达到任务目标的行为,智能体可能获得正向的奖励;而对于违反约束或达不到目标的行为,智能体可能获得负向的奖励。
在一些实施例中,模型通过状态信息和在线信息得到动作信息和奖励信息的代码可以如下所示:
(o,mask)=Envernent.reset()#环境初始化,根据配置文件生成整个环境的场景,同时生成n个需要控制的智能体,其中o代表智能体和智能体所处环境的状态信息,mask为智能体的在线信息。
Policy.reset(o,mask)#神经网络初始化,根据环境的配置,对应的也生成输入是n个oi和n个maski,输出是n个ai的transformer网络。其中i是指第i个智能体,oi是指第i个智能体的状态信息,maski是指第i个智能体的在线信息信息,ai是指第i个智能体的动作信息。
Done=false;#Done是指任务结束的标志,done为false表示任务没有结束,done为true表示任务结束。
Whiledone is Flase:
Action=policy.step(o,mask)#网络根据当前的状态信息和在线信息,推理并输出相应的动作信息action。
o,reward,done,info=Environment.step(action)#环境接受相应的action,并且让每个智能体执行各自的action,最后返回执行完所有动作之后,整个环境的状态信息(o)以及相应的动作的奖励信息(reward),done的布尔取值可以通过环境返回的状态信息确定,示例性地,在多智能体搬运货物的场景中,当环境中返回的货物数量为0,则done为true,否则为false。info信息。其中info中可以包括智能体以及智能体所处环境的额外的物理信息。
步骤650,根据M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到神经网络模型的损失函数值。
在一些实施例中,可以通过PPO(Proximal Policy Optimization,近端策略优化)算法对神经网络模型的参数进行调整。PPO算法是一种基于策略梯度的强化学习算法。它通过近端策略优化来更新策略,以达到稳定、高效的训练结果。策略梯度算法的核心思想是,通过最大化期望回报来优化策略。策略梯度算法的优点是可以直接优化策略,不需要求解值函数,能够应对高维、连续动作空间等复杂情况。
在一些实施例中,根据至少一个时间单元分别对应的状态信息、动作信息和奖励信息计算优势函数值和目标价值函数值,优势函数值用于反映当前状态和动作相对于平均水平的优劣程度,目标价值函数值用于反映当前状态的期望回报;根据优势函数值和目标价值函数值,计算近端比率裁剪损失和价值函数损失,近端比率裁剪损失用于限制策略更新幅度,价值函数损失用于优化策略;根据近端比率裁剪损失和价值函数损失,计算得到神经网络模型的损失函数值。
上述优势函数值是指优势函数的计算结果,该优势函数是指当前状态和动作的价值与平均价值的差值的函数,具体公式请参考下文公式2。上述目标价值函数值是指目标价值函数的计算结果,该目标价值函数是指当前状态的期望回报的函数,具体公式请参考下文公式4。
请参考公式1,其示出了近端比率裁剪损失的公式:
其中,t指当前时间单元,rt(θ)是当前时间单元策略的更新幅度,表示当前策略在当前时间单元状态st下采取动作at的概率与旧策略在状态st下采取动作at的概率之比。ε和∈是超参数,用于控制裁剪幅度。clip(rt(θ),1-ε,1+∈)是一个剪裁函数。rt(θ)越大表示当前策略在状态st下采取动作at的概率越大,相对于旧策略来说更新幅度也就越大。是优势函数(下述公式2),它表示当前状态和动作的价值与平均价值的差值,用于计算近端比率裁剪损失中的裁剪幅度。
其中,表示在状态st下采取动作at的价值,/>表示在状态st下的平均价值。优势函数的值越大,表示当前状态和动作越优秀,应该得到更大的奖励。优势函数的作用是为了增加策略更新的稳定性,避免策略更新过于剧烈而导致优化过程不稳定。在计算近端比率裁剪损失时,使用优势函数可以帮助控制裁剪幅度,从而限制策略更新的幅度。
价值损失函数为,请参考公式3:
Vθ(s)是状态s的价值函数,Vtarget是目标价值函数,请见下述公式4:
其中,T为最后一个时间单元,t为当前时间单元,ri为第i个时间单元的奖励信息,γ为折扣因子。公式中的第一项表示从当前时间单元t到回合结束最后一个时间单元T的即时奖励信息的加权和,表示未来的回报。Vθ(sT)表示目标状态sT的目标价值函数的值,即期望回报,表示状态sT的未来累积奖励。
PPO算法的总损失函数可以如下定义,请参考公式5:
L(θ)=Lclip(θ)-c1Lvf(θ)+c2S(πθ) (公式5)
其中,c1和c2是超参数,s(πθ)是策略的熵,用于增加策略的探索性,即策略对于每个状态下的动作的概率分布的随机性。策略的熵越大,策略在每个状态下采取的动作的概率分布就越均匀,策略的探索性就越强。
在一些实施例中,可以使用其他算法对神经网络模型的参数进行调整,示例性地,DQN(Deep Q-Networks,深度Q网络)、DDPG(Deep Deterministic Policy Gradient,深度策略梯度)、A3C(Asynchronous Advantage Actor-Critic,异步优势演员-评论家)、SAC(SoftActor-Critic,软性演员-评论家)等,本申请对此不作限定。
步骤660,基于损失函数值,对神经网络模型的参数进行调整,得到训练后的神经网络模型。
基于上述公式5以最小化损失函数为目标,经过多次迭代调整参数后,神经网络模型会逐渐收敛到较优的状态,即训练后的模型。训练后的模型可以用于智能体在真实环境中进行预测和决策。
本申请实施例提供的技术方案,神经网络模型的输入综合考虑了智能体的状态信息和在线信息,通过训练过程中对不同数量智能体的控制模型进行训练,使模型能够适应数量的变化,并表现出较好的泛化能力,这使得模型在迁移到真实环境中,当智能体的数量在真实环境中发生变化时(如智能体由于硬件故障自动下线)模型具有良好的适用性。
此外,在训练时,通过改变配置数据来调整初始仿真环境中智能体的数量,有助于提高模型的鲁棒性。这意味着模型能够处理不同数量智能体的情况,并相应地进行决策和控制。通过这种方式,模型在真实环境中的应用具有更好的适应性和稳定性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参照图7,其示出了本申请一个实施例提供的智能体的控制装置的框图。该装置具有实现上述智能体的控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置700可以包括:获取模块710、生成模块720和控制模块730。
获取模块710,用于获取真实环境中的N个智能体分别对应的状态信息和在线信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,所述智能体对应的在线信息用于指示所述智能体是否在线,N为大于1的整数。
生成模块720,用于通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作,所述神经网络模型是采用强化学习方式进行训练得到的模型。
控制模块730,用于对于所述N个智能体中在线的第一智能体,根据所述第一智能体对应的动作信息,对所述第一智能体进行控制。
在一些实施例中,所述神经网络模型包括嵌入表示层、特征提取层和多层感知机;所述生成模块720,包括:第一生成单元、屏蔽单元、得到单元和第二生成单元(图7中未示出)。
第一生成单元,用于通过所述嵌入表示层根据所述N个智能体分别对应的状态信息,生成所述N个智能体分别对应的状态嵌入表示,所述状态嵌入表示是对所述状态信息进行转化得到的向量表示。
屏蔽单元,用于根据所述N个智能体分别对应的在线信息,对所述N个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到所述特征提取层的输入信息。
得到单元,用于通过所述特征提取层对所述输入信息进行处理,得到输出特征向量。
第二生成单元,用于通过所述多层感知机根据所述输出特征向量,生成所述N个智能体分别对应的动作信息。
在一些实施例中,所述屏蔽单元,用于对于所述N个智能体中的每一个智能体,计算所述智能体对应的状态嵌入表示与所述智能体对应的在线信息的乘积,得到所述智能体对应的更新后状态嵌入表示;其中,所述智能体对应的在线信息为1表示所述智能体在线,所述智能体对应的在线信息为0表示所述智能体不在线;根据所述N个智能体分别对应的更新后状态嵌入表示,得到所述特征提取层的输入信息。
在一些实施例中,所述得到单元用于将所述输入信息输入至所述特征提取层,通过所述特征提取层对所述输入信息进行处理,得到所述输出特征向量;其中,所述特征提取层采用注意力机制提取每两个智能体之间的关联关系。
在一些实施例中,所述特征提取层是基于Transformer结构构建的。
在一些实施例中,所述装置700还包括更新模块(图7中未示出),用于对于任意一个所述智能体,在所述智能体由在线变为不在线,或者由不在线变为在线的情况下,对所述智能体对应的在线信息进行更新。
本申请实施例提供的技术方案,由于神经网络模型的输入为智能体的状态信息和在线信息,该在线信息能够及时向模型反馈智能体的数量变化。因此该模型能够灵活地对变数量的多智能体进行控制,解决了只基于固定数量的智能体来训练模型带来的泛化性差的问题,因此当该模型迁移到真实环境中,当真实环境中的智能体数量发生变化时,该模型具有很好的适用性,从而提高了智能体控制效率。
请参照图8,其示出了本申请一个实施例提供的神经网络模型的训练装置的框图。该装置具有实现上述神经网络模型的训练方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置800可以包括:获取模块810、第一确定模块820、生成模块830、第二确定模块840、计算模块850和调参模块860。
获取模块810,用于获取仿真环境中的M个智能体在第一时间单元分别对应的状态信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,M为大于1的整数。
第一确定模块820,用于确定所述M个智能体在所述第一时间单元分别对应的在线信息,所述智能体对应的在线信息用于指示所述智能体是否在线。
生成模块830,用于通过所述神经网络模型根据所述M个智能体在第一时间单元分别对应的状态信息和在线信息,生成所述M个智能体在第一时间单元分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作。
第二确定模块840,用于在基于所述M个智能体在第一时间单元分别对应的动作信息,对所述M个智能体进行仿真控制之后,确定所述M个智能体在第二时间单元分别对应的状态信息和奖励信息,所述智能体对应的奖励信息是指执行所述智能体对应的动作信息之后获得的奖励分数,所述第二时间单元位于所述第一时间单元之后。
计算模块850,用于根据所述M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到所述神经网络模型的损失函数值。
调参模块860,用于基于所述损失函数值,对所述神经网络模型的参数进行调整,得到训练后的神经网络模型。
在一些实施例中,所述神经网络模型包括嵌入表示层、特征提取层和多层感知机;所述生成模块830,包括:第一生成单元、屏蔽单元、得到单元和第二生成单元(图8中未示出)。
第一生成单元,用于通过所述嵌入表示层根据所述M个智能体分别对应的状态信息,生成所述M个智能体分别对应的状态嵌入表示,所述状态嵌入表示是对所述状态信息进行转化得到的向量表示。
屏蔽单元,用于根据所述M个智能体分别对应的在线信息,对所述M个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到所述特征提取层的输入信息。
得到单元,用于通过所述特征提取层对所述输入信息进行处理,得到输出特征向量。
第一生成单元,用于通过所述多层感知机根据所述输出特征向量,生成所述M个智能体分别对应的动作信息。
在一些实施例中,所述屏蔽单元,用于对于所述M个智能体中的每一个智能体,计算所述智能体对应的状态嵌入表示与所述智能体对应的在线信息的乘积,得到所述智能体对应的更新后状态嵌入表示;其中,所述智能体对应的在线信息为1表示所述智能体在线,所述智能体对应的在线信息为0表示所述智能体不在线;根据所述M个智能体分别对应的更新后状态嵌入表示,得到所述特征提取层的输入信息。
在一些实施例中,所述得到单元,用于将所述输入信息输入至所述特征提取层,通过所述特征提取层对所述输入信息进行处理,得到所述输出特征向量;其中,所述特征提取层采用注意力机制提取每两个智能体之间的关联关系。
在一些实施例中,所述特征提取层是基于Transformer结构构建的。
在一些实施例中,所述第一确定模块820,用于随机或基于既定的规则,确定所述M个智能体在所述第一时间单元分别对应的在线信息。
在一些实施例中,所述计算模块850,用于:根据所述至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算优势函数值和目标价值函数值,所述优势函数用于反映当前状态和动作相对于平均水平的优劣程度,所述目标价值函数值用于反映当前状态的期望回报;根据所述优势函数值和所述目标价值函数值,计算近端比率裁剪损失和价值函数损失,所述近端比率裁剪损失用于限制策略更新幅度,所述价值函数损失用于优化策略;根据所述近端比率裁剪损失和所述价值函数损失,计算得到所述神经网络模型的损失函数值。
在一些实施例中,所述装置800还包括配置模块(图8中未示出),用于获取配置数据,所述配置数据用于配置所述仿真环境的特性以及所述智能体的数量;基于所述配置数据,构建所述仿真环境,以及在所述仿真环境中创建所述M个智能体;其中,不同的配置数据用于配置不同数量的所述智能体,所述神经网络模型采用所述不同的配置数据进行训练。
本申请实施例提供的技术方案,神经网络模型的输入综合考虑了智能体的状态信息和在线信息,通过训练过程中对不同数量智能体的控制模型进行训练,使模型能够适应数量的变化,并表现出较好的泛化能力,这使得模型在迁移到真实环境中,当智能体的数量在真实环境中发生变化时(如智能体由于硬件故障自动下线)模型具有良好的适用性。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图9,其示出了本申请一个实施例提供的计算机设备900的结构框图。
通常,计算机设备900包括有:处理器910和存储器920。
处理器910可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器910可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器910也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器910可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器910还可以包括AI处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器920可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器920还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器920中的非暂态的计算机可读存储介质用于存储计算机程序,所述计算机程序经配置以由一个或者一个以上处理器执行,以实现上述智能体的控制方法或上述神经网络模型的训练方法。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一些实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述智能体的控制方法或上述神经网络模型的训练方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在一些实施例中,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现上述智能体的控制方法或上述神经网络模型的训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种智能体的控制方法,其特征在于,所述方法包括:
获取真实环境中的N个智能体分别对应的状态信息和在线信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,所述智能体对应的在线信息用于指示所述智能体是否在线,N为大于1的整数;
通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作,所述神经网络模型是采用强化学习方式进行训练得到的模型;
对于所述N个智能体中在线的第一智能体,根据所述第一智能体对应的动作信息,对所述第一智能体进行控制。
2.根据权利要求1所述的方法,其特征在于,所述神经网络模型包括嵌入表示层、特征提取层和多层感知机;
所述通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息,包括:
通过所述嵌入表示层根据所述N个智能体分别对应的状态信息,生成所述N个智能体分别对应的状态嵌入表示,所述状态嵌入表示是对所述状态信息进行转化得到的向量表示;
根据所述N个智能体分别对应的在线信息,对所述N个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到所述特征提取层的输入信息;
通过所述特征提取层对所述输入信息进行处理,得到输出特征向量;
通过所述多层感知机根据所述输出特征向量,生成所述N个智能体分别对应的动作信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述N个智能体分别对应的在线信息,对所述N个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到所述特征提取层的输入信息,包括:
对于所述N个智能体中的每一个智能体,计算所述智能体对应的状态嵌入表示与所述智能体对应的在线信息的乘积,得到所述智能体对应的更新后状态嵌入表示;其中,所述智能体对应的在线信息为1表示所述智能体在线,所述智能体对应的在线信息为0表示所述智能体不在线;
根据所述N个智能体分别对应的更新后状态嵌入表示,得到所述特征提取层的输入信息。
4.根据权利要求2所述的方法,其特征在于,所述通过所述特征提取层对所述输入信息进行处理,得到输出特征向量,包括:
将所述输入信息输入至所述特征提取层,通过所述特征提取层对所述输入信息进行处理,得到所述输出特征向量;其中,所述特征提取层采用注意力机制提取每两个智能体之间的关联关系。
5.根据权利要求2所述的方法,其特征在于,所述特征提取层是基于Transformer结构构建的。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
对于任意一个所述智能体,在所述智能体由在线变为不在线,或者由不在线变为在线的情况下,对所述智能体对应的在线信息进行更新。
7.一种神经网络模型的训练方法,其特征在于,所述方法包括:
获取仿真环境中的M个智能体在第一时间单元分别对应的状态信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,M为大于1的整数;
确定所述M个智能体在所述第一时间单元分别对应的在线信息,所述智能体对应的在线信息用于指示所述智能体是否在线;
通过所述神经网络模型根据所述M个智能体在第一时间单元分别对应的状态信息和在线信息,生成所述M个智能体在第一时间单元分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作;
在基于所述M个智能体在第一时间单元分别对应的动作信息,对所述M个智能体进行仿真控制之后,确定所述M个智能体在第二时间单元分别对应的状态信息和奖励信息,所述智能体对应的奖励信息是指执行所述智能体对应的动作信息之后获得的奖励分数,所述第二时间单元位于所述第一时间单元之后;
根据所述M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到所述神经网络模型的损失函数值;
基于所述损失函数值,对所述神经网络模型的参数进行调整,得到训练后的神经网络模型。
8.根据权利要求7所述的方法,其特征在于,所述神经网络模型包括嵌入表示层、特征提取层和多层感知机;
所述通过所述神经网络模型根据所述M个智能体在第一时间单元分别对应的状态信息和在线信息,生成所述M个智能体在第一时间单元分别对应的动作信息,包括:
通过所述嵌入表示层根据所述M个智能体分别对应的状态信息,生成所述M个智能体分别对应的状态嵌入表示,所述状态嵌入表示是对所述状态信息进行转化得到的向量表示;
根据所述M个智能体分别对应的在线信息,对所述M个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到所述特征提取层的输入信息;
通过所述特征提取层对所述输入信息进行处理,得到输出特征向量;
通过所述多层感知机根据所述输出特征向量,生成所述M个智能体分别对应的动作信息。
9.根据权利要求7所述的方法,其特征在于,所述根据所述M个智能体分别对应的在线信息,对所述M个智能体中不在线的智能体进行屏蔽,保留在线的智能体对应的状态嵌入表示,得到所述特征提取层的输入信息,包括:
对于所述M个智能体中的每一个智能体,计算所述智能体对应的状态嵌入表示与所述智能体对应的在线信息的乘积,得到所述智能体对应的更新后状态嵌入表示;其中,所述智能体对应的在线信息为1表示所述智能体在线,所述智能体对应的在线信息为0表示所述智能体不在线;
根据所述M个智能体分别对应的更新后状态嵌入表示,得到所述特征提取层的输入信息。
10.根据权利要求7所述的方法,其特征在于,所述通过所述特征提取层对所述输入信息进行处理,得到输出特征向量,包括:
将所述输入信息输入至所述特征提取层,通过所述特征提取层对所述输入信息进行处理,得到所述输出特征向量;其中,所述特征提取层采用注意力机制提取每两个智能体之间的关联关系。
11.根据权利要求7所述的方法,其特征在于,所述特征提取层是基于Transformer结构构建的。
12.根据权利要求7至11任一项所述的方法,其特征在于,所述确定所述M个智能体在所述第一时间单元分别对应的在线信息,包括:
随机或基于既定的规则,确定所述M个智能体在所述第一时间单元分别对应的在线信息。
13.根据权利要求7至11任一项所述的方法,其特征在于,所述根据所述M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到所述神经网络模型的损失函数值,包括:
根据所述至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算优势函数值和目标价值函数值,所述优势函数值用于反映当前状态和动作相对于平均水平的优劣程度,所述目标价值函数值用于反映当前状态的期望回报;
根据所述优势函数值和所述目标价值函数值,计算近端比率裁剪损失和价值函数损失,所述近端比率裁剪损失用于限制策略更新幅度,所述价值函数损失用于优化策略;
根据所述近端比率裁剪损失和所述价值函数损失,计算得到所述神经网络模型的损失函数值。
14.根据权利要求7至11任一项所述的方法,其特征在于,所述方法还包括:
获取配置数据,所述配置数据用于配置所述仿真环境的特性以及所述智能体的数量;
基于所述配置数据,构建所述仿真环境,以及在所述仿真环境中创建所述M个智能体;
其中,不同的配置数据用于配置不同数量的所述智能体,所述神经网络模型采用所述不同的配置数据进行训练。
15.一种智能体的控制装置,其特征在于,所述装置包括:
获取模块,用于获取真实环境中的N个智能体分别对应的状态信息和在线信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,所述智能体对应的在线信息用于指示所述智能体是否在线,N为大于1的整数;
生成模块,用于通过神经网络模型根据所述N个智能体分别对应的状态信息和在线信息,生成所述N个智能体分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作,所述神经网络模型是采用强化学习方式进行训练得到的模型;
控制模块,用于对于所述N个智能体中在线的第一智能体,根据所述第一智能体对应的动作信息,对所述第一智能体进行控制。
16.一种神经网络模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取仿真环境中的M个智能体在第一时间单元分别对应的状态信息,所述智能体对应的状态信息用于指示所述智能体的状态以及所述智能体所处环境的状态,M为大于1的整数;
第一确定模块,用于确定所述M个智能体在所述第一时间单元分别对应的在线信息,所述智能体对应的在线信息用于指示所述智能体是否在线;
生成模块,用于通过所述神经网络模型根据所述M个智能体在第一时间单元分别对应的状态信息和在线信息,生成所述M个智能体在第一时间单元分别对应的动作信息,所述智能体对应的动作信息用于指示所述智能体所需执行的动作;
第二确定模块,用于在基于所述M个智能体在第一时间单元分别对应的动作信息,对所述M个智能体进行仿真控制之后,确定所述M个智能体在第二时间单元分别对应的状态信息和奖励信息,所述智能体对应的奖励信息是指执行所述智能体对应的动作信息之后获得的奖励分数,所述第二时间单元位于所述第一时间单元之后;
计算模块,用于根据所述M个智能体在至少一个时间单元分别对应的状态信息、动作信息和奖励信息,计算得到所述神经网络模型的损失函数值;
调参模块,用于基于所述损失函数值,对所述神经网络模型的参数进行调整,得到训练后的神经网络模型。
17.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至6任一项所述的方法,或者如权利要求7至14任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至6任一项所述的方法,或者如权利要求7至14任一项所述的方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现如权利要求1至6任一项所述的方法,或者如权利要求7至14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311451091.6A CN117518907A (zh) | 2023-11-02 | 2023-11-02 | 智能体的控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311451091.6A CN117518907A (zh) | 2023-11-02 | 2023-11-02 | 智能体的控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117518907A true CN117518907A (zh) | 2024-02-06 |
Family
ID=89765501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311451091.6A Pending CN117518907A (zh) | 2023-11-02 | 2023-11-02 | 智能体的控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117518907A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118012077A (zh) * | 2024-04-08 | 2024-05-10 | 山东大学 | 基于强化学习动作模仿的四足机器人运动控制方法及*** |
-
2023
- 2023-11-02 CN CN202311451091.6A patent/CN117518907A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118012077A (zh) * | 2024-04-08 | 2024-05-10 | 山东大学 | 基于强化学习动作模仿的四足机器人运动控制方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yao et al. | Path planning method with improved artificial potential field—a reinforcement learning perspective | |
Shi et al. | End-to-end navigation strategy with deep reinforcement learning for mobile robots | |
CN112119409B (zh) | 具有关系存储器的神经网络 | |
CN112131786B (zh) | 基于多智能体强化学习的目标探测与分配方法及装置 | |
Cao et al. | Target search control of AUV in underwater environment with deep reinforcement learning | |
EP3776370A1 (en) | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments | |
CN112329948B (zh) | 一种多智能体策略预测方法及装置 | |
Lin et al. | Evolutionary digital twin: A new approach for intelligent industrial product development | |
US20220366246A1 (en) | Controlling agents using causally correct environment models | |
CN117518907A (zh) | 智能体的控制方法、装置、设备及存储介质 | |
Guo et al. | A fusion method of local path planning for mobile robots based on LSTM neural network and reinforcement learning | |
CN112348285B (zh) | 一种基于深度强化学习的动态环境下人群疏散模拟方法 | |
Yu et al. | Hybrid attention-oriented experience replay for deep reinforcement learning and its application to a multi-robot cooperative hunting problem | |
JP2023528150A (ja) | マルチタスク強化学習におけるメタ勾配を用いたアクション選択のための学習オプション | |
Hickling et al. | Explainability in deep reinforcement learning: A review into current methods and applications | |
Liu et al. | Self-attention-based multi-agent continuous control method in cooperative environments | |
Liu et al. | Reinforcement learning-based collision avoidance: Impact of reward function and knowledge transfer | |
CN116841317A (zh) | 一种基于图注意力强化学习的无人机集群协同对抗方法 | |
Cao et al. | A fuzzy-based potential field hierarchical reinforcement learning approach for target hunting by multi-AUV in 3-D underwater environments | |
Fu et al. | Memory-enhanced deep reinforcement learning for UAV navigation in 3D environment | |
De Jesus et al. | Deep deterministic policy gradient for navigation of mobile robots | |
CN111811532B (zh) | 基于脉冲神经网络的路径规划方法和装置 | |
CN115066686A (zh) | 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划 | |
Wang et al. | Behavioral decision-making of mobile robot in unknown environment with the cognitive transfer | |
Plasencia-Salgueiro | Deep reinforcement learning for autonomous mobile robot navigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |