一种基于支持向量机的癫痫检测集成电路及其训练方法与流程

文档序号:18163093发布日期:2019-07-13 09:26阅读:257来源:国知局
一种基于支持向量机的癫痫检测集成电路及其训练方法与流程

本发明属于集成电路技术领域,具体涉及一种基于支持向量机的癫痫检测集成电路及其训练方法。



背景技术:

大脑神经元异常放电会引发癫痫,对人的生活健康影响严重。头皮无创式脑电图,在癫痫发作诊断中扮演着重要的角色。然而,目前主要依靠医生对患者的脑电信号进行人工分析,这种方法不仅耗时,而且没有统一的判断依据,无法保证其准确性。随着医疗电子技术的不断发展,人工智能算法开始被应用在癫痫的自动诊断过程中,然而大部分的算法需要在计算机上实现,仍然不够方便。因此,将人工智能学习算法集成在电路上,使整个自动诊断系统可便携,并且可针对脑电信号状态的改变重新学习,对提高病人的日常生活质量有很重要的意义。

支持向量机学习方法适用性较广、精度较高,可以针对不平衡的数据集使用,因此在便携式癫痫自动诊断系统中被采用。支持向量机方法作为全监督的分类方法,可以分为训练与分类两个过程:在训练过程中,利用标记好的样本集,寻找处于样本集边界上的特征向量作为支持向量,在分类过程中使用支持向量对输入样本进行分类。训练支持向量机是解决标准的二次规划问题,然而在数据量较大时,计算复杂度高、需要较高的能耗和较大的存储空间,因此在芯片上实时低功耗地训练有一定的难度。较为常用的是序贯最小化算法训练支持向量机,改进版本的序贯最小化算法能进一步加速训练过程、降低功耗。

使用支持向量机方法,需要先对脑电信号进行特征提取以得到特征向量。使用带通滤波器对脑电信号进行频域滤波,然后计算频域能量,是一种常用的特征提取方法。然而通带较窄的带通滤波器的电路复杂度高;另外,频域能量仅能反应信号的一个方面,需要更多的特征对脑电信号进行表征。

经过对现有资料文献的检索发现,现有的基于支持向量机的便携式癫痫自动诊断集成电路系统,滤波器实现较为复杂,且频域特征普遍仅有能量值,不能反应信号的变化范围,另外普遍不具备支持向量机的训练功能。



技术实现要素:

本发明针对上述现有技术的不足,提出了一种基于支持向量机的癫痫检测集成电路,降低了电路复杂度,提高了检测精度。

本发明是通过以下技术方案来实现:

一种基于支持向量机的癫痫检测集成电路,包括特征提取模块和支持向量机;

特征提取模块用于获取训练样本,并将获取的训练样本输入至支持向量机;

支持向量机包括控制调度模块、误差更新模块、样本选择模块、核函数计算模块和拉格朗日乘子优化模块;

所述样本选择模块,用于选择不满足kkt条件的样本,将样本对应的拉格朗日乘子输送至拉格朗日乘子优化模块;

所述拉格朗日乘子优化模块,用于对不满足kkt条件的样本的拉格朗日乘子进行优化,并将优化后的样本输入误差更新模块;

所述误差更新模块,用于更新所有优化后样本的预测误差fi,然后对优化后样本子集边界进行更新,直至所有样本满足kkt条件时结束;

核函数计算模块,用于加速拉格朗日乘子优化模块和误差更新模块的核函数计算过程;

控制调度模块,用于控制支持向量机的片上训练过程。

优选的,所述特征提取模块包括滤波器模块和特征计算模块;

滤波器模块,用于对输入的脑电信号进行滤波计算,并将得到的滤波后的脑电信号x[i]输入至特征计算模块,脑电信号x[i]如下;

其中,eegb[p]代表第p个eeg脑电信号的第b位,c[p]为滤波器参数;

特征计算模块包括方差计算电路和均值计算电路,分别用于计算滤波后的脑电信号x[i]的均值mean与方差值variance,得到一个多维特征向量,并将得到的多维特征向量作为样本输入至支持向量机;

脑电信号x[i]的均值如下;

其中,l表示滤波后信号的长度;

脑电信号x[i]的方差值如下;

