基于认知模型的助听器非精确设计

一种用于能量高效助听器的最优非精确设计

赛·普拉文·卡迪亚拉1 ∗,阿丽特拉·森2,舒布哈姆·马哈詹2,王清云2,阿维纳什·林加马内尼3,詹姆斯·斯尼德·格尔曼4,徐虹5,克里希纳·V·帕勒姆6,和阿林达姆·巴苏2
1计算机科学与工程学院,南洋理工大学,639798,新加坡
2电气与电子工程学院,南洋理工大学,639798,新加坡
3谷歌公司,94043,美国
4法国马赛大学国家科学研究中心,13007,法国
5人文与社会科学学院,南洋理工大学,639798,新加坡
6莱斯大学计算机科学系,休斯顿,77005,美国

收稿日期:2019年2月1日;接受日期:2019年4月26日

引言

数字电子技术在处理以声音和图像形式被感官感知的信息系统中正发挥着日益重要的作用。通常,这些系统所产生的信息会经过我们的听觉和视觉通路进行大量处理——这种处理能够补偿误差和其他故障——但现有的数字系统设计并未充分利用这一点。特别是,如果产生有瑕疵的图像和声音片段所需的能耗更低,而我们的补偿性神经认知处理能够容忍甚至完全忽略这些瑕疵,情况会如何?这种被称为非精确设计或近似计算的反直觉的方法,在硬件的加法、乘法及DSP基本单元以及大气建模中已被证明能够带来显著增益。MPEG编码,67识别和分类任务89——其基本原理是通过牺牲“质量”或精度来换取能量消耗、面积以及计算速度方面的增益。基于非精确设计的架构的一个有趣事实是,它们可以作为大多数现有低功耗设计方法的补充,例如自适应分辨率、无损压缩,10自时钟技术,11硬件复用,12电路优化,13截断编码14等。

总体而言,近似计算(非精确设计)的概念已被应用于许多领域。参考文献[15]重点介绍了利用阻变存储器(RRAM)实现能量高效的近似计算。本研究讨论了数字系统中由于近似带来的精度限制以及RRAM所实现的额外分辨率。针对定点应用,在模块和系统层面使用近似计算的方法见参考文献[16]。他们旨在为功能单元分配开发非精确硬件,资源调度与绑定算法,特别关注精度问题。在多媒体应用中,使用离散余弦变换(DCT)进行压缩是常见的。参考文献[17]利用了JPEG的错误弹性,提出了一种近似方法以实现低功耗压缩。参考文献[18]研究了低精度定点数据对深度神经网络训练的影响。本研究开发了一种高能效硬件加速器,用于执行低精度算术。参考文献[19]讨论了一种用于高度并行架构中基于可重构内存的模式匹配的近似方法。在此,输入模式与选择性位或选择性预先存在的模式进行匹配,以最小化匹配能耗。

尽管近似计算在数字信号处理系统中具有特别的吸引力,但以往的研究尚未达到真正可应用的程度。具体而言,通过非精确性引入的故障一直以算术幅度来量化——即两个数的和或积与正确答案之间的偏差量,因为所使用的操作是加法和乘法——而不是采用能够自然反映其对我们感官影响的度量。然而,在任何量化算术误差的度量与其对我们听觉或视觉感知影响程度之间的关系上,存在一条鸿沟。这自然显著增加了设计的复杂性,因为人类设计者必须弥合算术误差幅度与其对我们感官影响之间的差距。这一概念在图1中进行了说明,显然,由于需要测试大量可能的不精确设计组合,传统方法中的现场测试原型在时间和精力上都是不切实际的。本文提出了一种神经认知

示意图0

用于量化故障或精度损失的人耳听觉模型,通过一种新颖的语音可懂度度量实现。该模型和可懂度度量用于指导助听器中标准数字基本模块的非精确版本设计。一旦我们接受通过设计非精确(或不精确)的DSP基本单元来换取显著的节省或效率提升是可取的,那么可允许的非精确性或不精确程度便成为一个迫切的问题。系统越非精确,在面积、尺寸和能耗方面效率就越高。然而,超过某一特定点后,过高的非精确性会使设计出现过多故障,从而变得无法使用。在什么阈值之上,设计能够尽可能地非精确但仍保持可用?我们将这种设计称为“足够好”的设计。再次,我们将使用可懂度这一概念来刻画设计达到“足够好”的阈值,并利用数字构建模块作为展示本方法有效性的载体。将“足够好”的产品概念——在本文中即助听器——作为通过非精确设计实现效率提升的基础,并以可懂度等定量度量为指导来支持这一过程,是本论文的第二个重要贡献。

本研究中使用的认知模型结合了一种著名的语音质量评估模型——语音质量感知评估(Perceptual Evaluation of Speech Quality,PESQ20)以及一种基于一系列行为实验来确定可懂度的自定义校准技术。在我们的设置中,声音样本由非精确助听器处理,其可懂度由该认知模型确定。基于此结果,优化循环将确定可以增加多少非精确性并引入该方法,此过程将重复进行直至达到某一性能阈值。在本研究中,我们在负责频率分解的数字滤波器组中引入了非精确性;然而,该原理可应用于处理链中的任何其他电路模块。为进一步减少优化时间,我们建立了不精确电路的行为模型,以快速估算功耗节省和引入的误差,从而消除了在每次优化步骤中进行耗时的数字综合的需要。我们采用了一种结合贪婪和遗传算法的方法来执行优化步骤。利用前述技术,我们可将滤波器组的功耗面积积降低2:56×,同时相对于传统的精确设计仅造成20%的可懂度损失。我们此前已在参考文献[21]中提出了本研究的初步版本。与参考文献[21],相比,本文现提出以下创新点。

  • 对整个系统的详细说明以及开发用于组件剪枝的层级启发式方法
  • 采用更精确、细粒度的误差估计技术
  • 通过引入遗传算法改进先前的优化技术。

