APP下载

基于自动机器学习的运动过程心电检测算法

2023-10-28袁青霞王俊江

关键词:架构神经网络分类

宋 群,袁青霞,王俊江

(1.西北工业大学 自动化学院,陕西 西安 710072;2.中科锐眼(天津)科技有限公司,天津 300350;3.天津城建大学 体育部,天津 300384)

心脏疾病已经成为当今世界上最主要的公共卫生挑战之一,对人类的健康和生命造成了极大的威胁[1]。随着现代生活方式的改变和人口老龄化程度的加深,心脏疾病的发病率不断攀升。因此,心脏疾病的监测变得至关重要,它可以帮助医务人员尽早发现心脏问题,及时采取干预措施,避免悲剧性后果的发生。有效的监测不仅有助于诊断心脏病症,还可以评估患者的风险因素,制定个体化的诊疗方案。因此,进行实时心电监测并对监测结果进行分析和解释,对于保障人类健康、提高全人类生活质量具有重要意义。

心电图(electrocardiogram,ECG)是记录心脏电活动的无创方法,由于其简单、低成本和高精度,已经成为心血管病诊断中最常用的工具之一[2]。运动ECG技术是一种能够记录运动过程中ECG变化的技术,通过实时检测ECG信号,研究对象在物理活动条件下的心脏生理学。近年来,运动ECG技术得到了广泛应用,成为评估运动员运动期间心脏功能的常用工具[3]。而随着传感器和信号处理技术的快速进步,运动ECG监测设备的灵敏度和特异性也得到了极大的提高,使其成为筛查运动员是否患有潜在心血管疾病的有效工具之一。在此基础上,高锦炜设计了一种基于离散小波变换(discrete wavelet transformation,DWT)的低功耗实时ECG信号处理器[4]。该处理器通过使用DWT算法将ECG信号转换为时频域信号,并采用自适应阈值算法进行去噪和R波检测。实验结果表明,该处理器准确性高,节能效果显著,非常适合移动设备上的应用。杨宇等人探讨了基于小波变换和支持向量机(support vector machine,SVM)的ECG信号分类方法[5]。该方法用小波变换将ECG信号转换到小波域,然后,使用SVM分类器对不同类别的ECG信号进行分类。研究结果表明,该方法在分类准确率和鲁棒性方面表现优异。Park等人提出了一种改进的小波变换算法WTSEE用于R波检测[6]。该算法在常规小波变换的基础上,增加了非线性阈值控制和动态滑动窗口等优化方式,能够提高R波检测的准确性和稳定性。实验结果表明,该算法比传统的R波检测算法更具优势。朱俊江等人讨论了基于小波分析的ECG信号去噪方法[7]。该方法将小波分析与滤波技术相结合,能够克服传统带通滤波器存在的较大幅度漂移和陡峭滤波器存在的过度去噪问题,效果显著。王凤提出了一种基于多尺度分析的ECG信号分类算法[8]。该算法通过多尺度小波分解实现了对ECG信号的多层次特征提取,然后,使用基于集合经验模态分解(ensemble empirical mode decomposition,EEMD)的自适应阈值算法对不同类别的ECG信号进行分类。研究结果表明,该算法在分类准确率和稳定性方面都表现良好。马金伟探讨了如何使用深度学习技术对ECG信号进行自动分类[9]。其提出的融合网络模型可以从ECG信号中学习到有效的特征,并且能够实现高精度的分类,同时还可以用于检测不同类型的心脏病。Prakash等人探讨了如何改善ECG信号检测中的假阳性问题[10]。该研究采用随机森林算法对ECG信号进行分类和去噪,能够有效地减少假阳性率,并提高整体的诊断准确性,同时也适用于其他医学领域中的信号处理问题。孟琭等人提出了一种基于卷积神经网络(convolutional neural network,CNN)的ECG信号分类算法[11]。该算法具有较高的分类准确率,可以有效地区分正常和异常ECG信号,此外,还表现出较强的鲁棒性,适用于不同的数据集和应用场景。吴佳全提出了一种基于双向长短时记忆网络和卷积神经网络的ECG信号分类算法[12]。该算法模拟了人类心脏的生理特性,能够高效地提取和识别ECG信号中的特征,并且在分类准确率和稳定性方面都表现良好。孟瑶开发了一款基于移动设备的实时ECG信号检测系统[13]。该系统采用低功耗计算架构和自适应阈值算法,可以实时获取、去噪和分析ECG信号,具有良好的性能和可靠性,适用于临床和家庭健康监测等领域。然而,由于人体生理特征和运动状态下心脏电信号变化等因素的影响,ECG实时检测技术在精度上还有一定的提升空间。

近年来,机器学习在时序信号领域的应用备受关注,其中,ECG信号是一个典型的例子[14]。过去,基于物理模型的方法如差分方程和傅里叶变换等被广泛应用于处理这类信号,但需要手动提取信号特征,往往过于简化实际情况。在近年的一些研究中,一些学者通过引入机器学习算法自动提取时序信号特征,并对信号进行分类和预测。然而,目前主流的机器学习模型都是由专家进行人工设计,需要手动调整模型结构和超参数设置,导致这些模型在不同数据集中的泛化性和灵活性受到限制。为了实现对模型结构和参数的自适应调整,有学者提出了新的理论,即神经网络架构搜索(neural architecture search,NAS)。该理论旨在自动化地发现合适的神经网络结构以完成特定的人工智能任务。其中, Liu等人提出了利用梯度下降算法搜索卷积神经网络架构的高效策略DARTS,并在ImageNet数据集上获得了令人瞩目的结果[15]。Pham等人通过强化学习训练一个控制器,从大量计算图中选择最优子图,并预测子图验证准确度,轻松构建最优神经网络结构[16]。Chen等人提出采用序列化的模型优化方法对更大规模的问题进行了优化[17]。Cai等人提出一种基于梯度的可微架构搜索算法,采用管道连接将神经网络分解为3个基本构建块:卷积、标准化和非线性变换[18]。Brock等人为每个可能的子网络赋予一个共享的向量,并使用共享的控制器搜索网络结构和权重,以支持快速、大规模的架构搜索[19]。Shen等人通过采用新的搜索策略,将多个搜索过程组合起来,更好地探索架构空间,并使用注意力机制关注重要部分,实现高效的架构搜索[20]。Wu等人采用自适应资源分配来实现高效的训练,从一个较小的“种子”网络开始,逐步迭代并强化网络性能[21]。Liu等人提出一种新型的、基于进化算法的NAS方法,使用最小变异操作作为遗传机制,并使用多目标优化算法进行训练[22]。Huang等人使用3个模块来优化模型结构,其中一个模块负责架构搜索,另一个模块用于权重学习和更新,第3个模块负责共享参数[23]。Tan等人利用自动化设计优化神经网络、加速模型训练和推断,并在图像分类、对象检测等方面获得了较好的结果[24]。

虽然自动机器学习方法在其他领域已经取得了显著进展,但在ECG信号检测领域尚未被广泛应用。因此,采用自动机器学习方法设计更具泛化能力的模型,实现更高精度的ECG信号检测,具有重要的研究意义。本文旨在通过自动机器学习理论,自动设计和调整模型结构,更高效地提取和分类ECG信号特征。

1 方法设计

针对当前ECG检测技术存在的瓶颈,创新性的将ECG时序信号转换为图像数据,并结合计算机视觉领域成功的神经网络架构搜索算法实现了针对不同类型ECG数据的有效分类辨识。算法流程框架如图1所示。

图1 算法流程框架图Fig.1 Algorithm flow framework diagram

1.1 ECG信号图像

针对原始ECG信号,首先将其转换为3种不同的图像数据,分别为格拉姆角场(gramian angular field,GAF)、递归图(recurrence plot,PR)以及马尔可夫转移场(Markov transition field,MTF)。

1.1.1 格拉姆角场

格拉姆角场[25]是一种用于处理时间序列数据的特征提取方法,基于格拉姆矩阵和极角场的概念,将时间序列转换为图像形式,以便利用计算机视觉和图像处理领域的成熟技术进行分析。

格拉姆角场技术的基本思想是将时间序列分成多个时间段,并使用极坐标系将每个时间段转换为一个图像。在极坐标系中,每个时间点被转换为一个点,该点的半径由时间序列的幅度确定,角度由时间序列的相位确定。然后,使用格拉姆矩阵将这些图像转换为对称正定矩阵,以便使用特征向量分解等方法进行进一步分析。最后,使用基于格拉姆角场的特征向量进行分类、聚类等任务。

具体而言,给定一个长度为n的ECG时间序列x={x1,x2,…,xn},首先,将其分为k个时间段x(1),x(2),…,x(k)。对于每个时间段,使用以下公式将其转换为极角场,

(1)

式中:p和q为当前时间段中的时间点;τ为极角场的周期(通常取为N);l为当前子序列序号。然后,使用以下公式计算格拉姆矩阵,

(2)

式中:i和j为不同时间段中对应的时间点。最终,格拉姆矩阵可以看作是一个N×N的对称正定矩阵,其中,每个元素都是k个时间段中对应位置的极角场之间的相似度。

格拉姆角场的优点在于它能够很好地处理时间序列中的非线性关系,并且可以使用计算机视觉和图像处理领域的技术对其进行进一步分析。此外,格拉姆角场的计算量较小,适用于大规模数据集。因此,本节使用格拉姆角场对ECG信号进行特征提取。

1.1.2 递归图

递归图也称为重现性图,是一个图形化的工具,用于分析时间序列中的重复模式[26]。其通过在时间序列上构造一个二维图像来显示序列中的周期性或混沌性。递归图现已广泛应用于各种领域,如物理学、生物学、经济学和气象学等。

递归图的构造基于嵌入定理(embedding theorem)。该定理指出,可以通过将时间序列转换为高维空间中的向量来捕捉序列中的结构信息。递归图的构造涉及计算时间序列中任意两个时间点之间的欧几里得距离,并将距离值转换为二进制0或1。这样,递归图可以视为一个二维矩阵,其中行和列代表时间序列中的时间点,而单元格中的数字表示相应时间点之间的距离是否小于给定的阈值。基于1.1.1节的ECG信号定义,其递归图可通过下式进行计算,

R=α(λ-‖xp-xq‖)

(3)

式中:λ为阈值;α为重边函数;p和q为时间点。

递归图的图形化特征可以用于识别和分类时间序列中的不同模式,例如周期性和混沌性,因此,本节利用递归图提取ECG信号特征。

1.1.3 马尔可夫转移场

马尔可夫转移场是一种将时间序列转换为二维图像的方法,用于描述时间序列数据的时空结构。遵循已有方法[25],将ECG信号转换为马尔可夫转移场。

在马尔可夫转移场中,首先,将ECG时间序列x={x1,x2,…,xn}分成k个长度为N的子序列,然后,计算每个子序列i中连续两个值j和f之间的转移概率,这些概率被组合成一个N×N的转移矩阵。

(4)

式中:P为转移概率函数;t为当前时间点;l为当前子序列序号;Pl为j和f间转移概率。然后,使用这个转移矩阵来生成一个二维图像,其中,每个像素表示从一个状态到另一个状态的概率,

ml(j,f)=F(Pl(j,f))

(5)

式中:F是一个将概率值映射到像素值的函数。将所有时间点的图像ml拼接起来,即可得到当前时间序列的马尔可夫转移场。

1.1.4 ECG信号图像

将同一段ECG信号的格拉姆角场、递归图以及马尔可夫转移场进行合并,得到格式类似于红绿蓝(RGB)图像的三通道ECG信号图像。这一图像将作为神经网络架构搜索算法的输入,实现对ECG信号的分类辨识。

1.2 神经网络架构搜索算法

1.2.1 搜索空间