优选的,所述特征提取模块包括8个滤波器模块和8特征计算模块;输入的脑电信号分为8个频段,分别输入至8个滤波器模块中进行滤波,每个滤波器模块连接一个特征计算模块,8特征计算模块共得到16个特征,作为16维的特征向量输入至支持向量机。

优选的,所述滤波器为分布式查找表滤波器。

优选的,所述样本选择模块包括多路分配器demux1、多路选择器mux1、第一中断生成电路,以及寄存器bl、寄存器bu、寄存器il和寄存器iu;第一中断生成电路包括比较器com1和比较器com2;

多路分配器demux1的输入端输入误差fi2,其0端输出与比较器com1的负端输入连接,1端输出与比较器com2的正端输入连接;

多路选择器mux1的0端输入与寄存器il连接,其1端输入与寄存器iu连接,多路选择器mux1的输出选中的样本地址i1;

比较器com1正端输入与寄存器bl连接,比较器com2负端输入与寄存器bu连接;比较器com1和比较器com2输出中断信号int1给控制调度模块;

寄存器bl和寄存器bu分别存储样本子集边界blow和bup,寄存器il和寄存器iu分别存blow和bup对应的下标地址ilow和iup。

优选的,所述拉格朗日乘子优化模块包括拉格朗日乘子存储器、αi2优化电路、αi1优化电路和第二中断生成电路;

其中,αi1表示为样本i1的拉格朗日乘子,αi2表示为样本i2的拉格朗日乘子;

拉格朗日乘子存储器存储样本对应的拉格朗日乘子αi;αi2优化电路输入端分别与核函数计算模块和拉格朗日乘子存储器连接,αi2优化电路输出优化后的αi2new写入拉格朗日存储器,以及输出αi2的改变量δαi2到αi1优化电路和第二中断生成电路;

αi1优化电路接收αi2优化电路输出的改变量δαi2,并从拉格朗日乘子存储器读取αi1old,对拉格朗日乘子αi1进行优化,得到优化后的αi1写入拉格朗日存储器,最后输出αi1的改变量δαi1;

第二中断生成电路生成int2信号输入控制调度模块,控制调度模块根据int2信号判断状态转移。

优选的,所述核函数计算模块包括乘法器mul1—muln、加法器add2—addn、样本存储器xmem[1]—xmem[n]、xireg[1]—xireg[n]和xjreg[1]—xjreg[n];

在为拉格朗日乘子优化模块计算核函数时,乘法器muldm交替输入样本存储器xmem[dm]和样本寄存器xireg[dm],样本存储器xmem[dm]和样本寄存器xjreg[dm];

在为误差更新模块计算核函数时,乘法器muldm输入xireg[dm]和xjreg[dm];

add2—addn顺次相连,addn输出核函数ki,j=xixj;

其中,x表示为样本,i和j分别为样本的下标。

优选的,所述误差更新模块包括乘法器mul0、加法器add1、寄存器temp、误差存储器以及第三中断生成电路;

其中,乘法器mul0依次接收核函数计算模块计算出的核函数ki,i1和ki,i2,核函数ki,i1与拉格朗日乘子优化模块计算出的yi1δαi1相乘,核函数ki,i2与拉格朗日乘子优化模块计算出的yi2δαi2相乘,输出连接add1;add1第一次输出中间结果存入寄存器temp,第二次输出更新后的误差finew,写入误差存储器,并输入第三中断生成电路,判断是否满足kkt条件,输出中断信号int3。

优选的,所述支持向量机采用基于改进版本的序贯最小化算法完成片上训练过程。

本发明还提供了一种基于支持向量机的癫痫检测集成电路的片上训练方法,包括以下步骤;

步骤1、将脑电信号分为若干个频段,然后将若干个频段的脑电信号对应输入至若干个滤波器中进行滤波,得到滤波后的脑电信号x[i];

步骤2、将得到若干个滤波后的脑电信号对应输入至若干个特征计算模块,计算滤波后的脑电信号x[i]的均值mean与方差值variance,得到一个多维特征向量,并将得到的多维特征向量作为样本输入至支持向量机;

步骤3、将样本分为五个子集:i0={i:0<αi<c},i1={i:yi=+1,αi=0},i2={i:yi=-1,αi=c},i3={i:yi=+1,αi=c},i4={i:yi=-1,αi=0};

