文章地址: https://arxiv.org/pdf/1812.07297.pdf
Pommerman 是NeurIPS会议上开设的多智能体竞赛,将多智能体协作、非完全信息博弈以及持续学习等关键问题浓缩到炸弹人这款竞赛中,鼓励全世界优秀的研发人员一起参加解决技术挑战。
本文是曾经在 The NeurIPS 2018 Pommerman Competition 中获得第一的团队发表的文章,主要介绍了一种基于连续匹配的的训练架构—— COnitnual Match BAsed Training (COMBAT) 。用持续学习(continual learning)的思想训练A2C智能体。
先介绍一下 Pommerman 游戏环境,地图是11 * 11 的网格,有4个智能体分为位于四个角之一。每个回合,四个智能体可以执行以下六个动作之一:停止,向上,向下,向左,向右和放置炸弹。除代智能体以外,网格上的每个单元都可以是通道,木墙或刚性墙。 刚性墙和木墙都是无法通行的,而炸弹爆炸会破坏木墙。 木墙被摧毁后,有50%的空间成为通道,另外50%的空间由隐藏的道具组成。游戏中有三种道具:Extra Ammo,Extra Range和Can Kick,分别可以增加当前弹药、使其炸弹爆炸范围扩大一倍、使其踢出一枚炸弹。
下图展示了COMBAT的架构。其中,种群模型(Population model) 存储了每一个群体的智能体的下标和参数;比赛排程器(Match Scheduler)会挑选出种群中的两个智能体,让它俩进行比赛,排出赛程;而比赛排程器排出来的那些赛程会在评估器(Evaluator)上异步地执行,也就是说,这里的种群可以理解为每一场炸弹人游戏中的4个智能体,排程器挑在每场游戏中挑选2个智能体进行pk(剩下的2个智能体是托),然后让每个异步的评估器来训练(Optimizer)智能体,使其收敛,并生成每个智能体的“成绩排名表”(Ranking List);最后更新各个种群中智能体的参数,并去除没有收敛的智能体和排名靠后的智能体。
个人理解就是优胜劣汰,最终挑选出最强的那个智能体,俗称“养蛊”。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zfEm02Rs-1574348235618)(C:\Users\朴素贝叶斯\AppData\Roaming\Typora\typora-user-images\image-20191121211229022.png)]
后面补充一些相关知识。
终身学习是个非常大的领域,有很多问题有待解决。它也有很多名字,比如说lifelong learning、continual learning,continuous learning, meta-learning,和never-ending learning,他们都在试图解决终身学习不同方面的问题。通俗来讲终身学习就是可以把学到的知识积累下来,再用到将来的学习里去。对于终身学习来说,世界是开放式的。算法需要发现和解决新的问题,而不是只能解决一个给定问题,它学到的知识并不局限于已有的领域,而可以应用到新的领域上去。终身学习,首先要有持续学习的过程;另外知识一直要积累。终身学习还应有应用知识和自适应新场景的能力。它也要在开放在领域学习,它可以把没学过的东西识别出来并学习它,这么积累的知识就可以越来越多。另外还要做到learning on the job,就是在工作以后还要继续学,要learning while working。现在没有算法真正实现终身学习,现在的算法都在尝试完成这个任务的某一部分,还没有人可以做到把所有的功能都放在一个系统里面。
continual learning 和 meta learning,这几年不少人在做相关研究。
在Pommerman中,假设我们将每个任务定义为智能体希望学习的特定技能,例如学习如何捡起道具的学习任务或学习如何踢炸弹的任务。这些任务高度相关,并且可能在一次战斗中一起出现 。 因此,pommerman本身就是终身学习的环境,不会遭受灾难性的遗忘。
是一种简单的异步优化方法PBT(population based training),主要用来自适应调节超参数。通常的深度学习,超参数都是凭经验预先设计好的,会花费大量精力且不一定有好的效果,特别是在深度强化学习这种非静态(non-stationary)的环境中,要想得到SOTA效果,超参数还应随着环境变化而自适应调整,比如探索率等等。这种基于种群(population)的进化方式,淘汰差的模型,利用(exploit)好的模型并添加随机扰动(explore)进一步优化,最终得到最优的模型。俗称“养蛊”。
https://www.cnblogs.com/initial-h/p/10519150.html
友情提示:经费不足请不要轻易使用“养蛊”。
https://www.jianshu.com/p/428b640046aa
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MrZskded-1574348235621)(C:\Users\朴素贝叶斯\AppData\Roaming\Typora\typora-user-images\image-20191118151506615.png)]
https://blog.csdn.net/int1282951082/article/details/96429652
Pommerman 是一个典型的稀疏回报环境。
agent学习的过程中,常常无法及时获得回报,导致无法收敛。就像家长让小朋友写作业,小朋友可能觉得这个是负面的反馈而不去写作业(做作业让我觉得很痛苦qwq),而没有意识到以后会获得的巨大回报:写完作业后成绩提高,考上好大学,成为高富帅,从此走向巅峰赢取白富美…
那么,下面介绍一下解决Sparse Reward的几种方法:
本文给出的方法就是Curriculum Learning : “制定学习计划” 的方法,让炸弹人先学会炸木墙,再学会躲避爆炸和捡buff,接着学习放炸弹杀人,还有难度更高的踢炸弹来杀人。