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
大纲:
从标题可以得知的信息:这篇文章的场景是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是的信息年龄。
文章的创新之处在于
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是怎么更新的),最后根据这个模型是如何得到一个具体的优化目标的。
这里很重要的一点: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=maxm∈M{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=Ruavt∑m∈Mxm
需要将UAV当前采集点收集到的所有数据卸载到基站, x m x_m xm指第m个IoTD的数据包的大小。
如果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,t≤Dfly,t,可能文中为了简单计算,同一规定为飞行时间???
最后给出系统所有IoTDs的平均AoI计算公式
优化目标转化为了一个效用函数,加入负号使目标上界为0,优化目标为
分别为速度,水平和垂直移动距离约束,这是针对UAV的,智能体需要做出有界的动作,c3 c4分别是带宽分配约束和最大调度IoTDs 的数量约束。
下面介绍最最重要的MDP
具体设置如下
其实看起来很简单,RL难的是如何用代码实现,如何只有寥寥几句,在代码中的实现转换肯定是十分复杂的。
动作部分前面已经介绍了,奖励中添加了两个辅助reward,目的是为了满足全部IoTDs调度的要求,对应引理1,和防止UAV一直徘徊在一个spot不动的情形出现,所以这两个h是精髓。
接着,作者将策略分解为了以动作为中心的策略,
我想了一下,为什么这么分解,首先要明确策略是动作到状态的映射,这个映射才是一个完整的策略,完整的策略包括一个完整的动作,分解为三个动作的策略,那么子策略的映射包括的就是单个子动作,策略的寻找就转换为了找到一个完整的包含所有动作的策略到找到三个子动作的策略,这样让整个策略更加清晰了。
算法部分:TD3
算法使用的TD3,这个算法也算是久有耳闻了,但是没有仔细了解过,看论文也是一知半解,还是要落实到代码里啊。
TD3 主要的框架文章介绍的十分清楚,直接指出一共包含六个全连接网络,TD3提出的目的是解决DDPG过估Q值的问题?然后再critic网络上增加了一个online and target network,加上自带的两个,和actor网络里面包含的两个,一共是6个网络结构,那么在这些网络之间有什么参数更新、梯度如何更新等就是算法本身的特点了,如果未来需要用到,再仔细看看。
算法复杂度分析
这是我在使用RL里看到的第一篇分析算法复杂度的文章,所以要好好分析一下。
文中对复杂度分析参考了文献PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE中的附录部分,但是文章中没有引用,文中描述如下,
这里使用的是FLOPs来衡量算法的复杂度,FLOPs是每秒的浮点数计算,看这一大段话会很抽象,反正我没太明白说了什么,但是最后的复杂度公式却很好理解
看她的解释其实就可以完全明白,涉及到神经网络的复杂度的具体操作是激活函数*每一层神经元的个数,后面两个求和符号的2,4可以解释为actor网络结构包含两个具有多个全连接神经网络的组成的网络,分别为Online 和 Target Net,同理, critic有四个包含多层全连接神经网络的Online and Target Net,这样分别求和得到前后两层全连接神经网络相乘,就得到算法的复杂度了。
下面我举一个例子,参考知乎专栏的全连接部分,结合这部分尝试对文中P,Q的描述给出自己的解释
使用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+(I−1))∗O=(2I−1)∗O
她把bias给省略掉了,因为加法符号在设计复杂度不太重要的原因?
而4 * Q 和 6 * Q应该是对应actor net 和critic net的最后一层输出层经过的激活函数的数量,对半拆分,actor网络中有onlineNet有两个输出,对应TargetNet也有两个输出,所以是4Q,同样的,critic中actorNet有三个输出,criticNet也有三个输出,是6*Q,这样就对应上了。
In the CA2C method, the actor–critic architecture is applied; however, it is difficult to guarantee the convergence of this method.
看到这里有点小小惊讶,不收敛你拿来做什么对比算法啊?
文章给出了不同IOTDs分布,无人机的轨迹图
不得不说这图画的很惹眼,其实就是测试50次的轨迹而已,是一个耗时间的工作。
之后的几张图无非是目标函数中的量随着训练进行的变化了,算是很常规的结果展示,没什么好讨论的。
不过有些创新的图作者放到了最后,就是不同算法对IoTDs AoI更新的影响
达到最大值的算法效果就是最差的,提出的TD3在没有达到最高点就更新了,说明了提出算法的优越性。这个图挺好的。
这篇论文介绍到这里就结束了,不过读文献的目的是找出其中的闪光点,发现其中的不足,那么这篇论文我认为的闪光点是
不足
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,而是将其作为了一个约束放在了能量效率这个优化目标下。
概述引用:Abedin考虑了多无人机辅助基站的数据采集场景,其中UAV充当移动中继在固定的轨迹点之间移动并采集数据,最终移动到基站所在的轨迹点进行数据的分发,作者目标是找到一个在系统能量效率最大时UAV的移动的轨迹点的集合,并在移动的过程中满足AoI最小阈值约束以及最小能量效率约束,并使用DQN算法来找到这么一个最佳策略。
文章的创新之处在于:
系统模型
前面的信道模型不再赘述,这些信道模型都大同小异,看的时候只看有没有考虑干扰即可,其他的对整体影响不大,
另外, 关于车辆网、UAV的信道建模,最终的目标一定是得到一个信息的传输速率,也就是香农公式,至于怎么得到的每篇论文都不一样,这篇论文中两个信道传输速率
表示地面节点i向UAV u 在轨迹点p 时隙t 传输的速率,作者加入了SINR要求来保证信息的传输质量,
表示SINR,其中涉及到了一些量论文中有解释,有兴趣的自行查看。同样的,A2G ,下行传输速率,UAV到达基站附近给基站传输的速率为
这里作者引入了天线和毫米波来进行信道的建模,
当前的无人机采集IoT设备分类:
已知固定的采集点,优化飞行轨迹的,这个是几个采集点的坐标是明确知道的
第二个是采集点知道,但是UAV不是按照固定的划分范围的采集点进行数据采集的,而是单单优化UAV的轨迹,也就是UAV的
位置来:优化变量