参考

1、多智能体强化学习入门(一)——基础知识与博弈
2、《Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments》论文解读
3、多智能体强化学习相关论文总结归纳

简介

一个随机博弈可以看成是一个多智能体强化学习过程,在随机博弈中假定每个状态的奖励矩阵是已知的,不需要学习。而多智能体强化学习则是通过与环境的不断交互来学习每个状态的奖励值函数,再通过这些奖励值函数来学习得到最优纳什策略。

在多智能体强化学习算法中,两个主要的技术指标为合理性与收敛性。

合理性(rationality)是指在对手使用一个恒定策略的情况下,当前智能体能够学习并收敛到一个相对于对手策略的最优策略。

收敛性(convergence)是指在其他智能体也使用学习算法时,当前智能体能够学习并收敛到一个稳定的策略。通常情况下,收敛性针对系统中的所有的智能体使用相同的学习算法。

示例

定义一个2*2的网格博弈,两个智能体分别表示为 P1 和 P2 ,1的初始位置在左下角,2的初始位置在右上角,每一个智能体都想以最快的方式达到G标志的地方。从初始位置开始,每个智能体都有两个动作可以选择。只要有一个智能体达到G则游戏结束,达到G的智能体获得奖励10,奖励折扣率为0.9。虚线表示栏杆,智能体穿过栏杆的概率为0.5。该随机博弈一共包含7个状态。这个博弈的纳什均衡策略是,每个智能体到达邻居位置而不穿过栏杆。
在这里插入图片描述
在状态 s1 下采取了行动(right, left),则可以得到如下的状态值函数:
在这里插入图片描述
由 V(s1) 我们可以计算动作状态值函数:
在这里插入图片描述
最终得到的Q-Table为:
在这里插入图片描述
求解上述矩阵博弈就可得到多智能体强化学习的策略

MARL基础算法

1、Minimax-Q

Minimax-Q算法应用于两个玩家的零和随机博弈中。使用minimax方法构建线性规划来求解每个特定状态s的阶段博弈的纳什均衡策略。算法名字中的Q,指的是借用Q-learning中的TD方法来迭代学习状态值函数或动作-状态值函数。

在两个玩家的零和随机博弈中,给定一个状态s,则第i个智能体的状态值函数 V(s) 定义为:
在这里插入图片描述
其中,-i 表示智能体 i 的对手,Q(s,ai,a-i)为联合动作状态值函数。这个式子的意义是:每个智能体i 最大化在与对手-i 博弈中最差情况下的期望奖励值。在多智能体强化学习中,Q是未知的,所以借用 Q-learning 来逼近真实的Q值,再使用线性规划求解出状态s处的纳什均衡策略。算法流程如下:
在这里插入图片描述
理想情况下,算法能够对每一个状态-动作对访问无限次,则算法能够收敛到纳什均衡策略。
但是在上述算法中存在几个缺点:

  • 在第5步中需要不断求解一个线性规划,这将造成学习速度的降低,增加计算时间。
  • 为了求解第5步,智能体 i 需要知道所有智能体的动作空间,这个在分布式系统中将无法满足。
  • 只满足收敛性,不满足合理性。假设对手使用的不是纳什均衡策略,而是一个较差的策略,则当前智能体i 并不能根据对手的策略学习到一个更优的策略。即该算法无法让智能体根据对手的策略来调节优化自己的策略,而只能找到随机博弈的纳什均衡策略。
2、Nash Q-Learning

Nash Q-Learning 将 Minimax-Q 从零和博弈扩展到多人一般和博弈。该算法需要观测其他所有智能体的动作 ai 与奖励值 ri,使用二次规划求解纳什均衡点。

Nash Q-Learning 算法在合作性均衡或对抗性均衡的环境中能够收敛到纳什均衡点,其收敛性条件是,在每一个状态s的阶段博弈中,都能够找到一个全局最优点或者鞍点。算法流程如下:
在这里插入图片描述
由于 Nash Q-Learning 在第5步也要进行二次规划,所以算法的速度收到了限制。同时该算法只满足收敛性,不满足合理性。即只能收敛到纳什均衡策略,不能根据其他智能体的策略来优化调剂自身的策略。

3、Friend-or-Foe Q-Learning

Friend-or-Foe Q-Learning 算法基于 Minimax-Q算法,将应用对象从零和博弈拓展到一般和博弈问题。

对一个智能体i,将其他所有的智能体分为两组:一组为i的friend,帮助i一起最大化其奖励回报;另一组为i的foe,对抗i并降低i的奖励回报。因此对于每个智能体而言,都会存在两组智能体,一般和博弈问题也就转化为了两个智能体组的零和博弈。算法过程如下:
在这里插入图片描述
但是由于FFQ算法也需要利用线性规划,导致算法的整体学习速度较慢。

4、WoLF Policy Hill-Climbing

由于Minimax-Q、Nash Q-Learning、Friend-or-Foe Q-Learning三种算法在维护Q函数时,需要维护所有智能体的假设动作空间Ai 和状态空间S,即需要一个 SA^n 大小的空间去存储Q值。 而 WoLF-PHC 算法只用知道自己的动作来维护Q值函数,需要的空间大小为 SA。

WoLF-PHC是将“Win or Learn Fast”规则与 policy hill-climbing算法结合:

  • WolF:当智能体做的比期望值好的时候,小心缓慢的调整参数;当智能体做的比期望值差的时候,加快步伐调整参数。
  • PHC:一种单智能体在稳定环境下的一种学习算法。该算法的目标是增大能够得到最大累积期望的动作的选取概率。该算法具有合理性,能够收敛到最优策略。其算法流程如下:
    在这里插入图片描述
    为了将PHC应用于动态环境中,将WoLF与PHC算法结合,使得智能体获得的奖励在比预期差时,能够快速调整适应其他智能体策略变化,当比预期好时谨慎学习,也给其他智能体适应策略变化的时间。

WoLF-PHC算法能够收敛到纳什均衡策略,并且具备合理性,当其他智能体采用某个固定策略时,其也能收敛到目前状况下的最优策略,而不像前三种算法收敛到一个可能效果不好的纳什均衡策略处。算法流程如下:
在这里插入图片描述
算法评价:

  • 在WoLF-PHC算法中,使用一个可变的学习速率 delta
    来实现WoLF效果。当策略效果比平均值差时使用delta-l,当策略效果比平均值要好时使用delta-w,并且delta-l>delta-w。
  • WoLF-PHC算法不用观测其他智能体的策略、动作及奖励值,需要更少的空间去记录Q值。
  • WoLF-PHC算法是通过PHC算法进行学习改进策略的,所以不需要使用线性规划或者二次规划求解纳什均衡,算法速度得到了提高。

注:虽然WoLF-PHC算法在实际应用中取得了非常好的效果,并且能够收敛到最优策略。但是其收敛性在理论上一直没有得到证明。

Logo

苏州本地的技术开发者社区,在这里可以交流本地的好吃好玩的,可以交流技术,可以交流招聘等等,没啥限制。

更多推荐