快速的卷积神经网络算法及应用

2020-09-04 10:45包志强赵志超王宇霆
计算机工程与设计 2020年8期
关键词:傅里叶偏置权值

包志强,赵志超,王宇霆

(西安邮电大学 通信与信息工程学院,陕西 西安 710121)

0 引 言

心电信号(electrocardiogram,ECG)为反映人体心脏活动的一种时间序列[1]。目前心电自动分类诊断常用离散小波变换[2,3]、特征选择[4,5]、隐马尔可夫模型(HMM)[6,7]、混合专家[8]等技术。Subramanian B等[3]提出了一种小波变换技术用于心电信号节拍的压缩。Teijeiro T等[5]提出一种对心电图的外展解释,获得每一次心跳的一组定性形态学和节律特征的方法。Jorge Oliveira等[6]提出隐马尔可夫模型用于心电图节拍分割和分类。这些方法需要一定的信号先验知识以及经常需要专家输入,这些限制了该方法的应用。

研究者们将目光转向卷积神经网络[9-11],将快速傅里叶变换和卷积神经网络结合并取得不错的效果[12,13]。Tahmid Abtahi等[12]比较了直接卷积、基于快速傅里叶变换的卷积和快速傅里叶重叠加卷积,发现快速傅里叶重叠加卷积较前两者减少了运行时间。Mihir Mody等[13]提出了一种避免内存增长的频域算法,直接对系数进行傅里叶变换,在频域内进行有效的二维卷积。

为了减少卷积运算的复杂度,本文在改进的基于快速傅里叶变换的卷积模型上提出一种改进的模型快速傅里叶变换-卷积神经网络(fast Fourier transform-convolutional neural network,FFT-CNN),该模型卷积部分首先以固定步长对心拍数据进行划分,接着对所划分的数据首尾均以首尾数据延长固定个长度,然后对所补数据经过快速傅里叶变换并与卷积核相乘,最后经过快速傅里叶逆变换并分别相加,本文将该模型应用于一维心拍信号实现了4种心拍的预测,在减少运行复杂度的基础上取得了较好的预测效果,有效提高了运算效率。

1 FFT-CNN模型

1.1 传统卷积神经网络的卷积

传统卷积神经网络的卷积使用的是一种滑动窗口的技术,需要卷积核在数据上滑动,在每个滑动位置处卷积核与相应的数据之间执行乘法累积,如式(1)所示

(1)

1.2 FFT-CNN的卷积

由于卷积神经网络在分类方面的优越性,在以往心拍分类中,一维卷积神经网络[14]和二维卷积神经网络[11]模型都会被使用。卷积的过程是提取特征重要的部分,而恰恰卷积是传统卷积神经网络最耗时的部分,大约接近于90%的时间用于卷积阶段[12],为了有效地提高网络的运行效率,本文基于快速傅里叶重叠以及加法卷积提出了一种深度学习算法。原始一维心拍数据为L_1,卷积核的长度为L,为了使模型能够不受数据长短的影响,对原始心拍数据进行统一长度操作,通过计算,将所有数据统一补零至L_2,补零后的数据表示如式(2)所示

L_2=[(0,…,0),L_1,(0,…,0)]

(2)

将补零后的数据按固定长度L依次切割为n个块数据如式(3)所示,并对每个数据两端各补5个首尾值,补值后数据d(n)表示如式(4)所示

d1(n)=L_2(nL-L+1,nL)

(3)

(4)

对每一块数据分别做快速傅里叶变换,再对卷积核做快速傅里叶变换,将每块数据频域的结果和卷积核频域的结果相乘,每一块乘积B(n)如式(5)所示

(5)

对每一块乘积分别做快速傅里叶逆变换,接着将逆变换的结果分别相加起来得到本文定义的卷积结果,如式(6)所示

(6)

