08MARL深度强化学习——模型种类

2024-02-17 09:04

本文主要是介绍08MARL深度强化学习——模型种类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 1、训练与执行的模型
  • 2、Centralised Training and Execution
    • 2.1 Example——central learning
    • 2.2 局限性
  • 3、Decentralised Training and Execution
    • 3.1 Example——independent learning
    • 3.2局限性
  • 4、Centralised Training with Decentralised Execution
    • 4.1 Example——AC
    • 5、总结


前言

在RL学习的章节当中,学习了tubular的方法,其受限于只能更新访问过的状态价值,因此其并不能推断出未访问状态的价值导致算法并不能有效的评估所有状态的价值,因此我们能够训练一个神经网络来近似巨大的输入状态空间,深度强化学习就是训练一个参数化的价值函数或策略用于RL当中,后续学习是将深度强化学习应用到MARL当中,解决更加复杂的任务


1、训练与执行的模型

MARL算法能够根据训练与执行阶段利用的信息进行分类,在训练阶段每个智能体是局部可观测的,称为去中心化训练;在训练阶段能够利用所有智能体的信息,称为中心化训练;在执行阶段利用历史的局部观测,称为去中心化执行;在执行阶段利用所有智能体的全部信息,称为中心化执行

2、Centralised Training and Execution

中心化学习与执行的方法:在训练与执行阶段使用全局共享的信息,这些信息包括局部观测历史、价值函数、学习的世界模型等等,在此类方法中,明显与POSG环境相悖,因此智能体并不局限于局部可观测的信息,因此此类方法可以考虑为具有特权信息,能够获取其他智能体的全部信息

2.1 Example——central learning

中心化学习的算法便是基于此类方法的例子,中心化学习通过使用联合的历史观测序列训练一个中心化的策略将多智能体问题转化为单智能体问题

2.2 局限性

在训练过程需要将联合奖励转化为单一奖励,在一些过程中难以实现;联合动作状态空间随着智能体数量增加呈指数上升;分布的实体之间无法实时交流

3、Decentralised Training and Execution

去中心化训练与执行:在训练阶段与执行阶段是完全去中心化的,并不依赖于中心化的信息共享

3.1 Example——independent learning

独立学习算法每个智能体忽略其他智能体的存在使用单智能体RL算法训练其策略,具有拓展性、以及克服分布实体无法交流等优势

3.2局限性

无法使用所有智能体的信息进行训练;环境非平稳性造成的无法训练

4、Centralised Training with Decentralised Execution

中心化训练分散执行:在训练过程使用中心化的训练方式,而策略采用去中心化的执行方式。例如:在训练期间利用共享的局部信息更新智能体的策略,然而每个智能体的策略只利用局部的信息选择动作,该类方法组合了中心化训练与去中心化执行的优势

4.1 Example——AC

多智能体actor-critic算法:在训练期间中心化的critic利用联合观测历史训练策略能够提供更加准确的状态评估,在执行期间,利用局部的观测历史,价值函数不再需要,由策略决定采取哪个动作

5、总结

本文总结了MARL算法当中的三个基本框架:中心化训练与执行、去中心化训练与执行、中心化训练分散执行

这篇关于08MARL深度强化学习——模型种类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/717299

相关文章

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499