多智能体强化学习入门(二)——基础算法(MiniMax-Q,NashQ,FFQ,WoLF-PHC)

论文阅读|Nash Q-Learning for General-Sum Stochastic Games基于强化学习的多智能体研究(附代码) 本文研究的是将Q-learning应用到竞争的多智能体中(多智能体的关系包括竞争、合作、竞争与合作--超市老板与顾客),整体基于广义随机博弈的游戏框架。每个智能体通过联合动作共同维护Q函数,并基于对当前Q值假设的Nash均衡行为来更新,可证明其是收敛的,附有代码。 阅读详情

转载:https://zhuanlan.zhihu.com/p/53563792

一、引言

上一篇文章介绍,一个随机博弈可以看成是一个多智能体强化学习过程。其实这两个概念不能完全等价,随机博弈中假定每个状态的奖励矩阵是已知的,不需要学习。而多智能体强化学习则是通过与环境的不断交互来学习每个状态的奖励值函数,再通过这些奖励值函数来学习得到最优纳什策略。通常情况下,模型的转移概率以及奖励函数为止,因此需要利用到Q-learning中的方法来不断逼近状态值函数或动作-状态值函数。

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

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

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

针对应用来分,多智能体强化学习算法可分为零和博弈算法与一般和博弈算法。

本文主要介绍四种多智能体强化学习算法,主要介绍每种算法的应用特性与应用公式,具体的收敛性证明后面每个算法单开一章讲。

二、Minimax-Q算法

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

在两玩家零和随机博弈中,给定一个状态s,则定义第i个智能体的状态值函数为

V_i^*(s)=\max_{\pi_i(s,\cdot)}\min_{a_{-i}\in A_{-i}}\sum_{a_i\in A_i}Q_i^*(s,a_i,a_{-i})\pi_i(s,a_i),i=1,2

-i 表示智能体 i 的对手。 Q_i^*(s,a_i,a_{-i}) 为联结动作状态值函数,若 Q_i^*(\cdot) 已知,我们可以直接用线性规划求解出状态s处的纳什均衡策略。但是在多智能体强化学习中, Q_i^*(\cdot) 是未知的,所以借用Q-learning中优秀的TD来更新逼近真实的 Q_i(s,a_i,a_{-1}) 值。整个算法流程如下

理想情况,如果算法能够对每一个状态-动作对访问无限次,那么该算法能够收敛到纳什均衡策略。但是在上述算法中存在几个缺点:

  1. 在第5步中需要不断求解一个线性规划,这将造成学习速度的降低,增加计算时间。
  2. 为了求解第5步,智能体 i 需要知道所有智能体的动作空间,这个在分布式系统中将无法满足。
  3. 只满足收敛性,不满足合理性。Minimax-Q算法能够找到多智能体强化学习的纳什均衡策略,但是假设对手使用的不是纳什均衡策略,而是一个较差的策略,则当前智能体并不能根据对手的策略学习到一个更优的策略。该算法无法让智能体根据对手的策略来调节优化自己的策略,而只能找到随机博弈的纳什均衡策略。这是由于Minimax-Q算法是一个对手独立算法(opponent-independent algorithm),不论对手策略是怎么样的,都收敛到该博弈的纳什均衡策略。就算对手采用一个非常弱的策略,当前智能体也不能学习到一个比纳什均衡策略更好的策略。

三、Nash Q-Learning算法

Nash Q-Learning算法是将Minimax-Q算法从零和博弈扩展到多人一般和博弈的算法。在Minimax-Q算法中需要通过Minimax线性规划求解阶段博弈的纳什均衡点,拓展到Nash Q-Learning算法就是使用二次规划求解纳什均衡点,具体求解方法后面单独开一章讲解。Nash Q-Learning算法在合作性均衡或对抗性均衡的环境中能够收敛到纳什均衡点,其收敛性条件是,在每一个状态s的阶段博弈中,都能够找到一个全局最优点或者鞍点,只有满足这个条件,Nash Q-Learning算法才能够收敛。与Minimax-Q算法相同,Nash Q-Learning算法求解二次规划的过程也非常耗时,降低了算法的学习速度。其算法流程如下:

该算法需要观测其他所有智能体的动作 a_i 与奖励值 r_i 。并且与Minimax-Q算法一样,只满足收敛性,不满足合理性。只能收敛到纳什均衡策略,不能根据其他智能体的策略来优化调剂自身的策略。

四、Friend-or-Foe Q-Learning算法