其中,c是可设定的常数,上集合为i0∪i1∪i2,标签值记为0,下集合为i0∪i3∪i4标签值记为1,上集合所对应的预测误差fi中最小的误差记为bup,下集合所对应的预测误差中最大的误差记为blow,bup和blow对应地址记为iup和ilow;

步骤4.初始化拉格朗日乘子αi为0,预测误差fi为负的样本标签(-yi);

步骤5.样本选择模块选择不满足式kkt最优条件的样本i2,kkt最优条件如下:

i∈i0∪i1∪i2,andfi≥blow-τ,i∈i0∪i3∪i4,andfi≤bup+τ

其中,τ=2-10是允许的误差;样本i2对应的样本i1如下:

i1=iup,ifi2∈i0∪i3∪i4

i1=ilow,ifi2∈i0∪i1∪i2

步骤6.拉格朗日乘子优化模块更新步骤5所选的样本i2对应的拉格朗日乘子αi2,得到更新后的更新方法如下;

其中η=2ki1i2–ki1i1–ki2i2;l和h限制αi2的有效范围;

对所选的样本i2对应样本i1的拉格朗日乘子αi1进行更新,得到更新后的

步骤7.更新模块更新所有i∈i0的预测误差fi,得到更新后的

在更新完误差fi后,更新bup、blow、iup和ilow;若blow–bup≥τ,则令αi1=iup、αi2=ilow,返回步骤6;否则i∈i0的样本满足优化条件,返回步骤5,直至整个集合上的样本都满足kkt最优条件后训练结束。

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

本发明提供的一种基于支持向量机的癫痫检测集成电路,在特征提取部分使用分布式查找表滤波器,降低了电路复杂度;增加频域方差特征,能够更好地反应脑电信号特征,提高了检测精度;使用改进版本的序贯最小化算法进行支持向量机训练电路的设计,避免原始版本的序贯最小化算法寻找不满足最优条件的拉格朗日乘子时产生的误判,可以使用更少的迭代次数达到相似性能,进一步提高了能效。同时通过将核函数计算模块进行流水线设计,提高了片上支持向量机的训练速度。

附图说明

图1为本发明电路结构框图;

图2为本发明特征提取部分的结构框图;

图3为本发明滤波器模块图;

图4为本发明特征计算模块图;

图5为本发明的支持向量机部分的结构框图;

图6为本发明控制调度模块状态转移图;

图7为本发明样本选择模块图;

图8为本发明拉格朗日乘子优化模块图;

图9为本发明误差更新模块图;

图10为本发明核函数计算模块图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。

参见图1,一种基于支持向量机的癫痫检测集成电路,包括特征提取和支持向量机两大部分。由特征提取部分对脑电信号进行处理,得到特征向量;由支持向量机部分对特征向量进行训练与分类,得到检测结果。

参阅图2,本发明的特征提取部分包括八个滤波器模块和与八个特征计算模块,每一个滤波器模块连接一个特征计算模块。

其中,八个滤波器模块的结构相同,分别为八个不同通带的带通滤波器,用于将脑电信号在频域分为8个频段;八个特征计算模块分别用于计算8个频段脑电信号的均值与方差,得到16维的特征向量。

参阅图3,滤波器模块的滤波计算过程具体如下,由于8个滤波器模块结构相同,因此仅以其中一个滤波器模块为例进行说明。

分布式查找表滤波器采用以下方法完成滤波计算,具体如下:

其中,eegb[p]代表第p个eeg脑电信号的第b位,c[p]为滤波器参数。根据查找表完成乘积c[p]×eegb[p],再将16位脑电信号每一位对应的乘积相加,得到最终滤波后的脑电信号x[i]=c×eeg。

继续参阅图4,将以上得到的滤波后的脑电信号x[i]=c×eeg输入至对应滤波器模块连接的特征计算模块,得到脑电波的均值与方差值,由于8个特征计算模块结构相同,因此仅以其中一个特征计算模块为例进行说明,具体计算方法如下;

特征计算模块包括均值计算电路和方差计算电路;

均值计算电路根据完成长度为2秒的脑电信号经过滤波后的均值的计算,其中l表示滤波后信号的长度;

