The Conclusion of UAV-AoI-RL and Other Methods

PAPER 1: 《AoI-Energy-Aware UAV-Assisted Data Collection for IoT Networks: A Deep Reinforcement Learning Method》
写这篇博客的目的是为了了解UAV在RL中应用都有哪些成果和可以做的点,总结一下规律,找到文章之间的共性,为下一篇文章做好准备。之后看的UAV相关的论文有时间都会在这里总结一下,希望对大家有帮助。
Note:在看了多篇相关论文后需要做的事情,总结所有Agent做出的 动作
发表于IEEE INTERNET OF THINGS JOURNAL, VOL. 8, NO. 24, DECEMBER 15, 2021
大纲:

  • PAPER 1概述
  • 文章为什么能发?即创新体现在哪里?
  • 系统模型:通信模型 and AoI模型
  • 问题建立
  • 引用说明
  • MDP
  • TD3算法
  • 复杂度分析
  • 仿真验证
  • 可加入到自己论文的部分(一些写作上的亮点)

The Conclusion of UAV-AoI-RL and Other Methods_第1张图片

从标题可以得知的信息:这篇文章的场景是UAV作为主体,收集物联网中设备的信息,优化目标是AoI和Energy,使用的方法是RL。我通读完全文,作者并没有考虑同时接收sensors进行数据传输的干扰,而传感器的选择一般是作为一个调度变量(0-1),虽然文中有用 I m t I_m^{t} Imt这个0-1变量来表示m-th sensor是否被调度,但其实sensors的选择是根据UAV的覆盖范围来的,在动作中也没有对这个0-1变量进行处理,只是作为一个约束放到了目标函数下面,在文中设置20m内可以感知到这个 subareas内的sensors,那么这个区域内的每一个sensor就会向UAV传输自己的数据,更新其AoI。作者还加入了一个HTP(hovering traveling process)的概念,这里后面再做讨论。

一句话概述:Sun考虑了一个无人机辅助的IoTD信息收集场景,并考虑联合最小化IoTDs的AoI和能量以及无人机推进消耗的能量,作者设置了悬停和飞行两个阶段,分别执行信息采集和信息分发两个步骤,其中UAV作为采集信息的中继将收集的信息转发给基站,并在基站处更新IoTD是的信息年龄。

文章的创新之处在于

  1. 模型 的角度来说,作者在无人机信息收集的场景下,联合考虑了IoTDs的AoI和能量消耗,在INTRODUCTION中也分两部分来介绍了相关工作,一是AoI感知的无人机辅助的IoT信息收集场景,一是能量感知的无人机辅助的信息收集场景,作者指出,将这两个方面结合起来进行讨论是具有意义的,虽然已经由部分工作在无人机能量消耗和最小AoI之间取得一个权衡这个领域做了一些贡献,但是使用RL算法的关键是看Agent的动作的设置,在这篇文章中, UAV作为一个单智能体,只有三个动作: < l t , θ t , V t > <lt,θt,Vt>,分别为飞行距离飞行角度飞行速度
    作者提出将无人机的飞行速度作为一个优化变量,其原因是在IoT采集信息的场景中,选择悬停采集点会影响sensors的传输速率进而影响系统的AoI大小,所以无人机飞的快慢是有说法的。其次,虽然文中有最优的带宽分配,但是在文中只花了很小的篇幅进行描述,动作中也没有体现,所以这不是文章的重点,给人的感觉是拿出来说一下,说明我模型考虑了,但是作为动作加入MDP中,可能很难处理(做不出来),所以放弃了。
  2. 算法 的角度来说,凡是使用RL的,都会拿传统的启发式算法来比较一下,比较的角度一般都是从信道状态是否已知?环境是否是动态的?一些论文考虑的信道信息假设是已知的,而我们使用RL当然都是假设未知信道信息了,这样进行模型更加贴合实际,难度当然也更大,所以使用RL是有道理的!
    引用文中如下:

    Most works applied complex optimization solutions, evolutionary algorithms, or heuristic approaches to the trajectory optimization problem, but the disadvantage is that the location and channel information are supposed to be known. This may not be suitable for the dynamic and unpredictable environment and the continuous optimizing process.

其实通读全文感觉模型并不是十分复杂,优化目标再复杂,涉及到的东西再多,看MDP中的动作也就是只是关于无人机自身的属性相关,无非是每一个优化变量或许是连续的或许是离散的?所以处理起来有些困难,所以这篇文章使用的方法是基于策略的TD3,DDPG的加强版,和DQN之类相比完全是另一个家族,在动作的处理上更占优势,我一般都是使用基于值的DQN家族算法,缺点是动作空间变大,那么模型的收敛就十分十分困难,所以这一块知识有计划的要补习一下。