Friend-or-Foe Q-Learning(FFQ)算法也是从Minimax-Q算法拓展而来。为了能够处理一般和博弈,FFQ算法对一个智能体i,将其他所有智能体分为两组,一组为i的friend帮助i一起最大化其奖励回报,另一组为i的foe对抗i并降低i的奖励回报,因此对每个智能体而言都有两组。这样一个n智能体的一般和博弈就转化为了一个两智能体的零和博弈。其纳什均衡策略求解方法如下所示

\begin{aligned} V_i(s)=\max_{\pi_1(s,\cdot),\cdots,\pi_{n_1}(s,\cdot)}\min_{o_1,\cdots, o_{n_2}\in O_1\times\cdots\times O_{n_2}}\sum_{a_1,\cdots,a_{n_1}\in A_1\times\cdots\times A_{n_1}}\\ Q_i(s,a_1,\cdots,a_{n_1},o_1,\cdots, o_{n_2})\pi_1(s,a_1),\cdots,\pi_{n_1}(s,a_{n_1}) \end{aligned}

算法流程如下:

有一种利用Minimax-Q算法进行多人博弈方法为,两队零和博弈,将所有智能体分成两个小组进行零和博弈。两队零和博弈中每一组有一个leader才控制这一队智能体的所有策略,获取的奖励值也是这一个小组的整体奖励值。

FFQ算法没有team learder,每个人选择自己动作学习自己的策略获得自己的奖励值,但是为了更新 Q 值,每个智能体需要在每一步观测其他所有friend与foe的执行动作。

FFQ与Minimax-Q算法一样都需要利用线性规划,因此算法整体学习速度会变慢。

五、WoLF Policy Hill-Climbing算法

上述的三种方法都需要在学习过程中维护Q函数,假设动作空间 A_i 与状态空间 S 都是离散,假设每个智能体的动作空间相同,则对于每一个智能体都需要有一个 |S|\cdot|A|^n 大小的空间来存储Q值,因此上述三种方法所需空间非常大。

为了解决上述问题,我们期望每个智能体只用知道自己的动作来维护Q值函数,这样空间就降到了 |S|\cdot|A| 。WoLF-PHC就是这样的算法,每个智能体只用保存自己的动作来完成学习任务。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\gt\delta_w 。还有一个优势是,WoLF-PHC算法不用观测其他智能体的策略、动作及奖励值,需要更少的空间去记录Q值,并且WoLF-PHC算法是通过PHC算法进行学习改进策略的,所以不需要使用线性规划或者二次规划求解纳什均衡,算法速度得到了提高。虽然WoLF-PHC算法在实际应用中取得了非常好的效果,并且能够收敛到最优策略。但是其收敛性在理论上一直没有得到证明。其算法流程如下所示:

 

最后:还有很多基础算法后序慢慢补,并且经典的收敛性证明后序也会补上。

多代理强化学习MARL(MADDPG,Minimax-Q,Nash Q-Learning) 由于强化学习领域目前还有很多的问题,如数据利用率,收敛,调参玄学等,对于单个Agent的训练就已经很难了。但是在实际生活中单一代理所能做的事情还是太少了,而且按照群体的智慧,不考虑训练硬件和时长问题,使用多个agent同时进行学习,会不会有奇招呢?另外如果在需要multi-agent的场景下,如想要完成多人游戏的话,也必须要考虑到多代理的问题。 博弈论(game theory) 在单个agent... 阅读详情

相关推荐

强化学习|多智能体深度强化学习(博弈论—>多智能体强化学习)

1 简介 近年来,AlphaGo代表的“决策智能备受关注”,即将来临的物联网时代,群体决策智能将成为另一个研究重点。 说到群体决策智能,就免不了提及博弈论。博弈论研究的是多个智能体的理性决策问题。它定义了动作、收益等博弈的基本概念,侧重分析理性智能体的博弈结果,即均衡。 然而,在很多现实问题中,博弈的状态空间和动作空间都很大,智能体的绝对理性很难实现,智能体往往处在不断的策略学习过程中。近年来兴起的多智能强化学习主要研究智能体策略的同步学习和演化问题。 ...

太剧烈的快乐与太剧烈的悲哀是有相同之点的——同样地需要远离人群! 1万+

读书笔记:多智能体机器学习(二)

文章目录双人矩阵博弈学习Nash均衡求解Nash均衡线性规划梯度上升算法 Gradient Ascent AlgorithmWoLF-IGA (win or learn fast-policy) 算法the policy hill climbing (PHC) algorithmWoLF-PHC算法多人随机博弈极大极小Q学习算法 Minimax-Q AlgorithmNash Q学习算法Friend-or-Foe Q-Learning 双人矩阵博弈学习 Nash均衡 猜硬币 囚徒困境 剪刀-石头

