摘"要:针对现有水声传感器网络MAC协议难以满足水声传感器网络节点之间低延迟高吞吐量的传播需求,本文提出了一种水声传感器网络节点自适应调度MAC协议,该协议基于强化学习,以减少接收端的冲突和最大化网络整体吞吐量为目标,利用强化学习中的深度神经网络对节点的传输环境和传输策略进行学习,利用水声信号传输的空时不确定性,对各发送节点的传输时隙进行调度,使多个节点在适合的时隙完成数据传输,而不会影响其他节点通信。仿真结果表明,该协议相比于传统算法,可以提高吞吐量和数据包成功传输率,有效地降低了信道中的数据碰撞概率,提高了水声通信的信道利用效率。
关键词:水下声学传感器网络;调度;强化学习;MAC协议
中图分类号:TN929.3""文献标识码:A
1"概述
水声传感器网络(Underwater"Acoustic"Sensor"Networks,UASNs)在海洋数据采集、环境监测、勘探、航海和军事活动等领域广泛应用。但由于水下环境特性的限制,声波是最可行的水通信手段,但传输延迟长、数据率低、带宽有限、能耗大等问题使得设计水下网络面临前所未有的挑战[1]。MAC(Media"Access"Control)协议在协调通信节点、分配和共享信道资源方面发挥着重要作用,直接影响水声网络性能。因此,需要研究基于水声传感器网络特点的自适应MAC协议来提高信道利用率和性能表现。
基于调度的协议在水声网络中得到广泛应用,以时隙为基础的调度策略的差异性主要在于时隙分配和时隙长度的设计。文献[2]中基于位置的MAC协议,设计了一种最小等待时间规则,在小规模UASNs中表现良好。Hsu"C"C等人[3]提出一种时空MAC调度协议,研究了水声通信网络中时空不确定性给时分复用(Time"Division"Multiple"Access,TDMA)方案带来的影响,通过建立时空冲突图将协议建模成一个顶点着色问题,并通过混合整数线性规划求解问题的最优解,从而得到一种自适应的TDMA调度方式,但是该协议的算法复杂度很高。文献[4]提出的SlottedFAMA(Floor"Acquisition"Multiple"Access)协议是在文献[5]的基础上将载波侦听和RTS/CTS(Request"To"Send/Clear"To"Send)握手信息结合通过合理地选择时隙的长度来避免数据传输时的冲突,从而降低碰撞概率。然而,这些方法缺少考虑如何综合通信距离、通信可靠性和组网的可实现性来解决实际应用中的数据传输问题。
为了适应水下环境的动态性,解决水声信号接收数据冲突问题,近年来将强化学习(Reinforcement"learning,RL)应用于UASNs通信协议的研究和设计日益受到重视[67]。虽然基于RL的MAC协议已经广泛用于地面无线网络,但对基于水下MAC层的协议研究却很少。文献[8]提出了一种深度强化学习多址访问(Deepreinforcement"Learning"Multiple"Access,DLMA)协议。该协议适用于地面无线网络,节点通过观察周围环境学习最优发送策略,从而最大化网络吞吐量。文献[9]针对由于DLMA协议中各节点吞吐量不公平问题,进一步提出了一种分布式DLMA协议,实现了各节点在数据传输完成后吞吐量公平的目标。
本文针对水声通信传感网络,提出了一种基于强化学习的水声传感器网络节点自适应调度MAC协议。针对水下多发送多接收传感器网络模型,将网络中的中心控制节点作为一个智能体,定义了马尔科夫模型,利用强化学习中的深度神经网络对发送节点的传输环境和传输策略进行学习和训练,通过调度协议使得多个节点在合理的时隙内完成数据传输,提高了信道利用率,减少了接收端的冲突和最大化网络整体吞吐量。本文仿真了所提出的MAC协议的网络吞吐量和数据包发送成功率,仿真结果显示,本文算法在吞吐量、数据包发送成功率等性能方面均优于传统TDMA和SlottedAloha协议。
2"系统模型和强化学习
2.1"水声传感网络模型
本文所定义的UASNs部署如图1所示,假设网络中有H个发送节点,G个接收节点,Hii=1,2,…,H和Gi为一对传输节点,分别表示第i个发送节点和第i个接收节点,节点间的传播延迟定义为THi,Gi=dHi,Gi/c,dHi,Gi表示节点间的距离,c表示信号在水下的传输速度。本文将时隙长度Tslot定义为节点间数据包传输所要消耗的时间均值,假设网络中的每个节点只能进行半双工通信,因此当接收节点在同一时隙同时接收2个及以上数据包时会产生冲突。节点通信方式为单播通信,即节点发送的每个数据包都只有一个对应的目的接收节点。
网络中H个发送节点通过共享的上行链路信道将待传输的数据包传输到各自对应的浮标处,每个浮标是一个接收节点。根据节点间的传输操作,本文提出了一种节点自适应调度协议,每个发送节点根据协议调度的时隙将数据包传输到接收节点处,多个节点的传输不产生冲突。
2.2"深度强化学习
强化学习的基本过程是一个马尔可夫决策过程(Markov"Decision"Process,MDP)[10],MDP是由五个不同元素构成的集合,即{智能体(Agent),环境(Environment),状态(State),动作(Action),奖励(Reward)},其目标是通过迭代选择策略,最大化累计回报奖励。Qlearning是一种基于动作价值函数的方法[11],而DQN算法利用深度神经网络(Deep"Neural"Network,DNN)的强大表征能力,把强化学习中的状态作为神经网络模型的输入,输出的是每个动作对应的Qvalue,并通过策略更新得到下个时隙将要执行的动作。在DQN算法中,智能体在t时刻的状态st下通过DNN得到智能体的动作值函数Qπst,at;θ,θ为神经网络权重参数。通过更新参数θ,获得智能体的最优动作价值函数,即DQN输出Q值Qπ(st,at;θ)≈Qπ(st,at),Q值更新公式如下:
Qπ(st,at)←(1-λ1)Qπ(st,at)+λ1[rt+γmaxat+1∈AQπ(st+1,at+1)]
式中λ1∈(0,1)是学习速率,γ∈(0,1]是一个折扣因子。为了保持数据迭代的稳定性,文献[12]提出在DQN算法中使用两个神经网络模型,一个用于训练,另一个用于生成目标值,分别被称为评估网络和目标网络。Qπ(st,at;θ)表示神经网络的输出,用来评估当前状态—动作对的价值,θ表示评估网络的权重参数。在每次迭代中,评估网络根据当前的状态输入,利用反向传播算法来调整神经网络模型参数θ,使得模型能够更好地预测真实的动作价值。将智能体构成经验样本Et=(st,at,rt,st+1)输入回放记忆单元D中,当D中存放足够多样本数据时,从D中随机抽取M个样本Ec,使用目标网络计算Q的目标值Qπ(st,at;θ),通过最小化损失函数来更新模型参数,损失函数定义为:
L(θ)=1M∑st,at,rt,st+1y(rt,st+1)-Qπst,at;θ2
其中目标函数计算为:
y(rt,st+1)=rt+γmaxat+1∈AQπst+1,at+1;θ
rt表示在状态st下执行动作at所得到的奖励,maxat+1∈AQπst+1,at+1;θ表示在状态st+1下,从动作集合A中选择的一个执行动作at所对应的最佳Qvalue。在获得损失函数后,采用随机梯度下降算法计算L(θ)的权值参数θ进行更新迭代,更新公式如下:
θ=θ+λ1L(θ)θ
目标网络的参数θ由评估网络的参数θ每完成一次时间步长C更新来得到,这样在一段时间内进行目标网络Q值不变的训练,以此来降低评估网络Q值和目标网络Q值的相关性,保证目标值计算的稳定性。
3"提出的MAC协议
3.1"问题描述
在UASNs的数据传输过程中,当多发送节点进行通信时,一个合适的发送时隙受到距离、空时不确定性影响,难以预测在接收节点是否会发生碰撞。因此,本文将UASNs的节点调度问题抽象为马尔可夫离散过程,将网络中的中心控制节点作为一个智能体,在数据传输过程中,智能体通过学习周围环境的变化,给出决策,实现一种最优的时隙调度选择,以较高的信道利用率达到最大化网络吞吐量。当网络中的发送节点i完成传输,则i在T个时隙内的累计奖励定义为∑T=1ri,其中ri表示在每个时隙传输数据包的奖励值,定义数据包长为M比特,通信速率为Vbit/s,则本文定义的吞吐量为:
Th=1T×Tslot×V∑Hi=1∑T=1(ri×M)
通过定义智能体MDP模型,寻找最优策略π,从而最大化水声传感器网络的吞吐量,本文以最大化网络吞吐量构建目标函数:
π=argmaxπTh
3.2"MDP模型定义
在本文提出的调度协议中,智能体与水下环境交互信息并进行策略学习的框架如图2所示。在马尔科夫决策模型中,智能体在当前时隙t观察网络状态st∈S,根据策略π决定其动作at∈A,网络环境根据该执行at∈A的效果优劣情况,反馈给智能体即时奖励rt∈R,并进入下一步的新状态st+1。基于反馈结果,智能体会采取下一步动作at+1,由此获得一组经验值(at,st,rt,st+1)。在MDP过程中,智能体是通过训练足够的经验来学习最优策略π,从而使期望的总折扣奖励最大。
本节定义MDP模型如下:
(1)动作:在数据传输阶段,本文定义每个时隙t的动作是“调度不同的发送节点发送数据”。当前时隙t中,定义集合at=Φi′t(i′=1,2,…,H),Φi′t表示第i′个发送节点的调度情况,即Φi′=1表示第i′个发送节点被调度,即该节点发送数据包,Φi′=0表示第i′个发送节点未被调度,即该节点不能发送数据包。定义动作at=Φit∪φi∈[1,τ],φ为空集,表示调度值为1的发送节点集合,τ表示时隙t时被调度发送节点的个数,即at中元素为1的个数。
(2)观测:发送节点Hi和接收节点Gi传输数据所需的时隙个数为η=「THi,GiTslot,本文定义Hi到Gi在第t+η时隙的观测结果为οit+η∈S,F,I,其中S表示数据包传输成功,F表示数据包在接收节点处发生碰撞,I表示没有接收信息。那么在第t+η时隙所有被调度节点的观测结果为o1t+η,o2t+η,…,oτt+η。
(3)状态:状态定义为动作观测对Zit+2η=Φit,οit+2η,第t+2η时隙被调度节点的动作观测对为Zt+2η=Φ1t,o2t+2η,Φ2t,o2t+2η,…Φτt,o2t+2η。考虑到历史状态的影响,将节点i在t+2η时隙时的状态sit定义为sit=Zit+2η-X+1,…,Zit+2η,X表示状态历史长度,那么所有被调度的节点的状态st为st=s1t,s2t,…,sτt。
(4)奖励:智能体在每个时隙开始时进行节点选择操作,根据观测的结果来定义奖励函数,奖励值表示归一化的网络吞吐量,取决于接收节点是否成功接收到数据包,rit+2η表示第i个被调度的发送节点的奖励值,定义如式,则t时隙所有被调度的发送节点的奖励值rt+2η定义如式:
rit+2η=0,ifοit+2η==〈ForI〉
1,ifοit+2η==〈S〉
rt+2η=∑τi=1rit+2η
3.3"节点自适应调度协议
本文提出的系统模型假设网络数据传输均同步传输,即所有数据信息在每个时间间隙的起始位置进行传输,并且在传输过程中数据包数量充足,每个时隙都有可用的数据包等待传输。基于3.2节定义的MDP模型,智能体调度不同的发送节点发送数据,以优化网络性能,利用DQN算法决策发送节点的调度策略,从而实现时隙调度选择。
智能体对发送节点进行调度,智能体在时隙t执行动作at,通过策略选择可以在该时隙进行调度发送的节点集合,即Φi=1的节点为可发送数据的节点。st+1表示状态转移到下一时隙,rt+1表示执行动作at后获得的即时奖励。当调度τ个发送节点传输数据,利用DQN算法以迭代试错的方式迭代策略,根据公式计算得到对应的Q值,从而设计一个基于动作价值函数的优化模型。所提算法通过计算不同动作集合Φ1,…,Φi′,…,ΦH得到对应的Q值,并选出最大值作为最优解,通过最小化损失函数训练网络参数,进而智能体更新选择策略,从而实现发送节点之间的信息交互协调,智能体获得最大的回报奖励,直到满足条件停止迭代训练。具体的算法流程如下表所示。
节点自适应调度协议算法流程表
初始化算法参数:学习率λ1∈(0,1),折扣因子γ∈(0,1),选择概率ε,评估网络Qπst,at;θ和目标网络Qπst+1,at+1;θ,经验回放缓存D,小批量采样规模B和目标网络参数更新周期Tc。
初始化环境和智能体状态集合st。
for"t=1"to"Tm"do
输入st到DQN计算Q值;
at=argmaxaQst,a;θ,概率1-ε
随机动作,概率ε;
执行:at=Φit∪φ,i∈[1,τ],φ为空集;
获得:o1t+η,o2t+η,…,oτt+η和Zt+2η=Φ1t,o2t+2η,Φ2t,o2t+2η,…Φτt,o2t+2η;
for"i=1"to"τ"do
计算:rit=0,ifοit==〈ForI〉
1,ifοit==〈S〉;
end"for
计算:rt+2η=∑τi=1rit+2η;
计算:st=s1t,s2t,…sτt,其中sit=Zit+2η-X+1,…,Zit+2η;
更新:st+1=st;
形成样本数据〈st,at,rt,st+1〉,将样本存储到经验回放缓存D中;
随机从D中抽取小批量采样规模B的样本〈s′t,a′t,r′t,s′t+1〉训练;
根据式(2)~式(4)计算DQN权值参数θ;
每间隔C时间间隙进行一次目标网络参数更新:θ=θ;
end"for
输出:式(6)期望的调度策略
网络中的发送节点会和水声环境进行交互,在根据网络状态做出调度决策后,调度对象将继续完成数据包的传输任务。对于任意发送节点发送的数据包,能够在其相应接收节点接收,并且不会与其他节点的数据包发生碰撞,其条件为待接收数据包在到达接收节点和接收时间范围内,没有其他干扰数据包到达该接收节点,表达分析如下:
假设任意发射节点Hi发送某个数据包的发送时刻为tistart,到达其相应接收节点Gi时刻为tiend,节点间的传播延迟及数据包时延分别为THi,Gi和Tidata=M/V,因此易知:
tiend=tistart+THi,Gi+Tidata
当其他发送节点Hj(j≠i,j∈H)发送数据时,接收节点Gi也会接收到传输数据。假设Hj的发送时刻和接收时刻分别为tjstart和tjend,数据包在传输过程的总时长为THj,Gi+Tjdata,则Hi发送的数据包与Hj发送的数据包在Gi处不发生碰撞的条件是:
tistart+THi,Gi,tiend≠tjstart+THj,Gi,tjend"j≠i
4"协议仿真与分析
4.1"仿真环境
为验证本文算法的有效性,本文分别对吞吐量和发送数据包成功率进行了验证。所有节点随机分布在位于水下500m处的1000m×1000m的三维水下环境中,水下环境仿真节点总数为4个,分别含有2个发送节点和2个目标节点。每个固定节点的通信方式为全方向、半双工。仿真时隙长度0.2s,通信速率为1200bit/s,在初始仿真阶段,假设网络中的全部节点的时间已经完成同步。声速设为1500m/s,每个节点根据泊松分布生成数据包。仿真过程不考虑水下物理信道的恶劣通信环境导致的丢包,仅考虑由数据包碰撞引起的丢包情况。本文采用不同的评估指标对MAC协议的性能进行评估,分别为吞吐量和数据包发送成功率。假设发送节点Hi在T个时隙发送的数据包个数为Ni,则网络负载load的定义如下:
load=1T×Tslot×V∑HiNi×M
发送成功率为T个时隙内成功传输数据包的个数与总传输数据包的比值。
4.2"仿真结果分析
本文对所提的节点自适应调度协议与TDMA、SlottedAloha两种协议的传输性能进行了比较。
图3比较了三种协议在不同数据包长度情况下,吞吐量随网络负载的变化情况。从图中可以看出,随着数据包长度的增加,三种协议网络吞吐量变化趋势相似,网络吞吐量稳定增加。其中,本文的节点自适应调度协议的网络吞吐量大于TDMA协议和SlottedAloha协议的吞吐量。由于成功传输一个数据包所需时间的增加,尽管网络吞吐量在增加,但是增长趋势已变缓慢。SlottedAloha协议中节点竞争导致较严重的数据包碰撞问题,降低了网络吞吐量,而TDMA协议只在固定时隙发送数据包,网络吞吐量相较于SlottedAloha协议更高。节点自适应调度协议避免空闲时隙的浪费,在相同时间内可以接收更多的数据包,故节点自适应调度协议网络吞吐量高于TDMA协议。
图4比较了三种协议在不同数据包长度下的数据包发送成功率的变化情况,由图可知,三种协议的数据包发送成功率随着数据包长度的增长而降低。SlottedAloha协议的发送成功率下降最快,TDMA协议和节点自适应调度协议的发送成功率趋势相近。当数据包长度较小时,数据包的传播时延低,与其他数据包在信道中发生碰撞的概率小,因此数据包发送成功率高。当数据包长度增大时,其占用信道的时间增加,在信道中与其他数据包产生碰撞概率随之增加,因此数据包发送成功率会迅速降低。本文所提节点自适应调度协议利用神经网络根据学习网络环境自主选择调度节点,通过策略学习避免碰撞的产生,因此节点自适应调度协议具有较高且相对稳定的数据包发送成功率。
图5表示节点自适应调度协议在不同数据包长度情况下归一化吞吐量随着网络负载的变化情况。从图中可以发现数据包长度最大的吞吐量比其他两个低的吞吐量分别增加了22.9%和51.4%,这主要是由于学习阶段花费的时长占整个网络的仿真时间比重较小,对吞吐量的影响也较小。而网络达到收敛后,节点自适应调度协议的网络模型在单位时间内发送数据包成功率增加,使其发送576bit数据包的网络吞吐量会比288bit和144bit数据包的网络吞吐量高。
结语
本文提出了一种基于强化学习的水下物联网节点自适应调度协议,该协议能够使智能体通过不断学习选择最佳传输时隙,以达到优化传输性能的目的。在网络达到收敛状态时,传感器节点的动作价值函数最大值也会收敛,从而实现数据包的最优传输。为了验证算法的准确性,分别从网络的平均吞吐量、数据包发送成功率方面对协议进行了仿真实验,实验结果表明,本章提出的节点自适应调度协议在不同的网络负载下,不同数据包长度下,吞吐量及数据包发送成功率等方面均优于TDMA和SlottedAloha协议。本文提出的节点自适应调度协议是假设网络中的传感器节点是静态的,而在一些特殊场景中节点是可以连续移动的,未来将进一步开展对移动节点时隙级并发调度算法的研究。
参考文献:
[1]CHEN"K,MA"M,CHENG"E,et"al.A"Survey"on"MAC"Protocols"for"Underwater"Wireless"Sensor"Networks[J].IEEE"Communications"Surveys"and"Tutorials,2014,16(3):14331447.
[2]MAO"J,CHEN"S,LIU"Y,et"al.LTMAC:A"locationbased"TDMA"MAC"protocol"for"smallscale"underwater"sensor"networks[C].proceedings"of"the"2015"IEEE"International"Conference"on"Cyber"Technology"in"Automation,Control,and"Intelligent"Systems(CYBER),2015:12751280.
[3]HSU"C"C,LAI"K"F,CHOU"C"F,et"al.STMAC:SpatialTemporal"MAC"Scheduling"for"Underwater"Sensor"Networks[C].proceedings"of"the"IEEE"INFOCOM"2009,2009:18271835.
[4]MOLINS"M.Slotted"FAMA:a"MAC"protocol"for"underwater"acoustic"networks[C].proceedings"of"the"Oceans,2006:17.
[5]MEI"H,WANG"H,SHEN"X,et"al.An"Efficient"Distributed"MAC"Protocol"for"Underwater"Acoustic"Sensor"Networks[J].IEEE"Sensors"Journal,2023,23(4):42674284.
[6]KHAN"Z"A,KARIM"O"A,ABBAS"S,et"al.Qlearning"based"energyefficient"and"void"avoidance"routing"protocol"for"underwater"acoustic"sensor"networks[J].Computer"Networks,2021(197):108309.
[7]PARK"S"H,MITCHELL"P"D,GRACE"D"J"I"A.Reinforcement"learning"based"MAC"protocol(UWALOHAQM)for"mobile"underwater"acoustic"sensor"networks[J].in"IEEE"Access,2020(9):59065919.
[8]YU"Y,WANG"T,LIEW"S"C"J"I"J"O"S"A"I"C.Deepreinforcement"learning"multiple"access"for"heterogeneous"wireless"networks[J].in"IEEE"Journal"on"Selected"Areas"in"Communications,2019,37(6):12771290.
[9]YU"Y,LIEW"S"C,WANG"T"J"I"T"O"M"C.Multiagent"deep"reinforcement"learning"multiple"access"for"heterogeneous"wireless"networks"with"imperfect"channels[J].in"IEEE"Transactions"on"Mobile"Computing,2021,21(10):37183730.
[10]ALAGOZ"O,HSU"H,SCHAEFER"A"J,et"al.Markov"Decision"Processes:A"Tool"for"Sequential"Decision"Making"under"Uncertainty[J].Medical"Decision"Making,2010,30(4):474483.
[11]CHEN"G,ZHAN"Y,SHENG"G,et"al.Reinforcement"LearningBased"Sensor"Access"Control"for"WBANs[J].in"IEEE"Access,2019(7):84838494.
[12]CHU"Y,KOSUNALP"S,MITCHELL"P"D,et"al.Application"of"reinforcement"learning"to"medium"access"control"for"wireless"sensor"networks[J].Engineering"Applications"of"Artificial"Intelligence,2015(46):2332.
作者简介:邓玉茹(1979—"),女,汉族,河北霸州人,硕士研究生,讲师,研究方向:电子信息工程技术。