基于循环神经网络的可变步长分布式压缩感知重建方法与流程

文档序号:12865741阅读:655来源:国知局

本发明属于分布式压缩感知重建技术领域,具体涉及一种基于循环神经网络的可变步长分布式压缩感知重建方法。



背景技术:

可求解欠定线性系统稀疏解的压缩感知技术与传统的奈奎斯特采样理论相比,可用远低于后者的采样率重建信号,因此在近年来受到学术界的广泛关注。然而,压缩感知技术仅考虑了单通道信号的处理,当需要对多通道信号重建时,压缩感知技术没有利用信号的相关性提升重建速度或是重建精度。为充分利用多通道信号内及信号间的结构关系,出现了分布式压缩感知技术,它能对多通道信号独立压缩采样再联合重构。分布式压缩感知技术主要存在两个特点:1)由于利用了信号间和信号内部的相关性,可以减少所需测量数;2)分布式压缩感知的技术复杂度主要在联合解码端而不是编码端,该特点对于无线感知网络等需要编码端低复杂度的应用十分重要。

与传统的压缩感知中的l0范数优化问题一样,分布式压缩感知重建模型也是一个np难问题。大量学者已经设计了优化算法解决多通道信号重建问题,它们主要分为贪婪算法、基于混合范数优化算法、迭代加权算法和贝叶斯方法。但这些方法大多对多通道信号组成的矩阵有着苛刻的要求,不仅要求矩阵的每一列是稀疏的,而且共享相同的支撑集,即要求多通道信号满足联合稀疏条件。但现实世界中很少有信号满足此要求,阻碍了分布式压缩感知模型在实际当中的应用。如何挖掘实际信号中的结构信息,并松弛联合稀疏条件,是分布式压缩感知技术的重要研究方向之一。

因此,目前需要一种新的分布式压缩感知重建方法,能重建非联合稀疏的多通道信号,同时不增加编码端的计算复杂度。



技术实现要素:

为了克服上述现有技术存在的不足,本发明的目的在于提出一种基于循环神经网络的可变步长分布式压缩感知重建方法,利用循环神经网络获取各通道待重建向量的结构信息,得到各通道向量中每一项非零的条件概率,然后估计本次迭代最佳原子,再通过求解一个最小二乘问题确定各通道非零项的值,完成信号的重建。

为了达到上述目的,本发明所采用的技术方案是:一种基于循环神经网络的可变步长分布式压缩感知重建方法,其特征在于,所述方法包括如下步骤:

1)训练长短期记忆(longshort-termmemory,lstm)网络:

采用lstm网络结构,该lstm网络用来在重建过程中选取最佳原子;在使用lstm选原子之前,需要使用数据训练该网络参数,训练方法采用nesterov算法,训练网络的步骤如下:

1.1)生成多个训练数据对:给定某个通道的稀疏向量s,观测矩阵φ,可得到观测向量y,由于s中值最大的项对y贡献最大,所以将s中最大项的值设置为1,其它项置零,得到向量s0,s0与y组成一对训练数据(s0,y);n组稀疏向量和观测数据可得到n对训练数据;

1.2)设置输入参数:根据重建信号的特点设置以下参数值:固定步长st,μ,梯度剪切阈值th,训练次数ne,一个最小批中训练对的总数目bs,压缩重建的通道数l;

1.3)参数初始化:将lstm网络中所有待训练参数设置成较小的随机数,并且i=0,k=1;

1.4)当i≤ne时执行步骤1.5,否则停止迭代,完成lstm网络训练;

1.5)对每一个最小批做如下计算:

1.5.1)令r=1,当r≤bs时,计算其中lr,τ=-s0,r,τ(j)log(sr,i,τ(j)),λk指第k次训练的所有参数,当r>bs时进入步骤1.5.2);

1.5.2)计算步骤1.5.1)中所有项的和如果

1.5.3)更新更新λk=δλk+λk-1;

