| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 人工智能 -> 多智能体强化学习之MADDPG -> 正文阅读 |
|
|
[人工智能]多智能体强化学习之MADDPG |
|
论文原文:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments 论文翻译:MADDPG翻译 阅读本文需要强化学习基础,可以参考我前面的文章:多智能体强化学习入门 关于MADDPG强化学习算法的基础DDPG的可以查看我的文章:强化学习实践教学 对于MADDPG推荐的博客有:探秘多智能体强化学习-MADDPG算法原理及简单实现,里面包含代码实现。 github代码(基于Tensorflow):https://github.com/princewen/tensorflow_practice/tree/master/RL/Basic-MADDPG-Demo MADDPG算法是单智能体算法DDPG在多智能体环境下的改进。其中最核心的差别就是,每个Agent的Critic部分都能够获取所有Agent的动作信息,进行中心化训练和非中心化执行。即在训练的时候,引入可以观察全局的critic来指导actor训练,而测试的时候只使用有局部观测的actor采取行动。off-line采用中心化训练,on-line采用非中心化执行,on-line与off-line的共同点就是actor,即只需要利用观测到的局部信息。 下面以两个智能体的情况为例: p 1 ( s ′ ∣ s , a 1 ) = ∑ a 2 ∈ A p ( s ′ ∣ s , a 1 , a 2 ) π 2 ( a 2 ∣ s ) p_1(s' |s ,a_1) = \sum_{a_2 \in A} p(s' |s,a_1,a_2) \pi_2 (a_2| s) p1?(s′∣s,a1?)=a2?∈A∑?p(s′∣s,a1?,a2?)π2?(a2?∣s) 根据论文描述,算法在以下约束条件下运行:(1)学习的策略只能在执行时只能使用本地信息(即它们自己的观察结果),(2)与[24]不同,我们无需知道环境的可微分动力学模型(3)我们对智能体之间的通信方法不做任何结构上的假设(即,我们不假设一个可区分的通信渠道)。 一旦满足上述要求,那么将产生一个通用的多智能体学习算法,不仅可以应用于具有明确通信渠道的合作博弈,还可以应用竞争性博弈和只涉及主体之间物理交互的博弈。 论文中三个改进是:
代码
上面是模型部分的代码,actor部分相对于DDPG没有变化,Critic部分只需要加入其它智能体的动作作为输入即可。
在Loss计算上可以看到依旧遵循DDPG的方法。Critic的估计值尽量靠近预测值,actor尽量使得Critic的估计值越大越好。
在经验池储存上,MADDPG不但要储存自身的可观察的状态信息,还要储存的是其它智能体的可观测状态信息。同时储存自身和他人的动作信息。以及每个智能体的下一个状态。 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/25 5:01:08- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |