深度残差网络在脉搏信号亚健康检测中的应用

2020-07-15 05:01艾玲梅薛亚庆李天东
计算机技术与发展 2020年7期
关键词:残差脉搏亚健康

艾玲梅,薛亚庆,李天东

(陕西师范大学 计算机科学学院,陕西 西安 710119)

0 引 言

亚健康是一种介于健康与疾病之间的中间状态,是由学者王育学[1]首次提出。亚健康状态,人体虽未明显病变,但已经有潜在的发病可能,其机体结构以及生理功能已经存在不同程度的减弱与衰退,甚至会出现心理调节失衡、社会适应能力下降,导致易患疾病[2]。

脉搏信号作为人体重要的生理信号,对于人体各种疾病的诊断具有极其重要的价值,因此可以通过分析人体的脉搏信号来实现亚健康状态的检测[3-4]。特征提取是影响脉搏信号亚健康检测效果的直接因素,目前,对脉搏信号处理方法的研究主要集中在三个方面:

(1)时域法。主要寻找脉搏信号中一些具有生理学含义的点作为特征点,如常见的主波点、潮波点、波长和信号的波形特征量K等[5],但是存在时域特征不稳定,需要借助主观的经验而估计,以及特征参数过多等缺点。

(2)频域法。通过脉搏信号的频谱图得到相对应的特征点实现脉搏信号的识别。如Lee等人[6]将“能量比(ER)”的概念引入脉搏信号的频谱图分析,发现健康人的ER值都在100以上,在某些特定的脉搏位置,亚健康人群的ER值低于100,从而可区分出健康和亚健康状态。但脉搏信号是非线性、非平稳的信号,采用频域方法分析时,无法达到最佳分辨率,因此并不适用于脉搏信号的处理。

(3)时频法。主要是从时间域和频率域同时进行分析。比较常用的时频分析方法有:短时傅里叶变换[7]、希尔伯特-黄变换[8]和小波变换[9],短时傅里叶变换方法存在无法同时兼顾时间与频率分辨率需求的缺点;希尔伯特-黄变换方法应用于窄带信号非常有效,对非窄信号却无能为力;小波变换虽然可高效地从脉搏信号中提取相关信息,但是识别率相对来说还存在可提升的空间。

近几年,深度学习方法作为一种新的特征提取手段,将有监督学习与无监督学习相结合,克服了传统方法将特征提取与分类器分为两个环节的缺点,在图像识别[10]、物体检测[11]、文本检测[12]等领域的研究应用中都取得了很好的效果。因此,文中将深度学习理论引入脉搏信号亚健康检测识别研究,提出了一种基于深度残差网络的脉搏信号亚健康检测算法。具体做法为:首先,采用生成对抗网络方法对脉搏信号数据集进行扩增;然后,调整深度残差网络模型,引入一维卷积,构建适用于脉搏信号亚健康的检测模型;最后,利用扩增之后的数据集训练脉搏信号亚健康的检测模型,对人体亚健康状态进行检测。

1 脉搏信号数据的生成

众所周知深度学习方法需要使用大量的、带类别标签的数据进行训练。但是,目前国内外还没有可用于深度学习训练的亚健康检测的脉搏信号数据集合。由于采集范围和采集效率的限制,文中自主设计实验采集的脉搏信号数据量也有限。这样就对该研究造成了困扰,因此,需要解决的首要问题就是如何构建一个拥有大量脉搏信号数据的集合以满足深度学习方法的训练要求。

2014年,Goodfellow提出了一种生成式对抗网络(generative adversarial networks,GAN)[13],该网络可以用于生成图像,对图像数据进行扩增。但是GAN存在训练不稳定、梯度消失等问题,深度卷积生成式对抗网络(deep convolutional generative adversarial networks,DCGAN)[14]就是在GAN网络的基础上提出的。DCGAN网络模型目前表现比较稳定,训练比较容易收敛,但是该网络是针对图像样本的生成,并不适合生成文中的脉搏信号数据。因此,在深入研究DCGAN网络的基础上,提出了一种称为脉搏信号生成对抗网络(pulse signal deep convolutional generative adversarial networks,PSDCGAN)的网络模型,以适用于一维脉搏信号生成。