方差计算电路根据计算信号方差。

8个特征计算模块总共产生16个特征,将16维特征向量作为样本输入至支持向量机进行学习与分类,以完成癫痫检测。

请继续参阅图5,本发明的支持向量机包括控制调度模块、样本选择模块、拉格朗日乘子优化模块、误差更新模块和核函数计算模块。

支持向量机的向量维数为16维,数据类型为有符号16位定点数,其中符号位1位,整数部分7位,小数部分8位。

控制调度模块控制用于完成基于改进版本的序贯最小化算法对支持向量机的片上训练过程。

核函数计算模块用于计算16维特征向量;

拉格朗日乘子优化模块用于计算样本对应的拉格朗日乘子数据;

误差更新模块用于计算误差;

继续参阅图6,图6为控制调度模块的状态转移图。控制调度模块为有限状态机,该模块共有五个状态:初始状态,样本选择状态,乘子优化状态,误差更新状态,结束状态。各状态根据其他模块的反馈信息进行切换。

初始化完成后,进入样本选择状态;样本选择状态下,使用计数器得到样本地址,以遍历整个样本集,直到找到不满足最优条件的样本,进入乘子优化状态,如果无法找到则说明样本集已优化完成,训练结束;乘子优化存在无法成功优化的情况(乘子的改变量小于预定值),则需返回样本选择状态,若成功优化,则进入误差更新状态;误差更新出新的样本子集边界后,判断子集是否满足最优条件,不满足则进入乘子优化状态优化边界对应的乘子,直至满足局部最优条件后,再进入样本选择状态,在整个集合上寻找不满足最优条件的样本;当整个集合上的样本都满足最优条件后训练结束,进入结束状态。

根据样本的标记yi的值和样本对应的拉格朗日乘子αi的大小,将训练样本分为五个子集:i0={i:0<αi<c},i1={i:yi=+1,αi=0},i2={i:yi=-1,αi=c},i3={i:yi=+1,αi=c},i4={i:yi=-1,αi=0}。

其中c是可设定的常数。上集合为i0∪i1∪i2,标签值记为0,下集合为i0∪i3∪i4标签值记为1。上集合所对应的预测误差fi中最小的误差记为bup,下集合所对应的预测误差中最大的误差记为blow,对应地址记为iup和ilow。

具体改进版本的序贯最小化算法步骤如下:

步骤1.初始化拉格朗日乘子αi为0,预测误差fi为负的样本标签(-yi)。

步骤2.选择不满足式(1)所示kkt(karush-kuhn-tucker)最优条件的样本i2:

i∈i0∪i1∪i2,andfi≥blow-τ,i∈i0∪i3∪i4,andfi≤bup+τ(1)

其中,τ=2-10是允许的误差,对应的样本i1根据式(2)确定:

如果所有的样本满足kkt条件,则算法终止。

步骤3.根据式(3)和(4)更新所选择的样本i2对应的拉格朗日乘子αi2。

其中,η=2ki1i2–ki1i1–ki2i2;l和h限制αi2的有效范围,通过式(5)和(6)计算:

拉格朗日乘子αi1通过式(7)进行更新:

步骤4.根据式(8)更新所有i∈i0的预测误差fi。

在更新完误差fi后,根据定义更新bup、blow、iup和ilow。若blow–bup≥τ,则令αi1=iup、αi2=ilow,返回步骤3继续更新;否则i∈i0的样本满足优化条件,返回步骤2寻找新的样本进行更新,直至整个集合上的样本都满足最优条件后训练结束。

图7为所述样本选择模块,是指根据改进的序贯最小化算法,利用样本子集的边界,对样本的优化特性进行判断,选择不满足kkt条件的样本,将其对应的拉格朗日乘子送入拉格朗日乘子优化模块进行优化。

该模块包括寄存器bl、bu、il、iu,多路分配器demux1、多路选择器mux1,比较器com1和比较器com2组成第一中断生成电路。

寄存器bl、bu、il和iu分别存储样本子集边界blow、bup、ilow和iup。demux1的输入端接误差fi2,0端输出接com1的负端输入,1端输出接com2的正端输入。多路选择器mux1的0端输入接样本边界地址寄存器il,1端输入接寄存器iu,输出选中的样本地址i1。com1正端输入边界寄存器bl,com2负端输入边界寄存器bu;com1和com2输出中断信号int1给控制调度模块。

