多智能体强化学习:合作关系设定下的多智能体强化学习

article/2025/8/22 17:19:20

0 前言

        在多智能体系统中,一个智能体未必能观测到全局状态 S。设第 i 号智能体有一个局部观测O^i,它是S的一部分。
        
        我们假设所有的局部观测的总和构成了全局状态

 1 合作关系设定下的策略学习

        MARL 中的 完全合作关系 (Fully-Cooperative) 意思是所有智能体的利益是一致的,它们具有相同的奖励
因此,所有的智能体都有 相同的回报

 

         因为价值函数是回报的期望,所以所有的智能体都有相同的(状态/动作)价值函数Q_\pi(S,A)V_\pi(S)

        注意Q_\pi(S,A)V_\pi(S)依赖于所有智能体的策略:

         如果做策略学习(即学习策略网络参数\theta^1, \cdots,\theta^m),那么所有智能体都有一个共同目标函数:

         所有智能体的目的是一致的,即改进自己的策略网络参数\theta^i,使得目标函数 J 增大。那么策略学习可以写作这样的优化问题:

         注意,只有“完全合作关系”这种设定下,所有智能体才会有共同的目标函数,其原因在于

        对于其它设定——“竞争关系”、“混合关系”、“利己主义”—— 智能体的目标函数是各不相同的
合作关系设定下的策略学习的原理很简单,即让智能体各自做策略梯度上升,使得目标函数 J 增长。

 

 判断策略学习收敛的标准是目标函数 不再增长。。

在实践中,当平均回报不再增长,即可终止算法。

由于无法直接计算策略梯度\nabla _{\theta^i} J ,我们需要对其做近似。

合作设定下的多智能体 A2C

强化学习笔记:带基线的策略梯度_UQI-LIUWJ的博客-CSDN博客

“完全合作关系”设定下的多智能体 A2C 方法 (Multi-Agent Cooperative A2C) ,缩写 MAC-A2C

 2.1 策略网络和价值网络

本章只考虑离散控制问题,即动作空间 \mathcal{A}^1,\mathcal{A}^2,\cdots,\mathcal{A}^m 都是离散集合。
MAC-A2C 使用 两类神经网络 :价值网络 v 与策略网络 π
所有智能体共用一个价值网络 ,记作 v ( s ; w ),它是对状态价值函数V_\pi(s)的近似。 它把所有观测 s=[o^1,\cdots,o^m]作为输入,并输出一个实数,作为对状态 s 的评分。
每个智能体有自己的策略网络。 把第 i 号策略网络记作\pi(a^i|s;\theta^i)。它的输入是所有智能体的观测 s=[o^1,\cdots,o^m]。它的输出是一个向量,表示动作空间 \mathcal{A}^i 上的概率分布。

2.1.1 训练价值网络

我们用 TD 算法训练价值网络 v(s; w)。观测到状态s_t,s_{t+1}和奖励 rt,计算 TD 目标:

定义损失函数:

上述 TD 算法与单智能体 A2C 的 TD算法完全一样。

2.1.2 训练策略网络

 把基线设置为状态价值:b=V_\pi(s),然后定义

 这是策略梯度的无偏估计:

 此时我们还不知道Q_\pi, V_\pi

和A2C强化学习笔记:带基线的策略梯度_UQI-LIUWJ的博客-CSDN博客类似,我们把Q_\pi(s_t,a_t)近似成r_t+\gamma v(s_{t+1};w),把V_\pi(s_t)近似成v(s_t;w)

于是近似策略梯度g^i(s_t,a_t;\theta^i)可以进一步近似成

3 整体训练流程 

实际实现的时候,应当使用目标网络缓解自举造成的偏差。
目标网络记作 v(s;w^-),它的结构与 v 相同,但是参数不同。
设当前价值网络和目标网络的参数分别是w_{now},w_{now}^-

设当前 m 个策略网络的参数分别是 \theta_{now}^1,\cdots,\theta_{now}^m
MAC-A2C 重复下面的步骤更新参数:

 MAC-A2C 属于同策略 (On-policy),不能使用经验回放。

4  决策与控制

 在完成训练之后,不再需要价值网络 v(s; w)。每个智能体可以用它自己的策略网络做决策。

在时刻 t 观测到全局状态s_t=[o_t^1,\cdots,o_t^m],然后做随机抽样得到动作

注意, 智能体并不能独立做决策 ,因为一个智能体的策略网络需要知道其他所有智能体的观测。

 5 实现中的难点

MARL 的常见设定下,第 i 号智能体只知道自己的观测值 o^i ,而观测不到全局状态:

但是全局状态在多智能体A2C中又是必须的:
  • 每个智能体有自己的策略网络 \pi(a^i|s;\theta^i),可以用它做决策。但是它的决策需要全局状态 s
  • 训练的过程中,价值网络 v(s; w) 需要知道全局状态 s 才能计算 TD 误差 与梯
  • 训练的过程中,每个策略网络都需要知道全局状态s来计算梯度
所以, 如果智能体之间不交换信息,那么智能体既无法做训练,也无法做决策。
要做训练和决策,有两种可行的途径:
  • 一种办法是让智能体共享观测。这需要做通信,每个智能体把自己的o^i传输给其他智能体
    • 这样每个智能体都有全局的状态
  • 另一种办法是对策略网络和价值函数做近似。通常使用\pi(a^i|o^i;\theta^i)替代\pi(a^i|s;\theta^i)甚至可以进一步用v(o^i;w^i) 代替 v(s; w)

但是他们都是有不足之处的:

  • 共享观测的缺点在于通信会让训练和决策的速度变慢。
  • 而做近似的缺点在于不完全信息 造成训练不收敛、做出错误决策。

6 三种实现架构

6.1 中心化训练+中心化决策

本小节用完全中心化 (Fully Centralized) 的方式实现 MAC-A2C ,没有做任何近似。
这种实现的缺点在于通信造成延时,使得训练和决策速度变慢。

         最上面是中央控制器 (Central Controller),里面部署了价值网络 v(s; w) 与所有 m 个策略网络        训练和决策全部由中央控制器完成。智能体负责与环境交互,执行中央控制器的决策a^i并把观测到的o^i汇报给中央控制器。如果智能体观测到奖励 r^i,也发给中央控制器。

6.1.1 中心化训练

在时刻 t t + 1,中央控制器收集到所有智能体的观测值

 在“完全合作关系”的设定下,所有智能体有相同的奖励:


r_t可以是中央控制器直接从环境中观测到的,也可能是所有智能体本地的奖励 \tilde{r}_t^i的加和:

 决策是中央控制器上的策略网络做出的,中央控制器因此知道所有的动作:

——> 中央控制器知道

——> 因此,中央控制器有足够的信息训练 MAC-A2C,更新价值网络的参数 w 和策略网络的参数

\theta^1,\cdots,\theta^m 【训练方法见第三小节】

6.1.2 中心化决策

        在 t 时刻,中央控制器收集到所有智能体的观测值s_t=[o_t^1,\cdots,o_t^m],然后用中央控制器上部署的策略网络做决策:
        中央控制器把决策 a_t^i传达给第 i 号智能体,该智能体执行a_t^i。综上所述,智能体只需要执行中央下达的决策,而不需要自己“思考”。

6.1.3 完全中心化的优缺点

中心化训练 + 中心化决策的 优点 在于完全按照 MAC-A2C 的算法实现,没有做任何改动,因此可以确保正确性。
基于全局的观测 s_t=[o_t^1,\cdots,o_t^m]做中心化的决策, 利用完整的信息,因此作出的决策可以更好。

