基于Pytorch的强化学习(DQN)之 Multi-agent 训练架构

基于Pytorch的强化学习(DQN)之 Multi-agent 训练架构,第1张

目录

1. 引言

2. 训练架构

2.1 Fully decentralized

2.2 Fully centralized

2.3 Centralized&Decentralized


1. 引言

我们上一次讲到了Multi-agent的基本概念,现在来讲讲具体的训练方法,以Actor-Critic方法为例。

2. 训练架构

我们知道在Single-agent中的Actor-Critic方法中需要一个策略函数 作为Actor进行执行action,还有一个价值函数 进行评价来辅助决策。在Multi-agent中我们就是要对这两个函数进行讨论从而引出三种结构。

2.1 Fully decentralized

完全去中心化(Fully decentralized),这一种结构完全仿照Single-agent使用Actor-Critic方法进行训练,将多个智能体看出一个个单智能体,分别使用Actor-Critic方法,具体就是使用对于第  个agent,以作为策略函数(由于每个智能体通常不能观测到全局的state,我们用  代替  表示agent观测到的state)使用策略梯度下降更新参数,它接收一个state输出动作的概率分布,以  作为价值函数,使用TD 算法更新参数,输入state和action输出一个打分辅助决策。所有的agents都使用相同的方法并行训练。

 

这种方法没考虑agent之间的相互作用,不适用于大部分情况。

2.2 Fully centralized

完全中心化(Fully centralized),考虑到agent之间有交互影响,我们引入一个中心处理器(Central controller),我们将所有的agent的观测值  传入中心处理器,中心处理器中有  个策略函数,对应第  个agent的策略函数为  ,对应第  个agent的价值函数为  ,每个agent都将与环境交互获得的  传入中心处理器,中心处理器同时处理所有agent的信息,这也是和 Fully decentralized 方法的最大不同,最后中心处理器再返回action给对应的agent即可。

 

这种方法也有个缺点就是训练太慢,因为中心处理器需要处理所有agent的信息,这是非常耗时的。

2.3 Centralized&Decentralized

中心化训练去中心化执行(Centralized training,decentralized execution),这种方法就是为了解决完全中心化训练缓慢的问题,它只在中心处理器设置  个策略函数,第  个agent的价值函数为 ,策略函数  在agent本身,每个agent都将与环境交互获得的  传入中心处理器,中心处理器返回 的输出给agent,agent再训练策略函数 ,最后策略网络输出action。

agent与环境交互

 agent将信息传入中心处理器

 中心处理器返回打分供agent训练策略网络

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/1324059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存