定点分类器的低功耗训练方法

部署运行你感兴趣的模型镜像

用于片上低功耗实现的定点分类器训练

69

HASSAN ALBALAWI, YUANNING LI, and XIN LI,卡内基梅隆大学

本文中,我们开发了多种新颖的算法,用于训练可在芯片上通过低功耗、极短词长的定点运算实现的分类器。这些算法基于线性判别分析(LDA)、支持向量机(SVM)和逻辑回归(LR),分别称为LDA‐FP、SVM‐FP和 LR‐FP。它们将与定点运算相关的非理想性(即舍入和溢出)纳入离线训练过程中,从而使所得到的分类器对这些非理想性具有鲁棒性。从数学上讲,LDA‐FP、SVM‐FP和LR‐FP被表述为混合整数规划问题,可由本文所述的分支定界法鲁棒地求解。我们的数值实验表明,对于新兴的脑解码生物医学应用,LDA‐FP、SVM‐FP和 LR‐FP显著优于传统方法。

CCS概念: Hardware→电子设计自动化
机器学习,定点运算,低功耗

ACM引用格式:
哈桑·阿尔巴拉维,李远宁,李欣.2017.训练用于片上低功耗实现的定点分类器.ACMTrans.Des.Autom. Electron.Syst.22,4,文章69(2017年6月),18页.DOI:http://dx.doi.org/10.1145/3057275

1.引言

机器学习是一种在过去几十年中持续发展的重要技术[Bishop2006;Mitchell 1997]。如今,它已被应用于多种大数据场景中的众多商业应用,包括医疗保健、社交网络等。最近,一些新兴应用(如用于心电图(ECG)和脑电图(EEG)数据处理的便携式/植入式生物医学设备)[Kimetal.2011;Rohetal.2012;Shoaibetal.2012;Winokuretal. 2013;Yooetal. 2013],由于以下原因,迫切需要通过专用集成电路(ASICs)来实现机器学习算法。

低延迟 :对于许多实时应用(如生命体征监测[Cliftonetal. 2012]和深部脑刺激[Kringelbachetal. 2007]),机器学习引擎的响应必须足够快。在这些情况下,必须通过实现片上机器学习引擎来本地处理数据,以确保快速响应,而不是将数据传输到外部设备(例如云服务器)进行远程处理。

低功耗 :为了使便携式/植入式设备能够在无需充电电池的情况下长时间持续运行,必须将其功耗降至最低。特别是对于功耗受到严格限制的应用(例如小于 10μW),有必要设计专用集成电路(ASIC)电路,而不是依赖通用微处理器,以满足严格的功耗预算。

为了最大限度地降低便携式/植入式应用中片上机器学习的功耗,必须采用定点运算而非浮点运算来实现机器学习算法,并且必须尽可能最小化定点计算的词长。尽管定点运算在数字信号处理领域已得到广泛研究[Constantinide等,2003;Kinsman和Nicolici, 2011;Mallik等,2007;Padgett和Anderson 2009],,但对于新兴的机器学习任务却鲜有探索。从历史来看,大多数机器学习算法仅通过基于双精度浮点运算的软件实现(例如 MATLAB、C++等)进行开发和验证。如何将这些算法适当地映射到使用定点运算实现的低功耗专用集成电路(ASIC)电路,仍然是一个开放性问题。

本文中,我们以三种著名的用于二分类的机器学习算法为例进行研究:线性判别分析(LDA)、支持向量机(SVM)和逻辑回归(LR)[Bishop 2006]。我们将证明,如果定点运算中产生的舍入误差未能被适当地建模并融入分类器训练过程,则可能显著扭曲分类输出。换句话说,为双精度浮点运算设计的传统分类算法必须经过“重新设计”,才能对舍入误差具有“鲁棒性”。类似的“数值”问题在许多其他应用领域中已有广泛研究。

例如,选主元是高斯消元法中的关键技术,用于减小线性求解器的数值误差[Goluband VanLoan 2012]。本文的核心问题是:如何提高LDA、SVM和LR的鲁棒性,使其适用于片上低功耗实现。

为实现这一目标,我们提出将LDA、SVM和LR的训练过程重新表述为考虑定点运算所带来的非理想性(即舍入和溢出)的混合整数规划(MIP)问题。本文中,我们重新设计的LDA算法称为LDA‐FP。我们开发了一种新颖的分支定界法,以寻找LDA‐FP的全局最优分类边界。通过我们重新设计的训练算法,LDA‐FP对与定点运算相关的非理想性具有最大程度的鲁棒性,因此可以使用极小的词长高效地实现片上低功耗操作。

另一方面,我们将重新设计的SVM和LR算法分别称为SVM‐FP和LR‐FP。与LDA‐FP类似,采用分支定界法来求解SVM‐FP和LR‐FP,并寻找其最优分类边界。此外,还采用了若干高效启发式方法(例如,分段线性逼近[Hsiungetal. 2008]),以提高分支定界求解器的计算效率。

我们提出的算法(即LDA‐FP、SVM‐FP和LR‐FP)在两个实际应用中得到了验证,包括: (i)用于脑机接口的运动解码[Nicolelis2001;Wang等人 2013],以及(ii)基于脑电图的嗜睡检测[科雷亚等,2014;Yeo等人 2009]。如第6节中的实验结果所示,与传统技术相比,所提出的方法能够在不牺牲任何分类准确率的情况下,将词长最多减少1.67×。

本文的其余部分组织如下。在第2节中,我们回顾了用于二分类的线性判别分析、支持向量机和逻辑回归的背景知识。接下来,描述了LDA‐FP、SVM‐FP和LR‐FP的数学公式和数值求解器。

2.背景

2.1.线性判别分析