由于ECG信号图像其数据结构与RGB图像相似,因此,使用计算机视觉中常用的3×3最大池化,3×3的平均池化,3×3、5×5的可分离卷积,3×3、5×5的扩展卷积,直接连接和无连接作为候选操作,所有卷积核的数量被设定为16。

1.2.2 模型架构

在将ECG信号图像输入模型前,首先,使用3×3卷积组成的根节点1与根节点2对ECG信号图像进行特征提取。根节点1与根节点2的输出构成模型主体的输入。模型主体由普通模块和压缩模块堆叠而成,二者使用相同的内部结构。

在模块内部,设置4个节点,不包括2个输入节点和1个输出节点。节点的概念继承自PC-DARTS,它本质上代表了对网络中张量的连接操作,这些张量来自前面位置的节点或模块的输出。节点这一特殊概念的引入促进了网络结构的设计和改变。每个节点可以接收其前进方向上任何2个节点的输出,模块内所有节点的输出将被串联成模块的输出。

在模块的外部,网络由2个普通模块与1个压缩模块交替构建,压缩模块是一个特殊的模块,引入的目的是减少通过网络的特征图的大小,提升模型感受野。为了达到这个目的,与压缩模块的输入节点相邻的所有节点都设置步长为2。每个模块将前面2个模块的输出作为输入。

在交替堆叠2层普通模块、1层压缩模块和2层普通模块后,已经高度抽象化的特征被输入平均池化层和全连接层,得到最终的分类便是结果。

1.2.3 算法流程

为了能够针对ECG信号图像特征构建针对性的辨识模型,引入基于梯度的神经网络架构搜索算法,在超空间中寻找最优的模型架构。PC-DARTS是一种基于梯度下降的架构搜索算法[27],它的基本思想是在超图空间中搜索最优的神经网络结构,超图由节点和边组成。其中,节点表示神经网络中的隐藏层,边表示神经元之间的连接关系。在PC-DARTS中,每个节点可以选择不同的操作,如卷积、池化或空间变换。通过搜索最优的节点操作和连接关系,PC-DARTS可以得到最优的神经网络结构。

具体来说,PC-DARTS算法包括2个阶段。

第1阶段是基于弱监督的搜索阶段,通过对训练集进行小批量采样来更新神经网络结构。在每个小批量中,PC-DARTS使用梯度下降法优化超图中的权重,同时,使用基于Softmax的方法更新节点的离散操作分布。

o(Si,j·xi)+(1-Si,j)·xi

(6)

为了保证采样过程中无参数操作不会占据主导地位,引入边缘归一化来平衡所有候选操作的出现概率,

(7)

式中:βi,j代表了输入xi的归一化权重。

第2阶段是基于强监督的微调阶段。在这个阶段,PC-DARTS使用整个训练集来微调网络结构,以得到最终的网络模型。此时,搜索过程已经完成,PC-DARTS将使用之前搜索得到的结构训练神经网络。在微调过程中,PC-DARTS使用正常的反向传播更新权重,使得模型的性能最大化。

PC-DARTS的优点在于能够自动搜索最优的神经网络结构,无需人为地指定网络的结构和超参数,还可以在较短的时间内得到最优的结果,并且具有良好的可扩展性。使用PC-DARTS对ECG信号图像进行针对性的模型搭建,对应对不同的ECG分类检测场景极为有效。

2 实验设置

本节介绍研究所采用的2个ECG数据集,分别是PhysioNet MIT-BIH心律失常数据集和PTB诊断性ECG数据集。这2个数据集是常用的ECG信号分类和心肌梗塞检测任务的基准数据集。在实验中,采用采样频率为125 Hz的ECG第二导联重采样数据作为输入,并使用ECG Heartbeat Categorization[28]提供的标准化形式的数据集,这些数据集已经去噪,并且训练和测试部分以标准ECG心跳的形式提供。在此基础上,还介绍了本研究的模型训练与优化细节。

2.1 PhysioNet MIT-BIH心律失常数据集