模型简单,从图就可以明白整个过程,下面是系统模型的建模,包括信道模型(G2A, A2G信道传输速率),AoI模型(AoI是怎么更新的),最后根据这个模型是如何得到一个具体的优化目标的。

  • A. Communication Model
    这应该是一个经典的UAV环境的信道模型,因为我不止再一篇文章中看到了相同的信道模型,无非是描述形式变了下。
    具体也很简单,可以看文章,这里直接省略,重点突出两个信道的传输速率
    G2A(Ground to Air)
    R m t = b m l o g 2 ( 1 + p m t ∣ h m t ∣ 2 δ 2 ) R_m^{t}=b_{m}log_{2}(1+\frac{p_m^{t}|h_m^{t}|^{2}}{\delta^2}) Rmt=bmlog2(1+δ2pmthmt2)
    同理,A2G link transmission rate
    R u a v t = b u a v l o g 2 ( 1 + p u a v t ∣ h u a v t ∣ 2 δ 2 ) R_{uav}^{t}=b_{uav}log_{2}(1+\frac{p_uav^{t}|h_uav^{t}|^{2}}{\delta^2}) Ruavt=buavlog2(1+δ2puavthuavt2)

这里很重要的一点:G2A link是没有相互干扰的,也就是信息收集的过程是同时处理多个地面sensors的, 但是文章直接假设使用的正交信道,所以信道中只有高斯噪声,这一点显然是为了简化模型做出的改变。而A2G因为只有一个UAV一个BS,所以没有干扰可以理解。

进而容易得到上传data的传输延时
D u p , t = m a x m ∈ M { I m t x m R m t } D_{up,t}=max_{m\in \mathcal{M}\{I_m^{t} \frac{x_m}{R_m^{t}} \}} Dup,t=maxmM{ImtRmtxm}
可以看出,上传延时取决于耗时最长的哪一个IoTD需要的时间,其他早已更新到UAV的IoTD的AoI同步增加这么多的时间(因为所有调度的sensor是同步进行传输的)。
这里的 I m t I_m^{t} Imt是一个 0-1变量,表示第m个IoTD是否在当前HTP t 被调度 到,这个0-1变量只是一个显示的,让读者便于理解的0-1变量,因为Action中没有涉及到IoTDs设备的调度子动作,所以这也不是重点。
同理,卸载latency有,
D o f f , t = ∑ m ∈ M x m R u a v t D_{off,t}=\frac{\sum_{m\in \mathcal{M}}x_m}{R_{uav}^{t}} Doff,t=RuavtmMxm
需要将UAV当前采集点收集到的所有数据卸载到基站, x m x_m xm指第m个IoTD的数据包的大小。

  • B. Age of information Model
    这一小节介绍在基站处的AoI是如何更新的,需要注意,AoI虽然是在UAV中接收,但是最后会被卸载到基站,采集过程和卸载到BS过程分别在hovering phase 和 traveling phase 完成。作者还绘制了一张AoI更新的示意图,解释了在当前场景中IoTD的AoI是如何进行更新的。简单解释一下,从 A 0 开 始 , 基 站 处 记 录 的 某 一 个 I o T D 的 A o I A_{0}开始,基站处记录的某一个IoTD的AoI A0IoTDAoI,知道 τ 1 \tau_1 τ1UAV采集了该IoTD的信息,经过了 Δ 1 \Delta_1 Δ1采集完毕基站成功在 τ 2 \tau_2 τ2接收到了该IoTD的信息,所以该IoTD的AoI更新为 Δ 1 \Delta_1 Δ1,之后重复这个步骤。
    The Conclusion of UAV-AoI-RL and Other Methods_第2张图片
    由以上的延时之类的信息,可以给出AoI更新策略如下,