线性判别分析是一种已广泛应用于大量二分类问题的机器学习算法[Bishop 2006]。为了说明线性判别分析的基本思想,我们考虑两类对应的两组训练数据{x(n)A;n= 1,2,..., NA}和{x(n) B;n=1,2,...,NB},其中x(n)A=[x(n)A,1x(n)A2...x(n)A,M]T和x(n) B=[x(n) B,1x(n) B2...x(n) B,M]T分别是来自A类和B类第n个采样点的特征向量,M表示特征数量,NA和NB分别表示这两类的采样点数量。线性判别分析的目标是寻找一个最优投影方向w∈ M,使得特征向量x沿方向w投影后,两类能够最大程度地分离 2006]。

为此目标,我们首先对特征向量x[Bishop 2006]的类间散度矩阵SB,x ∈M×M 和类内散度矩阵SW,x ∈M×M 进行定量计算:

$$
SB,x=(μA −μB)·(μA −μB)^T, \quad (1)
$$

$$
SW,x= \frac{1}{2} ·(A+B), \quad (2)
$$

其中μA ∈ M和μB ∈ M表示均值向量:

$$
μA= \frac{1}{NA} · \sum_{n=1}^{NA} x(n)_A, \quad (3)
$$

$$
μB= \frac{1}{NB} · \sum_{n=1}^{NB} x(n)_B, \quad (4)
$$

并且 A ∈ M×M和 B ∈ M×M表示协方差矩阵:

$$
A= \frac{1}{NA} · \sum_{n=1}^{NA} (x(n)_A −μA) ·(x(n)_A −μA)^T, \quad (5)
$$

$$
B= \frac{1}{NB} · \sum_{n=1}^{NB} (x(n)_B −μB) ·(x(n)_B −μB)^T. \quad (6)
$$

将特征向量x 沿方向w 投影得到

$$
y= w^T · x. \quad (7)
$$

由于投影结果y等于所有特征与w加权的线性组合,投影方向w在文献[Bishop 2006]中通常被称为线性判别分析的权重向量。

可以很容易地验证,投影结果SB,y ∈和类内散度SW,y ∈对于投影结果y可表示为[Bishop 2006]

$$
SB,y= w^T · SB,x · w, \quad (8)
$$

$$
SW,y= w^T · SW,x · w. \quad (9)
$$

为了最大程度地分离这两类,类间散度SB,y应最大化,而类内散度SW,y应最小化。因此,我们可以构造以下优化问题,以最小化SW,y与SB,y[Bishop 2006]:的比值

$$
\min_w \frac{SW,y}{SB,y} = \frac{w^T · SW,x · w}{w^T · SB,x · w} = \frac{w^T · SW,x · w}{[(μA −μB)^T · w]^2}. \quad (10)
$$

关于公式(10)中的优化问题,有两个重要的说明。首先,容易验证公式(10)的最优解 w不是唯一的,因为公式(10)中的代价函数仅依赖于w的方向,而与w的长度无关。也就是说,如果w是公式(10)的一个最优解,那么将w乘以任意非零标量 λ(即 λ·w)不会改变代价函数,因此它也是公式(10)的一个最优解。在实现线性判别分析时,通常会添加一个额外的约束来规定向量w的长度(例如, ‖w‖₂= 1,其中 ‖ · ‖₂ 表示向量的L2‐范数),从而使最优解变得唯一。

其次,尽管公式(10)中的优化公式是非凸的,但它可以转化为一个广义特征值问题,并且能够高效地(即计算成本低)和鲁棒地(即保证全局最优)求解[Bishop2006]。假设类内散度矩阵SW,x是满秩的,则可证明公式(10)的最优w为[Bishop 2006]

$$
w ∝ S_{W}^{-1,x} ·(μA −μB). \quad (11)
$$

权重向量w在公式(11)中可以通过其长度进行归一化,以便使最终解保持单位长度。一旦w确定,即可构建以下线性决策边界用于二分类:

$$
w^T · x −w^T · \frac{μA+μB}{2} =
\begin{cases}
\geq 0 & (\text{Class A}) \
< 0 & (\text{Class B})
\end{cases}, \quad (12)
$$

wherex表示一个待分类采样点的特征向量 .

2.2.支持向量机

SVM是另一种流行的机器学习算法,已广泛用于模式识别和数据分类[Vapnik等 1998]。其目标是找到能够最大化间隔的最优分类边界。类似于线性判别分析,我们考虑两类的训练数据{x (n) A;n= 1, 2,…,NA}和{x (n) B;n= 1, 2,…,NB}。当应用线性SVM时,分类边界由wT · x+ b= 0表示,其中w和b需从训练数据中确定。最优的w和b可通过求解以下优化问题得到,以最大化分类间隔[Bishop 2006]:

$$
\min_{w,b,\xi^{(n)} A,\xi^{(n)}_B} \frac{1}{2} w^Tw + \lambda · \sum {n=1}^{NA} \xi^{(n)} A + \lambda · \sum {n=1}^{NB} \xi^{(n)}_B
$$

s.t.
$$
w^T · x^{(n)}_A + b \geq 1 - \xi^{(n)}_A \quad (n= 1,…, NA) \
\xi^{(n)}_A \geq 0 \quad (n= 1,…, NA) \
-w^T · x^{(n)}_B - b \geq 1 - \xi^{(n)}_B \quad (n= 1,…, NB) \
\xi^{(n)}_B \geq 0 \quad (n= 1,…, NB)
, \quad (13)
$$

其中{ξ(n)A;n= 1,2,…,NA}和{ξ(n)B;n= 1,2,…,NB}表示用于衡量分类错误的松弛变量,而 λ是一个可通过交叉验证确定的参数[Bishop 2006]。

2.3.LR

LR已被用于许多实际应用中的分类问题。考虑两类的训练数据{x(n)A;n= 1, 2,…,NA}和{x(n)B;n= 1, 2,…,NB},我们定义以下模型来描述每个采样点x属于给定类别[Bishop 2006]的概率:

$$
p(A|x)= \frac{1}{1+ \exp(-w^T · X - b)} , \quad (14)
$$

$$
p(B|x)= 1 - \frac{1}{1+ \exp(-w^T · x - b)} = \frac{\exp(-w^T · x - b)}{1+ \exp(-w^T · x - b)} , \quad (15)
$$

其中w和b定义了分类器。基于训练数据,可通过最大似然估计找到w和b的最优值:

$$
\min_{w,b} -\sum_{n=1}^{NA} \log\left[ \frac{1}{1+ \exp(-w^T · x^{(n)} A - b)}\right] - \sum {n=1}^{NB} \log\left[ \frac{\exp(-w^T · x^{(n)}_B - b)}{1+ \exp(-w^T · x^{(n)}_B - b)}\right] + \rho · w^Tw, \quad (16)
$$

其中 ρ · wTw是为避免过拟合而添加的正则化项,其最优值ρ应通过交叉验证确定。

2.4.定点分类器

传统的分类器 fi 分类算法能够在假设所有计算均可无舍入误差执行的情况下,找到最优的决策边界。然而在实际应用中,一旦分类器采用定点运算实现,舍入误差可能会显著偏移决策边界,从而扭曲分类输出。在这种情况下,由传统机器学习算法确定的分类边界不再是最优的。

为了理解其原因,我们考虑一个用于线性判别分析的简单二维示例。目标是确定一个最优的线性边界以分离类别A和类别B。通过应用线性判别分析,我们找到了如图1(a)所示的最优边界P(LDA) N。除了这个标称边界P(LDA) N之外,图1(a)还进一步绘制了由于舍入误差导致的两个扰动边界P(LDA) L和P(LDA) U。注意,如果P(LDA) N被舍入为P(LDA) L,则预期会出现较大分类误差。另一方面,图1(b)显示了一个鲁棒边界P(Robust)N,其对舍入误差的敏感性低于P(LDA) N。即使P(Robust)N被扰动为P(Robust) L或P(Robust) U,分类误差仍可忽略。

上述讨论揭示了一个重要观察:传统的机器学习算法可能导致较大分类误差,因为它它们在分类器训练过程中未显式考虑舍入误差。这促使我们重新设计这些传统算法,以生成对舍入误差最不敏感的鲁棒分类器。

3.定点线性判别分析

3.1.问题表述

定点运算带来的非理想性(即舍入和溢出)大致可分为两类:(i)与特征向量x相关的非理想性,以及(ii)与权重向量w相关的非理想性。对于特征向量x,可通过仔细缩放x中的所有特征以避免溢出。

此外,在使用训练数据学习分类器之前,特征向量x应舍入为其定点表示。因此,训练算法可以轻松地考虑与x相关的舍入误差。换句话说,传统LDA算法能够适当地处理特征向量 x的非理想性。

另一方面,减轻权重向量w的非理想性并不容易。如果我们简单地遵循传统LDA算法, w将由公式(11)确定,然后归一化并四舍五入为其定点表示。在这种情况下,可能会出现较大分类误差,如图1中的简单示例所示。因此,本节的重点是推导一种新的LDA‐FP算法,以求解适用于定点实现的最优w。

不失一般性,我们假设定点数采用QK.F格式表示,基于二进制补码[Padgett和 Anderson,2009,第 4]章。它包含K个整数位(包括符号位)和F个小数位,如图2所示。总词长为K+ F。本文进一步假设分类器中所有定点运算均采用相同的格式QK.F实现。在实际应用中,可以针对每个单独的运算进一步优化词长。例如,权重向量w的不同元素{wm; m= 1,2,…,M}可分配不同的词长。然而,由于本文主要关注分类器训练,词长优化问题将作为未来研究的独立课题加以考虑。

给定图2中所示的定点表示QK.F,我们在推导LDA‐FP的优化公式时,必须考虑若干重要的约束条件。

舍入误差 :由于权重向量w以QK.F格式表示,因此w的每个元素wm,其中m ∈{1, 2,…, M}只能取有限个可能的值

$$
w_m ∈ \mathbb{Q}_{K.F} \quad (m= 1, 2,…, M), \quad (17)
$$

其中 表示QK.F能够表示的所有可能值的集合。

溢出 :尽管特征向量x的溢出可以通过在预处理阶段适当地缩放x来轻松避免,但我们必须对权重向量w进行仔细约束,以确保在计算公式(7)中的投影y= wT ·x时不会发生溢出。为此,我们将特征向量x统计建模为一个多变量高斯分布:

$$
x \sim
\begin{cases}
\text{Gauss}(μ_A, _A) & (\text{Class A}) \
\text{Gauss}(μ_B, _B) & (\text{Class B})
\end{cases}. \quad (18)
$$

请注意,x的概率分布取决于x所属的类别。这种高斯模型已被机器学习领域在文献中广泛应用[Bishop 2006]。

根据公式(18),每个乘法wm·xm,其中m ∈{1,2,…,M},产生一个高斯分布:

$$
w_m· x_m \sim
\begin{cases}
\text{Gauss}(w_m·μ_{A,m}, w_m^2· σ^2_{A,m}) & (\text{Class A}) \
\text{Gauss}(w_m·μ_{B,m}, w_m^2· σ^2_{B,m}) & (\text{Class B})
\end{cases}, \quad (19)
$$

其中μA,m和μB,m分别是 μA和 μB的第m个元素,而σ²A,m和σ²B,m分别是 A和 B,的第 m个对角元素。根据公式(19)中的高斯分布,我们可以为wm· xm在统计上定义一个置信区间:

$$
β= ^{-1}(0.5+ 0.5 · ρ) \quad (20)
$$

$$
[w_mμ_{A,m} - β · |w_m| · σ_{A,m}, w_mμ_{A,m}+ β · |w_m| · σ_{A,m}] \quad (\text{Class A}),
$$

