一种基于深度强化学习的水下联合中继选择和功率分配方法与流程

文档序号:22806021发布日期:2020-11-04 04:10阅读:276来源:国知局
一种基于深度强化学习的水下联合中继选择和功率分配方法与流程

本发明涉及水下声学通信技术领域,具体而言,尤其涉及一种基于深度强化学习的水下联合中继选择和功率分配方法。



背景技术:

随着“海洋强国”战略的推进,海洋开发越来越受到关注。海洋环境监控,海洋资源开发等都离不开水下机器人的辅助。水下通信就是水下机器人发展的关键技术,由于水下环境相对于陆地通信环境更加恶劣,不可预知性更强,背景噪声更加多样和复杂,水下电磁波通信衰减比较严重,因此水下声学通信成为水下通信的关键技术。但是由于水下节点所携带的能量有限,而且更换电池成本比较高,因此优化节点的发射功率,合理分配资源使水下通信容量能够最大化是一个急需解决的难题。

为了进一步提高水下节点拓扑的性能,中继转发技术受到了广泛关注,多种多样的选择技术出现,一些方法只考虑了中继选择和功率分配问题中的一个。又由于水下环境多变,不可预测,因此所获取的信道状态信息噪音很大,这就影响了节点的决策。

随着强化学习在玩游戏方面所取得的优异成绩,很多学者把强化学习应用于不同的领域其中也涉及到通信领域,都取得了很好的效果。但是现有的一些方法由于对信道状态信息依赖度过高,而且没有实现中继选择和功率的联合分配,且联合问题又是一个np难问题。很难应用于实际的水下环境,达到总体优化的目的。



技术实现要素:

根据上述提出的技术问题,而提供一种基于深度强化学习的水下联合中继选择和功率分配方法。本发明方法明显改善了最佳中继选择和功率的联合分配,保证了系统的整体容量,并且只依赖于环境信息,提高了策略的泛化能力和鲁棒性。

本发明采用的技术手段如下:

一种基于深度强化学习的水下联合中继选择和功率分配方法,所述方法包括:

创建拓扑结构,包括一个源节点u、n个候选中继节点r1,r2…rn和一个目的节点d;

广播信号给候选中继节点和目的节点,同时源节点根据状态信息进行中继选择和功率分配;

选中的中继节点转发信号给目的节点;

所述目的节点将状态信息反馈给源节点;

采用深度强化学习方法,使所述源节点不断与环境进行交互得到所需状态信息,通过策略优化离线学习的方式,使所述源节点在试错中学习到经验用于决策。

进一步地,所述创建拓扑结构的步骤中还包括水下节点的分布设计和水下环境的模拟;

所述水下节点的分布设计为水下节点随机分布在规定范围内;

所述水下环境的模拟包括水下信道增益和水下环境噪声。

进一步地,所述水下信道增益的计算公式如下:

其中,表示在k时刻第n个候选中继节点的信道衰落,其服从瑞丽分布,a(di,j,f)表示声信号路径损失,a(f)表示吸收因子,di,j表示节点之间的距离,f表示频率,i,j表示两个不同的节点,k表示时间隙;

所述水下环境噪声的计算公式如下:

n(f)=nt(f)+nv(f)+nw(f)+nth(f)

其中,

10lognt(f)=17-30logf

10lognv(f)=40+20(v-0.5)+26logf-60log(f+0.03)

10lognw(f)=50+7.5w1/2+20logf-40log(f+0.4)

10lognth(f)=-15+20logf

其中,nt(f)表示湍流噪声,nv(f)表示船舶运输噪声,nw(f)表示水面风速影响,nth(f)表示热噪声,f表示频率,v表示船舶影响程度,w表示风速。

进一步地,所述广播信号给候选中继节点和目的节点,同时源节点根据状态信息进行中继选择和功率分配,包括:

得到u-r链路和u-d链路的sinr,其公式如下:

其中,αk表示链接向量,采用one-hot编码方式,即如果第i个中继被选为中继节点,则链接向量中该中继对应位置为1,其他位置为0,i∈n,表示中继i被选为中继节点,n0和n1为高斯噪声,pu表示源节点的发射功率。

进一步地,所述选中的中继节点转发信号给目的节点,包括:

得到r-d链路的sinr,并最终计算u-r-d链路的sinr和通信容量,其公式如下:

其中,αk表示链接向量,采用one-hot编码方式,pr,i表示所选中继节点的发射功率,n2为高斯噪声。

进一步地,所述目的节点将状态信息反馈给源节点,包括:

在目的节点整合信干噪比后,把源节点到所选中继节点之间的信道增益gur,所选中继节点到目的节点的信道增益grd,以及源节点到目的节点之间的信道增益gud反馈给源节点,并将其作为所述深度强化学习训练的输入状态信息。

进一步地,所述采用深度强化学习方法,使所述源节点不断与环境进行交互得到所需状态信息,通过策略优化离线学习的方式,使所述源节点在试错中学习到经验用于决策,包括:

源节点获取环境状态信息

源节点根据获得的状态信息输入神经网络,做出采取的决策行动a,作用于环境;

源节点选择的动作作用于环境后,环境把整个拓扑的信干噪比作为奖赏r反馈给源节点,同时环境从当前时刻状态s转移到下一时刻的状态s’,把(s,a,r,s’)放入内存d中;

使用rnn网络训练网络参数。

进一步地,所述使用rnn网络训练网络参数,包括:

步骤一,初始化回放内存记为d;

步骤二,使用循环神经网络(rnn)来拟合状态行动值函数q,并初随机初始化参数θ

步骤三,使用rnn网络来拟合目标状态行动值函数q^,网络结构同q网络,初始化权重参数θ-=θ;

步骤四,设定训练轮数用episode表示,使其等于m;

步骤五,初始化网络输入序列s1;

步骤六,以ε的概率随机选择动作at,或者at=argmaxaq(st,a,θ);

步骤七,源节点执行动作at,观察奖赏rt并得到下一个时刻的状态st+1;

步骤八,把(st,at,rt,st+1)放入d中;

步骤九,随机从d中采样minibatch个样本,表示为(sj,aj,rj,sj+1);

步骤十,计算每一个状态的目标值,并更新;如果在j+1步,episode=m,则yj=rj,否则yj=rj+γmaxa'q^(sj+1,a';θ-),γ为折扣因子;