1.1 数据采集及预处理

首先让受试者自主填写亚健康自评表,然后根据自评表得分从中选取40名无任何疾病的研究生,年龄均在22~28岁之间,其中男生17名,女生23名,在实验前均精神良好,情绪平稳。实验采集设备为合肥华科电子技术研究所研发的HK-2000C集成数字脉搏传感器,将传感器对准受试者手腕桡动脉处,用腕带固定好,力度适中。实验中采样频率为200 Hz,采样时间设置为1.5 min,受试者将手臂与心脏近于同一水平前臂平伸,掌心向上,保持平稳状态,不要大声说话,待信号平稳后开始数据记录。

脉搏信号是微弱的信号,采集过程中易受采集环境、采集仪器以及受试者身体与心理活动的影响,使得脉搏信号中含有工频干扰、基线漂移等噪声信号,因此,为了获得较为纯净的脉搏信号,采用小波变换的方法和脉搏信号干扰段检测算法对脉搏信号去除噪声及异常波形。

1.2 PSDCGAN网络

1.2.1 PSDCGAN网络的基本原理

PSDCGAN网络是基于GAN改进,其基本原理与GAN相同。GAN网络的总体框架如图1所示,其中z表示噪声输入,G表示生成网络,D表示判别网络,更新操作表示判别网络根据损失函数值来更新生成网络的损失函数值,使其生成的样本尽可能地接近于真实样本,两者的最终目的是处于纳什均衡的状态,生成网络可以生成最真实的数据样本。PSDCGAN网络的实现过程包括两个阶段:前向传播阶段和反向传播阶段。在前向传播阶段,输入一个100维的随机噪声,经过生成网络生成一个新的向量,记作D(z),其中z表示生成的随机噪声,从脉搏信号数据集合中选取一个信号向量,记作x。然后将生成网络产生的假信号或者从训练样本选择的真信号作为判别网络的输入数据,而判别网络将会输出一个0~1之间的概率值,这个概率值表示的是输入的信号为真实脉搏信号的概率。使用得到的概率值计算损失函数,生成网络的损失函数和判别网络的损失函数分别如式(1)和(2)所示:

(1-y)log(1-D(G(z)))

(1)

-(1-y)log(1-D(G(z)))+ylog(D(x))

(2)

其中,y为输入数据的类型,G(z)为生成网络的输出,D(x)为判别网络的输出,D(G(z))表示生成的信号根据判别网络判断为真实信号的概率。

PSDCGAN网络的反向传播阶段,根据生成网络和判别网络的损失函数,不断去修正误差,更新网络参数。一方面是让生成网络的输出G(z)尽量与真实信号相近,另一方面是使得判别网络的输出D(x)的值尽可能趋向于1,D(G(z))的值尽可能趋向于0,如式(3)所示:

Ez~Pz(z)[log(1-D(G(z)))]

(3)

其中,Pdata(x)表示真实信号数据的概率分布情况,Pz(z)表示初始随机噪声数据的概率分布情况,E(*)表示分布函数的期望值。

图1 GAN网络的总体框架

1.2.2 PSDCGAN网络的生成网络

生成网络的作用是如何依据随机噪声生成脉搏信号,尽量服从真实数据的分布,并且存储成txt的数据文件,以备后续作为数据集进行读取。图2是PSDCGAN的生成网络结构,该网络共有10层,第一层表示输入层,其余层均为卷积层。In:100Z表示输入是维度为100的随机噪声向量,卷积层主要由带步长的反卷积构成,可以使生成网络上采样,将输入的随机噪声通过上采样生成1 024×1的信号数据。反卷积核大小设置为5,步长设置为2,在生成网络中选择tanh作为输出层的激活函数,其他层均选择ReLU激活函数,并且每一层均使用块归一化(batch normaliza-tion,BN)层,将特征层的输出规范化,解决随机初始化参数不理想问题,并且训练速度和稳定性得到提升。

在反卷积层中,文中均采用一维反卷积函数,即conv1d_transpose函数。之所以采用一维反卷积函数,是因为文中需要生成的是脉搏信号,脉搏信号为一维信号,所以必须做此改进。