$$
[w_mμ_{B,m} - β · |w_m| · σ_{B,m}, w_mμ_{B,m}+ β · |w_m| · σ_{B,m}] \quad (\text{Class B}), \quad (21)
$$

其中 ρ表示置信水平, ^{-1}(·)表示标准高斯分布的逆累积分布函数。置信水平 ρ用于度量 wm ·xm的取值落在置信区间内的概率。如果 ρ足够大,公式(21)中的置信区间“几乎”覆盖了wm·xm的取值范围。因此,为避免溢出,公式(21)中的置信区间必须位于定点表示 QK.F的范围内:

$$
w_m·μ_{A,m} - β · |w_m| · σ_{A,m} \geq -2^{K -1},
$$

$$
w_m·μ_{B,m} - β · |w_m| · σ_{B,m} \geq -2^{K−1}, \quad (22)
$$

$$
w_m·μ_{A,m}+ β · |w_m| · σ_{A,m} \leq 2^{K−1} −2^{−F},
$$

$$
w_m·μ_{B,m}+ β · |w_m| · σ_{B,m} \leq 2^{K−1} −2^{−F}.
$$

除了乘法 wm · xm之外,投影结果y= wT · x 是所有具有高斯分布的特征的线性组合,因此仍为高斯分布:

$$
w^T · x \sim
\begin{cases}
\text{Gauss}(w^T ·μ_A, w^T ·_A · w) & (\text{Class A}) \
\text{Gauss}(w^T ·μ_B, w^T ·_B · w) & (\text{Class B})
\end{cases}. \quad (23)
$$

类似于公式(19)–(22),我们可以从统计上定义y 的置信区间,然后设置以下约束条件以防止y 溢出:

$$
w^Tμ_A - β · \sqrt{w^T_Aw} \geq -2^{K−1}, \quad w^Tμ_B - β · \sqrt{w^T_Bw} \geq -2^{K−1}, \quad (24)
$$

$$
w^Tμ_A+ β · \sqrt{w^T_Aw} \leq 2^{K−1} −2^{−F}, \quad w^Tμ_B+ β · \sqrt{w^T_Bw} \leq 2^{K−1} −2^{−F}.
$$

这里必须澄清两点。首先,在计算加权和y= wT · x时,我们不需要为中间和显式设置任何溢出约束。只要最终投影结果y不发生溢出,并且定点数采用基于环绕的二进制补码实现,则中间和的溢出不会在y上引入任何错误。为了直观说明这一重要特性,我们考虑一个使用Q3.0计算求和y= 3+ 3 –4的简单例子。由于Q3.0的范围是[−4, 3],计算中间和 011+ 011= 110会导致溢出。然而,在计算最终结果后,我们得到 110+ 100= 010。与正确的值y= 3+ 3 –4= 2相比,用Q3.0表示的最终结果仍然是正确的。

其次,舍入和溢出密切相关,必须在我们提出的训练过程中同时考虑。一方面,如果只关注舍入而忽略溢出,分类器可能会采用极大的权重值,以QK.F格式表示,以最小化舍入的影响。然而,由于其权重值过大,这样的分类器很可能发生溢出。另一方面,如果只考虑溢出而不考虑舍入,分类器可能会使用极小的权重值,以降低溢出的概率。然而,这些小的权重值在舍入后可能会受到严重失真。

分类准确率 :为了最大化线性判别分析的分类准确率,必须对权重向量w进行优化,以最大程度地分离两类。为此,我们采用公式(10)中的代价函数,最小化类内散度SW,y与类间散度SB,y之间的比率,从而得到以下优化问题:

$$
\min_w \frac{w^T·S_{W,x}·w}{[(μ_A−μ_B)^T·w]^2}
$$