鱼塘 815

强化学习 之 多智能体(Multi-Agent)强化学习

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

Test_tju的博客 2万+

Nash Q-Learning算法

Nash Q-Learning算法

2403_87188256的博客 1987

多智能体深度强化学习的主要困难_多智能体强化学习入门(六)——MFMARL算法(Mean Field Multi-Agent RL)...

一、引言Mean Field Multi-Agent Reinforcement Learning(MFMARL) 是伦敦大学学院(UCL)计算机科学系教授汪军提出的一个多智能体强化学习算法。主要致力于极大规模的多智能体强化学习问题,解决大规模智能体之间的交互及计算困难。由于多智能体强化学习问题不仅有环境交互问题,还有智能体之间的动态影响,因此为了得到最优策略,每个智能体都需要考察其他智能体的动作...

weixin_39952031的博客 1385

多选取值_多智能体强化学习入门(六)——MFMARL算法(Mean Field Multi-Agent RL)...

一、引言Mean Field Multi-Agent Reinforcement Learning(MFMARL) 是伦敦大学学院(UCL)计算机科学系教授汪军提出的一个多智能体强化学习算法。主要致力于极大规模的多智能体强化学习问题,解决大规模智能体之间的交互及计算困难。由于多智能体强化学习问题不仅有环境交互问题,还有智能体之间的动态影响,因此为了得到最优策略,每个智能体都需要考察其他智能体的动作...

weixin_39778447的博客 874

多智能体强化学习系列 - 开贰锤 ECKai

多智能体强化学习入门(九)——注意力图网络的多智能体博弈

yuzhounh的专栏 351

48、区块链赋能的智能物联网资源交易与多智能体强化学习

本文研究区块链赋能的工业物联网(IIoT)中云服务提供商与矿工之间的资源交易问题,采用Stackelberg博弈建模,并引入多智能体强化学习算法WoLF-PHC求解。通过效用函数定义和优化问题构建,验证了纳什均衡的存在性,并设计了基于Q学习的策略更新机制。实验结果表明,该方法在不同矿工数量下均具有良好的收敛性和收益分配合理性,为IIoT环境下的动态资源交易提供了可行的智能化解决方案。

i0j1k2l3m的博客 70

多智能体强化学习_多智能体强化学习入门(三)——矩阵博弈中的分布式学习算法...

相关连接:ECKai:多智能体强化学习入门(一)——基础知识与博弈​zhuanlan.zhihu.comECKai:多智能体强化学习入门(二)——基础算法(MiniMax-Q,NashQ,FFQ,WoLF-PHC)​zhuanlan.zhihu.comECKai:多智能体强化学习入门(三)——矩阵博弈中的分布式学习算法​zhuanlan.zhihu.comECKai:多智能体强化学习入门(四)——...

weixin_40001245的博客 1110

实现MiniMax算法

对于最大化玩家,它会选择子节点中的最大值作为最佳决策的值;对于最小化玩家,它会选择子节点中的最小值作为最佳决策的值。最终,算法返回最佳决策的值。在MiniMax算法中,存在两个角色:最大化玩家(Maximizer)和最小化玩家(Minimizer)。最大化玩家的目标是找到最大化得分的决策,而最小化玩家的目标是找到最小化得分的决策。MiniMax算法是一种用于决策制定的人工智能算法,特别适用于回合制游戏和博弈论。在本文中,我将为您介绍如何使用Java编写MiniMax算法,并提供相应的源代码。

DevRevolt的博客 475

RL基础——Q-learning及其变体

作者为RL初学者,学习到Q-learning时查阅了该算法的资料并进行整合,得到简易笔记如下。参考链接已在笔记后列出。后续可能会继续整理多智能体Q-learning笔记。文档pdf附在最后,如需自取。

lalala___lalala的博客 164

【深度强化学习】多智能体算法汇总

本文收纳了常见的多智能体强化学习方法,并简单介绍各个算法。

见见大魔王 1万+

Nash解matlab代码-multiCriteriaDimReduction:减少多准则维度并适用于公平性的代码