论文的结构如下:在第2节中,我们将描述用于剪枝电路的优化框架,该框架结合了认知模型。第3节给出了将作为演示增益候选方案的助听器架构的详细信息。接着,第4节描述了我们的设计流程所获得的结果,并报告了相较于传统数字设计的性能提升。最后,我们在第5节讨论了一些未来工作的方向并做出总结。

2. 面向高效近似电路的感知引导剪枝

概率剪枝22–24是一种非精确设计技术,该技术利用电路组件的重要性及其在电路运行期间的切换概率知识,系统性地剪除电路中“最无用”的组件。当应用于数据路径元件时,该技术已被证明在能量、延迟和面积方面均可实现30%–50%的显著节省,且无需增加硬件实现开销,仅造成输出精度可接受的损失。在本文中,我们将采用该技术作为引入“非精确性”并实现能量‐精度权衡的基础方法,而非采用基于电压调节的方法(如 BiVOS2526),原因在于多电源供应和跨电源域信号所需的电平转换器存在实际问题(详见参考文献[22])。

本文讨论了在非精确电路设计领域的三项创新贡献:首先,我们开发了一种用于剪枝电路组件的层级启发式方法,将精确组件替换为近似组件。其次,我们提出了一个精细粒度的误差建模技术,用于描述每个近似组件相关的误差。最后,我们提出了一种结合贪婪算法和遗传算法的优化策略,用于剪枝,该策略可扩展至大型数字系统。我们将以助听器(更具体地说是其中的FIR滤波器)作为主要示例,展示本方法所能实现的性能增益。

2.1. 优化框架

早期关于剪枝2223的研究考虑了通过使用涉及开关概率和重要性的显式代价函数,来移除加法器和乘法器等算术电路中的门。然而,对于产生用于感知消费输出的大规模系统而言,由于此类显式代价函数难以获得,并且在单个门的粒度上进行计算确定会带来严重的开销,因此这些方法是难以处理的。因此,我们提出建立一个包含N个E基本电路Ei的库E,其中每个基本电路只能采用几种预先表征的剪枝拓扑之一。这些拓扑可通过一个整数l进行索引,表示剪枝的级别或程度;l值越大,表示在误差幅度增加的代价下实现更高的成本节约。22设Li为表示Ei ∈E最大剪枝级别的整数,而l = 1对应于未剪枝结构。现在,我们可以通过记cj lj= Ei来定义设计中允许的所有组件ci的集合C,其中Ei ∈E且li( ≤Li ∈N。例如,若我们有两个基本电路,分别为加法器和乘法器,其近似级别分别为4和6,则有NE= 2,组件集合C为{(1, 1), (2, 1), (3, 1), (4, 1), (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (6, 2)}。待优化的电路可表示为一个有向无环图G,其节点为从C中选择的NG个组件、输入或输出,边则为连线。现在我们可以构建一个优化问题,通过调整L = l1l2 lNG]来改变G的性能,以换取成本节约。为了明确表达这种依赖关系,我们此后将该图记作GL。

同一组输入{I}下,GL的输出{O}的质量取决于 L的值,当L= 11 1= Lu对应未剪枝电路时,输出质量最佳。我们将性能正式定义为L的函数,如所示:

$$
= v \sum_{k=1}^{p_k Q_p(O_k(L), O_k(L_u))} \in R^+
$$

(1)

其中O_k(L)表示输入Ik在概率pk下( 1 ≤ k ≤)时,GL的输出 Qp表示一个函数,用于基于人类感官处理模型来衡量剪枝电路输出相对于未剪枝电路输出的感知质量,数值越大表示质量越好。

示意图1

现在可以将问题定义为寻找最优的L、Lopt值,使得:

$$
L_{opt} = \arg \min \quad \text{subject to} \quad \geq TH
$$

(2)

其中M是需要最小化的电路成本度量(如面积或功耗),TH表示可接受感知质量的阈值。注意,精确评估要求随输入维度指数级增长,这在有限时间内通常难以处理。因此,我们在实际应用中电路可能遇到的一小部分输入上评估结果,期望所获得的最优解在实际应用中表现良好。严格来说,我们找到的最优解可能接近全局最优,接下来将介绍所采用的优化技术。

2.2. 贪心优化算法

在(2)中提出的优化问题可以通过梯度下降法求解,该方法通过拉格朗日乘子法将约束条件纳入目标函数。我们选择拉格朗日乘子法,因为它允许我们指定电路指标 M与性能之间的权重。在这种情况下,L在每次迭代时根据该修改后代价函数的负梯度或灵敏度进行相应增量更新。为确保收敛到全局最优,可采用梯度下降算法的随机版本。然而,此过程具有巨大的计算复杂度,当NG和k取值较大时,迅速变得难以处理。此外,收敛到全局最优所需的迭代次数在很大程度上取决于代价函数的性质,通常可能大到无法接受。因此,我们提出一种改进算法,以降低计算复杂度,并具备以下特征:

  • 我们仅评估s(<NG)个随机选择的梯度分量,并且该随机候选集在每次迭代时都会被修改。这也可以看作是将真实的梯度向量投影到RNG的一个随机选择的低维子空间上。

为了减少迭代次数,我们采用一种“贪婪”方法,优先选择那些能够在不过度损害感知质量的情况下降低M的组件(即使> TH )。因此,我们将代价函数修改为:

$$
C = M + u(\ - TH)
$$

(3)

其中,是用于正则化的一个较小的正数,
是一个较大的正数,用于防止选择导致性能低于阈值的方案,u 为阶跃函数。与参考文献[21]中提到的公式相比,本研究对公式(3)进行了轻微修改。在本研究中引入了因子,以便在过低时稳定整体代价函数。

类似于学习率,我们有一个剪枝率q,它设定每次迭代中剪枝级别的最大增加量。此外,由于Li保持较小(以降低表征的开销),每次迭代的误差增加较大。为了防止误差出现大幅跳跃,我们仅允许对具有前q个最大梯度值的q(<s)个组件进行剪枝级别的调整,这通过一个“排序”函数rankq实现,该函数为选中的组件分配值1, 1/2, …, 1/q,而其余组件则分配值0。因此,最终的更新方程为:

$$
L(n+1) = L(n) + q \times rank_q(Is(n) \circ c)q
$$

(4)

其中Is是单位矩阵,除了随机选择的‘s’s行外,其余所有行都设为零。

整个方法在图2中以图形方式进行了描述。

2.3. 遗传算法

上一节中提出的贪心算法存在一个固有的缺点。它通常会得到较次优的解。这是因为在每一步中,该算法仅了解下一步的信息,而无法掌握整个系统的全局信息。为了克服这一缺点,我们探索了基于遗传算法的优化方法,这些方法能够在种群中进行并行搜索,从而有助于避免陷入局部极小值。它们还作用于染色体,这些染色体包含了潜在解的参数编码形式。在本研究中,我们选择了 一类高效的遗传算法——非支配排序遗传算法27,以实现我们的不精确剪枝的最优解。该方法相较于其他遗传算法更快,因为它具有对数复杂度,并且在连续代中保持精英主义。下文将描述如何将我们的优化问题融入遗传算法的框架中。

助听器的数字信号处理模块包含多个滤波器组,假设数量为m个。在本例中,每个滤波器组包含不同数量的乘法器,这些乘法器可通过我们的近似乘法器库进行剪枝。为了实现时间高效的最优剪枝,我们选择为每个滤波器组分配一个特定的近似级别,而不是为每个组件单独分配。本质上,给定滤波器组i中的所有组件(在本例中为乘法器)都将具有一个特定的

示意图2

具有近似级别li ≤L。这里,L是我们不精确库中存在的级别的数量。用于优化的染色体 如下所示

$$
= l_1l_2l_3 \dots l_m \quad l_i \geq L
$$

(5)

其中每个li由一个k位二进制值表示,其中k= dlog2(L)。我们提出了一种基于遗传算法的方法,旨在为我们的FIR滤波器组寻找“良好解(opt)”,使得可懂度(I)保持在阈值范围内。该遗传算法试图为每个滤波器找到最佳选择,以使整体功耗节省P最大,同时可懂度下降最小。我们将寻找最优滤波器配置(OFC)(如(2)中所述)的问题重新定义如下:

$$
OFC(L_{opt}) = \text{minimize} \left{ P = f_p(L) \right} \quad \text{maximize} \left{ I = f_{int}(L) \right} \quad \text{subject to} \quad L_u \in L_{opt} \in L_{max}, \quad P \leq P_0, \quad I \geq TH
$$

对于 some constants P0, TH 函数fp, fint给出特定配置(L)的功耗和可懂度。值P0需从规范中获取,度量TH在(2)中定义。采用能够处理多目标优化的非支配排序遗传算法(NSGA‐II)27用于解决上述优化问题。此处,功耗(P)和可懂度(I)是两个目标。最终我们得到一组帕累托点(在此上下文中为滤波器组配置),这些点基于目标值具有同等优良性。

3. 助听器架构

为了演示该算法的运行,我们选择了一个与我们的听觉相互作用的数字助听器作为平台。

如图3所示,助听器的基本架构包括一个模拟前端放大器,其后接一个宽动态范围模数转换器(ADC),其中Σ‐Δ型ADC是最常用的选择。2930接下来是数字处理器,通常包含两个主要部分:31用于将语音信号分解为不同子带的滤波器组,以及将输入语音压缩以适应听力受损耳朵缩小的动态范围的宽动态范围压缩器 (WDRC)。因此,助听器的主要任务是选择性放大特定频率范围的声音,以适应听力受损耳朵的有限听力范围。

示意图3

显示数字处理器架构及其听觉补偿方案的框图如图4所示。在通过滤波器组进行频率分解后,根据 NAL‐NL1公式31对各个频带应用规定的插入增益,以提升

图5. ANSI S1.11 2类滤波器的幅值规范 s.28

第n个1/3倍频程频带的规范。28其中,Mn()和mn()分别为第n个滤波器频带上的最小和最大衰减限制。

在图4中,x是输入语音信号,通过滤波器模块被分解为18个频率频带。直接实现ANSI规范中的18个频带需要设计非常高阶的滤波器,因为22–27号频带的带宽非常低。因此,我们采用类似于参考文献[28, 32]中的多速率架构。37、38和39号频带构成一个倍频程,因此18个频带覆盖6个倍频程。每个频带由其中频带频率fm及其带宽 f指定。对于第n个频带,其中心频带频率定义为:

$$
f_m(n) = 2^{(n-30)/3} * f_r
$$

(6)

此处fr为参考频率,根据ANSI标准设定为1千赫。28例如,第39个频带的中频带频率为fm(39)= 8千赫。

从中频带频率可确定n个频带中每个频带的频带边界频率f1(n)和f2(n),公式如下:

$$
f_1(n) = f_m(n) * 2^{-1/6}, \quad f_2(n) = f_m(n) * 2^{1/6}
$$

(7)

因此,第n个频带的带宽由以下公式给出:f(n) = f2(n) - f1(n)。

使用这些规格 fi 通过这种方式,我们可以为最高八度(频带37– 39)实现FIR滤波器,并由此重建其他频带,因为频带 Fn的带宽恰好是Fn+3的一半。如图4所示,通过将每个八度的采样率降低一半,我们可以实现每个八度的理想频率特性。最后,将输出信号上采样,然后由压缩器合并以产生所需的输出语音。在此过程中,我们使用另一个称为I的滤波器来抑制上采样引起的成像失真。

该架构除了更易于实现窄带宽滤波器外,还通过降低带限信道的采样率来减少计算复杂度。
听觉阈值并克服听力损失。本研究中,我们重点关注了滤波器组的超大规模集成电路实现,这是该架构的重要组成部分,也是大量研究的重点。2832宽动态范围压缩在MATLAB中作为软件模块实现。

由于与人耳的频率特性具有良好的匹配性,本研究采用ANSI S1.11 1/3倍频程滤波器组规范33来指导 FIR滤波器组的设计。ANSI S1.11标准定义了覆盖0– 20 kHz频率范围的倍频程频带431= 3。针对我们的应用,选择了ANSI标准中的22–39号频带,覆盖了正常的语音频率范围250赫兹至8千赫兹。ANSI S1.11标准定义了三种类型的滤波器,分别为0类、1类和2类滤波器。这些滤波器在参数上的差异主要基于相对于阻带衰减、工作范围、环境因素28等方面的性能要求。为了使阻带衰减与其他助听器滤波器组相当(如参考文献 [28],所示),本应用中采用了2类滤波器。

示意图4

第n个1/3倍频程频带的规范。28其中,Mn()和mn()分别为第n个滤波器频带上的最小和最大衰减限制。

在图4中,x是输入语音信号,通过滤波器模块被分解为18个频率频带。直接实现ANSI规范中的18个频带需要设计非常高阶的滤波器,因为22–27号频带的带宽非常低。因此,我们采用类似于参考文献[28, 32]中的多速率架构。37、38和39号频带构成一个倍频程,因此18个频带覆盖6个倍频程。每个频带由其中频带频率fm及其带宽 f指定。对于第n个频带,其中心频带频率定义为:

$$
f_m(n) = 2^{(n-30)/3} * f_r
$$

(6)

此处fr为参考频率,根据ANSI标准设定为1千赫。28例如,第39个频带的中频带频率为fm(39)= 8千赫。

从中频带频率可确定n个频带中每个频带的频带边界频率f1(n)和f2(n),公式如下:

$$
f_1(n) = f_m(n) * 2^{-1/6}, \quad f_2(n) = f_m(n) * 2^{1/6}
$$

(7)

因此,第n个频带的带宽由以下公式给出:f(n) = f2(n) - f1(n)。

使用这些规格 fi 通过这种方式,我们可以为最高八度(频带37– 39)实现FIR滤波器,并由此重建其他频带,因为频带 Fn的带宽恰好是Fn+3的一半。如图4所示,通过将每个八度的采样率降低一半,我们可以实现每个八度的理想频率特性。最后,将输出信号上采样,然后由压缩器合并以产生所需的输出语音。在此过程中,我们使用另一个称为I的滤波器来抑制上采样引起的成像失真。

该架构除了更易于实现窄带宽滤波器外,还通过降低带限信道的采样率来减少计算复杂度。

4. 仿真框架:听力损失模型、认知模型和增益/误差估计器

在本部分中,我们将描述用于实现助听器架构最优近似版本的各种模型,该助听器架构在前一部分中已介绍。我们的整个仿真框架在MATLAB中实现,包括助听器架构、听力损失模型、认知模型以及增益/误差估计器,如图3所示。我们将在接下来的子部分中对它们进行详细描述。

4.1. 听力损失模型

助听器中的宽动态范围压缩(WDRC)参数需要根据所选择的患者特异性听力损失模型进行调整。在本研究中,选择“老年性耳聋”作为听力损失模型,因为这是最常见的感音神经性听力损失问题之一。图6(a)和(b)分别展示了患有“老年性耳聋”者的听力图、正常听力者的听力图以及常规语音在元音和辅音上的分布情况。

可以看出,听力阈值(定义为一个人能够听到的最轻或最低的声音强度)对于正常听力者而言低于常规语音的强度。然而,在听觉障碍的情况下,某些频率声音的听力阈值高于正常语音的强度。这类人群无法听到该频率范围内的声音。图6(a)和(b)显示了患有“老年性耳聋”者在高频区域听力阈值升高。从该图可以明显看出,由于在高频区域的听力阈值高于常规语音的强度,因此患有此类听觉障碍的人在听觉上会存在困难。32

示意图5

4.2. 认知模型

由于人类的认知能力,语音样本的信噪比(SNR)并不一定与其在人类听者感知下的“可懂度”成正比。为了估计可懂度,我们开发了一个两阶段模型,其中第一阶段使用标准方法来估计语音质量,而第二阶段则基于行为实验开发了一个自定义模块,用于将质量指标转换为可懂度。这在图7(a)中有所展示,接下来我们将逐一描述这些模块。

虽然信噪比很容易确定,但语音的主观质量却更难测量。语音质量感知评估(PESQ)是一系列标准(ITU‐T 建议P.862)20,包含一种用于自动评估电话系统用户所体验到的语音质量的测试方法论。它使用感官模型将原始未处理信号与退化信号进行比较,并生成一个客观评分作为对比的标志。在本例中,我们将非精确助听器的输出作为退化语音输入至PESQ。该算法的详细信息可参见文献[20]及其引用文献;为完整性起见,此处简要描述其关键步骤。首先,PESQ对两个待测语音信号的功率水平进行对齐,然后在时域中对齐这两个信号以补偿任何延迟。接着,对原始语音和退化语音分别加窗,并通过傅里叶变换转换到频域。随后,将频带映射到音高尺度,并对强度进行扭曲以映射到感知的“响度”水平。这两个步骤中融入了人类听觉心理声学的具体细节。之后,将这些处理后的信号相减,从而得到感知质量的估计值。在我们的场景中,该质量并不一定直接衡量可懂度——然而,PESQ所执行的预处理对我们仍然具有相关性。因此,我们将其作为一种特征,可用于映射到可懂度,如下所述。为了获得可懂度

示意图6 我们使用的可懂度认知模型有两个阶段,分别基于PESQ 和心理物理学实验。(b) 心理物理学实验结果,展示了信噪比与可懂度之间的关系。)

退化语音,使用从Celex词汇数据库中选取的四百个双音节词语料库创建了一个语音样本数据库。这些词现在被不同强度的白噪声和鸡尾酒会噪声污染,使得每个样本的信噪比(SNR)在 −10到20 dB之间变化。本研究已获得新加坡南洋理工大学机构审查委员会(IRB)的批准。选取了十四名具有正常听力的受试者进行心理物理学实验,他们被要求聆听一组随机选择的100个词,这些词具有不同的信噪比水平,并输入他们认为听到的词。所选受试者来自相同的年龄组,且涵盖不同的性别和种族,以确保平衡性。这些结果经过人工处理,以纠正同音词和拼写错误。实验中获得的平均正确率与信噪比的关系如图7(b)所示,并附有S形函数拟合f(x) = b/(1+ e^(k(x−a))) +c其中a= −1.66,b= 74.81,c = −1.75和k= −0.27。这些数值是通过MATLAB曲线拟合工具获得的。正如预期,只要信噪比足够高(5 dB),表示可懂度的结果正确率不会发生显著变化。然而,当低于某一阈值(SNR≈ 2.5 dB)时,可懂度会出现急剧下降。有趣的是,即使在高信噪比情况下,可懂度也并非100%——其原因在于存在一些词语受试者从未听过该语音,因此即使语音质量良好也无法理解。为了校正这一效应,我们将该曲线除以最高获得百分比得分进行归一化。对于最终的模型,我们通过PESQ对测试中使用的不同信噪比水平下的相同语音样本进行处理,以获得感知质量指标。然后采用多项式回归方法将该质量得分转换为行为实验中获得的正确率百分比或可懂度。我们观察到,剪枝引入的噪声在较低剪枝水平下与白噪声相似,但在较高剪枝水平下偏离了这一假设。改进认知模型以考虑这一点是进一步研究的课题。

4.3. 增益/误差估计器

在每次迭代优化过程中,我们需要估计由于剪枝带来的功耗和面积增益以及相应的引入误差(如图3所示)。在每一阶段都对剪枝电路进行综合极为耗时。因此,为了加速仿真,我们在每一步剪枝中对增益和误差进行粗略估计。这是通过建立一个包含设计中所用的不同剪枝乘法器和加法器的库来实现的。针对其中每一个元件,都进行详细表征,以获得相对于未剪枝结构的面积和功耗优势。表I展示了在65纳米CMOS工艺下对剪枝乘法器进行此类表征的结果。这些结果是在使用Cadence RTL编译器进行综合、使用Cadence SoC Encounter进行布局布线,并最终使用Mentor Graphics ADiT快速SPICE仿真器对提取的布局后 SPICE网表(含寄生参数)进行仿真后得到的。该表用于估算整个FIR滤波器组所获得的功耗和面积优势。

由于滤波器中子模块的级联结构,估计在最终输出处产生的误差会稍微困难一些。为了获得准确的误差估计,我们首先通过比较结果来生成单个剪枝模块输出端误差的概率分布

剪枝级别 功耗(归一化) Area(归一化的) Mean误差 标准差误差
1 1 1 0 0
2 0.804 0.875 0.122 0.72
3 0.692 0.753 0.373 1.06
4 0.519 0.733 -0.486 1.53
5 0.472 0.711 -0.038 2.62
6 0.458 0.570 -0.540 3.68
7 0.363 0.476 -2.540 7.54
8 0.302 0.472 -3.010 11.50
9 0.245 0.385 -6.490 14.89
10 0.220 0.417 -6.200 22.50
11 0.184 0.323 -14.33 29.81