1.2.3 PSDCGAN网络的判别网络

判别网络存在目的是对输入数据进行判别,判断是来源于真实的信号数据还是生成网络生成的假信号数据,其本质是实现对数据来源的二分类判别。判别网络结构如图3所示,该网络有11层,最后一层为全连接层,其余层均是带步长的卷积层,目的是让判别网络可以下采样,卷积核的大小设置为5,步长设置为2。在此特别说明,由于脉搏信号为一维信号,所以卷积层均采用一维卷积操作。在判别网络中,与生成网络不同的是在判别网络中均使用LeakyReLU类型的激活函数,防止梯度稀疏。

图2 PSDCGAN网络的生成网络结构

图3 PSDCGAN网络的判别网络结构

1.2.4 PSDCGAN网络的训练过程

PSDCGAN网络在训练过程中采用交替优化的方法,即轮流固定生成网络G和判别网络D的参数,然后去训练另一个网络。为防止判别网络的损失很快收敛为零,从而没有足够强的梯度路径可以继续更新生成。

所以,在训练阶段每次使判别网络D训练更久一点,规定生成网络G的损失函数更新2次,判别网络D的损失函数更新1次。网络训练好之后,便可利用该网络对脉搏信号数据集进行扩增。

2 深度残差网络模型

2.1 深度残差网络原理

深度残差网络(residual network,ResNet)[15]是为了解决卷积神经网络训练过程中,会出现随着网络层数的不断加深,准确率不增反而下降的问题。ResNet网络中引入了残差块的概念,根据输入学习残差函数而非原始函数。假设输入神经网络为x,需要拟合的输出函数映射为H(x),则残差映射F(x)可表示为式(4),残差块结构如式(5):

F(x)=H(x)-x

(4)

(5)

F(x,W)=W2σ(W1x)

(6)

多个卷积层级联的输出和输入元素之间相加得到残差块的输出,再经过ReLU函数激活后得到。传统的神经网络采取自上向下的输出方式,而这种残差结构直接将某一层的输出跨过几层作为后面某一层的输入,目的是让叠加的多层网络随着网络规模的加深,准确率不再不升反降。

2.2 文中的深度残差网络模型

为了将深层模型残差网络的特征提取能力迁移到信号上,并使其能够完成脉搏信号亚健康分类检测,需要对深度残差网络模型进行调整,使用由多个小尺寸卷积核级联形成的18层网络,中间由四个残差块组成,每个残差块在卷积层之后引入BN批归一化处理,将特征层的输出规范化。在该网络中,均采用一维卷积,卷积核大小均为3,采用ReLU作为激活函数。脉搏信号输入经过初始卷积层和池化层之后,将提取到的特征输入到若干残差块中,学习残差映射函数,在经过残差块的学习后,连接一个池化层和一个全连接层输出分类结果。

3 实验与分析

3.1 脉搏信号生成的实验验证

为验证基于PSDCGAN网络用于生成脉搏信号的效果,本节设计实验的具体步骤为:将经过预处理后的脉搏信号首先进行人工分割以增加样本数量,可以得到健康者样本集760个,亚健康者样本集840个,每个样本均有1 024个采样点值。从中选取1 000个样本进行训练,600个样本进行测试,将所有数据进行归一化处理,归一化范围为[-1,1],作为PSDCGAN网络的训练集和测试集。然后基于构建的数据集训练PSDCGAN网络,等PSDCGAN网络训练完成之后,使用该网络生成文中需要的脉搏信号数据。真实的脉搏信号如图4所示,生成的脉搏信号图像如图5所示,将真实的脉搏信号和生成的脉搏信号进行重叠的对比,对比的结果如图6所示。

图4 采集的真实脉搏信号示意图

图5 利用PSDCGAN网络生成的脉搏信号图

图6 真实脉搏信号和生成脉搏信号对比

从图4~图6的对比分析可知,利用PSDCGAN网络可以生成脉搏信号数据,且与真实数据相比,相似度很高。

3.2 基于深度残差网络的实验验证

