多智能体深度强化学习在移动边缘计算的联合多通道访问和任务卸载中的应用

多智能体深度强化学习在移动边缘计算的联合多通道访问和任务卸载中的应用

  • 主要贡献
  • 与相关工作比较的贡献
  • 三、系统模型(only 2 pages)
    • 3.1 网络模型
    • 3.2 通信模型
    • 3.3 计算模型
      • 3.3.1 本地计算
      • 3.3.2 卸载计算
  • 四、预备知识(only 1 page)
  • 五、问题阐述(only 2 pages)
    • 基于 MADDPG 的多通道访问和任务卸载
      • 关于网络的训练过程(核心算法部分)
  • 实验部分
    • 作者设计的baseline
  • 附录
    • 缩写名词
    • 符号说明
    • 实验中的超参数的设定

主要贡献

  1. 我们首次考虑了 IIoT 中 MEC 协作环境中的联合多通道访问和任务卸载。
  2. 通过多代理强化学习算法对 MTA 的协作资源分配问题进行建模。
  3. 提出的算法能够处理大型 MEC 系统,它可以从历史观察中渐进地找到最优策略,而不需要系统动力学的优先级。
  4. 我们选择一个可以使其他MTA的信道增益算术平均值最大的MTA来存储全局经验重放缓冲区,减少相互通信的开销。

与相关工作比较的贡献

Although there have been some excellent works on multichannel access and task offloading in MEC, but none of them join the two issues in multiagent environment in which the cooperation between devices needs to be considered.
In this article, we first apply a multiagent reinforcement learning scheme to design multichannel access and offloading control in MEC to make MTAs learn to cooperate.
As far as we know, our proposed method is the first study and implementation of MARL in the field of IIoT.

三、系统模型(only 2 pages)

分为网络模型,通信模型,计算模型三个部分进行叙述。

3.1 网络模型

作为一种新型的网络范式,SDN允许直接的可编程的网络控制。
SDN通过分离控制层和数据层使基础设施对用户透明。 SDN 允许支持将计算和存储功能引入边缘网络设备所需的控制功能,从而使云服务更接近最终用户。由于网络控制器都是软件定义的,便于设计新的网络功能和软件接口。
如图 1 所示,在自上而下的视图中,我们提出的网络架构由四层组成:1)应用层; 2)控制层; 3)数据层; 4) ED 层(也就是edge层)。

在这里插入图片描述

  1. Application Layer: The application layer has a series of cloud service applications consisting of a bundle of application systems. The goal of the network design is to implement and execute these Web applications.
  2. Control Layer: In this layer, the SDN controller is responsible for the centralized management of data layer devices and edge computing servers. The controller receives requests from the application layer through the northbound API. These advanced commands are compiled by the controller and converted into low-level OpenFlow messages which is a network communication protocol dedicated to SDN for forwarding to the switch and implementing functionality there. Finally, the SDN controller allocates and adjusts spectrum resources in the network based on different functional or network requirements (e.g., resource allocation and task calculation). 也就是说,application 层通过控制层来控制下面得数据层和边缘计算设备。
  3. Data Layer: The data transmission layer includes switches, wireless access points, and gateways. All nodes can be controlled by receiving OpenFlow commands from the control layer through the southbound interface, eg. the computation decisions in our proposed task offloading algorithm.
    注意,数据传输层包含了交换机,无线访问节点和网关。
  4. Edge Device Layer: EDs consist of a variety of basic equipments, including smart car, sensors portable devices, robots, cameras, etc. Each device is considered an agent, and we consider a set of MTA, which is denoted as N ={1, 2,…,N}.

3.2 通信模型

在这里插入图片描述

为了更好地利用频谱资源,节省带宽,避免信道拥塞,我们考虑D2D通信。作为2LTE通信技术的补充,D2D通信可以在不经过基站(BS)的情况下实现两个设备之间短距离的直接链接,从而降低传输功率和重复利用频谱。我们考虑根据渠道情况选择 MTA 管理员,记为 aadmin。其余的 MTA 可以直接通过 D2D 通信从 MTA 管理员上传或下载历史信息(观察和行动)。

