文章目录
前言
本文总结《深度强化学习》中的多智能体强化学习相关章节,如有错误,欢迎指出。
多智能体系统的设定
多智能体系统包含有多个智能体,多个智能体共享环境,智能体之间相互影响。一个智能体的动作会改变环境状态,从而影响其他智能体。
多智能体之间存在四种常见的关系
- 完全合作关系:多个智能体之间的目标一致,做出动作后获得的奖励相同。
- 完全竞争关系:某个智能体获得收益会导致某些的智能体亏损。
- 合作竞争的混合:多个智能体之间分成多组,组内智能体的利益一致,各个组之间处于竞争关系,例如《王者荣耀》。
- 利己主义:一个智能体的动作会改变环境,从而使得别的智能体受益或者受损,这种关系看起来像是完全竞争关系的子集。
多智能体系统下,需要对强化学习的一些术语进行再定义:
- 奖励:多智能体之间的关系不同,会导致环境给予的奖励不同。若多个智能体之间是合作关系,则多个智能体从环境中获得的奖励相同。若多个智能体之间是竞争关系,则某个智能体从环境中获得正向奖励会导致某个智能体获得负向奖励。第个智能体在时刻获得的奖励由状态和所有智能体的动作决定。
- 动作价值函数:由于一个智能体执行的动作会影响到其余智能体,因此多智能体系统中第个智能体的动作价值函数既依赖于当前的状态(可以是单个智能体看到环境状态,也可以是多个智能体看到的环境状态),也依赖于所有智能体的动作(也依赖于所有智能体的策略)
- 状态价值函数:状态价值函数是动作价值函数关于动作的期望,而智能体执行的动作依赖于策略函数,因此第个智能体的状态价值函数也依赖于所有智能体的策略。
在多智能体系统中,单个智能体的状态价值函数和动作价值函数都受到其余智能体的影响。
合作关系设定下的多智能体系统
在多智能体的设定下,单个智能体未必能观测全局状态。设第个智能体观测到的状态为,则可以假设所有智能体观测到的局部状态总和为全局状态,即
在合作关系下,多个智能体从环境中获得奖励是相同的。设第个智能体获得的奖励为,则有
此外,每个智能体各自的动作价值函数和状态价值函数都依赖于所有智能体的策略函数。
策略学习的目标函数
合作关系下的多智能体策略学习算法MAC-A2C
由于多个智能体的目标相同,从环境中获得的奖励相同,因此多个智能体共享一个价值网络,该价值网络输入的状态为,其中表示第个智能体观测到的状态。价值网络的输出为对状态的评分。
每个智能体都有自己的策略网络,第个智能体的策略网络记为。由于多个智能体之间是合作关系,因此策略网络的输入状态为,其中表示第个智能体观测到的状态。
具体的训练流程为:
非合作关系下的多智能体策略学习算法MAC-A2C
多个智能体在合作关系下具有共同的目标,因此可以共用一个价值网络。而非合作关系下,多个智能体具有的目标各不相同,因此每个智能体都有与之对应的策略网络和价值网络。设第个智能体观测到的状态为,的策略网络为、价值网络为,其中为所有智能体观测到的状态总和,即。
MAC-A2C的训练流程如下图,注意与合作关系下的多智能强化学习不同,非合作关系下不同智能体从环境中获得的奖励不同。
上述训练流程,策略网络做一次推断,需要同步一次个智能体观测到的状态,这种同步过程非常耗时。在实际场景中,可以使用中心化训练+去中心化决策的trick,这个过程可以浏览上一个章节。
纳什均衡
在非合作关系下,智能体之间的利益不同,某个智能体取得较大的状态价值函数值,可能导致另外一个智能体取得较小的状态价值函数值,那么该如何判断算法是否收敛呢?在非合作关系下,判断算法是否收敛的标准为纳什均衡。具体而言,在多智能体系统中,当其余所有智能体都不改变策略的情况下,一个智能体单独改变策略,无法让其期望回报变大(策略梯度为0),即智能体无法找到比当前策略更优的策略(无法通过梯度更新参数),这种平衡状态即纳什均衡。
文章出处登录后可见!