首先,将实验采集来的数据进行分割,可以得到健康者脉搏信号样本集760个,亚健康者脉搏信号样本集840个,每个样本均有1 024个采样点值,共1 600个脉搏信号(记作数据集A),对数据集A做如下划分:训练集1 000个信号样本(包含健康者脉搏信号和亚健康者脉搏信号各500个),测试集600个信号样本;第二组实验使用PSDCGAN网络扩增的5 000个脉搏信号数据集(记作集合B),各数据集的具体划分方法为训练集4 000个信号样本(包含健康者脉搏信号和亚健康者脉搏信号各2 000个),测试集1 000个信号样本。

本节设计的第一组实验用于验证SGD、Adam和Momentum三种梯度优化算法对于分类结果的影响,实验的具体设计步骤是:选用集合B训练深度残差网络模型,训练中分别使用SGD、Adam和Momentum三种优化算法对其进行优化,训练过程中Loss值的变化如图7所示。

图7 三种优化算法结果对比

图7中由上至下分别代表使用随机梯度下降算法(SGD)、动量优化算法(Momentum)和自适应优化算法(Adam)优化后的模型损失函数值的变化,从图7中可以明显看出,网络模型采用SGD算法优化的结果明显不如采用Momentum和Adam优化方法,而Momentum和Adam方法相比,Momentum方法优化的模型其损失函数值更小,Adam方法的损失函数值相比之下稍高,但采用Adam方法优化的模型,其收敛速度比使用Momentum方法优化模型的速度快。因此为了考虑运行时间问题,在文中网络模型中,优化算法选用Adam。

本节设计的第二组实验用于验证提出的脉搏信号扩增方法对于分类效果的影响。实验的具体设计步骤为:采用集合A和集合B按照上述方法的划分,分别训练文中的深度残差网络。实验结果如表1所示。

表1 文中方法在未扩增数据集和扩增数据集上的结果对比

由表1可知,在采用样本集B训练的情况下,深度残差网络的分类识别结果要远远好于采用样本集A训练的结果。分析原因是:ResNet是深层次网络,需要的样本集比较大,在样本量充足的情况下,准确率大幅度提高(对比采用样本集A训练ResNet网络和样本集B训练ResNet网络),若样本量小,则训练不充足,不能达到最优训练模型,所以结果不是特别理想。需要特别说明的是,对于采用集合B训练ResNet网络和采用没有扩充的集合A相比,准确率提升了将近10%,这说明,针对类似ResNet这样深层次的网络,充足的样本集是模型训练的前提,也间接证明了文中提出的PSDCGAN网络生成脉搏信号的有效性。

本节设计的第三组实验用于验证与其他传统的脉搏信号亚健康检测方法对比,文中方法的有效性。实验的具体设计步骤为:采用集合B按照上述方法的划分,训练文中的深度残差网络,与现有的PCANet-SVM[16]方法相比,最终的实验结果如表2所示。

表2 文中方法和其他方法的结果对比

由表2的结果可知:与现有PCANet-SVM方法,文中方法在识别率的表现上更好,体现了多层网络结构特征提取方面的良好性能,验证了该方法的有效性。

4 结束语

目前,深度学习方法在图像处理方面的研究取得了巨大的成功,但是在一维信号的研究应用较少。文中首次将深度残差网络应用于脉搏信号领域,针对数据样本不足的问题,提出了一种基于生成式对抗网络PSDCGAN用于对脉搏信号数据样本进行扩增,为下一步使用深度学习方法研究脉搏信号亚健康提供了可能。其次针对传统脉搏信号亚健康检测方法存在识别率较低的缺点,提出一种适用于脉搏信号亚健康的深度残差网络检测模型,与现有方法对比,可以取得更高的识别率,证明了深度残差网络在脉搏信号亚健康检测领域的有效性。

不足之处在于,深度残差网络模型属于深层次的框架模型,对于训练样本需求很大,因此造成训练时间过长,所以进一步优化训练时间是可以改进的一个方向。

猜你喜欢
残差脉搏亚健康
多级计分测验中基于残差统计量的被试拟合研究*
基于残差-注意力和LSTM的心律失常心拍分类方法研究
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
谁是逃跑的劫匪
党员“亚健康”,咋办?——咸阳探索“党性体检”
用心感受狗狗的脉搏
跟踪导练(一)
跟踪导练(一)