选择aadmin的方法使用[40]中提出的“A-means”方案,它可以最大化对其他MTA的信道增益的算术平均值
在这里插入图片描述
其中 gai,aj 表示 D2D 通信中从 MTAi 到 MTAj 的信道增益

作为说明,图 2 显示了最小网络单元的细节。在最小网络中,有 N 个 MTA 和一个 MEC Server。 MTA 通过 D2D 链接将其经验回放缓冲区 D i l D_i^l Dil (本地观察和操作)上传到 a a d m i n a_{admin} aadmin。 MTA 还可以从 a a d m i n a_{admin} aadmin 下载 全局经验回放缓冲区 D 以训练它的网络。

MTA更新其策略后,根据当前策略选择在本地计算任务或通过M2M链路将任务卸载到MEC服务器,并处于观察状态。最小网络的频谱被划分为K个通道,记为集合K = {1, 2, …, K}。MTA将在每个时隙决定是否将任务卸载到MEC服务器并选择用于无线通信的信道。每个信道的带宽表示为 B a i , k B_{{a_i},k} Bai,k。当MTAi选择将计算卸载到MEC服务器并接入通道k时,上行速率表示为:
在这里插入图片描述
where g a i , k g_{{a_i},k} gai,k is the channel gain of MTAi to channel k and obeys a Gaussian distribution with zero mean and unit variance σ 2 σ^2 σ2 which is the system noise power.
Each channel has two states, which can be expressed as s k ( t ) ∈ 0 , 1 s_k(t) ∈{0, 1} sk(t)0,1, which means {free, busy}, respectively. When the channel is transmitting a task, the channel will be occupied and the status will change to be busy. In addtion, the connection establishment time is relatively short, and we only consider the transmission time.

3.3 计算模型

在本文的设定中,计算任务是原子的并且不可以被进一步分割。

3.3.1 本地计算

在这里插入图片描述
分子是计算任务需要的时钟周期数,分母是计算能力。

3.3.2 卸载计算

在这里插入图片描述
在这里插入图片描述
其实就是数据传输量除以数据传输的能力。
在这里插入图片描述

最终的计算延迟的表述为:
在这里插入图片描述

四、预备知识(only 1 page)

五、问题阐述(only 2 pages)

在多智能体问题中,像 DQN 这样的传统强化学习算法存在障碍。最重要的原因是在训练过程中,对于每一个agent来说,其他agent都是环境的一部分,其他agent的变化会使环境变得不稳定,这就打破了Q-learning算法所需要的马尔可夫假设。因此,DQN 在多智能体环境中不容易收敛。在本节中,我们考虑 IIoT 中 MEC 的多通道访问和任务卸载问题。然后,我们提出了一种基于 MADDPG 的算法,如算法 1 所示,应用于我们的问题,以便 MTA 可以学习合作策略并提高系统效率。

奖励分为两个部分 the channel quality reward 和 time difference reward for the MTAi

the channel quality reward
当MTA将计算任务卸载给MEC服务器时,考虑到多通道访问问题,MTA会根据当前策略选择一个最优通道。如果MTA选择的频道是空闲的,则表示传输成功,奖励设置为+1。如果通道忙,则表示传输失败,奖励设置为-1。
在这里插入图片描述

time difference reward for the MTAi
We take the time difference between the local computation delay and the currently obtained delay as part of the reward, which means that the delay reward will be 0 when the MTA process computing tasks locally.
在这里插入图片描述
在这里插入图片描述
It can be seen that the reward will be 0 if the MTA decides to calculate task locally at one time slot, and we use this as a comparison item. MTA will get a positive reward if the MTA obtains a lower delay than the local calculation. Otherwise, a negative reward will be obtained. Then, the total reward at time slot t is the sum of the reward all MTAs have obtained, which is denoted as
在这里插入图片描述

基于 MADDPG 的多通道访问和任务卸载

在这里插入图片描述