根据控制调度模块计数器的值i2,从误差存储器中读取误差数据fi2,以及fi2所属样本子集的标签(0代表上集合,1代表下集合);误差数据fi2输入demux1(多路分配器),标签控制demux1选通:若样本属于上集合,则通过com1(比较器)比较fi2与寄存器bl中的值大小,反之,若样本属于下集合,通过com2与寄存器bu中的值比较大小,bl、bu分别存储下集合与上集合误差边界的值;

com1与com2构成中断生成电路,输出为中断信号int1(为0代表第i2个样本满足最优条件,为1代表不满足),控制调度模块根据int1的值判断样本选择状态的切换方向。

参见图8,所述拉格朗日乘子优化模块包括拉格朗日乘子存储器、αi2优化电路、αi1优化电路和第二中断生成电路。

拉格朗日乘子存储器存储样本对应的拉格朗日乘子;αi2优化电路输入端接核函数计算模块和从拉格朗日乘子存储器读取数据,输出优化后的αi2new写入拉格朗日存储器,以及输出δαi2到αi1优化电路和第二中断生成电路;αi1优化电路接收αi2优化电路输出的δαi2,从拉格朗日乘子存储器读取αi1old,和将优化后的αi1写入拉格朗日存储器,最后输出δαi1;第二中断生成电路生成int2信号供控制调度模块判断状态转移使用。

αi2优化电路接收核函数计算模块计算出的核函数ki1i2、ki1i1、ki2i2,并从拉格朗日乘子存储器中读取旧的αi2,进行αi2的优化,再将优化后的αi2写入拉格朗日乘子存储器,同时计算αi2的改变量δαi2,供αi1优化电路、第二中断生成电路和误差更新模块使用;αi1优化电路接收δαi2,并从拉格朗日乘子存储器中读取旧的αi1,完成αi1的优化,再将优化后的αi1写入拉格朗日乘子存储器,同时计算αi1的改变量δαi1,供误差更新模块使用;中断生成电路2根据αi2的改变量δαi2绝对值的大小,判断优化是否成功,输出中断信号int2,为0代表优化成功,1代表失败。

所述αi2优化电路,根据式(3)-(6)完成αi2的优化。

所述αi1优化电路,根据式(7)完成αi1的优化。

所述第二中断生成电路通过判断δαi2绝对值的大小,决定中断信号int2的值。若δαi2的绝对值小于寄存器τ的值,则中断信号int2为1,表示拉格朗日乘子优化失败,由控制调度模块控制状态转移,进入样本选择状态继续寻找样本;若δαi2的绝对值大于寄存器τ的值,则中断信号int2为0,表示拉格朗日乘子优化成功,由控制调度模块控制状态转移,进入误差更新状态。

参见图9,所述误差更新模块包括乘法器mul0、加法器add1、寄存器temp、误差存储器以及第三中断生成电路。

其中,乘法器mul0依次输入由核函数计算模块计算出的核函数ki,i1和ki,i2,与由拉格朗日乘子优化模块计算出的yi1δαi1和yi2δαi2依次相乘,输出连接add1;add1第一次输出中间结果存入寄存器temp,第二次输出更新后的误差finew,写入误差存储器,并输入第三中断生成电路,判断是否满足kkt条件,输出中断信号int3。

所述误差更新模块根据式(8),完成误差的更新。由核函数计算模块读入的ki,i1、ki,i2,i∈i0∪{i1,i2},依次输入乘法器mul0,与由拉格朗日乘子优化模块读入的yi1δαi1、yi2δαi2依次相乘;得到的yi1δαi1ki,i1与fiold通过add1相加,结果存入寄存器temp;yi2δαi2ki,i2再接下来与temp中的值相加,完成式(6)的计算得到更新后的误差finew,写入误差存储器,并输入第三中断生成电路,完成中断信号int3的判断和样本上下误差集合的边界blow和bup的更新。若blow-bup<τ则int3为1,表示i∈i0∪{i1,i2}的样本满足最优条件,通过控制调度模块将操作状态转移至样本选择状态;反之int3为0,表示i∈i0∪{i1,i2}对应的样本仍未满足最优条件,状态转移至乘子优化状态,继续优化blow和bup和对应的αilow和αiup。