步骤十一,梯度下降(yj-q^(sj,aj';θ-))2,更新网络参数θ;

步骤十二,每隔c步,使q^=q;

步骤十三,当episode小于m,返回执行步骤五。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令集;所述计算机指令集被处理器执行时实现所述的基于深度强化学习的水下联合中继选择和功率分配方法。

较现有技术相比,本发明具有以下优点:

本发明提出的基于深度强化学习的水下联合中继选择和功率分配方法,仅仅基于环境信息作为状态输入,把深度学习和强化学习结合起来,能够在未知的水下环境下从多个中继节点中选择出最佳中继节点实现拓扑的容量最大化。并且能够提高拓扑的鲁棒性,易于实现,具有较好的应用价值。

基于上述理由本发明可在水下声学通信等领域广泛推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法流程图。

图2为本发明实施例提供的基于深度强化学习的水下联合中继选择与功率分配方法通信网络的模型图。

图3为本发明实施例提供的强化学习原理框图。

图4为本发明实施例提供的rnn神经网络结构示意图。

图5为本发明实施例提供的源节点在强化学习框架下训练的流程图。

图6为本发明实施例提供的仿真对比图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,本发明提供了一种基于深度强化学习的水下联合中继选择和功率分配方法,包括:

步骤s1、创建拓扑结构,如图2所示,包括一个源节点u、n个候选中继节点r1,r2…rn和一个目的节点d;水下节点随机分布在规定范围内;模拟水下环境,包括水下信道增益和水下环境噪声;水下信道增益的计算公式如下:

其中,表示在k时刻第n个候选中继节点的信道衰落,其服从瑞丽分布,a(di,j,f)表示声信号路径损失,a(f)表示吸收因子,di,j表示节点之间的距离,f表示频率,i,j表示两个不同的节点,k表示时间隙;

水下环境噪声的计算公式如下:

n(f)=nt(f)+nv(f)+nw(f)+nth(f)

其中,

10lognt(f)=17-30logf

10lognv(f)=40+20(v-0.5)+26logf-60log(f+0.03)

10lognw(f)=50+7.5w1/2+20logf-40log(f+0.4)

10lognth(f)=-15+20logf

其中,nt(f)表示湍流噪声,nv(f)表示船舶运输噪声,nw(f)表示水面风速影响,nth(f)表示热噪声,f表示频率,v表示船舶影响程度,w表示风速。

步骤s2、采用放大转发协议进行通信,信道服从瑞丽分布,用h表示。

通信过程如下:

步骤s21、广播信号给候选中继节点和目的节点,同时源节点根据状态信息进行中继选择和功率分配;包括:

得到u-r链路和u-d链路的sinr,其公式如下:

其中,αk表示链接向量,采用one-hot编码方式,即如果第i个中继被选为中继节点,则链接向量中该中继对应位置为1,其他位置为0,i∈n,表示中继i被选为中继节点,n0和n1为高斯噪声,pu表示源节点的发射功率。

步骤s22、选中的中继节点转发信号给目的节点,包括:

得到r-d链路的sinr,并最终计算u-r-d链路的sinr和通信容量,其公式如下:

其中,αk表示链接向量,采用one-hot编码方式,pr,i表示所选中继节点的发射功率,n2为高斯噪声。

步骤s23、所述目的节点将状态信息反馈给源节点,包括:

在目的节点整合信干噪比后,把源节点到所选中继节点之间的信道增益gur,所选中继节点到目的节点的信道增益grd,以及源节点到目的节点之间的信道增益gud反馈给源节点,并将其作为所述深度强化学习训练的输入状态信息。

步骤s3、如图3所示,为强化学习原理图,采用深度强化学习方法,使所述源节点不断与环境进行交互得到所需状态信息,通过策略优化离线学习的方式,使所述源节点在试错中学习到经验用于决策。包括:

步骤s31、源节点获取环境状态信息

步骤s32、源节点根据获得的状态信息输入神经网络,做出采取的决策行动a,作用于环境;所采取的动作从行动空间中选择即其中n∈n,l∈l,本发明把每一个候选中继的功率离散化为l个等级,并且为了保证中继节点之间公平竞争,本发明把各个节点的功率成等差数列分布,并且n个中继节点的发射功率在行动空间中交替排列,即例如设置两个中继节点,每个中继节点的功率离散化为3个等级,则行动空间可以表示为[15,20,25,30,35,40],15表示第一个中继节点的第一个功率等级,20表示第二个中继节点的第一个功率等级,25表示第一个中继节点的第二个功率等级,以此类推。实现了源节点选择某个合适的中继的同时,也选择了功率,实现了联合中继和功率分配。把[gur,grd,gud,pr,α]∈s作为状态信息。

源节点选择的动作作用于环境后,为了评判智能体做出的动作选择的优越性,环境把整个拓扑的信干噪比作为奖赏r反馈给源节点,同时环境从当前时刻状态s转移到下一时刻的状态s’,把(s,a,r,s’)放入内存d中;

步骤s33、使用如图4所示的rnn网络训练网络参数。

本发明把深度学习和强化学习结合起来,利用rnn循环神经网络拟合状态行动值函数q,源节点在强化学习框架下训练的过程如图5所示,包括:

步骤一,初始化回放内存记为d;

步骤二,使用循环神经网络(rnn)来拟合状态行动值函数q,并初随机初始化参数θ

步骤三,使用rnn网络来拟合目标状态行动值函数q^,网络结构同q网络,初始化权重参数θ-=θ;

步骤四,设定训练轮数用episode表示,使其等于m;

步骤五,初始化网络输入序列s1;

步骤六,以ε的概率随机选择动作at,或者at=argmaxaq(st,a,θ);

步骤七,源节点执行动作at,观察奖赏rt并得到下一个时刻的状态st+1;

步骤八,把(st,at,rt,st+1)放入d中;

步骤九,随机从d中采样minibatch个样本,表示为(sj,aj,rj,sj+1);

步骤十,计算每一个状态的目标值,并更新;如果在j+1步,episode=m,则yj=rj,否则yj=rj+γmaxa'q^(sj+1,a';θ-),γ为折扣因子;

步骤十一,梯度下降(yj-q^(sj,aj';θ-))2,更新网络参数θ;

步骤十二,每隔c步,使q^=q;

步骤十三,当episode小于m,返回执行步骤五。

为了验证本发明方法的有效性,进行了仿真实验,设置如下:

拓扑设置为一个源节点,两个候选中继节点,一个目的节点,其随机分布于200m*200m的区域内,中继功率离散化为3个级别,行动空间a=[10,15,20,25,30,35]。一共训练了1400轮,每轮训练180次,学习速率为0.001。

对比实验:分别为网络结构为(循环神经网络)rnn网络结构和网络结构为(卷积神经网络)cnn。

仿真结果如图6所示,利用rnn网络,当训练轮数达到850时,整个拓扑的通信容量收敛,达到稳定。而使用cnn网络,当训练轮数达到1000时,整个拓扑的通信容量才达到稳定。利用cnn网络,训练初期很不稳定。在容量曲线收敛后,使用rnn网络的通信容量比使用cnn网络的通信容量高11%。由此可知本发明所使用的rnn网络结构可以适应于水下未知多变的环境,并且可以增加水下拓扑通信容量的效果。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1