s.t.
$$
w_m·μ_{A,m} - β · |w_m| · σ_{A,m} \geq -2^{K−1} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{B,m} - β · |w_m| · σ_{B,m} \geq -2^{K−1} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{A,m}+ β · |w_m| · σ_{A,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{B,m}+ β · |w_m| · σ_{B,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w^Tμ_A - β · \sqrt{w^T_Aw} \geq -2^{K −1}
$$

$$
w^Tμ_B - β · \sqrt{w^T_Bw} \geq -2^{K−1}
$$

$$
w^T μ_A+ β · \sqrt{w^T_Aw} \leq 2^{K−1} −2^{−F}
$$

$$
w^T μ_B - β · \sqrt{w^T_Bw} \leq 2^{K−1} −2^{−F}
$$

$$
w_m ∈ \mathbb{Q}_{K.F} \quad (m= 1, 2,…, M)
. \quad (25)
$$

注意,方程(25)中的优化公式表示一个混合整数规划问题[Boyd和Vandenberghe 2004;Wolsey 1998],由于以下两个原因,该问题难以求解。首先,解w被约束在一个离散集上,而不是连续集上。其次,代价函数表示为两个二次函数的比值,因此是非凸的。为应对这些挑战,我们将进一步提出一种新颖的分支定界法,并结合几种高效启发式方法来求解方程(25)并找到全局最优。我们所提出求解器的细节将在下一小节中讨论。

3.2.分支定界求解器

分支定界法已被广泛用于求解混合整数规划问题[Wolsey 1998]。其核心思想是将优化变量迭代地划分为子区间。对于每个子区间,通过估计代价函数的下界和上界,高效地从搜索空间中剔除不包含最优解的无关子区间。然而,当将分支定界法应用于求解方程(25)时,由于方程(25)中的代价函数是两个二次函数的比值,因此是非凸的[Boyd和Vandenberghe 2004],这使得针对给定的w子区间高效估计代价函数的下界和上界变得并不简单。在下文中,我们将提出若干新颖的思想来应对这一技术挑战,从而能够鲁棒地(即保证全局最优)使用分支定界法求解方程(25)中的优化问题。

下界估计 :我们引入一个附加变量:

$$
t=(μ_A −μ_B)^T · w \quad (26)
$$

并重写方程(25)中的代价函数为

$$
\min_{w,t} \frac{w^T · S_{W,x} · w}{t^2} \quad (27)
$$

注意,w和t现在都被视为优化变量,在使用分支定界法搜索最优解时,应对它们进行子区间划分。

给定一个子区间:

$$
l_{w_m} \leq w_m \leq u_{w_m} \quad (m= 1, 2,…, M) \quad (28)
$$

$$
l_t \leq t \leq u_t,
$$

其中lwm和lt分别表示 wm和t的下界,而uwm和ut分别表示 wm和t的上界。现在,我们可以通过求解以下优化问题来估计代价函数的下界:

$$
\min_{w,t} \frac{1}{\eta} · w^T · S_{W,x} · w
$$

s.t.
$$
w_m·μ_{A,m} - β · |w_m| · σ_{A,m} \geq -2^{K −1} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{B,m} - β · |w_m| · σ_{B,m} \geq -2^{K −1} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{A,m}+ β · |w_m| · σ_{A,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{B,m}+ β · |w_m| · σ_{B,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w^T μ_A - β · \sqrt{w^T_Aw} \geq -2^{K−1}
$$

$$
w^T μ_B - β · \sqrt{w^T_Bw} \geq -2^{K−1}
$$

$$
w^T μ_A+ β · \sqrt{w^T_Aw} \leq 2^{K−1} −2^{−F}
$$

$$
w^T μ_B - β · \sqrt{w^T_Bw} \leq 2^{K−1} −2^{−F}
$$

$$
t=(μ_A −μ_B)^T · w
$$

$$
l_{w_m} \leq w_m \leq u_{w_m} \quad (m= 1, 2,…, M)
$$

$$
l_t \leq t \leq u_t
, \quad (29)
$$

其中 η 是由定义的常数

$$
\eta= \sup_{l_t \leq t \leq u_t} t^2. \quad (30)
$$

在方程(30)中,sup(·)表示一个集合的上确界(即最小上界)。由于t²仅是一个二次函数,因此很容易计算其在区间lt ≤ t ≤ ut上的上确界,并确定 η的值。

方程(29)中的优化是一个凸的二阶锥规划问题[Boyd和Vandenberghe 2004],因此可以高效地求解。与方程(25)相比,方程(29)的表述在两个方面进行了“松弛”。首先,代价函数的分母被松弛为在区间lt ≤ t ≤ ut内的最大可能值η。其次,向量w不再受限于离散集合;相反,它可以在子区间{lwm ≤ wm ≤ uwm;m= 1, 2,…,M}内取任意实数值。由于这一原因,求解方程(29)可得到在方程(28)定义的给定子区间内原始混合整数规划问题代价函数的下界。

上界估计 :与下界估计类似,我们可以重用方程(29)中的优化公式来估计代价函数的上界,其中参数 η被设置为

$$
\eta= \inf_{l_t \leq t \leq u_t} t^2, \quad (31)
$$

其中,inf(·)表示一个集合的下确界(即最大下界)。在这种情况下,方程(29)中的优化问题再次成为一个凸二阶锥规划问题。求解方程(29)后,我们进一步将解w舍入到公式(17)中定义的离散集。接着,我们将舍入后的w代入方程(25)中的代价函数。这反过来给出了在方程(28)定义的子区间内,方程(25)代价函数的一个上界。

初始区间大小估计 :由于分支定界法在第一次迭代开始前需要将优化变量w和t划分为子区间,因此我们需要确定w和t的初始区间大小。由于w的表示格式为图2所示的QK.F,其值必须位于以下范围内:

$$
-2^{K −1} \leq w_m \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M). \quad (32)
$$

另一方面,由于t是w的线性函数,如方程(26)所定义,结合方程(26)和(32)可得

$$
-2^{K−1} · |μ_A −μ_B|_1 \leq t \leq (2^{K−1} −2^{−F}) · |μ_A −μ_B|_1, \quad (33)
$$

其中‖·‖₁表示向量的L1‐范数(即向量中所有元素绝对值的总和)。

通过上述启发式方法,我们提出的用于求解方程(25)的分支定

用于片上低功耗实现的定点分类器训练

4.定点SVM

按照前一节中描述的LDA‐FP思想,我们可以推导出SVM‐FP的数学表达式。如第2.2节所述,支持向量机旨在寻找具有最大间隔的最优分类边界。结合公式(13)中的SVM表达式、公式(17)中的舍入误差以及公式(22)和(24)中的溢出约束,可得到以下约束优化问题

SVM‐FP的问题:

$$
\min_{w,b,\xi^{(n)} A,\xi^{(n)}_B} \frac{1}{2}w^Tw + \lambda · \sum {n=1}^{NA} \xi^{(n)} A + \lambda · \sum {n=1}^{NB} \xi^{(n)}_B
$$

s.t.
$$
w^T · x^{(n)}_A + b \geq 1 - \xi^{(n)} \quad (n= 1,…, NA)
$$

$$
\xi^{(n)}_A \geq 0 \quad (n= 1,…, NA)
$$

$$
-w^T · x^{(n)}_B - b \geq 1 - \xi^{(n)} \quad (n= 1,…, NB)
$$

$$
\xi^{(n)}_B \geq 0 \quad (n= 1,…, NB)
$$

$$
w_m·μ_{A,m} - β · |w_m| · σ_{A,m} \geq -2^{K−1} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{B,m} - β · |w_m| · σ_{B,m} \geq -2^{K−1} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{A,m}+ β · |w_m| · σ_{A,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w_m·μ_{B,m}+ β · |w_m| · σ_{B,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w^Tμ_A - β · \sqrt{w^T_Aw} \geq -2^{K−1}
$$

$$
w^Tμ_B - β · \sqrt{w^T_Bw} \geq -2^{K−1}
$$

$$
w^Tμ_A+ β · \sqrt{w^T_Aw} \leq 2^{K−1} −2^{−F}
$$

$$
w^Tμ_B - β · \sqrt{w^T_Bw} \leq 2^{K−1} −2^{−F}
$$

$$
w_m ∈ \mathbb{Q}_{K.F} \quad (m= 1, 2,…, M).
\quad (34)
$$

公式(34)表示一个混合整数规划问题。与方程(25)中代价函数是非凸的不同,公式(34)中的代价函数和约束函数都是凸的,除了最后一个整数约束。在这种情况下,我们可以使用现有工具箱(如MOSEK[MOSEK 2015])实现的标准分支定界算法来求解公式(34)。

5.定点LR

如第2.3节所示,逻辑回归的目标是找到参数,即w和b,使得训练数据与预测值之间的偏差尽可能小。我们使用对数求和指数(LSE)函数$\mathcal{LSE}: \mathbb{R}^K → \mathbb{R}$重写公式(16)中的目标函数:

$$
\text{lse}(x_1,…, x_K)= \log(e^{x_1}+ ···+ e^{x_K}). \quad (35)
$$

函数$\text{lse}(·)$是凸的,可以被解释为最大值函数[Boyd和Vandenberghe 2004]的解析可微近似。利用双变量LSE函数,公式(16)中的目标函数可以重新表述为

$$
\min_{w,b} \sum_{n=1}^{NA} [\text{lse}(0,-w^T · x^{(n)} A - b)] + \sum {n=1}^{NB} [\text{lse}(0,-w^T · x^{(n)}_B - b)-( -w^T · x^{(n)}_B - b)] + \rho · w^Tw. \quad (36)
$$

由于函数$\text{lse}(·)$是凸的,因此只要分段线性(PWL)函数包含足够多的段数,就可以用分段线性(PWL)函数以任意精度对其进行逼近。对于二元函数$\text{lse}(y_1,y_2)$,文献中已提出一种构造性算法来寻找最优PWL逼近[Hsiung等人2008]。给定整数$R \geq 2$,我们求解以下优化问题,以找到最优的R项PWL函数来逼近二元函数$\text{lse}(y_1,y_2)$:

$$
\min_{u_{r1},u_{r2},h_r} \sup_{y_1,y_2} \left{ \text{lse}(y_1,y_2) - \max_{r \in {1,…,R}} {u_{r1}y_1 + u_{r2}y_2 + h_r} \right}
$$

s.t.
$$
\text{lse}(y_1,y_2) > \max_{r \in {1,…,R}} {u_{r1}y_1 + u_{r2}y_2 + h_r} \quad \forall y_1,\forall y_2, \quad (37)
$$

其中优化变量为${(u_{r1}, u_{r2}, h_r); r= 1, 2,…,R}$。式(37)中的问题可以通过Hsiung等人[2008]描述的迭代算法高效地求解。一旦参数${(u_{r1},u_{r2}, h_r); r= 1,2,…,R}$确定,最优的R项分段线性(PWL)逼近即为

$$
\text{pwl}(y_1,y_2)= \max{u_{11}y_1+ u_{12}y_2+ h_1,…, u_{R1}y_1+ u_{R2}y_2+ h_R}. \quad (38)
$$

现在,我们可以用公式(38)中的最优R项PWL近似来替代公式(36)中的LSE函数:

$$
\min_{w,b} \sum_{n=1}^{NA} [\max{-u_{12}w^T x^{(n)} A - u {12}b+ h_1,…, -u_{R2}w^T x^{(n)} A - u {R2}b+ h_R}]
$$

$$
+ \sum_{n=1}^{NB} [\max{-u_{12}w^T x^{(n)} B - u {12}b+ h_1,…, -u_{R2}w^T x^{(n)} B - u {R2}b+ h_R}-( -w^T · x^{(n)}_B - b)] + \rho · w^T w.
\quad (39)
$$

最后,结合公式(39)中的LR表达式、公式(17)中的舍入误差以及公式(22)和(24)中的溢出约束,得到LR‐FP的以下约束优化问题:

$$
\min_{w,b} \sum_{n=1}^{NA} [\max{-u_{12}w^T x^{(n)} A - u {12}b+ h_1,…, -u_{R2}w^T x^{(n)} A - u {R2}b+ h_R}]
$$

$$
+ \sum_{n=1}^{NB} [\max{-u_{12}w^T x^{(n)} B - u {12}b+ h_1,…, -u_{R2}w^T x^{(n)} B - u {R2}b+ h_R}-( -w^T · x^{(n)}_B - b)] + \rho · w^Tw
$$

s.t.
$$
w_m ·μ_{A,m} - β · |w_m| · σ_{A,m} \geq -2^{K−1} \quad (m= 1, 2,…, M)
$$

$$
w_m ·μ_{B,m} - β · |w_m| · σ_{B,m} \geq -2^{K−1} \quad (m= 1, 2,…, M)
$$

$$
w_m ·μ_{A,m}+ β · |w_m| · σ_{A,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w_m ·μ_{B,m}+ β · |w_m| · σ_{B,m} \leq 2^{K−1} −2^{−F} \quad (m= 1, 2,…, M)
$$

$$
w^T μ_A - β · \sqrt{w^T _Aw} \geq -2^{K−1}
$$

$$
w^T μ_B - β · \sqrt{w^T _Bw} \leq 2^{K−1}
$$

$$
w^T μ_A+ β · \sqrt{w^T _Aw} \leq 2^{K−1} −2^{−F}
$$

$$
w^T μ_B - β · \sqrt{w^T _Bw} \leq 2^{K−1} −2^{−F}
$$

$$
w_m ∈ \mathbb{Q}_{K.F} \quad (m= 1, 2,…, M)
\quad (40)
$$

方程(40)表示一个混合整数规划问题,其中成本函数和约束函数均为凸的,除了最后一个整数约束。该问题可以使用现有工具箱(如MOSEK[MOSEK 2015])实现的标准分支定界算法求解。在我们的实现中,采用基于MATLAB的凸优化求解器CVX[GrantandBoyd 2014],首先对方程(40)中的优化问题进行建模,然后将该模型传递给MOSEK求解器。

6.数值示例

在本节中,给出了两个测试用例以展示所提出算法的有效性。在训练定点分类器时,输入数据和权重值均被适当地缩放并舍入为定点数。为了测试和比较,实现了传统的算法,即 LDA‐R、SVM‐R和LR‐R,其中权重向量w首先通过方程(11)、(13)和(16)分别求解,然后舍入为其定点表示。另一方面,所提出的LDA‐FP、SVM‐FP和LR‐FP方法分别从方程(25)、(34)和(40)求解权重向量w。此外,我们展示了使用双精度浮点运算的LDA、SVM和LR的精度。在训练浮点LDA、SVM和LR时,所有数值(包括输入数据和权重值)均表示为浮点数。所有数值实验均在一台具有8GB内存的2.9GHzLinux服务器上运行。

6.1.运动解码

脑机接口(BCI)旨在建立人脑与外部设备(例如假肢)之间的非常规通信路径[Nicolelis2001;Wang等 2013]。该技术被认为有望恢复中风或脊髓损伤患者的手臂功能。

在本示例中,我们考虑一个数据集,其中来自大脑皮层的32通道电信号通过皮层脑电图(ECoG)记录[Wang等 2013]。一名30岁右利手男性受试者因10年前完全性C4水平脊髓损伤导致四肢瘫痪,参与了为期28天的实验。我们的数据集中每个运动方向包含70次试验。通过对信号进行频域分析提取一组特征,并基于费舍尔准则选择42个特征,用于解码二元运动方向(即左或右)[Bishop2006;Won等 2014]。该数据集规模较小,因为自愿参与ECoG研究的人类受试者数量有限,且从单个受试者收集ECoG数据需要复杂的神经外科手术、广泛的术后训练,因此耗时较长。对于上述脑机接口应用而言,开发用于实现分类算法的低功耗便携式/可植入电路极为重要。

表一显示了使用定点运算实现的LDA‐R和LDA‐FP的分类错误和运行时间。分类错误通过五折交叉验证进行估计。在表一中,由于我们数据集较小且具有随机性,LDA‐FP的分类错误并非词长的严格单调函数。在此示例中,对于给定的词长,LDA‐FP在分类准确率方面优于LDA‐R。为了达到相同的分类错误(即20.71%),LDA‐R需要8位的词长,而LDA‐FP仅需6位。另一方面,LDA‐FP的运行时间明显长于LDA‐R。然而,由于分类器训练是离线且片外进行的,训练成本对我们所关注的应用而言并非关键指标。

表一进一步显示了使用双精度浮点运算实现的线性判别分析的分类错误。与LDA‐R和LDA‐FP相比,LDA实现了相似的分类错误。这一观察结果符合我们的直觉,即当定点运算的词长足够大时,其影响将减小。

表一。使用LDA‐R、LDA‐FP和LD进行运动解码的分类错误和运行时间 A

词长 (QK.F) K F LDA‐R 错误 LDA‐R 运行时间(秒) LDA‐FP 错误 LDA‐FP 运行时间(秒) LDA 错误
1 2 50.00% 0.04 52.14% 40 19.29%
1 3 46.43% 0.06 52.14% 220 19.29%
1 4 40.71% 0.06 52.14% 1,914 19.29%
1 5 32.14% 0.05 37.17% 2,977 19.29%
1 6 21.43% 0.05 32.14% 153 19.29%
1 7 20.71% 0.07 20.71% 221 19.29%
1 8 21.43% 0.06 19.29% 183 19.29%
1 9 20.71% 0.06 18.57% 38 19.29%
1 10 20.71% 0.07 18.57% 11 19.29%
1 11 21.43% 0.08 19.29% 12 19.29%

表二。使用SVM‐R、SVM‐FP和SVM进行运动解码的分类错误和运行时间

词长 (QK.F) K F SVM‐R 错误 SVM‐R 运行时间(秒) SVM‐FP 错误 SVM‐FP 运行时间(秒) SVM 错误
1 2 50.00% 0.60 50.00% 16 20.00%
1 3 50.00% 0.52 50.00% 1,504 20.00%
1 4 50.00% 0.58 50.00% 4,121 20.00%
1 5 26.43% 0.56 38.57% 3,450 20.00%
1 6 20.00% 0.48 23.57% 11,348 20.00%
1 7 22.14% 0.62 20.00% 3,163 20.00%
1 8 20.00% 0.58 20.00% 199 20.00%
1 9 20.00% 0.51 19.29% 87 20.00%
1 10 19.29% 0.59 18.57% 62 20.00%
1 11 19.29% 0.57 19.29% 62 20.00%

表III。使用LR‐R、LR‐FP和L进行运动解码的分类错误与运行时间 R

词长 (QK.F) K F LR-R 错误 LR-R 运行时间(秒) LR‐FP 错误 LR‐FP 运行时间(秒) LR 错误
1 2 50.00% 1.70 50.00% 109 19.29%
1 3 50.00% 1.70 50.00% 18,569 19.29%
1 4 50.00% 1.70 50.00% 35,481 19.29%
1 5 30.71% 1.74 35.71% 38,039 19.29%
1 6 21.43% 1.65 27.14% 103,346 19.29%
1 7 21.43% 1.60 20.72% 54,068 19.29%
1 8 19.29% 1.54 19.29% 8,041 19.29%
1 9 20.00% 1.58 20.71% 7,186 19.29%
1 10 19.29% 1.60 19.29% 5,616 19.29%
1 11 19.29% 1.61 20.00% 3,699 19.29%

舍入和溢出应可忽略不计,因此定点和浮点实现的精度应相近。

表二和表三展示了SVM‐R、SVM‐FP、SVM、LR‐R、LR‐FP和LR的分类结果。一般来说,线性判别分析、支持向量机和逻辑回归依赖于不同的优化公式进行分类器训练。在此示例中,总体分类错误仍然较大(即约20%),因为在脑机接口领域,解码脑状态被认为是一项极其复杂且具有挑战性的任务[Wangetal. 2013]。

6.2.嗜睡检测

对可靠的嗜睡检测系统的需求日益增长,这被认为是开发新型高级驾驶辅助系统的主要目标[Correaetal. 2014]。有多种可用于评估警觉水平的测量方法,包括行为测量、基于车辆的测量和生理测量[Sahayadhasetal. 2012]。在文献中,生理测量被认为是最可靠的嗜睡检测指标,尤其是在不同个体之间。

在此示例中,使用了来自MIT‐BIH多导睡眠图数据库的16名人类受试者的脑电图记录[Goldbergeretal.2000;IchimaruandMoody 1999]。所有参与者均为男性,年龄介于32至56岁之间。该数据库总共包含超过80小时的心电图、脑电图和呼吸信号的多导睡眠图记录。睡眠阶段由专家进行评分。本示例中使用了标记为“清醒阶段”(AS)和“第一阶段”(S1)的时间段,其中S1对应于嗜睡阶段。本文中使用的AS时间段仅指位于S1之前的时间段,而使用的S1时间段仅指位于AS之后的时间段。所有其他时间段均被排除在实验之外。共有5,435次试验,每次试验包含一个10秒脑电图片段。总共从这些脑电图信号中提取了35个特征[Correaetal.2014;Yeoaetal. 2009],用于区分两类:AS和S1。

表IV。使用LDA‐R、LDA‐FP和LDA进行疲劳检测的分类错误和运行时间

词长 (QK.F) K F LDA‐R 错误 LDA‐R 运行时间(秒) LDA‐FP 错误 LDA‐FP 运行时间(秒) LDA 错误
1 2 49.78% 0.06 34.83% 91 31.37%
1 3 49.36% 0.06 32.84% 207 31.37%
1 4 34.80% 0.06 31.37% 419 31.37%
1 5 32.21% 0.06 31.53% 18 31.37%
1 6 32.22% 0.06 30.98% 28 31.37%
1 7 30.48% 0.06 31.08% 19 31.37%

TableV.使用SVM‐R、SVM‐FP和SVM进行疲劳检测的分类错误与运行时间

词长 (QK.F) K F SVM‐R 错误 SVM‐R 运行时间(秒) SVM‐FP 错误 SVM‐FP 运行时间(秒) SVM 错误
1 2 50.00% 1.24 50.00% 13 31.51%
1 3 50.00% 1.21 50.00% 1,857 31.51%
1 4 34.41% 1.44 36.30% 1,485 31.51%
1 5 32.53% 1.33 32.19% 1,448 31.51%
1 6 32.01% 1.24 32.30% 1,056 31.51%
1 7 31.85% 1.19 32.00% 662 31.51%

表VI。使用LR‐R、LR‐FP和LR进行疲劳检测的分类误差和运行时间

词长 (QK.F) K F LR-R 错误 LR-R 运行时间(秒) LR‐FP 错误 LR‐FP 运行时间(秒) LR 错误
1 2 50.00% 49.05 34.23% 9,971 31.77%
1 3 50.00% 45.90 32.64% 79,152 31.77%
1 4 34.69% 48.29 32.11% 185,551 31.77%
1 5 32.31% 50.29 32.72% 199,892 31.77%
1 6 31.67% 44.85 32.47% 75,917 31.77%
1 7 31.74% 44.73 32.47% 19,818 31.77%

分类准确率,LDA‐R所需的词长为5位,而LDA‐FP为3位。

第二,当词长足够大时,定点分类器和浮点分类器的分类错误相似。换句话说,进一步增加我们定点分类器的词长将不再提高分类准确率。本文中的检测准确率与文献[科雷亚 等,2014;Yeo等 2009]中报道的相似。

第三,在此示例中,LDA、SVM和LR具有相似的分类准确率。然而,当词长足够大时,LDA‐FP的运行时间明显低于SVM‐FP和LR‐FP。这里,SVM‐FP和LR‐FP的优化公式涉及大量约束函数,因此求解起来比LDA‐FP计算代价更高,这与我们在前一个示例中观察到的情况类似。

7.结论

本文提出几种新颖的机器学习算法(例如LDA‐FP、SVM‐FP和LR‐FP),用于训练适用于片上低功耗实现的鲁棒分类器,且支持定点运算。这些训练算法构建了相应的混合整数规划问题,并考虑了定点运算中的非理想性(即舍入和溢出)。此外,采用带有多种启发式方法的分支定界法来鲁棒地求解这些混合整数规划问题(即保证获得全局最优)。我们的数值实验表明,与传统方法相比,所提出的方法在不牺牲任何分类准确率的前提下,可实现最高达1.67×的词长减少。本文提出的技術可应用于广泛的新兴领域,例如文中展示的脑信号处理实例。

您可能感兴趣的与本文相关的镜像

Qwen-Image-Edit-2509

Qwen-Image-Edit-2509

图片编辑
Qwen

Qwen-Image-Edit-2509 是阿里巴巴通义千问团队于2025年9月发布的最新图像编辑AI模型,主要支持多图编辑,包括“人物+人物”、“人物+商品”等组合玩法

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值