参见图10,所述核函数计算模块包括乘法器mul1—mul16、加法器add2—add16、样本存储器xmem[1]—xmem[16]、样本寄存器xireg[1]—xireg[16]和xjreg[1]—xjreg[16]。

乘法器muldm输入xmem[dm]和xireg[dm],xmem[dm]和xjreg[dm]或xireg[dm]和xjreg[dm];mul16输入xmem[16]和xireg[16],xmem[16]和xjreg[16]或xireg[16]和xjreg[16]的值,输出连add16;add2—16顺次相连,add16输出核函数ki,j=xixj。

核函数计算模块完成核函数ki,j的计算过程。所使用的样本向量为16维,因此ki,j=xi[1]xj[1]+xi[2]xj[2]+…+xi[d]xj[d]+…+xi[16]xj[16],d∈z+,1≤d≤16。在xmem[d]中存储xi[d],i∈i0;在xireg[d]中存储xi1[d];在xjreg[d]中存储xi2[d]。核函数计算模块在误差更新状态下使用以加速电路计算式(6)。

在误差更新状态下,需要计算ki,i1和ki,i2以计算式(6),更新误差fi,i∈i0∪{i1,i2}。由于有多个误差需要更新,计算量较大、耗时较长,因此将核函数计算模块设计为add2—add16组成的流水线,来加速众多fi的更新过程。以下以流水线前两级(mul1和mul2)的前五个时钟周期说明流水线的操作过程:

第一个时钟周期:mul1输出xi[1]xi1[1];

第二个时钟周期:mul1输出xi[1]xi2[1];mul2输出xi[2]xi1[2],并通过add2,与上一周期mul1输出的xi[1]xi1[1]相加,得到xi[1]xi1[1]+xi[2]xi1[2];

第三个时钟周期:mul1输出xi+1[1]xi1[1];mul2输出xi[2]xi2[2],并通过add2,与上一周期mul1输出的xi[1]xi2[1]相加,得到xi[1]xi2[1]+xi[2]xi2[2];

第四个时钟周期:mul1输出xi+1[1]xi2[1];mul2输出xi+1[2]xi1[2],并通过add2,与上一周期mul1输出的xi+1[1]xi1[1]相加,得到xi+1[1]xi1[1]+xi+1[2]xi1[2];

第五个时钟周期:mul1输出xi+2[1]xi2[1];mul2输出xi+1[2]xi2[2],并通过add2,与上一周期mul1输出的xi+1[1]xi2[1]相加,得到xi+1[1]xi2[1]+xi+1[2]xi2[2]。

由以上五个周期可以看到,add2交替输出xi,i∈i0∪{i1,i2}前两维与xi1、xi2前两维的点乘结果;add3—add16的输出类似add2,但是增加了维数,add16输出总共16维的点乘结果,交替得到xi,i∈i0∪{i1,i2}与xi1、xi2的完整点乘结果。即每个时钟周期输出一个核函数值。

本发明提供的一种基于支持向量机的癫痫检测集成电路,包括特征提取和支持向量机两大部分。其中特征提取包括滤波器模块和特征计算模块。滤波器模块将脑电信号等频率间隔滤波,特征计算模块根据滤波后的信号计算特征,得到特征向量供支持向量机使用。支持向量机包括控制调度模块,样本选择模块,拉格朗日乘子优化模块,误差更新模块,核函数计算模块。控制调度模块基于训练算法,根据其余各模块的反馈信息,控制整个电路的训练过程。样本选择模块通过样本子集的边界寻找不满足优化条件的样本,交由拉格朗日乘子优化模块更新样本对应的拉格朗日乘子,再用误差更新模块计算拉格朗日乘子更新后的误差,为继续寻找不满足优化条件的样本做准备。核函数计算模块用来加速拉格朗日乘子优化模块和误差更新模块的计算过程。整个过程迭代多次,在所有样本满足最优条件时停止。本发明可以提高癫痫检测系统的便携性,提供更高能效的片上训练功能。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

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