2)计算各通道向量组成的稀疏矩阵

2.1)输入参数:输入感知矩阵a∈rm×n,其中a∈φψ,各通道测量值组成的矩阵y∈rm×l,作为迭代停止条件的残差向量l2范数最小值ε,每次迭代选入的原子个数na,步长收缩阈值st,训练好的lstm神经网络;

2.2)初始化参数:每个通道的稀疏向量长度为n,l个通道向量组成待重建稀疏矩阵通道数j=1,迭代次数i=0,支撑集ω=φ,残差矩阵r=y;

2.3)设置迭代停止条件:更新迭代次数i=i+1,当迭代次数i≤n或残差矩阵的l2范数||r||≤ε时迭代停止并输出当停止条件未满足时,对每一个通道j,j=1,2,...,l执行步骤2.4-2.12;

2.4)归一化第j个通道第i-1次迭代的残差向量:搜索第j个通道第i-1次迭代中残差向量模值最大的元素max(|r(:,j)i-1|),并归一化该残差向量

2.5)更新lstm网络输出向量vj:由前一通道lstm细胞输出向量vj-1,状态向量cj-1和当前残差更新本通道本次迭代的lstm细胞输出向量vj=lstm(r(:,j)i,vj-1,cj-1),其中lstm为训练好的神经网络;

2.6)lstm网络输出向量空间到稀疏向量空间的空间变换:将lstm网络输出向量vj转换成稀疏向量空间向量zj=uvj,其中转换矩阵u在训练lstm网络时已计算,为集合λ中元素;

2.7)确定最佳原子对应的索引ind:通过softmax层找到第j个通道中,待重建稀疏向量每一项非零的概率向量cj,该概率向量中值最大的na个元素的索引集合ind为最佳原子索引集合;

2.8)待重建向量支撑集更新:将此次迭代确定的最佳原子集合对应的索引集合ind加入待重建向量的支撑集ωi=ωi∪ind;

2.9)使用最小二乘法计算当前通道待重建稀疏向量先使用最小二乘法法计算中非零元素的值再将中其它元素置零

2.10)更新当前通道残差r(:,j)i:对比观测向量y(:,j)和已重建向量更新当前通道残差

2.11)更新原子选择步长:当残差l2范数||r(:,j)i||2<st,且当前步长na>1时,调整每次迭代原子选择个数na=na-1;

2.12)迭代次数更新:更新迭代次数为i=i+1。

进一步地,步骤1)中,采用2000年由gers和schmidhuber提出的带窥视孔连接的lstm网络结构。

与现有技术相比,本发明的有益效果是:

1)本发明对多通道信号的结构特性要求由联合稀疏松弛为非联合稀疏。传统的多通道重建算法对待重建信号建模时,要求各通道信号稀疏表示后支撑集相同,即满足联合稀疏条件。但实际应用中,待重建信号很难满足联合稀疏条件。本发明通过lstm网络获取各通道信号之间结构特性,并据此筛选出最佳的多个原子,对待重建的各通道信号没有联合稀疏的要求,从而拓宽了可重建信号的范围。

2)本发明所提算法与其它贪婪类多通道重建算法的计算量相当。本算法主要分为网络训练和信号重建两部分,其中耗时最多的部分是lstm网络的训练,该训练可离线完成,且只需要进行一次,重建时可直接使用训练好的lstm网络,因此与somp等贪婪类多通道重建算法相比,本算法并没有增加计算量。

3)本发明采用的可变步长可加速重建算法的收敛速度。由于每次迭代选择最佳的多个原子,侯选原子集中原子个数在前面的几次迭代中可以快速增长,在迭代后期,未选入候选原子集的原子个数较少,为保证重建精度,需要调整选入候选原子集的原子个数,因此这种变步长的策略兼顾了收敛速度与重建精度。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供的一种基于循环神经网络的可变步长分布式压缩感知重建方法,包括如下步骤:

1)训练lstm网络。

采用2000年由gers和schmidhuber提出的带窥视孔连接的lstm网络结构,该lstm网络用来在重建过程中选取最佳原子。在使用lstm选原子之前,需要使用数据训练该网络参数,训练方法采用nesterov算法,训练网络的步骤如下:

1.1)生成多个训练数据对。给定某个通道的稀疏向量s,观测矩阵φ,可得到观测向量y,由于s中值最大的项对y贡献最大,所以将s中最大项的值设置为1,其它项置零,得到向量s0,s0与y组成一对训练数据(s0,y)。n组稀疏向量和观测数据可得到n对训练数据。

1.2)设置输入参数。根据重建信号的特点设置以下参数值:固定步长st,μ,梯度剪切阈值th,训练次数ne,一个最小批中训练对的总数目bs,压缩重建的通道数l。

1.3)参数初始化。将lstm网络中所有待训练参数设置成较小的随机数,并且i=0,k=1。

1.4)当i≤ne时执行步骤1.5,否则停止迭代,完成lstm网络训练。

1.5)对每一个最小批做如下计算:

1.5.1)令r=1,当r≤bs时,计算其中lr,τ=-s0,r,τ(j)log(sr,i,τ(j)),λk指第k次训练的所有参数,当r>bs时进入步骤1.5.2)

1.5.2)计算步骤1.5.1)中所有项的和如果

1.5.3)更新更新λk=δλk+λk-1。

2)计算各通道向量组成的稀疏矩阵

2.1)输入参数。输入感知矩阵a∈rm×n,其中a∈φψ,各通道测量值组成的矩阵y∈rm×l,作为迭代停止条件的残差向量l2范数最小值ε,每次迭代选入的原子个数na,步长收缩阈值st,训练好的lstm神经网络。

2.2)初始化参数。每个通道的稀疏向量长度为n,l个通道向量组成待重建稀疏矩阵通道数j=1,迭代次数i=0,支撑集ω=φ,残差矩阵r=y。

2.3)设置迭代停止条件。更新迭代次数i=i+1,当迭代次数i≤n或残差矩阵的l2范数||r||≤ε时迭代停止并输出当停止条件未满足时,对每一个通道j,j=1,2,...,l执行步骤2.4-2.12。

2.4)归一化第j个通道第i-1次迭代的残差向量。搜索第j个通道第i-1次迭代中残差向量模值最大的元素max(|r(:,j)i-1|),并归一化该残差向量

2.5)更新lstm网络输出向量vj。由前一通道lstm细胞输出向量vj-1,状态向量cj-1和当前残差更新本通道本次迭代的lstm细胞输出向量vj=lstm(r(:,j)i,vj-1,cj-1),其中lstm为训练好的神经网络。

2.6)lstm网络输出向量空间到稀疏向量空间的空间变换。将lstm网络输出向量vj转换成稀疏向量空间向量zj=uvj,其中转换矩阵u在训练lstm网络时已计算,为集合λ中元素。

2.7)确定最佳原子对应的索引ind。通过softmax层找到第j个通道中,待重建稀疏向量每一项非零的概率向量cj,该概率向量中值最大的na个元素的索引集合ind为最佳原子索引集合。

2.8)待重建向量支撑集更新。将此次迭代确定的最佳原子集合对应的索引集合ind加入待重建向量的支撑集ωi=ωi∪ind。

2.9)使用最小二乘法计算当前通道待重建稀疏向量先使用最小二乘法法计算中非零元素的值再将中其它元素置零

2.10)更新当前通道残差r(:,j)i。对比观测向量y(:,j)和已重建向量更新当前通道残差

2.11)更新原子选择步长。当残差l2范数||r(:,j)i||2<st,且当前步长na>1时,调整每次迭代原子选择个数na=na-1。

2.12)迭代次数更新。更新迭代次数为i=i+1。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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