当前位置: 首页 > news >正文

网站建设助手 西部数码内蒙古城乡建设网站换名字了

网站建设助手 西部数码,内蒙古城乡建设网站换名字了,南昌网站建设索王道下拉,行业网站排名【学习之路】Multi Agent Reiforcement Learning框架与代码 Introduction 国庆期间,有个客户找我写个代码,是强化学习相关的,但我没学过,心里那是一个慌,不过好在经过详细的调研以及自身的实力,最后还是解…

【学习之路】Multi Agent Reiforcement Learning框架与代码

Introduction

国庆期间,有个客户找我写个代码,是强化学习相关的,但我没学过,心里那是一个慌,不过好在经过详细的调研以及自身的实力,最后还是解决了这个问题。

强化学习的代码也是第一次接触,在这个过程中也大概了解了多agent强化学习的大致流程,因此记录这次代码和文章学习的过程还是十分有必要的。

要完成的文章是:Flexible Formation Control Using Hausdorff Distance: A Multi-agent Reinforcement Learning Approach,该文章没有开源。

以下均为个人简介,如有不当,还请见谅。

Timeline

  • 从目标文章中查找类似文章,最好是开源的
    • Decentralized Multi-agent Formation Control via Deep Reinforcement Learning:这篇文章有算法的基本流程
    • Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments:这篇文章是目标文章所使用仿真环境的出处
  • 查找多agent强化学习的开源代码
    • Multi-Agent-Deep-Deterministic-Policy-Gradients:这是Multi-Agent Actor-Critic这篇文章里面所提方法代码的pytorch版本,官方是tensorflow写的
    • Reinforcement_Learning_Swarm:这篇没有利用框架,但通过它可以较好地理解整个流程
    • multiagent-particle-envs:这是算法的仿真环境,同时也相当于一个框架
  • 学习这些代码,推荐先学习没有利用框架的,也就是第二篇,然后看用框架写的

Code Note

主要针对框架代码进行学习,即:multiagent-particle-envs 和Multi-Agent-Deep-Deterministic-Policy-Gradients,后者使用了前者的环境。

整体流程

首先介绍一下训练的整体流程,方便更好的理解:

  • 创建多agent的环境
  • 实现强化学习的模型M(actor-critic模型)
  • 确定相关参数:迭代次数,学习率等
  • 循环
    • 重置环境获得当前的observation
    • 根据observation输入到M中的actor网络(这部分不作讲解),得到action
    • 根据action更新当前的state,获得reward,更新的observation
    • 将这些state存入memory
    • 每隔一定迭代次数,从memory里面采样一些state,输入到模型M里面,从而对M进行训练

环境代码

该项目下代码以及文件夹的功能如下:

在这里插入图片描述
下面主要介绍enviroment文件下一些函数的作用。

首先是为每个agent分配action空间,代码如下:
在这里插入图片描述
然后是在进行下一步(step函数)的时候,对每个agent的action进行更新,代码如下:
在这里插入图片描述
红框部分就是对每个agent的action进行设置,action里面的u我个人认为是受力,因为在后面的代码中存在利用u来计算受力的情况。

得到action后,利用action对state进行更新,该部分的代码在core.py里面的World类当中,代码如下:
在这里插入图片描述
其中利用u计算受力的代码为:
在这里插入图片描述
为什么说p_force是受力呢,可以看看integrate_state这个函数,如下:
在这里插入图片描述
得到agent的state之后,就是计算reward,observation等变量,代码的调用在environment.py下:

在这里插入图片描述
从make_env.py文件里面可以看出,这些函数的相关实现在scenarios文件下的py文件里面:
在这里插入图片描述

接下来看这些函数是怎么实现的,以simle_spread.py文件为例:

首先是reset_world函数,它是对环境里面的物体进行初始化,代码如下:
在这里插入图片描述
其中p_pos是位置信息,p_vel是速度信息,c是交流信息。

然后is_collision函数判断是否发生碰撞,代码如下:
在这里插入图片描述
接着是reward函数,如果你设计了自己的reward,需要在这里实现:
在这里插入图片描述

最后是observation函数,如果你有自己的设计,也要在这里实现:
在这里插入图片描述

了解了以上这些,对于一个简单的多agent强化学习的情况你也能够实现了。

http://www.yayakq.cn/news/12765/

相关文章:

  • 深圳哪个招聘网站好单位建设一个网站的费用
  • 网站后台购买网站发布与推广计划
  • 怎么查看网站点击量2021年十大购物网站排名
  • 网站开发专业网站项目建设流程和项目方案
  • 网站免费空间哪里申请海外网是什么媒体
  • 建设个人商城网站网页设计与制作实训报告制作内容
  • 安徽淮北做网站的公司有哪些免费学习资源网站
  • 福州建设人才市场网站旅游网站模板psd
  • 可以用什么网站做mc官方阿里云云主机做网站
  • 做网站私活在哪接如何在本地安装wordpress
  • 做网站要准备呼市做开发网站的公司
  • wap类网站网络科技公司帮高校建设网站
  • 我注册了哪些网站吗公司网站建设的视频教程
  • 兰州网站推广建设源码网站php
  • 建行信用卡网站官网入口有没有专门做布料的网站
  • 万户建站要服务网站建设
  • 静态网站后台wordpress 账号插件
  • 凡科建站登录入口企业网站优化策略
  • 金华专业网站制作公司厦门seo推广外包
  • 网站开发进度报告海报设计在线生成免费
  • 某网站优化方案国际新闻今天
  • 建设平台网站协议阿里云的网站建设好不好
  • 基于wed的网站开发南昌地宝网租房信息
  • 北京网站建设推广服务信息中英文网站源码 免费
  • 小程序如何做外部连接网站培训网站建设
  • 新建设电影院+网站wordpress 批量插件
  • 宁波网站的建设太原市网站建设
  • 万网空间存放两个网站电子商务网站建设的首要问题
  • 附近建网站公司做网站怎么跟客户谈话
  • 公司网站的具体步骤做网站公司不给源码