深度强化学习实验室报道
作者:陈雄辉
编辑:DeepRL
AlphaStar是RL处理复杂决策问题的又一大新闻了。从War3到SC2,RTS一直是我的业余最爱,最近读了一下paper,也share一下里面使用的一些比较有趣的技术。@田渊栋 老师和 @张楚珩。
如果让我总结AlphaStar中成功的关键的话,我觉得有以下几点:
下面文章按照这三点进行展开介绍
AlphaStar作用于星际争霸这款经典即时战略类游戏,简单来说,这是一个类军事对抗的游戏,游戏分为敌我双方,我方玩家作为一个指挥官,需要做4件事:
玩家最终目标是利用自己的军事单位,消灭所有敌方的军事单位和基础设施,从而赢得比赛。AlphaStar的目标是训练出一个可以战胜所有可能的策略的最强策略网络。作为一个强化学习的问题,其之所谓困难, 至少有以下几个原因:
整个交互过程如下:
AlphaStar整体技术路线其实并不复杂:首先监督学习进行预训练,然后强化学习进行后续对抗训练。但是要真正得到AlphaStar的效果,其中便有很多门道,下面按照前面说的三个部分来进行具体来介绍ALphaStar的一些技术细节
模型的鲁棒性是强化学习,也是机器学习经常要面对的问题。星际争霸也是对模型鲁棒性要求极高的场景,你可能很容易发现可以克制你目前的对手的一种战术,但是应对任何战术都能找到应对措施则是更困难的问题。AlphaStar的解决策略鲁棒性问题综合使用两种思路:
两个方法对于性能的提升起到了关键作用:下图 b中“+Main Exploiters”和“+League Exploiters”是增加了对抗训练后的相对性能,对比算法“Main agents” 只使用自我博弈策略作为League进行训练;d中pFSP和FSP便是增加了基于population的训练的相对性能,对比算法是直接进行self-play(SP)。
pfsp包括两个关键词,fictitious self-play和Priority。fictitious self-play agent需要打败历史上的所有对手,而不是仅仅打败自己。即我的对抗目标是一个对手集合Priority 我们在选择对手进行对抗时,越困难的对手有越大的优化权重,而不是所有对手有相同的权重进行优化,具体而言:
PS如果说 FSP 是 一个max-avg 的操作,PFSP则像是 一个soft 的max-min的操作,这本身也隐含了对抗训练的思想。
AphaStar训练时有三种类型的对手池集合(Main Agents, League Exploiter, Main exploiters),区别只训练的目标不同。下面具体介绍三种对手池的训练方式:Main Agents: 训练目标是一个最强鲁棒策略,也是最后部署的策略。其具体训练目标有三种:
League exploiters 与League对抗,用于寻找League都无法打败的策略(比如发现一种新的进攻体系),也就是寻找历史Memory的弱点,不要求该策略是robust的,通过将找到的策略加入League,使得League更加鲁棒
Main exploiters 与当前Main Agents(的集合)进行对抗,用于寻找Main Agent的弱点,不要求该策略是robust的,但是该对抗策略可以使得Main Agent更加鲁棒,具体目标有两种:
三种对训练方式都定期(2 *10^9 steps)将自己的权重快照加入League;另外,League Exploiter 和Main Exploiters 能够有70%概率击败他的对手时,将权重快照加入League中。
除了main agents 以外,Agent加入League后,会有一定概率重置为监督学习学到的智能体,其学习到的策略和人类策略差距太大,这个我认为主要是避免一些没必要的策略(e.g., 人类不可能使用的策略没有必要去想办法战胜)的对抗训练开销。
DeepMind对AlphaStar做了一组关于Expert Data的消融实验,结果非常有趣。下图横轴是性能指标,纵轴是不同的实验设置。我们可以得到以下几个结论:
可以看到人类数据在其中扮演了非常重要的作用。
那么如何利用人类数据,AlphaStar给出了一些不错的实践方向,整体来看有以下几点:
其中第一点使用了课程学习的trick,先使用天梯积分在3500(Top 22%)水平玩家的录像进行训练;最后再用天梯6200的水平玩家的录像进行策略微调。第四点在1.2 中已经提到过。第二、三两个主要通过一个统计量z实现的,下面具体介绍这个统计量
是从人类对局数据抽取出来的统计量,包括:
在强化学习和监督学习的过程中,所有的策略都会 conditional on。在强化学习的过程中,首先从replay 里面随机sample human data,得到对应的统计量 ,接着:
从这里可以看,AlphaStar一定程度上说是一种模仿学习上的成功。他所学到的是基于人类(顶尖人类)的对战轨迹下的一个鲁棒可泛化的策略。每次的对局所sample的 统计量 ,已经一定程度上限制的该智能体本场replay的整体策略选择范围(由建造顺序和单位累计顺序大致决定),AlphaStar做的是给定的策略选择范围 内学习如何应对其他对手策略。
AlphaStar结合了很多近年来深度学习各个领域流行的研究成果来处理星际这个复杂问题。AlphaStar的实践验证,可为我们复用这些技术到其他类似领域提供很好的积淀。其网络结构如下图所示, 说几个我感兴趣的(详细结构的可以查看其公布的伪代码):
消融实验可以看出这几个结构对算法性能都起到了比较关键性的影响(尤其是Pointer network和Transformer)
主要用了以下4个技术:
UPGO做的是基本一样的,只是操作粒度从整个trajectory的维度,变成了在每一个timestep的维度。具体而言,他在回溯计算timestep的reward的时候,如果 ,即reward起到了相对于当前策略更优性能,则 , 否则 。 取决于 时间步的性能,可能是MC-return,也可能是estimated value 。
对应消融实验结果如下图:
作者:陈雄辉,南京大学博士
文章来源:https://zhuanlan.zhihu.com/p/97720096?utm_source=wechat_timeline&utm_medium=social&s_s_i=T71GXrq%2BETO54%2BHA8volBgvzg0FuLF9hn6rJ%2BgMcyEw%3D&s_r=1&from=timeline
完
第51篇:全网首发最全深度强化学习资料(永更)
第50篇:30+个必知的《人工智能》会议清单
第49篇:《强化学习导论》代码/习题答案大全
第48篇:Exploration-Exploitation难题解决方法
第47篇:2019年-57篇深度强化学习文章汇总
第45篇:DQN系列(1): Double Q-learning
第44篇:科研界最全工具汇总
第42篇:深度强化学习入门到精通资料综述
第41篇:顶会征稿 || ICAPS2020: DeepRL
第40篇:实习生招聘 || 华为诺亚方舟实验室
第39篇:滴滴实习生|| 深度强化学习方向
第37篇:Call For Papers# IJCNN2020-DeepRL
第36篇:复现"深度强化学习"论文的经验之谈
第35篇:α-Rank算法之DeepMind及Huawei改进
第34篇:从Paper到Coding, DRL挑战34类游戏
第31篇:强化学习,路在何方?
第30篇:强化学习的三种范例
第29篇:框架ES-MAML:进化策略的元学习方法
第28篇:138页“策略优化”PPT--Pieter Abbeel
第27篇:迁移学习在强化学习中的应用及最新进展
第26篇:深入理解Hindsight Experience Replay
第25篇:10项【深度强化学习】赛事汇总
第24篇:DRL实验中到底需要多少个随机种子?
第23篇:142页"ICML会议"强化学习笔记
第22篇:通过深度强化学习实现通用量子控制
第21篇:《深度强化学习》面试题汇总
第20篇:《深度强化学习》招聘汇总(13家企业)
第19篇:解决反馈稀疏问题之HER原理与代码实现
第17篇:AI Paper | 几个实用工具推荐
第16篇:AI领域:如何做优秀研究并写高水平论文?
第14期论文: 2020-02-10(8篇)
第13期论文:2020-1-21(共7篇)
第12期论文:2020-1-10(Pieter Abbeel一篇,共6篇)
第11期论文:2019-12-19(3篇,一篇OpennAI)
第10期论文:2019-12-13(8篇)
第9期论文:2019-12-3(3篇)
第8期论文:2019-11-18(5篇)
第7期论文:2019-11-15(6篇)
第6期论文:2019-11-08(2篇)
第5期论文:2019-11-07(5篇,一篇DeepMind发表)
第4期论文:2019-11-05(4篇)
第3期论文:2019-11-04(6篇)
第2期论文:2019-11-03(3篇)
第1期论文:2019-11-02(5篇)