纳什解matlab代码multiCriteriaDimReduction 此仓库包含论文“多标准降维及其对公平性的应用”的代码。 .py文件包含用于以下目的的辅助方法: 预处理数据 标准PCA并计算公平性的几个实用标准 解决SDP 对某些类型的目标函数使用乘性权重更新方法 其他辅助方法 每个Jupyter笔记本都展示了如何对每个数据集(信贷和收入数据)应用一种PCA策略(公平的基于SDP的PCA与标准PCA)。 MW笔记本实施MW(乘积权重更新),而不是将SDP求解器用于公平的基于SDP的PCA。 要使用,我们建议打开一台Jupyter笔记本并运行它。 我们建议打开以下任一方法: SDP_credit.ipynb 'additional-heuristics'文件夹中的heuristics.ipynb 您可以检查数据格式并查看示例用法,然后将其应用于自己的数据集。 有关用法的更多详细信息,每种方法(MW,基于SDP的公平PCA,std_PCA等)在相应的.py文件中都有用法的文档,包括期望作为输入和输出的内容。 “符号”小节还提供了变量名和关键字的快速说明。 文件 可在上找到NeurI

Minimax-Q算法

Minimax-Q算法

2403_87188256的博客 1038

reward-sharing-nash-q:改进的Nash Q学习,解决不公平的多主体游戏

奖励分享纳什Q学习 改进的Nash Q学习,解决不公平的多主体游戏 运行培训python3 src/main.py --config=nash_q_learning --env-config=gridmaze

保姆级教程:用GEE(Google Earth Engine)复现CASA模型计算NPP,附完整数据集清单与Python代码

本文提供了一份详细的保姆级教程,指导如何使用GEE(Google Earth Engine)复现CASA模型计算NPP(净初级生产力)。教程涵盖环境准备、关键数据集获取与处理、Python代码实现全流程,以及结果验证与常见问题解决方案,帮助生态学研究者高效完成NPP计算。

weixin_28707365的博客 334

《多智能体学习:强化学习方法》——代码实现

文章目录Nash-QLearning智能体创建一个矩阵环境策略训练Minimax-QLearning¶WoLF-PHC(Policy hill-climbing algorithm) Nash-QLearning 论文:Nash Q-learning for general-sum stochastic games 链接:http://www.jmlr.org/papers/volume4/hu0...

qq_44852767的博客 8738

避开LLC环路设计三大坑:从K因子法看谐振频率选择与相位裕度优化

本文深入剖析LLC谐振变换器环路设计中易犯的三大误区,重点阐述如何运用K因子法优化谐振频率选择与相位裕度。文章通过实际案例,解析了工作区域选择、右半平面零点规避及补偿器相位基准等关键问题,为工程师提供了一套系统性的稳定环路设计方法,确保电源在动态负载下可靠工作。

qsc9012345的博客 262

多智能体强化学习_多智能体强化学习综述-Lucian Busoniu

Multi-Agent Reinforcement Learning: A Survey, Lucian Busoniu Robert Babuska Bart De Schutter,2006这篇文章对多智能体强化学习(MARL)的背景,目的,代表性的算法进行了调研。多智能强化学习算法分类图下图。1. 背景知识(Backgrounds)A. 单智能体强化学习谈多智能体强化学习,首先需要有一般强化...

weixin_39652154的博客 1727

【嵌入式Linux驱动开发】二十四、Linux I2C 驱动上手尝试

  人的前程关于眼界、关乎格局。   志之所趋,无远弗届,穷山复海不能限也;   志之所向,无坚不入,锐兵精甲不能御也。 一、I2C驱动框架简介   Linux内核将 I2C 驱动分为两部分: ①、 I2C 总线驱动, I2C 总线驱动就是 SOC 的 I2C 控制器驱动,也叫做 I2C 适配器驱动。 ②、 I2C 设备驱动, I2C 设备驱动就是针对具体的 I2C 设备而编写的驱动。 1....

悟已往之不谏 知来者之可追 1068

【第2章>第10节】深度学习DenseNet模型分析与matlab仿真

本文介绍了基于DenseNet深度学习模型的图像分类MATLAB实现方法。主要内容包括:1. DenseNet模型原理,详细解析了初始卷积层、密集块、过渡层等核心结构;2. 在MATLAB环境下完成DenseNet工具箱安装和测试样本准备;3. 实现图像预处理(统一缩放为224×224)、模型训练和测试的完整流程;4. 提供了混淆矩阵和准确率等测试结果分析。文章附带完整的MATLAB程序代码和操作视频教程,适合深度学习初学者快速掌握DenseNet模型的图像分类应用。通过实际测试,验证了该方案的有效性。

FPGA/MATLAB学习教程/源码/项目合作开发 330
上一篇: texstudio统计字数
下一篇: 多智能体强化学习入门(三)——矩阵博弈中的分布式学习算法
MC数据局
MC数据局 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄17年 4万+粉丝 840原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值