在仿真中对剪枝电路和未剪枝电路进行了比较。这些误差的均值及估计值也在表I中进行了报告。具体做法是:针对每个剪枝拓扑结构,在10,000次试验中观察其误差,并如参考文献[21]所述,生成包含1000个区间的直方图。参考文献[21]中的直方图是通过使每个剪枝模块的两个输入均保持随机获得的,从而覆盖了乘法器的整个输入范围——因此被称为全局直方图。与参考文献[21],不同,本研究采用了一种不同的方法来获取每个剪枝模块(属于L个近似层级之一)的误差直方图。需要注意的是,滤波器所使用的权重在整个设计过程中保持不变。通过将剪枝模块的一个输入固定为常量(对应特定的滤波器系数),而另一个输入随机变化,我们获得了一组新的直方图。由于其中一个输入在输入空间的某一特定区域被固定,我们将这类直方图称为区域直方图。显然,这些仿真中获得的误差更能反映该乘法器在有限冲激响应滤波器中实际引入的误差。然而,其代价是,相比参考文献[21]的方法,我们需要进行更多的特征化步骤(增加的倍数等于FIR滤波器的系数数量)。为了评估这一额外工作是否值得,我们在图8(a)和(b)中分别使用先前的方法和提出的方法,对比了剪枝乘法器(针对近似层级10以及滤波器系数23(区域直方图情况))的误差直方图。

示意图7 以及获得的误差(给定输入下精确输出与近似输出之差)。可以看出,与全局直方图给出的广泛分布误差相比,局部直方图提供的误差更为准确。)

预测的误差值(E)是通过精确输出(Y_inexact)与近似输出(Y_exact)之间的差值得到的。

$$
E = Y_{inexact} - Y_{exact}
$$

(8)

这些图表显示了全局和局部情况下的预测误差(E)及其发生概率(p(E))。从图表中可以推断,对于该特定系数值,局部误差的误差范围(从 −27到 −12)仅为全局直方图误差范围(−42到40)的17%。

此外,我们定义了一个度量——误差范围比(ESR),用于量化参考文献[21]中全局直方图的过估计效应。我们通过区域直方图(RH)和全局直方图(GH)的最大误差与最小误差之间的差值(Emax−Emin)来衡量误差范围。区域误差范围与全局误差范围的比值定义为ESR,即:

$$
ESR = \frac{E_{max}(RH) - E_{min}(RH)}{E_{max}(GH) - E_{min}(GH)}
$$

(9)

对于该设计中使用的26个不同(任意选择)的FIR滤波器系数,其误差扩展比值在图9中显示。可以明显观察到,所有这些比值均小于1,突显了区域直方图具有更高的精度。换句话说,若采用先前基于全局直方图的预测方法,将会严重高估实际误差。我们提出的误差预测方法现在使我们能够继续进行剪枝并增加非精确性,以实现更高的功耗和面积节省。因此,我们为所有近似层级的乘法器以及每个FIR滤波器系数生成区域直方图。所有这些直方图都存储在独立的数据库中,以便在运行时针对给定的近似级别和滤波器系数选择相应的直方图来预测误差。

我们现在根据目标分布在 MATLAB 中生成一个随机数(通过累积分布函数将均匀随机分布映射到目标分布),并根据每个模块自身的误差特征将其添加到各模块的输出中。由于

示意图8 。该图表明,与全局直方图相比,较优数量的系数产生的误差扩展约为其一半。)

当用于计算误差的箱数和样本数量足够高时,该模型能够很好地估计实际误差。然而,如前所述,这种加性误差模型在剪枝级别非常大时不再成立。在允许的可懂度范围内,我们尚未遇到如此高的剪枝程度;但对于其他应用可能需要考虑这种情况,这将是未来研究的一个方向。

5. 结果

在本部分中,我们将描述使用前述优化算法对助听器中的有限冲激响应滤波器进行剪枝所获得的结果。这些算法在之前的第2节中已以通用方式进行了描述。接下来,我们将首先提及设计中所用参数的具体取值。

5.1. 选择参数

所考虑的电路是一个有限冲激响应滤波器。因此,该库包含NE= 2个基本电路:一个加法器和一个乘法器。然而,进一步检查发现,阵列乘法器所消耗的面积和能量是行波进位加法器的 ≈10倍。因此,可以预期剪枝乘法器比剪枝加法器能带来更高的系统级增益。此外,减少可剪枝节点的数量将导致优化算法的搜索空间更小,可能加快仿真速度。因此,最终我们得到NE= 1,因为只有乘法器被选为剪枝对象。从表I可以看出,乘法器的最大剪枝级别为L1= 11。助听器中使用的滤波器具有18个频带,覆盖6个倍频程,如前所述。总共510 个行波进位加法器和阵列乘法器构成了有限冲激响应滤波器的算术架构,即NG= 510。电路的性能以可懂度(I)来衡量,如第2节中所述,表示为Qp。最终的性能指标是通过对= 3个样本词的可懂度进行平均得到的。在我们的仿真中,我们选择了一个较低的阈值 TH= 50%,以便获得一条较大的权衡曲线,从而可以根据应用需求选择理想的运行工作点。

