本文主要是介绍多智能体强化学习论文——SEAC(NIPS 2020),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
存在的问题&研究动机&研究思路
- 在稀疏奖励的环境下,多智能体的exploration存在效率不足的问题。
- 在IAC的基础上尝试加入重要性采样,使得每次更新智能体 i i i的参数时,不再仅仅使用智能体 i i i的数据,而是使用所有智能体的数据进行智能体 i i i数据的更新。
- 对于原始的IAC算法是on-policy的,而SEAC则是off-poligy的。
创新点
- 在每个智能体 i i i的 a c t o r i actor_i actori和 c r i t i c i critic_i critici的更新过程中,都加入了重要性采样:
即每个智能体更新时都使用了所有智能体的梯度信息。
算法框图
实验
- 实验算法共有三个:
- IAC:Independent Actor-Critic。
- SNAC:Shared Network Actor-Critic,即训练一个策略用于所有智能体,所有智能体的数据都更新着一套参数。此方法算是on-policy的,网络接受了相同的经验,学到了较为相似的策略。
- SEAC:Shared Experience Actor-Critic。和IAC类似,每个智能体都有自己的一套参数,但是每个智能体在更新的时候,使用所有智能体的数据进行,而IAC仅仅使用自己的数据进行更新。
- 实验环境包括四个,都设置为sparse reward的形式。
- 对于QMIX这种接受集体reward的算法,即直接将每个智能体的 r e w a r d i reward_i rewardi相加当作集体的reward。(是否合理?既然VDN假设 总体效用函数等于每个智能体效用函数之和?。)
- 在协作任务中,当某个智能体的学习进度明显快于其他智能体时,会阻碍总体训练效果的提升。
- 实验结论:在多智能体中,当智能体学习速度不同时,会阻碍一部分agents的exploration,进而影响总体的学习进程,导致收敛到次优策略。SEAC通过结合当前智能体的梯度和其他所有智能体的weighted梯度信息,来解决这个问题。
这篇关于多智能体强化学习论文——SEAC(NIPS 2020)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!