APP下载

基于残差网络与注意力机制的脉象信号分析识别

2023-04-06朱嘉健林卓胜梁惠珠刘慧琳李福凤

现代电子技术 2023年7期
关键词:脉象残差注意力

朱嘉健,冯 跃,徐 红,2,林卓胜,梁惠珠,刘慧琳,李福凤

(1.五邑大学 智能制造学部,广东 江门 529020;2.维多利亚大学,澳大利亚 墨尔本 8001;3.上海中医药大学,上海 201203)

0 引言

脉诊作为中医临床诊断的重要方法之一,具有无创且快捷的特点。但脉诊诊断的准确程度主要取决于中医师的临床经验,缺乏统一的客观标准[1]。智能医疗技术的发展为脉诊客观化发展带来了契机,在近五年的脉象分类研究中,大多都结合了人工智能技术来建立脉象分类模型,其中研究人员分别采用支持向量机(Support Vector Machine,SVM)[2]、最邻近节点算法(K-Nearest-Neighbor,KNN)[3]、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)[4]、极值梯度提升(Extreme Gradient Boosting,XGBoost)[5]、VGG(Visual Geometry Group)[6]、随机森林[7]、改进的深度融合神经网络(Modified Inception-ResNet,MIRNet2)[8]和时序卷积神经网络(Temporal Convolutional Network,TCN)[9]进行脉象信号分析识别。

然而,目前已有大量研究将注意力机制应用于自然语言处理、图像识别、语音识别等不同类型的深度学习任务中[10],而在脉象信号分类领域中,少有使用注意力机制提高脉象分类模型性能的研究。

为此,本文通过修改残差网络ResNet 的整体参数,并通过整合SE(Sequeeze and Excitation)[11]模块和ECA(Efficient Channel Attention)[12]模块,得到改进的注意力模块MECA(Modified Efficient Channel Attention),结合一维ResNet 和MECA 模块,提出适合于一维脉象信号的特征提取和分类模型MECA-ResNet。实验结果表明,该模型能对沉脉、迟脉、浮脉、滑脉、缓脉、平脉、数脉、微脉、弦脉、虚脉10 种脉象进行准确分类,并在临床病例中可以有效地区分健康人群与冠心病患者。

1 MECA-ResNet 网络设计

本文模型基于ResNet 设计,将ResNet 的内部参数和相应的残差连接作修改构成适合于脉象信号的特征提取和分类的一维ResNet 网络,然后在ResNet 的残差连接之前添加MECA 注意力块,构建得到MECAResNet,整体MECA-ResNet 网络包括分类层共15 层,总体网络所占电脑内存不足10 MB,其中MECA-ResNet 网络结构如图1 所示。

图1 MECA-ResNet 网络结构图

1.1 一维ResNet 网络

构建得到的一维ResNet 网络内部具体配置如下:

1)输入:输入数据由已预处理好的目标脉象数据和对应的标签组成。

2)卷积层:此处除了残差连接上的卷积核大小为1之外,其他卷积层的卷积核大小设置为16,使用大卷积核可以使网络专注于一维脉象信号上的小细节[13],每个卷积层有32×k个滤波器,其中k从1 开始,除前5 个卷积层外,后续每隔两层卷积层,k加1。

3)激活函数:因为输入的脉象数据具有正值和负值,第一个卷积层采用Tanh 激活函数,以便保留更多信息,其他卷积层则采用ReLU 激活函数。

4)学习率策略和其他设置:学习率(Learning Rate)从0.01 开始,每50 个迭代降低10 倍,总共100 个迭代,呈阶梯式降低;批量大小(Batch Size)设置为32;优化器(optimizer)采用SGD 优化器,动量等于0.9。

5)批归一化(Batch Normalization,BN)层:BN 层是为了加速网络的训练和收敛,防止梯度爆炸、梯度消失和过拟合。对应的公式如下:

式中:ci为第i个卷积层的输出;μβ和σβ是ci第i个卷积层的均值和方差;BNi是第i个卷积层BN 层的输出;m为总的卷积层数量。

6)残差连接:由于第6 层和第10 层的卷积层进行了下采样操作,残差连接由最大池化、1×1 卷积和BN 层三个部分组成[14]。其中残差连接相关公式如下:

式中:o1代表第3,5,9 和13 层的卷积层输出F1(x)加上通过恒等映射添加的输入x并经过ReLU 激活函数δ激活后的输出;o2代表第7 和11 层的卷积层输出F2(x)和经过恒等映射的输入x经过最大池化Maxpool、一维卷积C1D1和BN 层后的输出。

7)输出层:最后的输出层由带有Softmax 函数的全连接层(Dense)得到最终的分类结果,其相关公式如下:

式中:x和N分别是全连接层的输出和类别数。

1.2 MECA 模块

SE-ResNet 提出了SE 模块(见图2a)),通过压缩和激励操作强化重要通道的特征并弱化非重要通道的特征,但是模块带来较大的计算代价,且不能很好地捕捉全部通道间的关系。为此,ECA-ResNet 改进了SE 模块,推出ECA 模块(见图2b)),令网络大幅度降低参数数量的同时,保持高性能,成为超轻量级的注意力模块。受SE 模块和ECA 模块的启发,本文结合它们的优点提出了MECA 模块,如图2c)所示。

图2 注意力模块

本文提出的MECA 模块通过改变ECA 模块得到相应改进版的注意力模块,该模块通过Dense 模块来减少相应卷积层的特征通道数,后使用ECA 模块的自适应卷积模块和Softmax 函数得到相应卷积通道的权重。该注意力模块结合了SE 模块的激励机制进行升维,不但让网络有更多的非线性处理和拟合通道之间复杂的相关性,并且增加ECA 模块中的自适应卷积模块来改进模型对不同特征通道的关注程度,其相应公式如下:

式中:k为自适应卷积核大小;C是输入特征图的通道数;xc(t)指的是第t个时间步长的特征图;T为总的时间步长。由式(8)得到的z包含了全局平均池化后的特征图的全局特征。后续全连接层起到升维的作用,W1代表全连接层的权重值,k由式(7)来决定,总的具体函数定义如式(9)所示。最终得到的权重值w与当前输入MECA 模块的特征图x进行相乘即可得到调整通道权重后的特征图oc。

2 实验设置

2.1 脉诊信号数据集

本文的实验数据包含有两种数据集,分别是脉象数据集和临床病例数据集。

脉象数据集是天津慧医谷科技有限公司提供的184 例脉象数据,其中包含10 种脉象:沉脉、迟脉、浮脉、滑脉、缓脉、平脉、数脉、微脉、弦脉、虚脉,脉象数据的采集频率是128 Hz,采集时间为5~7 s,10 种脉象图如图3所示。从图3 可看到脉象数据集中10 种脉象图的时域特征各不相同,每种脉象的主波宽度不一样,如弦脉和迟脉,其中弦脉脉形端直而长;有些脉象呈现2 个以上的极值点,如缓脉、浮脉、微脉、滑脉。所以这10 种脉象数据有着形态上的区别。

图3 脉象数据集中所包含的10 种脉象信号图

临床病例数据集是上海中医药大学提供的冠心病和健康脉象数据,共有396 例。冠心病和健康脉象数据的采集时间为60~90 s,两种脉象图如图4 所示。从图4可知,冠心病人群和健康人群的脉象信号图的时域特征亦是各不相同,如健康人群的脉象信号图主波宽度比冠心病人群的宽,且冠心病人群的脉象信号图比健康人群的更加陡峭。

图4 临床病例数据集中所包含的两种脉象信号图

2.2 脉象信号预处理

由于两种数据集的脉象信号数据包含有大量噪声且伴有基线漂移,因此需要对脉象数据去除噪声和消除基线漂移,将脉象数据所包含的噪声点和基线漂移去除。

首先采用带通滤波器将原脉搏波中除0.032~20 Hz以外的噪声去除,其次经过中值滤波消除孤立噪声点,然后使用小波变换进一步去除脉象数据的低频噪声,得到能显现脉搏波特征的脉象图,如图5 所示。最后,通过相应的单周期频率窗口,利用三次样条插值方法和频率窗口找到脉象波形的最小值,并通过脉象数据减去最小值拟合曲线来彻底去除基线漂移得到最终的脉象波形,如图6 所示。

图5 去除脉象信号的噪声

图6 去除脉象信号的基线漂移

由于脉象数据集中的数据过少,本文采用少数类样本过采样技术(Synthetic Minority Oversampling Technique,SMOTE)对脉象数据集进行过采样以扩增脉象数据集的样本,防止MECA-ResNet 欠拟合。其中脉象数据集中的弦脉、虚脉、数脉、微脉、平脉、缓脉、滑脉、浮脉、迟脉和沉脉的单周期脉象数据切片数量分别从215,8,83,7,127,70,54,25,6 和175 扩增至1 720,160,660,140,1 010,560,430,200,120 和1 400。临床病例数据集中的健康和冠心病脉象经过周期分割的单周期脉象数据数量分别为1 207 和2 155,数量足够,无需进行过采样。