PhysioNet MIT-BIH[29]心律失常数据集是一个常用于ECG信号处理研究的数据集,该数据集包含来自MIT-BIH心律失常数据库的47名被试的ECG记录,是一组由麻省理工学院研究者在波士顿贝斯以色列医疗中心的患者身上采集的ECG数据。

该数据集包含48个半小时的ECG记录,每个记录都由专家团队逐拍注释。记录使用双通道ECG采集设备,采样率为360 Hz,每个样本的分辨率为11位。这些记录来自47名受试者,其中一些人患有心律失常,另一些人则身体健康。共有109 446个心拍被2名专家共同手动注释,利用这些注释,按照AAMI EC57标准[30],创建了5个不同的心跳分类,如表1所示。

表1 数据集标注与AAMI EC57类别之间映射关系

这个数据集已经被广泛应用于心律失常识别、ECG信号分析、分类、噪声去除等方面的研究。该数据集的标准化格式和详细注释使得研究人员可以更容易地使用这些数据进行研究和比较不同算法的性能。

同时,该数据集也带有一些挑战,比如心律失常的种类和数量、ECG信号的噪声和干扰等,使得研究人员需要使用一些高效的算法来处理这些问题。因此,该数据集为研究ECG信号处理和心律失常识别提供了重要的基础和平台。

由于PhysioNet MIT-BIH数据集中不同类别的样本量严重失衡,且部分类别样本量过少无法支撑深度学习模型完成训练。因此,使用SMOTE[31]对少数类别进行上采样,最终,各个类别的样本数如表2所示。

表2 PhysioNet MIT-BIH数据集数据增强后不同类别样本量对比

2.2 PTB诊断性ECG数据集

PTB 诊断性ECG数据集[32]是一组经过标记的ECG数据,用于心脏疾病的分类和诊断。该数据集由德国基尔大学的心脏病学家Heinrich Schiller教授领导的团队收集和标记,旨在提供一个可靠的数据集,用于评估和比较不同的ECG分析算法。该数据集包含来自549名患者的549个12导联ECG记录,其中包括正常记录和各种心脏病例,如心肌缺血、心肌梗死、心肌肥厚和心律失常等。每个记录都由ECG机器记录,并由一名经验丰富的ECG技术人员进行了手动标记。标记包括了QRS波群、ST段、T波、P波等波形的位置和形态。

研究使用的数据为其中被诊断为心肌梗死的148名被试的ECG数据,以及52名健康被试的数据。

2.3 训练与优化

为了验证算法的性能, 本研究将2个数据集分别进行了划分, 划分结果如表3所示。 其中, MIT-BIH数据集在数据集提供者的划分方式的基础上, 使用SMOTE进行数据增强, 最终选取152 471个样本作为训练集,21 892个样本作为测试集。在PTB上,随机选取6 400个样本作为训练集,8 152个样本作为测试集。

表3 训练集与测试集样本划分Tab.3 The samples split of the train and test set

在模型架构搜索阶段,即神经网络架构搜索算法的第1阶段,使用训练集中70%的数据进行模型架构迭代,剩余的30%用于模型权重训练。在再训练阶段,即神经网络架构搜索算法的第2阶段,使用训练集中的全部数据对架构固定的模型进行权重再训练。

在将数据送入神经架构搜索算法前,首先,将ECG图像大小调整为227×227。对2个不同的数据集分别选取不同的超参数,以保证模型具有较高的辨识分类精度,如表4所示。

表4 模型超参数设定Tab.4 The hyperparameter setting of the model

对于PhysioNet MIT-BIH心律失常数据集,在模型架构搜索阶段设定批次大小为16,drop概率为0.35,初始通道数为8,模块堆叠数为5,学习率为0.001,权重衰减为0.001,训练epoch数为50。在再训练阶段,将批次大小设定为64,drop概率改为0.25,其余超参数保持不变。

对于PTB数据集,在模型架构搜索阶段设定批次大小为16,drop概率为0.35,初始通道数为8,模块堆叠数为5,学习率为0.001,权重衰减为0.001,训练epoch数为50。在再训练阶段,将批次大小设定为32,drop概率改为0.25,其余超参数保持不变。对于2个数据集,均采用动量为0.99的Adam优化器进行优化。

