一种扩散分子通信环境下基于强化学习的多层自适应奖励目标溯源方法

    专利查询2022-07-07  136



    1.本发明涉及一种扩散分子通信环境下基于强化学习的多层自适应奖励目标溯源方法。


    背景技术:

    2.分子通信(molecular communication,mc)是一种基于纳米尺度粒子传输的仿生方法。常规的基于波场激励的通信系统无法应用于小型通信环境,而分子通信具有优秀的生物兼容性和较低的功耗,被广泛应用于环境监测、药物输送和疾病感测领域。因此,mc是未来微型生物纳米网络中最重要的技术之一。
    3.在mc系统中,发射源的位置是一个重要参数。利用分子探测器和发射源之间的位置信息以及菲克定律可以计算出mc的信道冲激响应(csi)。这样就不需要进行多次信道估计,大大降低了mc的通信复杂度。此外,如果确定了分子探测器和发射源之间的位置信息,分子探测器可以往返到发射源完成许多指定任务,如污染清理、资源补充等工作。
    4.目前,距离估计和信源定位已经在许多论文中进行了研究。在“x.wang,m.d.higgins,and m.s.leeson,“distance estimation schemes for diffusion based molecular communication systems,”ieee communications letters,vol.19,no.3,pp.399-402,2015”中,作者使用浓度峰值时间和接收到的浓度值来估计距离,但它不能准确地得到分子探测器通过距离的位置。“s.huang,l.lin,w.guo,h.yan,j.xu,and f.liu,“initial distance estimation for diffusive mobile molecular communication systems.”in2019ieee/cic international conference on communications workshops in china(iccc workshops),2019,pp.174-179”只研究了简单场景下的高精度距离估计方案,没有考虑到障碍物。虽然“y.miao,w.zhang,and x.bao,“cooperative source positioning for simo molecular communication via diffusion,”in 2019ieee 19th international conference on communication technology(icct),2019,pp.495-499”通过协作源定位获得了发射机的位置,但它使用多个分子探测器协同工作会消耗很多的资源。“a.ahmadzadeh,v.jamali,and r.schober,“stochastic channel modeling for diffusive mobile molecular communication systems,”ieee transactions on communications.vol.66,no.12,pp.6205-6220,2018”研究了随机运动下的信道冲激响应(csi);“z.luo,l.lin,q.fu,and h.yan,“an effective distance measurement method for molecular communication systems.”in 2018ieee international conference on sensing,communication and networking(secon workshops),2018,pp.1-4”利用已知的信道冲激响应(csi)推导出接收机和发射机之间的初始距离,但无法解决移动过程中的定位问题。以上问题都是基于已知的csi来完成距离估计的。然而,随着环境的变化,csi通常是未知的。复杂环境下的发射源定位问题尚未解决。
    5.本发明基于q-learning路径规划方案,提出了适用于扩散环境的多层自适应奖励
    阈值方案,最终结果表明其可大大降低迭代回合,增加定位效率,并能够在指定时间内完成任务。


    技术实现要素:

    6.发明目的:为解决传统扩散系统中定位精度不佳、迭代次数过长等问题,本发明基于q-learning的路径规划系统设计出了一种多层自适应的奖励阈值方案,并将此方案与现有的扩散系统相结合,大大提高了扩散系统中分子探测器的定位效率,并能够在有界空间内任意位置找到发射源。
    7.为了达到上述技术效果,本发明的技术方案如下:
    8.一种扩散分子通信环境下基于强化学习的多层自适应奖励目标溯源方法,能够引导分子探测器避开障碍物找到目标位置,具体步骤如下:
    9.步骤1:分子探测器起点位置坐标o,可行位置集合s,分子探测器每步的运动距离d和动作集合a={(0,0,
    ±
    d),(0,
    ±
    d,0),(
    ±
    d,0,0)},学习率α,衰减因子γ,分子探测器每回合的运动时间t
    tot
    ,探测目标释放分子的时间周期t
    in
    ,分子探测器每步的运动时间间隔ts,选择运动方向的概率ε∈[0,1],每回合的最大运动步数w
    max
    =t
    tot
    /ts,初始迭代回合数n1,最大更新迭代回合数n2,碰到障碍物给予的惩罚值e
    fail
    ,达到分子数阈值给予的奖励值达到步数阈值给予的奖励值,成功找到目标给予的奖励值e
    sus
    ,设置q表的初值全为0,q(i,j)表示q表第i行、第j列的值,其分别对应第i个状态(si∈s,i=1,

    ,|s|)和第j个动作(aj∈a,j=1,

    ,|a|),其中|s|和|a|分别表示集合|s|和|a|的大小;
    [0010]
    步骤2:每个训练回合内,分子探测器从初始位置o出发,满足以下3个条件之一则回合终止:1)运动步数达到w
    max
    ;2)分子探测器碰到障碍物;3)分子探测器找到目标;
    [0011]
    步骤3:令多层自适应奖励阈值方案的层数为步骤3:令多层自适应奖励阈值方案的层数为代表向上取整;分子数阈值φ
    t
    和运动步数阈值ψ
    t
    表示为:
    [0012][0013][0014]
    其中,和分别表示为t时刻第l层对应的接收分子数和分子探测器每回合所运动的步数;首先分子探测器探索n1个初始回合,利用平均接收分子数得到分子数阈值、运动步数阈值的初值φ0、ψ0;
    [0015]
    步骤4:分子探测器根据φ
    t
    和ψ
    t
    设置奖励r并更新q表;每隔n2个回合更新分子数阈值φ
    t
    ;直至找到目标则训练停止;
    [0016]
    步骤5:输出分子探测器最优运动路径,即从初始位置o出发,在训练得到的q表中选择当前位置对应的q值最大的方向进行运动,直至运动到目标位置,该路径即为最优运动路径;
    [0017]
    2、步骤3中,分子数初值φ0和步数初值ψ0的具体设置步骤如下:
    [0018]
    步骤201:设置n1个初始回合,令每个回合接收分子数为(n=1,

    ,n1),其中表示当前回合n中第w步的接收分子数;记当前回合数n=1;
    [0019]
    步骤202:若n>n1,跳转至步骤206;设置分子探测器当前位置s=o,步数w=0;
    [0020]
    步骤203:分子探测器按照下式所示的概率从q表中选择当前位置s对应的动作aj:
    [0021][0022]
    其中,表示si状态下选择aj的概率,arg maxq(i,j)表示从q表的第i行找到能使得q(i,j)最大的j;若6个方向对应的q值全部相等,则从a中以等概的方式随机选择一个方向运动;
    [0023]
    步骤204:分子探测器执行动作aj,当前位置更新为s

    s aj,当前步数w

    w 1,当前步数的接收分子数记为
    [0024]
    步骤205:若满足步骤2中3个回合终止条件,则开始一个新的回合,n

    n 1并跳转至步骤206;否则,跳转至步骤203;
    [0025]
    步骤206:对n1个回合的接收分子数mn取平均得:
    [0026][0027]
    记表示中从第(l-1)
    ·
    t
    in
    ·wmax
    1个到第l
    ·
    t
    in
    ·wmax
    个数据中的最大值,该最大值在中的位置记为φ
    l
    ,其中l=1,

    ,l;
    [0028]
    步骤207:令第l层步数阈值初值并得到第l层接收分子数阈值计算方法为:
    [0029][0030]
    表示中第w个数值,从而得到
    [0031]
    3、步骤4中,分子数阈值和运动步数阈值φ
    t
    、ψ
    t
    以及q表的更新,步骤如下:
    [0032]
    步骤301:令φ
    t
    =φ0,ψ
    t
    =ψ0,记当前回合数n=1;令其中表示当前回合n第w步的接收分子数,(n=1,

    ,∞);
    [0033]
    步骤302:设置分子探测器当前位置s=o,步数w=0,当前回合接收的总分子数若n>n2且可以被n2整除,则更新分子数阈值φ
    t
    ;令当前回合分子数阈值层数ln=1;
    [0034]
    步骤303:根据权利要求2步骤203选择动作aj,分子探测器执行动作aj,当前位置更新为s

    s aj,当前步数w=w 1,当前步数w的接收分子数记为更新当前回合接收的总分子数
    [0035]
    步骤304:计算奖励r,并按照如下公式更新q表
    [0036][0037]
    其中,q(i

    ,j

    )表示在下一状态si′
    =s aj做出动作aj′
    时所对应的q值;
    [0038]
    步骤305:若满足步骤2中3个回合终止条件,则开始一个新的回合,n

    n 1并跳转至步骤302;
    [0039]
    步骤306:开始新的一步,并跳转至步骤303。
    [0040]
    4、所述步骤302中更新分子数阈值φ
    t
    的步骤如下:
    [0041]
    步骤401:令表示第l层分子数阈值对应的更新指标,其中表示第n-n2 1个回合中前步的接收分子数;
    [0042]
    步骤402:选取m
    l
    中最大的数值作为第l层分子数阈值,即(l=1,

    ,l),并更新分子数阈值
    [0043]
    5、所述步骤304中,奖励r的计算步骤如下:
    [0044]
    步骤501:令r

    0;
    [0045]
    步骤502:若达到分子数阈值,则设置分子数奖励r

    r r
    mol
    ,其中r
    mol
    表示达到分子数阈值的奖励,并且若则同时设置步数奖励r

    r rw,其中rw表示达到运动步数阈值的奖励;
    [0046]
    步骤503:若碰到障碍物,则r
    ←efail
    ,其中e
    fail
    表示碰到障碍物的惩罚值;
    [0047]
    步骤504:若找到目标,则r
    ←esus
    ,其中e
    sus
    表示找到目标的奖励值;
    [0048]
    6、所述步骤502中,分子数奖励和步数奖励的计算方法如下:
    [0049]
    步骤601:r
    mol
    =0,rw=0;
    [0050]
    步骤602:若ln>l,则结束奖励值计算;否则,执行步骤603;
    [0051]
    步骤603:若则结束奖励值计算;否则,执行步骤604;
    [0052]
    步骤604:令其中,为满足分子数阈值时获得的奖励值;若当前步数时,则令其中,为满足运动步数阈值时获得的奖励值;
    [0053]
    步骤605:令ln←
    ln 1,跳转至步骤602;
    [0054]
    有益效果:与现有技术相比,本发明所提供的基于强化学习的自适应多层奖励阈值方案,具有如下优点:
    [0055]
    (1)应用范围广泛。本发明所提出方案可以灵活地应用于任意规模的扩散环境中,其不受湍流、平流扩散环境的影响,也不受环境中障碍物数目的影响;
    [0056]
    (2)定位精度较高。本发明所提出方案简单易行,可跨过障碍物直接找到目标,定位精度较高;
    [0057]
    (3)定位效率高。本发明所提出的方案能够以较低的实现复杂度,大大降低实验所需的迭代次数。
    附图说明
    [0058]
    图1为本发明实例中提出的一种扩散分子通信环境下基于强化学习的多层自适应奖励溯源定位方法实施流程图;
    [0059]
    图2为本发明实例中提出的一种扩散分子通信环境下基于强化学习的多层自适应奖励溯源定位方法系统结构图;
    [0060]
    图3为本发明实例中提出方案的仿真路径图对比图,红色三角表示本文所述的自适应多层奖励阈值方案方案,黑色圆圈表示基于浓度梯度的路径规划算法;
    [0061]
    图4为本发明实例中提出方案的路径规划性能对比图;
    具体实施方式
    [0062]
    下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
    [0063]
    如图1所示,本发明的具体实施步骤主要包含以下十三个步骤:
    [0064]
    第一步:分子探测器起点位置坐标o,可行位置集合s,分子探测器每步的运动距离d和动作集合a={(0,0,
    ±
    d),(0,
    ±
    d,0),(
    ±
    d,0,0)},学习率α,衰减因子γ,分子探测器每回合的运动时间t
    tot
    ,探测目标释放分子的时间周期t
    in
    ,分子探测器每步的运动时间间隔ts,选择运动方向的概率ε∈[0,1],每回合的最大运动步数w
    max
    =t
    tot
    /ts,初始迭代回合数n1,最大更新迭代回合数n2,碰到障碍物给予的惩罚值e
    fail
    ,达到分子数阈值给予的奖励值达到步数阈值给予的奖励值,成功找到目标给予的奖励值e
    sus
    ,设置q表的初值全为0,q(i,j)表示q表第i行、第j列的值,其分别对应第i个状态(si∈s,i=1,

    ,|s|)和第j个动作(aj∈a,j=1,

    ,|a|),其中|s|

    和|a|分别表示集合|s|和|a|的大小;
    [0065]
    第二步:每个训练回合内,分子探测器从初始位置o出发,满足以下3个条件之一则回合终止:1)运动步数达到w
    max
    ;2)分子探测器碰到障碍物;3)分子探测器找到目标;
    [0066]
    第三步:令多层自适应奖励阈值方案的层数为第三步:令多层自适应奖励阈值方案的层数为代表向上取整;分子数阈值φ
    t
    和运动步数阈值ψ
    t
    表示为:
    [0067][0068][0069]
    其中,和分别表示为t时刻第l层对应的接收分子数和分子探测器每回合所运动的步数;首先分子探测器探索n1个初始回合,利用平均接收分子数得到分子数阈值、运动步数阈值的初值φ0、ψ0;
    [0070]
    第四步:分子探测器根据φ
    t
    和ψ
    t
    设置奖励r并更新q表;每隔n2个回合更新分子数阈值φ
    t
    ;直至找到目标则训练停止;
    [0071]
    第五步:输出分子探测器最优运动路径,即从初始位置o出发,在训练得到的q表中选择当前位置对应的q值最大的方向进行运动,直至运动到目标位置,该路径即为最优运动路径;
    [0072]
    第六步:设置分子数初值φ0和步数初值ψ0:
    [0073]
    步骤601:设置n1个初始回合,令每个回合接收分子数为其中表示当前回合n中第w步的接收分子数;记当前回合数n=1;
    [0074]
    步骤602:若n>n1,跳转至步骤606;设置分子探测器当前位置s=o,步数w=0;
    [0075]
    步骤603:分子探测器按照下式所示的概率从q表中选择当前位置s对应的动作aj:
    [0076][0077]
    其中,表示si状态下选择aj的概率,argmaxq(i,j)表示从q表的第i行找到能使得q(i,j)最大的j;若6个方向对应的q值全部相等,则从a中以等概的方式随机选择一个方向运动;
    [0078]
    步骤604:分子探测器执行动作aj,当前位置更新为s

    s aj,当前步数w

    w 1,当前步数的接收分子数记为
    [0079]
    步骤605:若满足第二步中3个回合终止条件,则开始一个新的回合,n

    n 1并跳转
    至步骤606;否则,跳转至步骤603;
    [0080]
    步骤606:对n1个回合的接收分子数mn取平均得:
    [0081][0082]
    记表示中从第(l-1)
    ·
    t
    in
    ·wmax
    1个到第l
    ·
    t
    in
    ·wmax
    个数据中的最大值,该最大值在中的位置记为φ
    l
    ,其中l=1,

    ,l;
    [0083]
    步骤607:令第l层步数阈值初值并得到第l层接收分子数阈值计算方法为:
    [0084][0085]
    表示中第w个数值,从而得到
    [0086]
    第七步:分子数阈值和运动步数阈值φ
    t
    、ψ
    t
    以及q表的更新:
    [0087]
    步骤701:令φ
    t
    =φ0,ψ
    t
    =ψ0,记当前回合数n=1;令其中表示当前回合n第w步的接收分子数,(n=1,

    ,∞);
    [0088]
    步骤702:设置分子探测器当前位置s=o,步数w=0,当前回合接收的总分子数若n>n2且可以被n2整除,则更新分子数阈值φ
    t
    ;令当前回合分子数阈值层数ln=1;
    [0089]
    步骤703:根据第六步步骤603选择动作aj,分子探测器执行动作aj,当前位置更新为s

    s aj,当前步数w=w 1,当前步数w的接收分子数记为更新当前回合接收的总分子数
    [0090]
    步骤704:计算奖励r,并按照如下公式更新q表
    [0091][0092]
    其中,q(i

    ,j

    )表示在下一状态si′
    =s aj做出动作aj′
    时所对应的q值;
    [0093]
    步骤705:若满足第二步中3个回合终止条件,则开始一个新的回合,n

    n 1并跳转至步骤702;
    [0094]
    步骤706:开始新的一步,并跳转至步骤703。
    [0095]
    第八步:第七步所述步骤702中更新分子数阈值φ
    t
    的步骤如下:
    [0096]
    步骤801:令表示第l层分子数阈值对应的更新指标,其中表示第n-n2 1个回合中前步的接收分子数;
    [0097]
    步骤802:选取m
    l
    中最大的数值作为第l层分子数阈值,即中最大的数值作为第l层分子数阈值,即并更新分子数阈值
    [0098]
    第九步:第七步所述步骤704中,奖励r的计算步骤如下:
    [0099]
    步骤901:令r

    0;
    [0100]
    步骤902:若达到分子数阈值,则设置分子数奖励r

    r r
    mol
    ,其中r
    mol
    表示达到分子数阈值的奖励,并且若则同时设置步数奖励r

    r rw,其中rw表示达到运动步数阈值的奖励,;
    [0101]
    步骤903:若碰到障碍物,则r
    ←efail
    ,其中e
    fail
    表示碰到障碍物的惩罚值;
    [0102]
    步骤904:若找到目标,则r
    ←esus
    ,其中e
    sus
    表示找到目标的奖励值;
    [0103]
    第十步:第九步所述步骤902中,分子数奖励和步数奖励的计算方法如下:
    [0104]
    步骤1001:r
    mol
    =0,rw=0;
    [0105]
    步骤1002:若ln>l,则结束奖励值计算,否则,执行步骤1003;
    [0106]
    步骤1003:若则结束奖励值计算;否则,执行步骤1004;
    [0107]
    步骤1004:令其中,为满足分子数阈值时获得的奖励值;若当前步数时,则令其中,为满足运动步数阈值时获得的奖励值;
    [0108]
    步骤1005:令ln←
    ln 1,跳转至步骤1002;
    [0109]
    第十一步:为进一步对本发明的方法进行性能分析,验证本发明所提出的有效性,所述的实现模型如图2所示,该模型拥有3个障碍物,一个发射源,一个分子探测器。验证实验采取基于浓度梯度的路径规划算法、sarsa算法和蚁群算法作为对比,所述的基于浓度梯度的路径规划算法是一种局部最优信息的驱动式算法,其对比6个移动方向的浓度,选择浓度最大的方向运动,其较易陷入局部最优;sarsa算法和蚁群算法都是一种启发式智能算法,sarsa使用更加保守的方式对q值公式进行更新,整个实现流程仍然采用本文所述的自适应阈值方法,而蚁群算法在走过的路径上叠加信息素,收敛速度较慢,消耗资源较多。
    [0110]
    第十二步:图3表示利用本发明所提方法与基于浓度梯度的路径规划算法的路径对比图;实验条件是通过十万个迭代回合运行,选出其中成功的一个进行对比。由图3可知,本发明所提方案可以在限定时间内完美的避开障碍物并完成溯源工作,而基于浓度梯度的路径规划算法陷入局部最优,无法找到发射源。
    [0111]
    第十三步:图4表示利用本发明所提方法、蚁群算法和sarsa算法的探索回合的性能对比图;实验展示了找到发射源的回合数与运动时间(即发射器每个迭代回合的运动步数)之间的关系,有图4可知,本发明所提的基于强化学习的自适应奖励阈值方法可以用最少的步数找到目标,并且在相同运动步数情况下,其找到目标的回合数最少。
    [0112]
    显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
    转载请注明原文地址:https://tc.8miu.com/read-910.html

    最新回复(0)