2.3 实验构建的相关设置及评估指标

本文通过Python 构建所有的模型,其中每个模型通过十折交叉验证来验证每个模型在脉象数据集和临床病例数据集的性能。其中脉象数据集主要用于训练、验证和测试模型的性能,临床病例数据集主要用于验证模型的病种检测能力。实验采用的GPU 显卡为NVIDIA GeForce GTX 1080Ti。

本文采用以下4 个性能指标:平均准确率(Average Accuracy)、平均召回率(Average Recall)、平均精确率(Average Precision)、平均F1分数(AverageF1-score)。其计算公式如下:

式中:TPi是指十折交叉验证中当前折中预测为正样本的正样本的数量;FNi是指十折交叉验证中当前折中预测为正样本的负样本的数量;TNi是指十折交叉验证中当前折中预测为负样本的负样本数量;FNi是指十折交叉验证中当前折中预测为负样本的正样本数量;K等于10。其中模型在两个数据集的平均性能指标和相应的混淆矩阵如表1~表4 所示。

表1 各个模型在脉象数据集中的十折交叉验证的平均性能对比 %

3 实验结果与分析

由表1 可知各个模型对于脉象数据集的十折交叉验证分类实验结果,由表2 可得知MECA-ResNet 在各个脉象类别上的分类性能。

表2 MECA-ResNet 在10 种脉象类别的分类性能 %

其中由表1 中最优的传统机器学习方法和残差网络结合注意力机制的分类性能比较可知:改进后的一维ResNet 比现有的脉象分类模型的性能更高,其中4 个指标分别比LightGBM 高0.26%,0.26%,0.12%和0.14%,说明该模型仅仅使用脉象信号数据也可以提取出更好的脉象特征并实现更好的分类效果。在加入了注意力模 块 后,SE-ResNet、ECA-ResNet 和MECA-ResNet 比ResNet 达到了更高的分类性能,其中平均准确率分别提高0.55%,0.58%和1.06%;平均召回率分别提高0.55%,0.58%和1.06%;平均精确率分别提高0.69%,0.70%,1.16%;平均F1分数分别提高0.54%,0.68%,1.20%。这表明MECA 注意力模块可以以增加少量计算负担为代价产生更具有代表性的输入特征,从而提高分类性能。由表2 的MECA-ResNet 在各个脉象类别的性能可知,MECA-ResNet 不仅对弦脉、虚脉、数脉、微脉、平脉、缓脉、滑脉、浮脉、迟脉和沉脉都有着98%以上的分类准确率且对上述10 种脉象的召回率、精确率和F1分数均超过97%,说明该模型在10 种脉象上可达到较高的检测能力和分类精度。

由表3 的各个模型对于临床病例数据集的十折交叉验证分类实验结果可知:MECA-ResNet 模型的平均准确率、平均召回率、平均精确率和平均F1分数均为99.64%,MECA-ResNet 的4 个指标与表3 的其他模型相比,其涨幅范围在0.2%~1.61%,可知在临床病例数据上,MECA-ResNet 的分类性能依然超过了其他的脉象分类方法,说明该模型在临床病例数据集上能够达到很好的分类效果。

表3 各个模型在临床病例数据集中的十折交叉验证的平均性能对比 %

表4 MECA-ResNet 在临床病例数据集中对各个类别的性能 %

4 结语

本文提出基于深度学习模型融合注意力模块的脉象信号分类方法,所设计的MECA-ResNet 模型可以有效提取出脉象特征并对脉象信号进行自学习和训练。在脉象数据集和临床病例数据集上,MECA-ResNet 与已有的脉象分类模型进行性能对比。实验结果表明,在仅仅使用脉象数据而不对其做复杂的特征提取,MECAResNet 不仅可以达到更准确的脉象分类效果,还可以改变自身层数来适应脉象分类任务和病种分类任务。该模型可以以较高的分类性能应用于临床实时脉象的检测和相关病种的检测中,并为脉象信号的分析识别研究提供新的思路和方法。

猜你喜欢

脉象残差注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
基于时间序列和时序卷积网络的脉象信号识别研究
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
瞬时波强技术对人迎、寸口脉象研究的意义探讨
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
105例弦脉的“计算机脉象仪”脉图参数分析
平稳自相关过程的残差累积和控制图