本研究所提出的方法在PyTorch中实现,基于AMD CPU(R9-3950X,3.5 GHz)和NVIDIA GPU(RTX 3090)。

3 实验结果分析

本节将展示在PhysioNet MIT-BIH和PTB数据集上的神经架构搜索结果,并将分类辨识精度与其他先进算法进行对比,以证明本研究算法的泛化性与鲁棒性。

3.1 PhysioNet MIT-BIH数据集分类结果

网络架构搜索算法在PhysioNet MIT-BIH数据集上搜索得到的模型最终架构如图2所示,其中,内部连接结构和候选操作选择在表5中展示。在图2中,压缩模块从模块k和k-1引出的连线表示步长为2的操作,这些操作进一步压缩了特征图大小,提高了模型的感受野。从搜索结果中可以看出,在普通模块中,模型倾向于选择扩张卷积和压缩卷积来提取输入的局部特征。而在压缩模块中,模型更倾向于选择平均池化和最大池化来获取输入的全局特征,这一现象也符合模型最初的设计理念。

表5 在PhysioNet MIT-BIH数据集上搜索得到的网络架构参数Tab.5 The network architecture parameters obtained through searching on the PhysioNet MIT-BIH dataset

图2 网络架构搜索在PhysioNet MIT-BIH数据集上的结果Fig.2 Result of the neural architecture search on the PhysioNet MIT-BIH dataset

表6展示了本研究所提出的模型和其他先进模型的分类识别效果。可以看出,本研究的模型以98.7%的平均分类准确率明显优于绝大多数的对比算法。

表6 在PhysioNet MIT-BIH数据集上的分类辨识结果

此外,本研究利用网络架构搜索技术,避免了模型架构设计的过程,大幅缩短了模型的部署时间,能够有效应对更多的应用场景,并且具有更高的分类识别精度。因此,在与Pham等人模型[38]进行比较时,本研究具有一定的优势。

3.2 PTB数据集分类结果

图3展示了在PTB数据集上进行的架构搜索结果,其中,内部连接结构和候选操作选择在表7中展示。与PhysioNet MIT-BIH数据集不同,PTB数据集上的普通模块和压缩模块都包含了大量的卷积操作,而压缩模块中池化操作的使用频率明显降低。这可能是由于PTB数据集中样本数量和样本类别相对较少,模型只需提取局部特征就可以获得足够的分类准确度。

表7 在PTB数据集上搜索得到的网络架构参数Tab.7 The network architecture parameters obtained through searching on the PTB dataset

图3 网络架构搜索在PTB数据集上的结果Fig.3 Result of the neural architecture search on the PTB dataset

在表8中与其他先进算法进行比较,本研究的模型在PTB数据集上具有最优秀的分类准确度。此外,本研究的模型具有无需手动调整架构的优点。综上所述,本研究所设计的算法具有足够的泛化能力,可以应对不同的ECG识别场景,并具有广泛的应用前景。

表8 在PTB数据集上的分类辨识结果Tab.8 Discrimination results on the PTB dataset

4 结语

本研究设计基于自动机器学习的心电检测算法,有效降低了在不同应用场景下网络结构设计所需要的人工时间与成本,提升了网络架构的可解释性,为心电信号分类任务提供可靠的数据支撑和新的技术途径。将心电时序信号转换为图像的操作进一步提取了心电信号的抽象特征,提升了心电辨识准确性。所设计的模型在PhysioNet MIT-BIH心律失常数据集和PTB诊断性ECG数据集上,分别取得了98.7%和99.0%的分类辨识精度,其性能优于以往的最优算法,且在实际应用场景中具备更强的自适应能力,未来将进一步在运动健康领域开展落地应用。

猜你喜欢

架构神经网络分类
基于FPGA的RNN硬件加速架构
分类算一算
功能架构在电子电气架构开发中的应用和实践
神经网络抑制无线通信干扰探究
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
LSN DCI EVPN VxLAN组网架构研究及实现
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用