一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种强化学习辅助的大规模MIMO的Damped-BP检测方法

2022-10-26 04:59:56 来源:中国专利 TAG:
一种强化学习辅助的大规模mimo的damped-bp检测方法
技术领域
:1.本发明属于信号检测
技术领域
:,具体涉及一种强化学习辅助的大规模mimo的damped-bp检测方法。
背景技术
::2.在5g通信的众多关键技术中,由于在频谱效率、能量效率、链路可靠性上的突出优点,大规模多入多出系统(multipleinputmultipleoutput,mimo)已成为业界和学术界广泛关注的焦点,而在mimo系统中,信号检测是一个非常关键的部分。在大规模mimo系统中出现“信道硬化”现象时,有信号检测算法的性能随着天线数量的增加能够接近最佳检测,同时复杂度也较低。最典型的具有这种特性的算法就是置信度传播(beliefpropagation,bp)算法。3.阻尼置信传播(damped-bp)检测算法是引入了动态过度松弛修正思想的一种bp算法。与mimo-bp检测算法相比,在算法每一次迭代时,对消息的更新被认为是新旧估计之间的加权平均值。在第t次迭代中,通过获取在第t次迭代中和第(t-1)次迭代中计算的消息的加权平均来阻尼消息。其中,阻尼因子δ∈[0,1)。[0004]在bp检测算法中,随着消息的更新和来回传递,正确符号的边缘概率将会逐渐增大,而其他符号的边缘概率会越来越小。damped-bp检测引入的记忆性会在一定程度上影响算法的收敛性。阻尼因子过大或过小都会严重影响damped-bp检测算法的性能,因此寻找最佳阻尼因子δ是十分重要的。技术实现要素:[0005]针对现有技术存在的缺陷,提出一种强化学习辅助的大规模mimo的damped-bp检测方法,该算法将damped-bp算法与强化学习中的q-learning算法相结合,从而实现了最佳阻尼因子的寻找,提升了damped-bp算法的性能,提升大规模mimo的检测性能。[0006]一种强化学习辅助的大规模mimo的damped-bp检测方法,包括如下步骤:[0007]步骤a,对于大规模多入多出系统,初始化q值:建立一个q-table,纵轴为动作值action,横轴为state状态值;[0008]步骤b,选择一个动作即动作值action:基于当前q值估计得出的状态s下选择一个动作a;[0009]步骤c,评估:实施动作a,观察结果状态s'和奖励r;[0010]步骤d,终身学习:重复步骤b、c,直到达到学习次数episode的最大值,或者手动停止训练,训练结束后,得到最佳的阻尼因子,代入damped-bp算法得到检测结果。[0011]进一步地,步骤a中,动作值action设置为增大或减小阻尼因子δ,将阻尼因子的大小作为state,初始值为0。[0012]进一步地,步骤b中,如果每个q值都等于0,则采取epsilon贪婪策略。[0013]进一步地,步骤b中,包括如下分步骤:[0014]1)指定探索速率epsilon,从1设置起,作为随机采取的步长;初始时,该速率处于最大值,通过随机选择动作做出更多的探索exploration;[0015]2)生成随机数;如果该数大于epsilon值,则开始利用exploitation,利用的已知信息来选择每一步的最佳动作;否则,就开始探索exploration。[0016]进一步地,步骤c中,具体为:更新函数q(s,a);实施选择的动作a,得到一个新的状态s'和奖励r;通过每次bp算法得到的误码率大小来决定给系统一个正向还是负向的reward,误码率小,则给一个正向的reward;误码率大,则给一个负向的reward;q(s,a)为动作值函数,是在状态s时采取动作a之后,获得的reward的期望值,用于衡量当前状态s采取动作a效果如何,定义如下:[0017][0018]其中,i为步数,ri代表第i步的奖励,s0代表初始状态,a0代表初始动作,e[*]代表取期望值;[0019]然后,利用贝尔曼方程式更新q(s,a)。[0020]newsq(s,a)=q(s,a) α[r(s,a) γmaxq'(s',a')-q(s,a)][0021]其中α为学习率,决定本次误差中被学习的程度;γ为未来reward的衰减值;γ越接近1,对未来的reward越敏感;a'代表新状态s'下采取的动作。[0022]进一步地,r(s,a)为奖励函数,定义为:[0023]r(s,a)=e[ri|si=s,ai=a]。[0024]其中i为步数,si表示第i步的状态,ai表示第i步的动作。[0025]与现有技术相比,本发明的有益效果在于:本方法通过采用强化学习中的q-learning算法,获得对应于damped-bp的最佳阻尼因子,可显著加快damped-bp检测算法的收敛速度,提升大规模mimo的检测性能,能更好地满足实际通信高可靠低时延需求。附图说明[0026]图1为本发明实施例中的方法模型图。[0027]图2为本发明实施例中的本方法训练出的最佳阻尼因子与其他阻尼因子仿真性能比较图。具体实施方式[0028]下面结合说明书附图对本发明的技术方案做进一步的详细说明。[0029]在消息传递算法中,阻尼消息的传递是一种已知的用于提高迭代算法收敛速度的方案。damped-bp算法是一种已知的改进的bp算法,用于提升bp收敛性能,其包括以下内容:[0030]实数域模型中,发射符号xi∈ω,且ω={e1,e2,...,ek},其中ω是原始复星座图中同相分量或正交分量ek的集合,k由调制阶数决定。在算法的每次迭代中,观测节点与变量节点之间来回更新信息。[0031]a.观测节点消息的更新规则[0032]观测节点先根据信道状态信息和其相邻节点的先验信息,计算出后验信息,再将其传递到观测节点。观测节点的后验对数似然比(log-likelihoodratio,llr)定义为:[0033][0034]其中[0035][0036]βj(il)(ek)表示在第l次迭代中,第j个观测节点发送给第i个符号节点的关于ek的后验信息。p(l)(xi=ek|yi,h)表示信道矩阵为h的情况下,在第l次迭代中第j个观测节点接收信息为yj时,发射端实际发送符号xi为ek的后验概率。[0037]b.变量节点消息的更新规则[0038]变量节点根据来自其他变量节点的后验消息计算先验消息,并将其传递给所有观测节点。变量节点的先验llr定义为:[0039][0040]其中[0041][0042]在整个迭代过程中,先验消息的计算为:[0043][0044]由于每次迭代中所有先验概率之和为1,每个符号的先验概率可以表示为:[0045][0046]其中,k=1,2,...,k,且[0047]在本轮迭代中,更新后的信息并不会立刻传递给下一次迭代,而是与上次迭代的旧信息做加权平均,以此作为传递给下一次迭代的更新信息。对bp迭代中的先验概率引入记忆性,对新旧先验概率取加权平均值,则先验概率的更新准则可表示为上次迭代对应的先验概率和当前先验概率的线性组合,如下所示:[0048][0049]其中,阻尼因子δ∈[0,1]。[0050]在bp检测算法中,随着消息的更新和来回传递,正确符号的边缘概率将会逐渐增大,而其他符号的边缘概率会越来越小。由公式(7)可知,damped-bp检测引入的记忆性会在一定程度上影响算法的收敛性。damped-bp算法收敛得越快,取得预期的检测性能所需要的迭代次数就越少,相应的复杂度和系统时延也越小,故阻尼因子的设计也应该是以尽可能改善bp算法的收敛速度为准则。[0051]阻尼因子过大或过小都会严重影响damped-bp检测算法的性能,因此寻找最佳阻尼因子δ是十分重要的,而q-learning算法正好可以实现该目的,因此将q-learning算法和damped-bp算法结合起来从而找出最佳阻尼因子是可能的。将阻尼因子的大小作为q-learning算法中的状态,动作设置为增大或减小阻尼因子,q-table就形成了,通过每次bp算法得到的误码率大小来决定给系统一个正向还是负向的回馈,误码率小,则给一个正向的回报;误码率大,则给一个负向的回报。这样,通过合理设置q-learning算法中的学习率、折扣因子以及训练次数,就能得到在某种动作下回报最大的状态,与之对应的阻尼因子也就是最佳阻尼因子,从而实现了最佳阻尼因子的寻找,其包括以下内容:[0052]a.初始化q值:建立一个q-table,行为state(状态值),列为action(动作值)。action设置为增大或减小阻尼因子δ,将阻尼因子的大小作为state。初始值为0,如表1所示。[0053]表1q-table[0054][0055]b.选择一个动作(action):基于当前q值即q(s,a)值,估计得出的状态s下选择一个动作a。如果每个q值都等于0,那么在一开始就采取epsilon贪婪策略。[0056]1)指定探索速率epsilon,从1设置起,作为随机采取的步长。一开始,这个速率应该处于最大值,因为并不知道q-table中的任何一个值。这也就意味着,要通过随机选择动作做出更多的探索(exploration)。[0057]2)生成随机数。如果该数大于epsilon值,那么就开始利用(exploitation),这也就意味着,利用的已知信息来选择每一步的最佳动作。否则,就开始探索(exploration)。[0058]c.评估(evaluate):实施动作a,观察结果状态s'和奖励r。现在,更新函数q(s,a)。实施选择的动作a,得到一个新的状态s'和奖励r。通过每次bp算法得到的误码率大小来决定给系统一个正向还是负向的reward,误码率小,则给一个正向的reward;误码率大,则给一个负向的reward。q(s,a)为动作值函数(actionvaluefunction),也叫q函数(q-function),定义如下:[0059][0060]其中,i为步数,ri代表第i步的奖励,s0代表初始状态,a0代表初始动作,e[*]代表取期望值。[0061]然后,利用贝尔曼方程式更新q(s,a)。[0062]newsq(s,a)=q(s,a) α[r(s,a) γmaxq'(s',a')-q(s,a)]ꢀꢀꢀꢀꢀꢀꢀꢀ(9)[0063]其中α为学习率,决定这次的误差有多少是要被学习的。γ为未来reward的衰减值,也就是前文提到的折扣因子。γ越接近1,机器对未来的reward越敏感;a'代表新状态s'下采取的动作。r(s,a)为奖励函数,定义为:[0064]r(s,a)=e[ri|si=s,ai=a]ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(10)[0065]其中i为步数,si表示第i步的状态,ai表示第i步的动作。[0066]d.终身学习:重复步骤b、c,直到达到学习次数episode的最大值(由用户指定),或者手动停止训练。[0067]选择合适的阻尼因子可以加速bp算法的收敛速度,提高bp算法的检测性能,根据提出的强化学习辅助的大规模mimobp检测方法,可以训练找出最佳的阻尼因子。在学习过程中,学习率α=0.6,折扣因子γ=0.7,探索速率epsilon=0.3。bp算法的参数设置为:bpsk调制,发射天线数nt与接收天线数nr都为16,即nt=nr=16,发送数据量为16000个比特,信噪比snr=2,迭代次数为5。[0068]训练过程分为两步:[0069]步骤s1:进行精度为0.1的训练。将阻尼因子设置为q-learning算法中的状态,初始状态选为0.3,动作为增加或减少0.1,训练次数为100,q-table为一个11×2的矩阵,经过100次训练后得到精度为0.1的初步最佳阻尼因子。[0070]步骤s2:进行精度为0.01的训练。将步骤s1得到的初步最佳阻尼因子设置为初始状态,状态空间设置为初步最佳阻尼因子上下浮动0.1精度,动作为增加或减少0.01,训练次数为100,q-table为一个21×2的矩阵,经过100次训练后即得到最佳的阻尼因子。[0071]经过强化学习得到了最佳的阻尼因子,与随机选择的阻尼因子的仿真性能比较如图2所示,可以看出在经过强化学习得到的阻尼因子δ=0.23的情况下的bp检测性能是最佳的,这验证了本方法是有效的。[0072]以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献