传统的一维卷积神经网络与本文提出的模型FFT-CNN中卷积结构如图1所示。传统的卷积神经网络卷积部分是先以卷积核的长度5个采样点按照步长一个采样点取数据,接着实现数据和卷积核的相乘和相加,得到卷积后的结果。本文模型中提出的卷积部分首先将心拍数据按照3个采样点进行划分,并且在首尾位置分别延长一个单位,数据分别补为首尾的数据,将每个延长的数据分别通过快速傅里叶变换,再与卷积核相乘,对乘积经过快速傅里叶逆变换,最后把每个数据的结果相加起来则得到本文模型定义的卷积。最终,将卷积的结果经过池化实现特征的降维,进而压缩参数,再经过全连接层将前面的特征综合起来,最后经过softmax函数输出4种类型的概率值,通过反向传播不断更新网络参数,一次次迭代得到最终网络模型,最后通过概率值判断类别。

图1 传统卷积神经网络和本文模型的卷积结构

1.3 FFT-CNN网络反向传播

FFT-CNN与BP网络类似,都是通过反向传播来进行权重和偏置的调节,使用梯度下降法更新。

1.3.1 反向传播步骤

(1)实现网络的前向传播,并得到每个节点的输出值;

(2)求出该网络的损失函数;

(3)计算输出层样本值与输出的残差δnl;

(4)计算出其余每层各节点的残差δl;

(6)根据梯度下降法更新权值w和偏置b。

1.3.2 残差传递

(1)损失函数

