基于变分推断的1 比特动态阈值压缩感知*
2023-09-29王良君陆安琪
王良君 陆安琪
(江苏大学计算机科学与通信工程学院 镇江 212013)
1 引言
压缩感知(Compressive Sensing,CS)[1]是信号处理领域近十几年来兴起的理论,被应用到各个领域[2~3]。假设有一个信号长度为n的原始信号,用一个随机观测矩阵A∊Rm×n将信号投影到一个低维空间,得到长度为m的测量值y∊Rm,CS 的信号采集模型可以用数学公式(1)表示:
通常经典的CS 假设测量具有无限的精度。然而在实践中,每个测量值都会从一个真实值(可能是无限范围)映射到一个有限范围内的离散值。不可避免误差产生。很多研究提出了从量化测量中具体重建稀疏信号的技术,其中一种极端的方案是1 比特量化,即只保留测量值的符号值。1 比特压缩感知(1-bit CS)是由P.T.Boufounos 和R.G.Baraniuk 在2008 年提出的理论[4]。该理论的数学模型表示为
其中sign 是一个符号函数,将测量值向量中元素逐个跟零比较,大于0 记作1,反之记作-1,最后得到的测量值是一个布尔型向量Bm:={-1,1}m。1-bit CS 的目标是从1 比特观测值t和测量矩阵A中恢复稀疏向量x。
最近对该理论的研究成为压缩感知领域的热门,出现了大量关于1-bit CS 的重构算法。例如重归一化固定点迭代[4](Renormalized Fixed Point Iterative,RFPI)及其改进算法[5],二分迭代硬阈值[6](Binary Iterative Hard Thresholding,BIHT),这基础上做出改进的BIHT-l2在噪声情况下有更好重构表现,自适应离群值追踪[7](Adaptive Outlier Pursuit,AOP)可以自适应检测符号翻转。然而,这些算法需要预先了解原始信号的稀疏性,并且上述工作都默认阈值为零,由于采样数据之间的强相关性,带来的新信息量较少。文献[8]借鉴可变步长增量调制的思想,提出了一种自适应量化的1 比特压缩感知,该算法的步长设置跟上一步的测量结果相关,相邻测量值之间相互依赖,但无法保证其正确性,一旦发生错误,将导致整个系统崩溃。文献[9]用广义近似消息传递(GAMP)设计自适应量化方案,其中1 比特测量值被用作反馈来适应下一个阈值,但是该算法的计算复杂度较高,运行效率较低。本文研究无噪情况下的1-bit CS 信号重构问题,受到GAMP算法[9]启发,建立1比特动态阈值框架,然后在贝叶斯概率模型中引入动态阈值,并给出变分推断方法的推导过程。经过实验和分析,该方案可以有效恢复原始信号,并且与其他算法比较,可以获得更稳定的重构性能。
2 1比特动态阈值框架设计
动态阈值框架的实际模型分为两个部分:编码端和解码端。其框架图如图1。
长度为m的阈值向量τ被分成两个部分。阈值向量的前minit个元素初始化时被预先设置,剩下的m-minit个元素分成k份,随观测次数依次自适应产生。预先给定初始阈值τ0=0,在解码端输出信号的初步估计值x̂0。假设每份的阈值分量大小为B(block)。在接下来的步骤中,对于第k个阈值分量τk=Ak x̂k-1,Ak∊,x̂k-1是之前所有的观测值tk-1和阈值τk-1=[τk-2;τk-1]产生的估计值。以此循环,直到所有的观测值全部用完。
动态阈值框架主要的步骤描述如下:
1)初始设置:初始阈值向量τ0=0,生成信号估计值x̂0;
2)计算ŷk-1=Ak x̂k-1,τk=ŷk-1,更新τk=[τk-1;τk],tk=sign(yk-τk);
3)基于观测值tk和阈值τk,获得新的信号估计值x̂k;
4)回到第2)步直到观测结束。
3 基于变分推断的重构算法设计
3.1 重构模型框架
假设测量矩阵A中每个元素都是由标准高斯分布随机生成的并且观测值t模型的推理。根据式(2),ti的取值只有两种,可以用伯努利概率分布表示量化观测值t与原始测量值y以及阈值τ的关系:
这里的h=y-τ,g( ℎ )=(1+e-ℎ)-1是逻辑函数,与符号函数相比是可微分的,利于后续推导。类似于贝叶斯压缩感知[10]层级先验模型中,通过给信号添加双重稀疏先验来鼓励信号稀疏,类似地,也给x添加稀疏先验:
这里N(x|μ,σ2)是均值为μ,方差为σ2的高斯概率密度分布函数,μ=0,σ2=αi-1。 Γ(ai|a,b)=Γ(a)-1baαia-1exp(-bαi)代表参数a=b=10-4的伽马函数。为了更直观和清晰地看出上述这些参数和变量之间的关系,我们用层级先验模型图2 来表示。
图2 层级先验模型图
3.2 变分贝叶斯推断
在变分贝叶斯推断模型[11]中,随机变量用X=(H,V)表示,其中V表示可观测到的数据,对应上述模型,很容易看出V={t},H 表示隐藏变量,在本问题中,H={x,α}。理想情况下,我们希望可以从这个模型中精确推理出每个潜在变量的后验边缘分布。变分推断的目标是找到一个复杂度低的变分分布q(H) ,它非常接近真实的后验分布p(H|V)。
以下等式是对观测数据的对数边际概率的分解,它适用于任何概率分布:
这里的KL(q||p|表示真实的后验概率p(H|t)和近似后验概率q(H)之间的Kullback-Leibler 散度(KL 散度),由于KL(q||p|≥0,L(q)在lnp(t)上有下界,因此最大化L(q)就是最小化KL(q||p|。如果我们允许q(H)足够灵活,那么当KL 散度为零时,下界的最大值就会出现。在这种情况下,变分后验分布等于真后验,即L(q)=lnp(t)。然而,使用真实的后验分布在计算上是困难的。因此,我们必须考虑一个q分布,它具有下界,可以有效地求值和优化的性质,而且可以很好地近似于真正的后验分布。
我们希望选择一个比模型结构简单的变分分布q(H),使L(q)下界更容易计算。简化依赖结构的一种方法是选择一种变量之间是独立的变分分布,我们将q(H)写成因子形式:
将式(10)代入式(9)中,可以得出:
从上式分离出因子qj中的所有项,得到:
这里的C为常数,表示跟q相关的均值或期望。当式(12)中的KL 散度为零,也就是qj=时,这个界对qj来说是最大的。因此,我们可以通过设置qj=替换当前分布,变分优化通过初始化后验分布qj,然后循环遍历,更新每个因子,直到收敛。
基于上述分析,由于变量q(x)和q(α)是相互独立的。隐藏变量H={x,α} 的后验分布可以写成:
根据贝叶斯概率q(α)=p(x|α)p(α) 和变分推断公式(13),α的后验分布q(α)可以表示成:
这里表示与q(x)相关的均值。结合上面层级模型中x的高斯先验公式(6)和α的伽马先验公式(6),可以得到:
最终可以求出x关于q(x)的后验均值μα为
同样的,利用式(5)和式(13),q(x)也可以表示成:
最终,我们可以得到q(x)的均值μ和方差Σ:
为了清楚描述整个重构算法,结合提出的1 比特动态阈值方案,梳理的基于1 比特动态阈值的压缩感知重构算法简化流程如下:
1)初始化:k=1,信号x=0,阈值τ0=0;
2)根据采样得到的观测值tk,通过式(21)、(22);得到信号估计值μx;
3)根据信号估计值更新阈值τ,τk=[τk-1;τk] ;
4)根据式(17)、(21)更新后验估计均值μα,μx;
5)更新信号估计值x̂,判断是否收敛,如果收敛,流程结束,否则回到2)。
4 实验与分析
上述内容对基于变分推断的1 比特动态阈值压缩感知方案进行了介绍。为了验证本文算法的正确性,测试信号重构性能,下面从不同维度对算法进行仿真,将上述重构方案应用于随机信号中。实验中我们设置信号长度N=50,稀疏度K=5,测量值数目M=100,图3 为本文提出的1 比特动态阈值算法恢复信号的实验,可以证明动态阈值算法重构信号的有效性。
图3 零阈值和动态阈值信号重构
首先对本文提出的算法重构性能的影响因素进行分析。图4 研究了阈值分量大小对误差的影响,在这个实验中,设置N=100,M=200,K=5。在动态阈值框架中,观测值分为两大部分,在第一部分的观测中预设阈值前100 个元素为零,得到关于信号的初步估计,剩下的100 个元素分成k份,随观测次数依次自适应产生。假设每份的阈值分量大小为B(block),在恢复相同信号的情况下,观察阈值分量B 对误差的影响,发现阈值分量B 越大,误差越大。说明当阈值分量变大时,每次获得的观测数量变多,对后续观测值的影响变小,削弱了动态阈值的效果。
图4 阈值分块长度与重构误差的关系
此外,为了更进一步的研究算法在不同影响元素下的表现,将本文提出的动态阈值重构算法和经典的二分迭代硬阈值算法(Binary Iterative Hard Thresholding,BIHT)和迭代加权算法[15](Iterative Reweighted Algorithm,IRA)进行比较。设置N=100,在稀疏度K=3、K=5、K=10 三种情况下,让测量值M的数量从50增加到400,不同测量值对应的误差取100 次实验的平均值,研究稀疏度K和测量数量对三种算法重构误差的影响。实验结果如图5所示,随着信号稀疏度增大,三种算法的重构误差也随之增大,经典BIHT 算法相对两外两种算法重构误差较大,说明信号越不稀疏,重构难度越大。
图5 不同稀疏度下测量值数量和误差的关系
在图5 前两个子图中,本文提出的算法相对稳定,随着测量值数目的增加,与IRA 算法的重构水平几乎一致。这表示在1 比特重构算法虽然以丢失测量值的幅度值,但增加观测样本数,依然可以获得较好的重构效果。图5 中第三张子图表明,当稀疏度增大为K=20 时,本文提出的算法重构效果要优于IRA 算法。图6 研究了阈值分量block 和测量数量对三种算法重构误差的影响,综合来看,这四种情况下,本文提出的算法具有更佳的重构性能。
图6 不同阈值分量下三种算法的重构性能比较
5 结语
本文提出了一种基于变分贝叶斯推断方法的1 比特动态阈值压缩感知重构方案。这一方案利用信号的一些潜在结构特性,设计一种动态阈值重构模型,从一定程度上提高了编码端信息的利用率。另外,由于贝叶斯推断方法可以保证在给定信号分布的情况下获得最优性能,并且不需要预先知道信号的稀疏性。我们在变分贝叶斯推断模型中引入动态阈值,迭代更新阈值和信号估计值。最后通过实验验证该算法具有较好的重构性能。