在这里插入图片描述
如果IoTD m在HTP t 被调度了,那么其AoI更新为上传的时间(取决于最大上传时间)加上飞行的延迟, D f l y , t D^{fly,t} Dfly,t表示从最新的一个采集点到另一采集点所需的飞行时间,也就是traveling phase持续的时间。
假设该UAV一次调度了3个IoTDs,其中最大延迟为5s,此时所有IoTDs的AoI在基站处都是5s(假设刚开始时),接着UAV从该spot飞到下一个spot,飞行时间假设为7s,那么岂不是所有同时调度的IoTDs的AoI都更新为了12s??
因为 D u p , t D^{up,t} Dup,t每一个IoTD都相等,文中飞行时间的描述也是从一个spot飞到下一个spot的固定时间,至少在这一个阶段UAV得到了它的速度角度飞行距离是固定的,它携带的3个IoTDs的AoI也应该是固定的,除非飞行时间是固定的,其实对于AoI的更新策略我有一些疑问,文中是这样解释的
在这里插入图片描述
主要原因是文章给出了卸载时间,但是在AoI更新策略中又没有用上,我的理解是这样的:同一批IoTDs同时采样到UAV后,此时有着相同的AoI,卸载时间定义为同时卸载所有IoTDs的时间,那这样同批IoTDs的AOI还是一样的,和给出的更新公式唯一的区别在于更新的IoTDs的AoI减小了,因为 D o f f , t ≤ D f l y , t D^{off,t}\leq D^{fly,t} Doff,tDfly,t,可能文中为了简单计算,同一规定为飞行时间???
最后给出系统所有IoTDs的平均AoI计算公式
在这里插入图片描述

  • C部分是能量消耗模型,这里不再叙述了,因为我不打算做这个。
  • D.Problem Formulation
    本节建立的目标函数如下
    在这里插入图片描述

优化目标转化为了一个效用函数,加入负号使目标上界为0,优化目标为
The Conclusion of UAV-AoI-RL and Other Methods_第3张图片

分别为速度,水平和垂直移动距离约束,这是针对UAV的,智能体需要做出有界的动作,c3 c4分别是带宽分配约束和最大调度IoTDs 的数量约束。


  • 到这里,整个模型以及优化目标的建立已经完成了,后面文章介绍了两个引理
    在这里插入图片描述
    在这里插入图片描述
    为什么提出这两个引理?
    引理1是为了制定一个作者想要表述的规则,即UAV需要在一个飞行环(图示转一圈)服务完所有IoTDs,因为如果不这样做的话,漏掉的IoTD要等到下一次到达更新,其AoI会积累很大很大,所以出于最小化AoI的目标,这一次飞行周转不漏一个IoTDs是最佳策略。
    The Conclusion of UAV-AoI-RL and Other Methods_第4张图片
    引理2提出,当所有IoTDs的传输延时相等时,将会得到最小的AoI,并且可以得到最优的带宽分配,带宽的分配截止到这里,后面应该就没有再详细介绍了,实话说这段有点不太理解为什么给出这个引理。

下面介绍最最重要的MDP
具体设置如下
在这里插入图片描述
The Conclusion of UAV-AoI-RL and Other Methods_第5张图片
其实看起来很简单,RL难的是如何用代码实现,如何只有寥寥几句,在代码中的实现转换肯定是十分复杂的。
动作部分前面已经介绍了,奖励中添加了两个辅助reward,目的是为了满足全部IoTDs调度的要求,对应引理1,和防止UAV一直徘徊在一个spot不动的情形出现,所以这两个h是精髓。

接着,作者将策略分解为了以动作为中心的策略,
The Conclusion of UAV-AoI-RL and Other Methods_第6张图片
我想了一下,为什么这么分解,首先要明确策略是动作到状态的映射,这个映射才是一个完整的策略,完整的策略包括一个完整的动作,分解为三个动作的策略,那么子策略的映射包括的就是单个子动作,策略的寻找就转换为了找到一个完整的包含所有动作的策略到找到三个子动作的策略,这样让整个策略更加清晰了。

  • 算法部分:TD3
    算法使用的TD3,这个算法也算是久有耳闻了,但是没有仔细了解过,看论文也是一知半解,还是要落实到代码里啊。
    TD3 主要的框架文章介绍的十分清楚,直接指出一共包含六个全连接网络,TD3提出的目的是解决DDPG过估Q值的问题?然后再critic网络上增加了一个online and target network,加上自带的两个,和actor网络里面包含的两个,一共是6个网络结构,那么在这些网络之间有什么参数更新、梯度如何更新等就是算法本身的特点了,如果未来需要用到,再仔细看看。

  • 算法复杂度分析
    这是我在使用RL里看到的第一篇分析算法复杂度的文章,所以要好好分析一下。
    文中对复杂度分析参考了文献PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE中的附录部分,但是文章中没有引用,文中描述如下,
    The Conclusion of UAV-AoI-RL and Other Methods_第7张图片
    这里使用的是FLOPs来衡量算法的复杂度,FLOPs是每秒的浮点数计算,看这一大段话会很抽象,反正我没太明白说了什么,但是最后的复杂度公式却很好理解
    The Conclusion of UAV-AoI-RL and Other Methods_第8张图片
    The Conclusion of UAV-AoI-RL and Other Methods_第9张图片

看她的解释其实就可以完全明白,涉及到神经网络的复杂度的具体操作是激活函数*每一层神经元的个数,后面两个求和符号的2,4可以解释为actor网络结构包含两个具有多个全连接神经网络的组成的网络,分别为Online 和 Target Net,同理, critic有四个包含多层全连接神经网络的Online and Target Net,这样分别求和得到前后两层全连接神经网络相乘,就得到算法的复杂度了。
下面我举一个例子,参考知乎专栏的全连接部分,结合这部分尝试对文中P,Q的描述给出自己的解释
The Conclusion of UAV-AoI-RL and Other Methods_第10张图片
使用FLOPs计算算法复杂度分为两部分,一是参数量,一是运算量,最后就像文中把两部分加起来,而最简单的全连接参数量可以表示为 ( I + 1 ) ∗ O (I+1)*O (I+1)O,I表示输入,O表示输出层神经元个数,那么如上图所示,有(3+1)*3=12,理解起来也很简单,每一个输出a都会和三个输入结合,并加上一个bias,即3+1,乘以3个输出神经元就是12了。
其实数个数也可以数出来,一共有12个符号。

对运算量而言,针对一个操作符a1可以得到,有I个乘法操作符,因为要乘三个权重,I-1个加法操作符,因为要两两相加,三个相加是两个加法符号,最后+1表示加上一个bias单独计算,这些加起来乘上输出神经元个数O就是运算量啦。结合文章的(2P-1)Q,应该是对应 ( I + ( I − 1 ) ) ∗ O = ( 2 I − 1 ) ∗ O (I+(I-1))*O=(2I-1)*O (I+(I1))O=(2I1)O
她把bias给省略掉了,因为加法符号在设计复杂度不太重要的原因?
而4 * Q 和 6 * Q应该是对应actor net 和critic net的最后一层输出层经过的激活函数的数量,对半拆分,actor网络中有onlineNet有两个输出,对应TargetNet也有两个输出,所以是4
Q,同样的,critic中actorNet有三个输出,criticNet也有三个输出,是6*Q,这样就对应上了。

  • 仿真与验证
    首先是参数设置
    The Conclusion of UAV-AoI-RL and Other Methods_第11张图片
    无人机高度固定,传感器随机分布, 文章的工作量比较大,从对比的算法就可以看出来
    The Conclusion of UAV-AoI-RL and Other Methods_第12张图片
    值得一提的是,算法2甚至没有收敛,也拿来做对比了

In the CA2C method, the actor–critic architecture is applied; however, it is difficult to guarantee the convergence of this method.

看到这里有点小小惊讶,不收敛你拿来做什么对比算法啊?
文章给出了不同IOTDs分布,无人机的轨迹图
The Conclusion of UAV-AoI-RL and Other Methods_第13张图片
不得不说这图画的很惹眼,其实就是测试50次的轨迹而已,是一个耗时间的工作。
之后的几张图无非是目标函数中的量随着训练进行的变化了,算是很常规的结果展示,没什么好讨论的。
不过有些创新的图作者放到了最后,就是不同算法对IoTDs AoI更新的影响
The Conclusion of UAV-AoI-RL and Other Methods_第14张图片

达到最大值的算法效果就是最差的,提出的TD3在没有达到最高点就更新了,说明了提出算法的优越性。这个图挺好的。

这篇论文介绍到这里就结束了,不过读文献的目的是找出其中的闪光点,发现其中的不足,那么这篇论文我认为的闪光点

  1. 图绘制的很清晰明确,如在系统模型中AoI的更新图示,虽然我们每个人心里都知道,但是画的时候太麻烦,还是懒得画的
  2. 复杂度分析,这个基本很多论文是不会考虑的(RL方向)
  3. 最后那个图挺有意思
  4. 模型部分介绍的很清晰,让人看了心情愉悦
  5. 实验做的很充足,工作量十足
  6. 可将目标函数可以转化为一个效用函数?这样直接可以对应到reward里面
  7. 主策略的分解,几个动作表示为几个策略,更加清晰

不足

  1. 没考虑同传干扰
  2. 带宽分配没放到 动作中去
  3. 动作只是UAV的属性,感觉太单调