我们希望优化的电路指标是根据功耗(P)计算的,需在保持> thresh的同时将其最小化。为了更加强调功耗方面的成本节约,提出一种度量 M= exp(P)。由于采用了强非线性函数,由此形成的代价函数对功耗的变化敏感。M在电路的未剪枝拓扑Lu下达到最大值。在每次迭代中,从电路G的NG个节点中选出s个(在本例中为15个)进行敏感化。现在我们可以将成本度量定义为:

$$
C = e^P + I u(I - I_{TH})
$$

(10)

对于每个敏感化的节点,计算其代价,并按代价递增顺序对这些节点进行排序。在一次迭代中,选择代价最小的前 q 个节点进行实际剪枝。我们选择正则化常数()和惩罚因子(
)的值分别为 0.05 和 2000。该算法的详细操作已在第2节中详细说明,并在图2中展示。

5.2. 寻找启发式方法

图10所示的曲线表明,随着功耗的降低,信噪比迅速下降(远早于可懂度)。该曲线支持了我们选择可懂度而非信噪比作为评判参数的观点。图10中的结果来自参考文献[21],并将用于后续的对比研究。

为了评估每个近似级别对整个滤波器组的单独影响,进行了实验。从完全精确级别(L1)到高度近似级别(L11),每个级别都被用于实现整个滤波器组,并测量其相对于精确输出的均方误差(MSE)。图11展示了 MSE随近似级别的变化情况。由于第11级具有较大的 MSE,在优化过程中被排除,以改善权衡曲线的性能。我们将此称为层级启发式方法。从图中可以看出,随着非精确性的增加,(MSE)持续恶化。在第10级出现了一个例外,其(MSE)优于第9级。这可以通过表I 中提到的均值误差呈现类似趋势来解释。

示意图9

示意图10

5.3. 优化剪枝

除了贪心优化方法外,我们还探索了上一部分提到的基于遗传算法的优化。该优化的目标与之前相同,即最小化滤波器的功耗(Power)

频带,同时尽可能保持其性能(可懂度)。输入语音根据前一部分提到的规范被划分为18个频带。28根据之前提到的层级启发式方法,为各个频带分配特定程度的非精确性。我们使用MATLAB优化工具箱运行非支配排序遗传算法以求出Lopt。初始种群采用二进制格式,使用双点交叉函数,交叉概率为0.8。帕累托前沿种群比例选择标准值0.35。27我们运行求解器约30小时以获得帕累托曲线。该遗传算法方法在可懂度与功耗之间的权衡曲线图如图12所示(绿色)。从另一组实验结果来看,我们观察到仅使用贪心技术相比仅使用遗传算法能获得更好的解的分布范围。然而,在达到某个点后(Int = 0.9,功耗= 0.52),其速度变得极其缓慢——贪婪优化从功耗= 0.52移动到功耗= 0.39花费了超过120小时。而遗传算法求解器则能更快地收敛到解。

因此,为了获得良好的解的分布范围并更快地达到最优解,我们实现了一种遗传算法与贪心方法的结合。在该方法中,我们使用基于区域直方图的贪心技术,直到功耗= 0.52。从这一点开始,我们进一步采用之前提到的遗传算法方法对滤波器配置进行剪枝。该方法的权衡曲线如图12(蓝色)所示。参考文献[21]中提到的方法结果也在图12中给出(黑色曲线)。该方法使用全局直方图来预测误差,并未排除具有高均方误差的层级。可以明显观察到,对应于参考文献[21]的权衡曲线在功耗= 0.71时比其他方法更早开始下降。这可归因于参考文献[21]使用了全局直方图,并且未处理具有高均方误差的层级。而包含层级限制的贪婪与遗传算法组合方法在解的分布范围方面表现更优,其可懂度下降发生在功耗= 0.39。仅使用贪心方法达到功耗=0.39需要超过5天,然而最终曲线中的遗传算法部分仅耗时6小时。这证明了结合贪心与遗传算法优化技术的优势,在解的分布范围上几乎没有损失。我们在表II中列出了每种优化求解器所花费的时间以及在可懂度损失为20%时获得的功耗节省。

序号 方法 运行时间(小时) 功耗节省
1 贪婪算法 120 1.47×
2 GA 30 2.17×
3 贪婪算法+遗传算法 34 2.56×

5.4. 讨论

尽管我们已经展示了数字滤波器组非精确设计的优势,但我们想强调的是,本文介绍的方法论具有通用性,可用于在现代数字助听器的任何组件中引入非精确性,主要组件包括模数转换器(ADC)和数字信号处理器(DSP),以及外设。然而,我们可以基于滤波器组主导DSP功耗预算的假设,估算本方法在系统层面所能实现的增益。根据参考文献[31],,模数转换器的功耗占总功耗的20%,其他外设占10%。其余的功耗(占总体的70%)来自数字信号处理模块。如果我们用PADC表示模数转换器的功耗,PPeri表示外设的功耗,PDSP表示数字信号处理器的功耗,则助听器的总功耗Ptot可定义如下:

$$
P_{tot} = P_{ADC} + P_{Peri} + P_{DSP}
$$

(11)

其中 PADC= 0.2Ptot、PPeri= 0.1Ptot 和 PDSP= 0.7Ptot。通过我们的最优近似方法,我们旨在仅减少公式(11)中的 PDSP 项,同时保持其他项不变。根据第5.3节,我们得到 PDSP 的值