对于一个样本集{(x1,y1),(x2,y2),…,(xn,yn),每个样本的损失函数定义如式(7)所示

(7)

此损失函数为softmax损失函数,softmax层最后输出每个类别的概率值,式中sj表示的是输出量s的第j个值,表示的是这个样本属于第j类的概率,j的范围为从1到类别的个数T,所以y是一组1*T的向量,且里面的T个值只有一个值为1,其它的T-1个值均为0。为1的那个值就是真实标签对应的位置,其它都是0。

(2)输出层的残差与其它层略有不同,对于输出层nl的每个节点i的残差计算公式如式(8)所示

(8)

(3)由于池化层的操作是将输出的特征层每一个元素对应卷积层一块区域。所以需要将池化层的残差上采样传递到卷积层。残差计算如式(9)-式(10)所示

(δl+1)′=(δl+1)

(9)

(10)

卷积层的残差为卷积核转置与上采样后的残差做卷积运算,再乘以激活函数的导数。由于本文的结构在前项传播中没有进行池化,故只需将池化层的残差顺利搬移到卷积层。

1.3.3 参数更新

由上面得到的残差,进而计算出损失函数对权值w,偏置b的偏导数。计算公式如式(11)-式(12)所示

(11)

(12)

对于权值w的偏导,由于在进行前向卷积的时候对数据和卷积核都用到了快速傅里叶变换,在此处更新时同样要用到快速傅里叶变换。传统的卷积神经网络对权值w的偏导为第l层的数据直接与第l+1层的残差相乘,本文的模型里,要首先对第l层的数据做快速傅里叶变换,接着将快速傅里叶变换的结果与第l+1层的残差相乘进而得到损失函数对权值w的偏导。

对于一个矩阵维度为1×4,卷积核维度为1×3,输出维度则为1×2,则反向传播的残差也是1×2矩阵。按照上面的描述,对权值w的偏导表示如式(13)所示

(13)

令数据的快速傅里叶变换如式(14)所示

(14)

对权值w的偏导重新表示如式(15)所示

(15)

则对这个卷积核矩阵每一个卷积核的偏导表示如式(16)-式(18)所示

(16)

(17)

(18)

对于偏置b的偏导同常规的偏置一样为第l+1层的残差。

REN Jie, HUANG Hai-dong, WANG Qin, YANG Yu-guang, HUANG Yi, LI Qiang, BAI Chong

根据上面得到的对权值w,偏置b的偏导数,进而根据梯度下降法更新权值w和偏置b。计算公式如式(19)-式(20)所示

(19)

(20)

2 实验结果及分析

2.1 ECG和数据集介绍

ECG记录了人体心脏在一个周期的活动情况[15],ECG由众多个心电节拍组成,也简称心拍。一个心拍表示了心脏的一次搏动,正常的一次心拍包含P波、QRS波和T波,如图2所示。人类的心脏病态各异,心拍的形态也千变万化。

图2 正常心拍波形

为了验证所提出模型FFT-CNN的分类效果,采用来自某机构真实的心电数据,该数据共包含两个通道,本文选取了4种类型数据,包括心房颤动、心房扑动、右束支传导阻滞和正常。每种类型每个通道均截取心拍750个,一通道包含数据3000个,二通道同样包含数据3000个。

2.2 实验过程

在实验过程中,选取80%的数据作为训练集,20%的数据作为测试集,将整体的预测正确率作为评价准则。所用数据统一经过数据归一化处理。设置核尺寸为1×20,yita=0.001。为了评估所提出模型的有效性,设计了两组对比实验。分别和传统一维卷积神经网络,基于快速傅里叶变换卷积两种模型进行对比。

2.3 模型复杂度分析

为了描述复杂度,此处统一规定数据的维度为N×1,卷积核的维度为K×1。3种模型复杂度见表1。

表1 3种模型复杂度

从表1中很明显可以得到,传统的卷积神经网络计算复杂度最高,用于计算的成本会更高。由于引入了快速傅里叶变换,基于快速傅里叶变换卷积复杂度较传统卷积神经网络有明显降低。本文模型具有较低的复杂度,能有效地减少用于卷积的时间,大大提高模型的效率。

2.4 实验结果分析

本文实验平台为Intel Core(TM) i5-3337U CPU @3.30 GHz,内存为8 GB,仿真软件为Matlab R2014b。3种模型整体预测正确率和运行时间比较见表2。

表2 3种模型效果比较

从表2中可以看出,3种模型的比较中,本文提出的模型FFT-CNN平均正确率最高,达到了98.5%的预测正确率,说明了本文模型预测效果最优,其次是传统的卷积神经网络,达到98%正确率,效果稍差的为基于快速傅里叶变换的卷积,预测正确率为97%。在运行时间方面,本文模型具有最短的时间,说明本文模型较好于其它两种模型。

因为二通道的数据信噪比普遍优于一通道,故在结果上表现二通道效果略强于一通道。本文模型对数据进行快速傅里叶变换时,通过在数据两端各补5个首尾数据,延长做快速傅里叶变换的数据长度,使模型充分学习到每段数据的连接部位特征,这些细节可能恰恰是诊断疾病类型的重要因素,显著地提高了模型的预测准确率。同时,由于使用了快速傅里叶变换以及简单的乘法操作大大减小了运算复杂度,故在运行时间上有缩短。说明本文模型可以准确并快速的预测心拍分类。

传统卷积神经网络、基于快速傅里叶变换的卷积和本文所提出的算法在训练过程中的LOSS值如图3所示。LOSS值反映了模型对数据预测的概率,LOSS值越小,预测的概率越高。可发现3种模型总体上都最终趋于收敛,本文提出的模型虽在前面迭代时收敛速度略缓于之前的两种模型,但在迭代次数达到50次之后,本文模型的LOSS值达到了最小,进一步体现了本文模型的泛化性和鲁棒性,也从另一个方面说明了神经网络的优势。

图3 训练过程LOSS值

表1反映本文模型具有较低的模型复杂度,表2反映本文模型拥有较高的预测正确率,图3反映本文模型具有较好的泛化性和鲁棒性。总之,本文模型可以有效应用于心拍类别预测。

3 结束语

本文基于传统卷积神经网络,在快速傅里叶重叠以及加法卷积的基础上提出了一种改进的深度学习模型FFT-CNN,将快速傅里叶变换引入卷积神经网络中卷积部分,融合两种方法的优势以充分提取到心拍数据各个部分的特征。实验结果表明,本文利用快速傅里叶变换提出的深度学习模型FFT-CNN与传统的卷积神经网络和基于快速傅里叶变换的卷积两种模型相比,有效地减少了运算的复杂度,并且提升了预测效果,可以应用于便携式心电诊疗设备,作为临床医生的辅助手段。

猜你喜欢
傅里叶偏置权值
基于40%正面偏置碰撞的某车型仿真及结构优化
一种融合时间权值和用户行为序列的电影推荐模型
基于双向线性插值的车道辅助系统障碍避让研究
CONTENTS
法国数学家、物理学家傅里叶
双线性傅里叶乘子算子的量化加权估计
基于MATLAB的LTE智能天线广播波束仿真与权值优化
一种偏置型的光纤传导高压电流互感器
基于权值动量的RBM加速学习算法研究
一级旋流偏置对双旋流杯下游流场的影响