PAPER 2 《Data Freshness and Energy-Efficient UAV Navigation Optimization: A Deep Reinforcement Learning Approach》
发表与IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 22, NO. 9, SEPTEMBER 2021
从题目分析,这篇论文同样考虑了IoTD 采集信息的新鲜度以及能量消耗,不过这篇论文作者只考虑了UAV消耗的能量,同样和上篇论文一样,最终接收并更新数据AoI的依然是基站,不过UAV-BS 的数据分发过程是不同的,上篇文章是在UAV进行转移(去往下一个hovering spot)的时候将收集IoTD的数据更新到基站,智能体的动作也是UAV的行进速度方向和移动距离, 而这篇文章将这部分简化了,作者将UAV的飞行轨迹固定了,UAV只在几个轨迹点移动,UAV的动作(UAV不是Agent)也选择一个轨迹点p并移动过去采集轨迹点设备的信息,基站b单独作为一个轨迹点,所有的UAV最终都要飞到基站b所处的轨迹点将数据分发给基站,所以本篇论文的总体目标就变为了多个UAV如何协同收集不同轨迹点的设备信息,并如何在轨迹点不重复(防止碰撞以及重复采集)的前提下到达基站将数据分发,这一点是两篇论文的根本不同之处,可惜这篇论文发表早于上一篇,不然上篇论文作者可以引用下这篇文章并说“文献x考虑了UAV固定的飞行方向和速度,且UAV只在几个轨迹点之间移动并收集信息,最后还要单独移动到基站所在的轨迹点分发数据,这样做虽然可以,但是并没有充分利用UAV的灵活性,我们考虑UAV移动的两个阶段,在这两个阶段内实现数据的收集和分发,这样做充分利用了UAV的灵活性并且综合考虑UAV的移动与速度,更加贴合真实场景”。
另一点不同是,作者并没有考虑最小化系统的AoI,而是将其作为了一个约束放在了能量效率这个优化目标下。
The Conclusion of UAV-AoI-RL and Other Methods_第15张图片

概述引用:Abedin考虑了多无人机辅助基站的数据采集场景,其中UAV充当移动中继在固定的轨迹点之间移动并采集数据,最终移动到基站所在的轨迹点进行数据的分发,作者目标是找到一个在系统能量效率最大时UAV的移动的轨迹点的集合,并在移动的过程中满足AoI最小阈值约束以及最小能量效率约束,并使用DQN算法来找到这么一个最佳策略。

文章的创新之处在于:

  • 从模型的角度,首先考虑了多个UAV进行数据采集时,同时进行传输的IoT对彼此的干扰,这在上一篇论文中没有考虑,另外,文章的本质是找到一个最佳的轨迹点来实现能量效率最大和满足AoI阈值,从这个角度理解,系统模型就简单了。还有的创新在于在主要考虑的是UAV的导航,在几个点之间取得一个权衡,使得能量效率最高以及满足AoI阈值约束。但是和上一篇文章比起来就差了一截,创新之处写不了太多。
  • 从算法的角度,是一个最简单的DQN和不含记忆池的原始DQN,也没有什么亮点。

系统模型
前面的信道模型不再赘述,这些信道模型都大同小异,看的时候只看有没有考虑干扰即可,其他的对整体影响不大,
另外, 关于车辆网、UAV的信道建模,最终的目标一定是得到一个信息的传输速率,也就是香农公式,至于怎么得到的每篇论文都不一样,这篇论文中两个信道传输速率

  • G2A 上行传输速率

在这里插入图片描述
表示地面节点i向UAV u 在轨迹点p 时隙t 传输的速率,作者加入了SINR要求来保证信息的传输质量,
在这里插入图片描述
表示SINR,其中涉及到了一些量论文中有解释,有兴趣的自行查看。同样的,A2G ,下行传输速率,UAV到达基站附近给基站传输的速率为
The Conclusion of UAV-AoI-RL and Other Methods_第16张图片

这里作者引入了天线和毫米波来进行信道的建模,
The Conclusion of UAV-AoI-RL and Other Methods_第17张图片
当前的无人机采集IoT设备分类:
已知固定的采集点,优化飞行轨迹的,这个是几个采集点的坐标是明确知道的
第二个是采集点知道,但是UAV不是按照固定的划分范围的采集点进行数据采集的,而是单单优化UAV的轨迹,也就是UAV的
位置来:优化变量

你可能感兴趣的:(强化学习,python高级,人工智能)