行动者网络:图 4 描述了应动者网络的细节。对于每个MTA,actor网络的输入是它的状态,表示为si(t),然后通过带有ReLU激活层的两层全连接网络。最后,输出层节点的数量是所有可能动作的数量(即K + 1,包括卸载到MEC服务器并在本地计算时的K个通道选择)。输出层经过一层softmax,输出的每个值代表对应动作的概率。最终的输出动作是根据输出概率随机选择的,输出动作用长度为K+1的one-hot向量表示。one-hot是一种将离散特征的值扩展到欧空间的编码方式,使机器更容易处理数据。然后,one-hot vector 可以转换为特定的通道选择 au(t) 和设备选择 ac(t)。为了避免陷入局部最优,我们还将探索概率固定为0.05来输出随机动作。
在这里插入图片描述

评论家网络:图5描述了评论家网络的细节。评论家网络比演员网络简单。它由两个全连接的网络隐藏层和一个单节点的输出层组成。激活函数为ReLU。图5所示。评论家网络模型。评论家网络的输入是所有mta的状态s和动作a,输出是q值。q值可记为Qπ (st, at)。

在这里插入图片描述

关于网络的训练过程(核心算法部分)

在每个时隙开始时,每个MTA都会从全局经验回放缓冲区D中采样S个随机样本的minibatch。将minibatch输入到critic网络后,将得到长度为S的Q值向量。演员网络可以用采样梯度更新,表示为
在这里插入图片描述

此外,在训练网络时,actor 网络需要本地信息(即每个 MTA 本身的状态)和 critic 网络输出的 Q 值, 而 critic 网络需要有关所有 MTA 的信息。训练完成后,执行阶段只需要actor网络,每个MTA可以根据自己的状态信息做出最优动作。

实验部分

下面的actor-critic算法假设每一个MTA并不知道其他MTA的信息。
在这里插入图片描述

作者设计的baseline

此外,为了提供基线,我们设计了贪心策略。我们假设在贪心策略下所有通道的状态都是已知的。在每个时间段,如果任务成功卸载到 MEC 服务器,MTA 会计算奖励。如果reward大于0且有空闲通道可用,则任务会通过随机空闲通道卸载到服务器,否则任务会在本地计算。显然,由于缺少其他MTA 的信息,当空闲信道的数量远小于将向服务器卸载任务的MTA 的数量时,将导致信道拥塞。 该策略虽然不能达到全局最优,但可以代表单智能体算法在多智能体环境下所能获得的理论上的最优结果。

附录

缩写名词

mobileedge computing (MEC)
the industrial Internet of Things (IIoT) 工业互联网
machine-type agent (MTA)
unmanned aerial vehicles (UAVs) 无人驾驶飞行器

符号说明

在这里插入图片描述

实验中的超参数的设定

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/10385.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud-Gateway网关搭建整合nacos配置中心实现动态路由整合sentinel实现服务限流熔点降级

官方文档(更多配置详情直接查看官方文档) 为什么需要服务网关 传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调…

安全防御 --- 恶意代码、防病毒

一、恶意代码 1、按照传播方式分类 (1)病毒 概念:病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地&#xff0…

MySQL库的操作

文章目录:创建数据库字符集和校验规则查看系统默认字符集和校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响操作数据库查看数据库显示创建语句修改数据库删除数据库数据库的备份和还原表的备份和还原查看连接情况创建数据库 …

数据库基础

文章目录前言一、什么是数据库二、主流数据库三、基本使用1.连接服务器2.服务器,数据库,表关系3.使用案例4.数据逻辑存储四、MySQL架构五、SQL分类六、存储引擎1.存储引擎2.查看存储引擎3.存储引擎对比总结前言 正文开始!!! 一、什么是数据库 存储数据用文件就可以了,为什么还…

【并发编程】AQS源码