序号 参考文献 方法 领域 评论
1 Liu et al.3 真值表操作 图像 无基于感知度量的优化,无库 基于可扩展的方法
2 Almurib et al.7 近似离散余弦变换计算 图像 无基于感知度量的优化,无库 基于可扩展的方法
3 Hatfield等人5 低精度算术 大气建模 无基于感知度量的优化,无库 基于可扩展的方法
4 Sengupta et al.36 逻辑最小化 音频 无基于感知度量的优化,无库 基于可扩展的方法
5 Shafique et al.35 逻辑最小化 图像 无基于感知度量的优化,可扩展库方法
6 Wang 等人37 算法优化,循环减少 音频 未使用近似技术,无感知度量
7 Wu et al.38 电荷恢复逻辑 音频 未使用近似技术,无感知度量
8 格拉赫等人39 自适应波束形成算法 音频 未使用近似技术,无感知度量
9 卡迪亚拉等人21 近似库 音频 基于感知度量的优化,仅使用贪婪算法 所使用的方法——次优近似解,粗略误差模型,可扩展库方法
10 本研究 贪婪算法+遗传算法优化,近似库 音频 基于感知度量的优化,贪婪+遗传算法以在更优解上相似计算时间内,细粒度误差模型,可扩展库方法

新值为 0.52PDSP,即在可懂度降低 10% 的情况下为 0.364Ptot 。因此,我们将公式(11)重写如下

$$
P_{tot_new} = 0.2P_{tot} + 0.1P_{tot} + 0.364P_{tot}
$$

(12)

由公式(12)可得助听器的新总功耗Ptot_new为0.664Ptot,即整体功耗降低了33.6%。在可接受20%清晰度牺牲的情况下,助听器的新总功耗将为0.573Ptot,即助听器的整体功耗降低了42.7%。

在对比方面,近期大多数近似计算的研究工作都集中在为图像或视频处理应用开发架构,而助听器领域的研究则是通过传统的低功耗数字设计技术来降低功耗,而非采用非精确设计。如表III所示,参考文献 [3和 7]专注于使用非精确架构进行基于DCT的图像压缩。Hatfield等人在其工作5中采用降低精度算术实现低功耗大气建模。参考文献[35]对在软件、架构和电路等不同设计层次引入非精确硬件的各类研究进行了全面综述。他们利用逻辑最小化构建基本逻辑单元,并以此小单元选择性地构建更大的逻辑模块。文献36则根据近似输入位的数量对近似组件进行了表征。这些已表征的基本组件被用于通过基于启发式的优化裁剪大型电路,以实现整体功耗的降低。涉及音频应用领域中非精确电路剪枝的研究在文献中鲜有报道。我们当前工作的主要贡献是以系统化的方式引入非精确性,特别是用于音频应用。另一方面,像参考文献[37–39],这样的研究分别通过优化算法、使用电荷恢复架构和自适应波束成形算法等技术来降低助听器的功耗。这些专注于音频应用的研究尚未利用近似架构。我们还将结果与图10中所示的结果进行了比较。可以得出结论,本研究提出的两种方法均优于参考文献[21]中提到的方法。这归因于我们采用了更为精细的误差预测方式(区域直方图)。最终结合贪婪算法和遗传算法,在10%和20%可懂度牺牲下均实现了功耗的改善,相较于文献21中的结果有所提升。上述各项工作的总结及其优缺点列于表III中。

6. 结论

我们提出了一种系统性的方法,通过考虑大脑对传入感觉信号进行的神经认知处理,来降低与数字电路相关的功耗(如有需要,也可包含面积)。以往在设计非精确电路时采用的是信噪比(SNR)等传统度量指标——然而,若将大脑的认知处理过程纳入考量,我们可以进一步优化设计。我们的模型能够快速估算非精确设计对用户体验的影响,而无需进行代价高昂的实地研究。为了验证我们的方法论,我们选择数字助听器作为平台,采用电路剪枝引入非精确性,并以语音的“可懂度”作为度量指标。我们提出了一种基于贪心启发式与遗传算法相结合的新型剪枝策略,该策略使我们能够剪枝规模非常大的电路,从而加快最优解的搜索过程。通过使用我们的方法对助听器中的滤波器组进行剪枝,我们在产生比相应精确助听器可懂度低10%、20%的语音的同时,实现了功耗方面1.92×、2.56×的性能提升。

随着信息技术在管理上越来越深入而广泛的应用,作为学校以及一些培训机构,都在用信息化战术来部署线上学习以及线上考试,可以与线下的考试有机的结合在一起,实现基于SSM的小码创客教育教学资源库的设计与实现在技术上已成熟。本文介绍了基于SSM的小码创客教育教学资源库的设计与实现的开发全过程。通过分析企业对于基于SSM的小码创客教育教学资源库的设计与实现的需求,创建了一个计算机管理基于SSM的小码创客教育教学资源库的设计与实现的方案。文章介绍了基于SSM的小码创客教育教学资源库的设计与实现的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本基于SSM的小码创客教育教学资源库的设计与实现有管理员,校长,教师,学员四个角色。管理员可以管理校长,教师,学员等基本信息,校长角色除了校长管理之外,其他管理员可以操作的校长角色都可以操作。教师可以发布论坛,课件,视频,作业,学员可以查看和下载所有发布的信息,还可以上传作业。因而具有一定的实用性。 本站是一个B/S模式系统,采用Java的SSM框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SSM的小码创客教育教学资源库的设计与实现管理工作系统化、规范化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值