中心化训练和决策的 缺点 在于延迟 (Latency) 很大,影响训练和决策的速度。
在中心化执行的框架下,智能体与中央控制器要做通信。
i 号智能体要把 o_t^i传输给中央控制器,而控制器要在收集到所有观测 [s_t=[o_t^1,\cdots,o_t^m]
后才会做决策,做出的决策 a_t^i还得传输给第 i 号智能体。
这个过程通常比较慢,使得实时决策不可能做到。
机器人、无人车、无人机等应用都需要实时决策,比如在几十毫秒内做出决策;如果出现几百毫秒、甚至几秒的延迟,可能会造成灾难性的后果。

 

6.2 去中心化训练+去中心化决策

“中心化训练 + 中心化决策”严格按照 MAC-A2C 的算法实现,其缺点 在于训练和决策都需要智能体与中央控制器之间通信,造成训练的决策的速度慢。

想要避免通信代价,就不得不对策略网络和价值网络做近似。

MAC-A2C 中的策略网络

 和价值网络 v(s; w) 都需要全局的观测s_t=[o_t^1,\cdots,o_t^m]

“去中心化训练 + 去中心化决 策”的基本思想是用局部观测o_t^i代替 s,把策略网络和价值网络近似成为:

 

在每个智能体上部署一个策略网络和一个价值网络,它们的参数记作 \theta^j w^j
智能体之间不共享参数\theta^i \ne \theta^j, w^i \ne w^j
这样一来,训练就可以在智能体本地完成,无需中央控制器的参与,无需任何通信。

 6.2.1  去中心化训练

        假设所有智能体的奖励都是相同的,而且每个智能体都能观测到奖励 r
        每个智能体独立做训练,智能体之间不做通信,不共享观测、动作、参数。
        这样一 来, MAC-A2C 就变成了标准的 A2C ,每个智能体独立学习自己的参数 \theta^j w^j

        实际实现的时候,每个智能体还需要一个目标网络,记作v(s;w^{i-}),它的结构与v(s;w^i)相同,但是参数不同。

        设第 i 号智能体的策略网络、价值网络、目标网络当前参数分别为

\theta_{now}^i,w_{now}^i,w_{now}^{i-}。该智能体重复以下步骤更新参数:

 

不难发现,上面的这一套训练流程和单智能体的A2C类似。

去中心化训练的本质就是单智能体强化学习 (SARL) ,而非多智能体强化学习 (MARL)
MARL 中,智能体之间会相互影响,而本节中的“去中心化训练”把智能体视为独立个体,忽视它们之间的关联,直接 用 SARL 方法独立训练每个智能体。
用上述 SARL 的方法解决 MARL 问题, 在实践中效果往往不佳

6.2.2 去中心化决策

完成训练后,智能体只需要用其本地部署的策略网络\pi(a^i|o^i;\theta^i)做决策即可,决策过程无需通信。

去中心化执行的速度很快,可以做到实时决策。

6.3 中心化训练+去中心化决策

  •  前面小两节讨论了完全中心化与完全去中心化,两种实现各有优缺点。当前更流行的MARL 架构是“中心化训练 + 去中心化决策”。
    • 训练的时候使用中央控制器,辅助智能体做训练;见图 15.7
    • 训练结束之后,不再需要中央控制器,每个智能体独立根据本地观测o^i做决策;见图 15.8

 

         本小节与“完全中心化”使用相同的价值网络 v(s; w) 及其目标网络v(s;w^{i})

        本小节与“完全去中心化”使用相同的策略网络:

         

        第 i 号策略网络的输入是局部观测 o^i,因此可以将其部署到第 i 号智能体上。

        价值网络 v(s; w) 的输入是全局状态s_t=[o_t^1,\cdots,o_t^m],因此需要将其部署到中央控制器上。

6.3.1 中心化训练

        训练的过程需要所有 m 个智能体共同参与,共同改进策略网络参数\theta^1,\cdots,\theta^m与价值网络参数 w

        设当前 m 个策略网络的参数为\theta_{now}^1,\cdots,\theta_{now}^m
        设当前价值网络和目标网络的参数分别是w_{now},w_{now}^-。训练的流程如下:

 

(和去6.2中心化训练类似) 

和6.1中心化训练类似 

(和去6.2中心化训练类似) 

6.3.2 去中心化决策 

     在完成训练之后,不再需要价值网络 v ( s ; w)。智能体只需要用本地部署的策略网络 \pi(a^i|o^i;\theta^i)
做决策,决策过程无需通信。去中心化执行的速度很快, 可以做到实时决策。

 


http://chatgpt.dhexx.cn/article/H5TJnLMO.shtml

相关文章

强化学习基础

https://www.toutiao.com/a6641864763305361927/ 2019-01-02 19:47:27 内容目录: 一、强化学习的成功 二、概念和基础 2.1设计强化学习系统 2.2人工智能环境类型 三、问题公式化 3.1数学公式 3.2马尔可夫决策过程 3.3价值函数 四、RL训练术语 4.1基于模型…

强化学习基础05——gym

OpenAI gym OpenAI gym是强化学习最常用的标准库,如果研究强化学习,肯定会用到gym。 gym有几大类控制问题,第一种是经典控制问题,比如cart pole和pendulum。 Cart pole要求给小车一个左右的力,移动小车,让他们的杆子…

联邦强化学习

本博客地址:https://security.blog.csdn.net/article/details/123710121 一、联邦强化学习介绍 强化学习(RL)是机器学习的一个分支,主要研究序列决策问题,强化学习系统通常由一个动态环境和与环境进行交互的一个或多…

初探强化学习(7)基于模型的强化学习的应用综述

本文是直接翻译一篇文章的,我先把原文地址放在这里。 原文名字为:Survey of Model-Based Reinforcement Learning: Applications on Robotics 这是一个2017年的论文 1. Introduction 强化学习(Regulation Learning,RL&#xff0…

强化学习常见案例

文章目录 1. 有趣的强化学习视频1.1 小红小蓝捉迷藏1.2 红球绿球1.3 OpenAI机器人跑步1.4 OpenAI赛艇游戏(CoastRunners) 2.可以交互操作的游戏2.1 GridWorld2.2 Puck world 入门强化学习的时候,看到许多教程都给了很多强化学习的例子&#x…

多任务深度强化学习入门

理论概述 多任务深度强化学习,英文Multi-Task Deep Reinforcement Learning ,简称MTDRL或MTRL。于MARL不同,它可以是单智能体多任务的情况,也可以是多智能体多任务的情况。 现在的深度强化学习领域虽然在很多特定任务上有着超越…

初探强化学习(11)Dyna类型的强化学习

为什么研究Dyna类型的强化学习呢? 主要是因为这个类型的强化学习是融合了model-based和model free两个类型的强化学习。 主要参考的博客是这个。说实话,我也是时隔三天后,第三次看了这个博客才彻底明白的。至于为什么名师,是因为我…

强化学习笔记:强化学习的约束

1 所需的样本数量过大 深度强化学习一个严重的问题在于需要巨大的样本量。举个例子,玩Atari游戏 图 19.17 中纵轴是算法的分数与 人类分数的比值, 100% 表示达到人类玩家的水准。 图中横轴是收集到的游戏帧数,即样本数量。 Rainbow DQN 需…

强化学习的模型

文章目录 前言一、强化学习是什么?二、基本模型1.基本框架2.学习过程 三.马尔科夫决策过程(Markov Decision Process. MDP)1.马尔科夫性质2.MDP的基本组成部分3.MDP的基本流程 四、基于模型和免模型的强化学习1.模型2.基于模型的强化学习&…

深度强化学习调研

深度强化学习(DRL) (一)强化学习 强化学习(Reinforcement Learning,简称RL)是机器学习领域的一个研究热点,当前已经广泛应用于工业制造、仿真模拟、机器人控制、优化与调度、游戏博…

强化学习总结

强化学习 一、强化学习概述 1.强化学习简介 强化学习最早可以追溯到早期控制论以及统计、心理学、神经科学、计算机科学等学科的一些研究。在最近的五到十年中,强化学习在机器学习和人工智能研究者中得到了大量的关注,它描绘了一种在不进行具体指导的情…

强化学习介绍

文章目录 1 什么是强化学习?2 强化学习的特征与特点3 强化学习的要素与框架3.1 Policy3.2 Reward3.3 Value3.4 model3.5 Return(cumulative future reward) 回报|未来累积回报3.6 Discounted return 折扣回报 4 强化学习流程5 例子 马里奥 (一定要看&…

强化学习(Q-learning)

强化学习RF简介 强化学习是机器学习中的一种重要类型,一个其中特工通过 执行操作并查看查询查询结果来学习如何在环境中表现行为。 机器学习算法可以分为3种:有监督学习(Supervised Learning)、无监督学习(Unsupervi…

强化学习简介

强化学习简介 强化学习(Reinforcement Learning,RL)是机器学习中的一个领域,是学习做什么(即如何把当前的情景映射成动作)才能使得数值化的收益最大化,学习者不会被告知应该采取什么动作,而是必须自己通过尝试去发现哪…

强化学习(一):简介——什么是强化学习?

本文将介绍强化学习的基本含义,了解什么是强化学习、强化学习的概念与基本框架以及强化学习中常见的问题类型。 什么是强化学习? 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习&#xff0c…

机器学习算法(三十):强化学习(Reinforcement Learning)

目录 1 简介 1.1 什么是强化学习 1.2 强化学习的主要特点 1.3 强化学习的组成部分 2 强化学习训练过程 3 强化学习算法归类 3.1 Value Based 3.2 Policy Based 3.3 Actor-Critic 3.4 其他分类 4 EE(Explore & Exploit)探索与利用 5 强化…

强化学习入门这一篇就够了!!!万字长文

强化学习 强化学习入门这一篇就够了万字长文带你明明白白学习强化学习... 强化学习入门这一篇就够了 强化学习前言一、概率统计知识回顾1.1 随机变量和观测值1.2 概率密度函数1.3 期望1.4 随机抽样 二、强化学习的专业术语2.1 State and action2.2 policy-策略2.3 reward2.4 状…

关于gensim的一些使用记录

NLP神器 Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 支持包括TF-IDF,潜在语义分析(Latent Semantic Analysis,LSA),潜狄利克…

gensim官方文档实践笔记

中文文档比机翻还颠三倒四, 所以还是自己记录一下, 顺便加一些注解. 目录 文档document 语料库Corpus 语料库作用 语料库预处理 词汇编号 向量Vector 方法1: 特征向量(vector of features) 方法2: doc2bow 模型Model 语料库和向量空间 字符串转向量 语料库流Corpu…

gensim安装

输入以下命令即可: pip install gensim -i http://pypi.douban.com/simple --trusted-host pypi.douban.com以下是过程: 尝试1:直接在anaconda3上面搜索出来安装 速度太慢,失败 尝试2:更换pip源,如下所示…