ReentrantLock 互斥锁,可重入 AQS是可以支持互斥锁和共享锁的,这里只分析互斥锁的源码 加锁 公平锁和非公平锁 公平锁 final void lock() {acquire(1); //抢占1把锁.}// AQS里面的方法public final void acquire(int arg) { if (!tryAcquire(arg) &&acq…

IP协议(网络层重点协议)

目录 一、IP协议报头格式 二、地址选择 1、IP地址 (1)格式 (2)组成 (3)分类 (4)子网掩码 三、路由选择 IP协议是网络层的协议,它主要完成两个方面的任务&#xf…

redis基础(6.0)数据结构、事务、常用组件等

1 概述 1.1 redis介绍 Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、 简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。…

车载网络 - Autosar网络管理 - 常用缩写

为了方便大家日常工作中的使用和交流,每块专业规范或者文章中,都会有或多或少的缩写使用,然而如果一段时间没使用,经常会忘记这些缩写到底代表的是什么意思,为了方便后续内容的介绍,也为了我自己后面忘记后…

做自动化测试时所谓的“难点”

这篇关于自动化测试的文章,可能和你看到的大多数自动化的文章有所不同。我不是一位专职的自动化测试工程师,没有开发过自动化的工具或者框架,用的自动化的工具也不多,也没有做过开发,所以我讲不出那些现在很多人很看重…

JavaScript【一】JavaScript变量与数据类型

文章目录🌟前言🌟变量🌟 变量是什么?🌟 变量提升🌟 声明变量🌟 JavaScript有三种声明方式🌟 命名规范🌟 注意🌟数据类型以及运算🌟 检测变量数据类…

数据智能服务商奇点云完成近亿元C2轮融资

奇点云集团宣布已于2022年底完成近亿元C2轮融资,余杭国投领投,中银渤海基金跟投。 截至目前,奇点云共获近3亿元C轮融资。C轮领投方包括泰康人寿(旗下泰康资产执行)、余杭国投,跟投方包括字节跳动、德同资本…

app抓包实战

文章目录一、抓包原理二、常用应用场景三、过滤四、重发五、修改请求六、断点(BreakPoint)一、抓包原理 二、常用应用场景 解决移动端接口测试 解决接口测试过程中检查传参错误问题 mock测试(虚拟的对象代替正常的数据、后端接口没有开发完成…

QML控件--DialogButtonBox

文章目录一、控件基本信息二、控件使用三、属性成员四、附加属性成员五、成员函数六、信号一、控件基本信息 Import Statement:import QtQuick.Controls 2.14 Since:Qt 5.8 Inherits:Container 二、控件使用 DialogButtonBox:是…

攻防世界-web-easyupload

题目描述:一名合格的黑客眼中,所有的上传点都是开发者留下的后门 很简单的一个上传图片的界面。 我们先正常上传一个图片,从提示信息中可以看出我们是上传到了uploads目录下 然后通过bupsuite抓包修改请求,将文件名修改为1.php&a…

Java垃圾回收机制GC完全指南,让你彻底理解JVM运行原理

1、GC过程 1)先判断对象是否存活(是否是垃圾) 可以通过引用计数算法和可达性分析算法来判断,由于引用计数算法无法解决循环引用的问题,所以目前使用的都是可达性分析算法 2)再遍历并回收对象(回收垃圾) 可以通过垃圾收集器&…

三、Locust任务(task)详解

当一个负载测试开始时,将为每个模拟用户创建一个用户类的实例,他们将在自己的绿色线程中开始运行。当这些用户运行时,他们会选择执行的任务,睡眠一段时间,然后选择一个新的任务,如此循环。 这些任务是正常…

什么是自动化测试?自动化测试现状怎么样?

什么是自动化测试:其实自动化测试,就是让我们写一段程序去测试另一段程序是否正常的过程,自动化测试可以更加省力的替代一部分的手动操作。 现在自动化测试的现状,也是所有学习者关心的,但现在国内公司主要是以功能测…

Flash Linux to eMMC

实验目的:从eMMC启动Linux系统 Step1:确定eMMC被挂在哪个设备 哪个设备含有boot0分区和boot1分区,就是eMMC。实验中是位于mmcblk1上。 rootam64xx-evm:~# ls -l /dev/mmcblk* brw-rw---- 1 root disk 179, 0 Feb 27 13:25 /dev/mmcblk0 brw-rw---- …

10 kafka生产者发送消息的原理

1.发送原理: 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到…

【机器学习】P10 从头到尾实现一个线性回归案例

这里写自定义目录标题(1)导入数据(2)画出城市人口与利润图(3)计算损失值(4)计算梯度下降(5)开始训练(6)画出训练好的模型(…