零,abstract
一,introduction
二,background
三,benefit and challenge
四,MARL goal
五,MARL algorithm
六,application
七,example
八,Outlook
九,related work
十,conclusion
讲这篇文章写了什么内容。重点是34568章,最重要是第五章,算法回顾。
1.(废话)多智能体系统应用领域很广
2.(废话)MARL的好处
3. 简单讲述RL(agent采取一个action,使得当前state过度到下一时刻,agent获得一个reward,了解RL的人已经听得不耐烦了)
4.(重点)我们主要关注自主代理学习如何在线解决动态任务,使用源自时序差分RL(temporal-different RL)的算法。(Q-learning看来是时差RL的一种)
5.挑战之一,目标:稳定性(主体学习动力学,好的稳定性意味着算法最终能够收敛(比如收敛到纳什均衡),稳定性使代理的行为更易于分析和保证有意义的性能)与适应性(agent对其他agent的行为的反应,良好的适应性要求agent在其他agent改变策略时依然有很好的性能)
本节以下讨论只限于:有限的,离散的 状态和行为空间。大多数MARL算法都是这样。
1.single-agent RL
①单智能体RL的形式化模型是Markov决策过程。Markov决策过程的定义(definition1)。
②提出了一个RL的研究困难,行为的长远影响难以定义(比如大家都玩过坦克大战,简单考虑的话,里面的操作有左右移动和开火,开火有可能消灭敌人,所以他的reward很好定义,但是移动的reward不好定义,移动可以走位可以保命,即长远影响,这不好定义)。
③提出了一种解决方法——贴现因子(式1)。可以理解为一个系数,对于某些未来可能会有更高收益的行为,就给他的reward乘以更大的系数。这个系数,应该也是需要学习的一个参数。
④要追求总体的reward——R最大,而不是每一步的瞬时reward——r.按我在②里提到的例子,这一点应该比较好理解。
⑤这一讲其实主要是想讲Q-learning算法,是一种经典的强化学习算法,很多MARL算法是基于他派生出来的。懂这一招的可以跳过这一节了。
⑥RL算法大概分为三种。无模型的基于价值函数的在线估计方法。基于模型的方法(又称动态规划)。学习模型(指状态转移概率函数和回报函数)的方法。
⑦RL的另一个难点,平衡探索(通俗的理解为:做没做过的事)和利用(利用已有知识做一些事情)。在最初的Q-learning算法中,探索是随机选取一个action,“利用”是用贪心算法选一个reward最大的action。二者的选择是基于概率(参数ε)的。还有一种基于布尔兹曼机的算法。效果是使得reward更大的策略有更高的可能性被选择。“利用”是为了让reward更大。“探索”是为了扩充模型覆盖面,一定程度上防止算法陷入局部极小。
2.multi-agent case
Definition2
3.static repeated and stage games
博弈论基础概念
静态博弈(static game),状态永不变的博弈。比如石头剪子布。
重复博弈(repeated game),在静态博弈的基础上,每个玩家都可以看到所有玩家出招的历史记录。就是你可以看到对方之前出了石头,你就会认为他下一次出锤头的概率小。
阶段博弈(stage games),同时属于前两种,是静态博弈的一个阶段。
1.benefit
①可以并行计算,使得计算过程很快速
②更高的鲁棒性,因为一个agent坏掉,其他的也能正常工作
③更高的扩展性,可以中途临时加入或减去agent
2.challenge
①随着agent数目的增加,计算复杂度呈指数增加
②好的goal难以定义,因为要综合考虑稳定性与适应性。
③agent受其他agent行为的影响(最佳策略随着其他代理策略的变化而变化。)
④权衡探索与开发
1,好的goal会平衡好稳定性与适应性,这两个概念是矛盾的。
①之前提到,好的稳定性保证算法能够收敛。好的稳定性一般意味着要较少针对性的考虑其他agent的行为。比如你可以把难以预料的其他agent的行为都写在“else”里面,直接抛异常,那就很稳定。虽然极容易挂掉,但是保证收敛。
②好的适应性,要求尽可能多的针对性处理其他agent的意外行为,一般的做法是,每个agent都会给其他agent建立行为模型。这开销极大。
2,关于table1的名词解释
①rationality【17】其他代理保持静止时,代理收敛到最佳响应的要求。
②no-regret。要求代理人获得至少与任何固定策略的回报一样好的回报,这适用于其他代理人的任何策略集。这一要求防止学习者被其他代理人“利用”。
③optimality/compatibility/safety。都是在强调算法的适应性。就是迁移,扩展给其他agent,依然能有不错的收益。
④opponent-aware。在意其他agent,需要建立其他agent的模型。opponent-independent。不特别考虑其他agent,只把它们当做环境的一部分。
⑤prediction。学习其他代理的精确模型的能力。Rationality【26】,如果一个代理在其他代理的模型下最大化了它的期望回报,那么它就被称为理性代理。
本文提到的MARL算法基本都是基于Q-learning的。
1,MARL算法分类(本文是这么分的,2x3=6类):
根据任务类型可以分为:静态static(概念等同于静态博弈),动态dynamic(与静态相反,即包含状态迁移)
根据代理间关系可以分为:cooperative纯合作,competitive纯竞争,mixed既有竞争又有合作(为了自己的利益最大化,有时候要竞争有时候要合作)。
2,其他分类标准
①同质性:所有agent采用相同的算法,则这个多agent系统具有同质性,否则是异质。
②有无模型(模型指状态迁移函数和回报函数):model-based,model-free。
③对其他agent的投入:观察行为,观察行为和reward,neither。
3,MARL=RL+博弈论+策略搜索技术(fig2)
4,解释table2,independent=把稳定性发挥到极限,tracking=把适应性发挥到极限,aware=介于两者之间。
5,全合作任务类型
全合作随机博弈中。Goal:使总体收益最大化。如果有集中式控制器:任务简化为马尔科夫决策过程。这时的行为空间就是随机博弈的联合行为空间。这种情况用Q-learning可以解最优解。
必须要有某种协调机制,显式也好隐式也好。举例说明
如图这两个agent必须执行但是有obstacle,所以他们要绕一下。他们必须从同一个方向绕(左或者右),因为有个带子牵着他们。这时候同时走左或者右都是最优的。但是没有协调机制就会无法保证每次都最优,所以需要协调。
①coordination-free
Team Q-learning algorithm:通过假设最优解是唯一的来避免协调问题。(意思大概是指,比如在上面的例子中,假如某个时刻agent1和2都选择走左边,那算法就停了。下一次运作的时候,他们不会考虑走右边,因为他们认为最优解唯一)
Distributed Q-learning algorithm:不需要做上述假设,且性能优秀,基本思想是,只做能使Q-value提高的更新(包括更新policy和Q-value)。but only works in deterministic problems(我也不知道什么是确定问题)with non-negative reward functions.
②coordination-based:
协调图。
当全局Q-函数可以被相加分解为仅依赖于代理子集的动作的局部Q-函数时,可以简化协调图。
③indirect coordination
基于为其他agent建立的model,以及对其他agent之前的行为分析等。预估下一回合对方agent的行为(比如在上述例子中,agent会猜测对方会走左还是走右)。
Frequency Maximum Q-value (FMQ)。如果一个action在过去更容易获得好的回报,就使用布尔兹曼机调高他的Q值,反之则降低。缺点是:需要维护一个统计行为次数的计数器;在强随机回报问题(我也不懂)中可能fail;多一个要调的参数。
Optimal Adaptive Learning (OAL),很强,在任何完全合作随机博弈中,OAL可证明收敛于最优联合策略。但是代价是复杂度变高。
④remark:
A,上述方法都依赖于对状态的精确测量(有的甚至要求精确测量其他agent的行为),这导致如果代理们的感知一旦出现不同,他们会对自己的Q-function执行不同的更新,从而使Q-function和策略的一致性不能保证。
B,除Distributed Q-learning algorithm和FMQ之外,其他方法会有维数灾难。但这两种也有自己的缺点。Distributed Q-learning只在确定任务中work。FMQ只适于静态任务。
6,纯竞争任务
①,Opponent-independent。Min-max算法(alphaGO也使用了这个算法)。这里我只讲看一步的简单版,看多步道理差不多。想象你和对手在下象棋,你走一步之后会得到一个reward,然后对手走一步之后,他也会产生收益,他的收益就是你的损失。所以在你的model中,可以视为reward被对手减小了。现在我们为每一步棋都指定一个reward(本算法中是Q-value)。现在我们就产生了一个三层的树(根节点是当前状态,分支是你可能走的棋,第一层节点是走棋之后的Q值,接下来分支是对手可能的走棋,第三层节点是对手走后你的Q值)。那么我们该怎么决策呢。你会选择第一层里最大Q的那个行为吗,不会。因为对手也会走,对手走后我们的REWARD就会减小,肯定会减小到第三层的最小值。所以我们要选择第二层分支里第三层所有最小值里最大的那一个分支。(好吧没有图好难讲,你们可以看原文或者搜minmax算法)
②,opponent-aware。WoLF,混合任务时我会介绍。
7,混合
这种环境下的MARL算法受博弈论的“均衡”(参考纳什均衡)概念影响最大。很大一部分算法智能用于静态博弈(repeated,general-sum的)
①,single-agent RL。就是把单RL的算法迁移过来。缺点是,因为多agent问题具有非平稳性(指通常状态转移函数和reward function会随其他代理策略的变化而变化),所以这一算法不保证收敛。但因为其简单性,以及在布尔兹曼机制下在特定问题中可以收敛,所以有一定的地位。
②,agent-independent
A,CE-Q,asymmetric Q-learning。都使用了斯塔伯格均衡,即leader-follower机制。可以理解为给agent设立优先级。比如我设下例中的agent1为leader,leader要存储follower的行动表,必须知道自己在作出某action之后follower会怎么选择。那么agent1肯定选左边而agent2肯定选右边,达到整体最优。
B,Nash-Q。这一算法保证收敛到纳什均衡。但条件是每个阶段博弈都客观存在纳什均衡。
C,均衡选择问题。(如下示例)
游戏规则是两个扫地机器人去不同的房间就都有收益,但是小的收益更高(因为工作量少),去同一个房间就都没有收益。这个游戏存在两个纳什均衡,1左2右或者2左1右。选择哪个均衡都可以,这就是均衡选择问题,他很类似全合作任务中的协调问题。
③,agent-tarcking(不保证收敛到最佳策略)(AB主要对付静态任务,C是动态任务)
A,meta strategy algorithm:结合了fictitious play algorithm(在静态全合作任务中可以收敛到纳什均衡)的修改版,minimax,bully博弈策略(貌似是一种怕强欺弱策略,即先采取最贪婪的,但一旦受挫,就采取较差点的。就是见谁都开干,干不过就跑)。
B,Hyper-Q。学习策略的价值而不仅仅是行动。
C,NSCP。估计其他agent将要采取行为的概率,基于此概率选择自己的行为。
④,agent-aware(一般保证收敛的算法都仅适于静态任务,适于动态的算法多为启发式,不保证收敛)(ABC为静态,DE动态)
A,AWESOME。当所有其他agent都是静态时适应他们,否则收敛到纳什均衡。
B,IGA。和WoLF-IGA都是用梯度更新规则保证收敛(类似梯度下降算法)。
C,WoLF-IGA。WoLF机制,获得好的表现时采用小的学习率,差的表现采用大的学习率。
D,WoLF-PHC。
E,EXORL。在两个代理任务中应用了互补思想:策略更新以最小化其他代理偏离其当前策略的动机的方式存在偏差。因此,鼓励收敛到协调纳什均衡。
⑤remark
A,静态算法理应被扩展到动态
B,现有动态算法并不总work(难收敛)
C,很多算法不完善的环境信息太敏感。
D,应该把单RL算法想办法迁移过来。
8,一些显式协调机制(我觉得不只是在全合作任务中才可用)
1,social conventions, roles。可以理解为一些预设的行为规则,就好比我们生活中的女士优先,最后进房间的人关门这些行为。比如在刚才的例子中,你可以设置“编号小的agent优先”规则,就可以解决谁先通过狭窄小路的问题。再对agent行为(向左,向右,直行)设置优先顺序,就可以避免agent在catch object的时候,无法协调左右的问题。
2,communication。使用方法是给agent编号,然后比如从小到大,agent1在选定自己的action之后,把自己的决策告诉其他agent,以此类推,显然,也可以解决上述2个问题。除了广播action之外,也可以广播完整的Q表、状态度量、奖励、学习参数等。
1,MARL技术主要应用于仿真领域(易于理解,环境简单,易出结果),现实中用得不多的原因是在实际情况中的任务需要可伸缩性和对不完全观测的鲁棒性。处理实际问题常用single-agent RL。
2,应用领域
①分布式控制(任何协作多智能体系统都是一个以智能体为控制器,环境为受控过程的分布式控制系统)。主要用在过程控制(系统边运作边进行控制,现实生活中例子很多,比如开车。除此之外还有前馈/反馈控制),交通信号灯控制,电网控制。
②控制机器人组。从基础的导航到复杂的踢球等。导航的技术细节包括循迹,避障(环境障碍和其他agent都要考虑)。扫地机器人,技术细节包括循迹,避障,覆盖尽可能多的环境表面(探索)。多agent协作任务:比如“捕猎”,2个agent在一起才能达成目的。对象传输,即比如2个agent把一张桌子抬到楼下。还有足球。
③自动化交易。Agent自己进行拍卖活动,可以是竞标的买,也可以是卖。比如买机票,订酒店等。通常涉及时差算法或Q-learning代理。
④资源分配。比如网络路由,电梯调度,负载均衡。性能度量包括平均作业处理时间、资源的最小等待时间、资源利用率和为客户端提供服务的公平性。(有点像操作系统和计算机网络里的东西)
1,游戏规则
1和2表示2个agent,他们俩要协作把object运到home base 的位置。只有当他们俩一左一右抓住object的时候才能使object移动。灰色是障碍物。
2,分析
显然这是一个纯合作的游戏,所以他俩的reward function可以用同一个函数。游戏难点是决定他们俩谁先通过狭窄区域;还有抓住object后走左边还是右边。
3,文中用了三种方法并且对比了他们的性能
①single-agent Q-learning②team Q-learning(代表纯合作算法)③WoLF – PHC(代表混合任务算法)
结果是他们都达到了最优的解。那么其他2个算法考虑其他agent的行为都白考虑了吗?文中提到了显式协调(人制定的协调政策)与隐式协调(机器自己学的行为,在此机制下。Agent学到一个最优解之后,就会不再考虑其他最优解。就是选择最好的之一)的概念。我个人理解是,就是白考虑了,这个问题比较简单,考虑的收益小于成本。
所以single-agent Q-learning最优。·因为性能三者相当。但是single比team有更小的Q-table。比WoLF有更简单的更新公式(包括状态转移函数和激励函数)。
1,MARL实际应用的困难
MARL技术只适合解决小问题(比如,静态博弈,方格网络),不太适合大的状态/行为空间,甚至状态/行为空间连续的现实问题。原因就是可伸缩性和对不完全观测的鲁棒性难以被满足。那么该怎么提高可伸缩性/适宜性/Scalability呢?对付小问题的MARL算法会用表格存储Q-functions and policies。对付大问题这不现实。所以提出了近似MARL算法可以近似的表示Q函数。他有打大boss的能力但是有两个缺点。第一,应用范围有限,适用的问题类型比较严格。第二,是启发式的。
所以MARL技术落地的突破口之一就是把single-agent近似RL的技术迁移到MARL中,取得性能突破。那么该怎么迁移呢?
①批处理算法在单代理近似RL中非常成功,但他是offline的,这不适合MARL问题,因为牵扯到其他的agent。所以必须是online的。
②提了2个有价值的路线上的工作(太高深我看不懂)一是Q-学习的近似变体,二是单代理近似RL的online增强版。感兴趣去原文找reference。另一类有前途的算法包括actor-critic技术,其中许多是专门用于连续状态和动作空间的。
③还有什么提高可伸缩性的方法呢。还有4点。
开发分散的模块化结构。
不完全的、不确定的状态测量可以用与部分可观测马尔可夫决策过程相关的技术来处理
向代理提供领域内先验知识,好处多多。
模型可以帮助初始化Q-function
2,MARLgoal的选择
这个提过了。就是平衡稳定性与适应性。
3,联合环境和学习动力学
就是说既要考虑到其他agent的policy的改变会让自己的最佳策略受影响。环境的改变同样可能会如此。所以要把环境和学习动力学联合起来。在这一点上鲁棒控制领域的技术可能有用。(反正你看到动力学三个字,就去控制论领域找东西准没错)
1,(结合博弈论)有人结合了时差RL和博弈论解算器来求解在动态随机博弈的每个状态下出现的静态博弈。
2,(结合进化计算)使用非线性优化技术直接探索代理行为的空间(寻找最优action)。进化多智能体学习就是这种方法的一个突出例子。其他直接优化agent行为的方法有梯度搜索[65]、概率爬山[46]以及更一般的行为修正启发式。直接优化方法的缺点是不能从RL的任务结构中获益。
nothing