APP下载

基于TCN-SE 神经网络模型的智能连续血压估计方法*

2022-02-04熊嘉豪姜晨希陈永毅尹武涛

传感技术学报 2022年11期
关键词:残差卷积神经网络

熊嘉豪,姜晨希,陈永毅,张 丹*,尹武涛

(1.浙江工业大学信息工程学院,浙江 杭州 310023;2.无锡博智芯科技有限公司,江苏 无锡 214029)

高血压作为最常见的慢性病之一,是心脑血管病最主要的危险因素,也是全世界最主要的健康问题。《柳叶刀》近期发表由伦敦帝国理工学院和世界卫生组织(世卫组织)主持撰写的首份全球高血压流行趋势综合分析报告[1]。报告显示,自1990 年以来,全球高血压患者人数增加一倍,达到12.8 亿人,其主要原因为人口增长与老龄化。其中,约有7.2 亿人没有得到必要治疗,约有5.8 亿人并不知道自己是高血压患者。

血压是反映人体心血管系统状况重要信息的四个生命体征之一。随着科技的进步和发展,高血压实际上是可以提前防控的,连续和定期的血压监测对于早期诊断和预防心血管疾病至关重要。然而多数患者对自己患病并不知情,并且当下对于血压的监测尚且不能兼顾安全性与准确性,致使很多高血压病人未能得到及时的治疗[2]。人们对自己血压的实时监测是预防高血压的必要环节。临床实践中现有的基于侵入性或基于袖带的血压测量技术,并不利于患者对自身血压的日常测量,且测量结果精度有待提升[3]。

近年来,连续血压测量技术受到越来越多的研究关注,其中基于光电容积(PPG)信号的血压测量技术成为研究热点。伴随着深度学习的快速发展,越来越多的学者采用深度学习方法分析PPG 信号,并通过神经网络的输出来预测血压值,实现高精度的无创连续血压测量。因此,基于深度学习方法的血压预测技术对于高血压相关疾病的诊断、监测和预防具有重大意义[4]。在基于深度学习的血压预测算法方面,多数为PPG 信号中的特征提取并进行特征融合,很少有算法去让模型能够更多地关注PPG 信号中的有用信息,闻博[5]曾提出两种基于深度神经网络的无袖带血压建模方法,第一种方法是利用三层双向长短期记忆(Long-Short Term Memory,LSTM)神经网络对收缩压(SBP)和舒张压(DBP)进行预测,第二种方法是利用近期较为热门的残差神经网络(ResNet18)对收缩压(SBP)和舒张压(DBP)进行更为精准的预测。与此同时,Mohammad Reza Mohebbian 等人[6]提出一种改进的分组数据处理技术,通过光容积图(PPG)信号连续估计收缩压(SBP)和舒张压(DBP)。王月猛等人[7]提出一种将脉搏信号特征和Elman 神经网络结合的方法对血压值进行预测。然而PPG 信号中包含的冗余信息占比过高[8],导致模型对PPG 信号的有效信息提取效率过低,这也是血压测量技术目前面临的最大障碍。

为弥补现有研究的不足,本文提出基于时域卷积网络(Temporal Convolutional Network,TCN)中嵌入SE 注意力机制模块(Squeeze-and-Excitation Module)的TCN-SE 神经网络。该模型在TCN 网络中利用膨胀卷积,以求在最大程度保留原始信息的同时,尽可能增大模型的感受野;同时嵌入SE 注意力机制模块,加强模型对于不同通道信息的关注度,改善模型对PPG 信号进行特征提取时信息丢失的问题,以便更好地让模型关注PPG 信号中的细微特征。通过在公开数据集上进行实验验证,证明所提出的方法比现有方法更为有效。

1 时域卷积网络的架构和算法原理

传统卷积神经网络由于卷积核大小受限,长期依赖信息的捕获能力较弱,因此不适合时序问题的建模[9]。时域卷积网络(Temporal Convolutional Network,TCN)作为一种特殊的卷积神经网络,能够很好地处理时序问题,从而受到了研究人员的关注,在诸多时序数据预测任务中取得了较好的效果。

1.1 因果卷积

在处理序列问题时需要考虑时间,即某时刻只能考虑该时刻以及此前的输入,因此不能使用普通的CNN 卷积,尽管循环神经网络(RNN)可以在一定程度上处理时间序列,但“梯度消失”现象使得其难以解决长时依赖问题。因此,需要一种新型的CNN 以更有效地抓取长时数据,即因果卷积。

因果卷积公式如下:

如图1 所示,对于时序问题,因果卷积是根据x1,…,xt以及y1,…,yt-1预测yt的结果,使得yt尽可能接近真实值。然而,因果卷积存在一个弊端,若需要考虑的变量x过于久远,那么就必须相应地增加卷积层,通过很多层或更大的过滤器来增加卷积的感受野。然而这可能会引起拟合效果欠佳、训练过程复杂等问题。

图1 因果卷积数据分析过程

1.2 膨胀卷积

膨胀卷积(Dilated Convolution)又称空洞卷积,能够更好地解决以上问题。膨胀卷积通过跳过部分输入来扩展过滤器的应用范围,使得其能应用于大于本身长度的区域。图2 显示了通过大小排列的膨胀卷积增加卷积感受野的整个过程。

图2 膨胀卷积原理图

对于空洞数为d 的膨胀卷积,卷积结果如下:

式中:K为当前卷积核的大小,而(d+1)K+1 即可等价为一个新的卷积核,d+1 被称作膨胀比。该卷积核首行、首列、尾行、尾列权重均为零,且每隔d个位置权重非零,否则权重即为零。

膨胀卷积巧妙避开池化操作,在确保更高信息完整性的前提下,有效增大感受野,使得每个卷积的输出都能够包含更大范围的信息。膨胀卷积在处理长序列信息的问题时往往能发挥显著优势。膨胀卷积的缺点在于,由于信息之间距离较长,其对于大物体的分割效果较为明显,但对于小物体的分割却未必可取。同时,由于在膨胀卷积中,卷积并不连续,即并不是每个输入都得到计算,因此在处理逐像素的预测问题时,膨胀卷积有其致命缺陷,即会出现网格效应(Gridding Effect)。

为解决上述缺点,学者提出混合膨胀卷积(Hybrid Dilated Convolution)。为消除网格效应,该结构规定:叠加的膨胀卷积的dilation rate 不能有大于1 的公约数;最后一层膨胀卷积的dilation rate 最大,且小于等于卷积核的大小。为同时满足大小物体的分割要求,本文中的膨胀卷积将dilation rate 设计成锯齿状结构。

2 SE 注意力机制模块

近些年来,卷积神经网络在很多领域上都取得巨大的突破,从本质上讲,卷积是对一个局部区域进行特征融合,这包括空间上以及通道间的特征融合。对于卷积而言,很大一部分操作是提供局部感受野,即空间上融合更多的特征,或者是提取多尺度空间信息,我们使用的SE 注意力机制模块,可以让模型更好地关注各个通道间的关系,自动学习到不同通道特征的重要程度[10]。

2.1 SE 注意力机制模块的架构

SE 注意力机制模块主要包括Squeeze(压缩)操作和Excitation(激发)操作。SE 模块首先对卷积得到的特征图进行压缩操作,得到各个通道的全局特征,然后对全局特征进行激发操作,学习各个通道间的关系,也得到不同通道的权重,最后乘以原来的特征图得到最终特征。本质上,SE 模块是在通道维度上做类似于RNN 中的门操作,这种注意力机制让模型可以更加关注信息量最大的通道特征,并且可以抑制噪音和权重小的通道特征,使得到的最终特征更加贴近于预期结果。

SE 模块可以适用于任何映射:Ftr:X→U,X∈RH′×W′×C′,U∈RH×W×C以卷积为例,卷积核为V=[v1,v2,…vC],其中vC表示第C个卷积核。那么输出

图3 SE 模块结构图

2.2 SE 注意力机制模块的基本原理

Squeeze 操作目的为压缩,即顺着空间维度来进行特征压缩,将每个二维通道变换成一个实数,这个实数某种程度上具有全局感受野,它表征着在特征通道上响应的全局分布,并使得靠近输入的层也能获得全局感受野。通常采用global-average-pooling来实现,原则上也可以采用更为复杂的聚合算法。表达式如下所示:

压缩操作得到全局描述特征,紧接着需要另一种运算方法来抓取各个通道之间的关系。这个操作需要满足两个要求:第一,要足够灵活,可以学习到各个通道之间的非线性关系;第二,学习的关系不能是互斥的。因此采用类似于RNN 中门的机制,通过参数W来为每个特征通道生成权重。并且采用sigmoid 形式的门机制:

最后进行Scale 操作,该操作是将学习到的各通道的激活值sc(sigmoid 激活,值0-1)和原始特征值uc相乘得到各个通道的权重系数,从而使得模型对各个通道的特征更具有辨别能力:

2.3 残差链接

随着网络深度的增加,梯度爆炸成为一大障碍。而对比不同深度网络的测试情况,可以发现更深的网络将导致更高的测试误差和训练误差,故而求解优化问题的难度也更大。这种并非由过拟合引起的准确率下降被称为网络退化问题。这是因为较深的模型背后是一些非线性层,而非恒等映射,这也表明:恒等映射难以用多个非线性层来近似。而残差可以更好地解决网络退化问题,它使得网络可以以跨层的方式进行信息传递[11]

残差块使用堆叠的非线性层拟合残差,假设需要学习的映射为y=H(x),则拟合结果为:

式中:F(x,Wi)=H(x)-x即为要学习的残差映射,F即为残差。

此外,残差函数的形式是可变的,当F只有一层时,残差可写为:

图4 所示为残差块工作原理。

图4 残差块原理图

跳过一层或更多层的连接称为快捷连接。若F(x,Wi)和x的维度相等,则直接通过快捷连接逐个元素相加,再通过非线性激活函数ReLU(y),可对整个残差块添加非线性。

若F(x,Wi)和x的维度不等,则需要在快捷连接中对x进行线性投影以实现维度匹配,方法如下:

以上两种情况如图5 所示,(a)为维度相等情况,(b)为维度不等情况。以图中所示为例,(b)图方法先用64 个1×1 的卷积将256 维降至64 维,最后再通过256 个1×1 卷积还原为256 维,所需参数是使用(a)图方法时的1/17,大大减少计算量和参数量,该方法在深层网络中应用十分广泛。

图5 残差块的两种链接方式

3 模型构建和训练

本文提出的神经网络模型是在TCN 神经网络模型中嵌入SE 注意力机制模块,合称为TCN-SE 神经网络模型,该神经网络结构是为多分值输出而设计的,意味着它能够从一个PPG 信号同时估计收缩压和舒张压。

TCN-SE 神经网络模型结构如图6 所示,该模型为现有算法在新的领域上的应用,由卷积层、SE 注意力机制模块、TCN 神经网络和全连接层叠加而成。卷积层是由一个一维卷积神经网络构成的特征提取器。SE 模块利用一维卷积神经网络对输入信号进行压缩,然后通过激发操作得到每个通道的激活值,再通过Scale 操作将每个通道的激活值乘以该通道原始特征值得到各个通道的权重系数。TCN模型由三个残差块构成,每个残差块又由两个膨胀卷积层和一个残差链接构成,每个膨胀卷积层都使用ReLU 激活层、规范化层和dropout 层。

图6 TCN-SE 神经网络结构图

图6 给出了TCN-SE 模型的体系结构,它是一种混合体系结构。第一层一维卷积神经网络由16个大小为9×1 的过滤器组成,在输入体积宽度为9、高度为1 的范围内滑动,计算它们的权重与它们在输入体积中连接的9×1 小区域之间的点积。这将生成16 个激活图,提供相应的过滤器在每个空间位置的响应,每个特征图捕获不同的低级特征。随后使用SE 注意力机制模块,该模块中压缩方法为使用2 层一维卷积神经网络,每一层卷积神经网络都是由16 个大小为3×1 的过滤器组成。进行着同第一层一维卷积神经网络一样的特征提取操作,然后再通过全局平均池化层进行降维,通过两层全连接网络,激活函数分别为ReLU 和sigmoid 进行激发,得到每个通道的激活值并将特征恢复到原维度,最后用Scale 方法得到每个通道的权重系数。

在先前对PPG 信号进行特征提取和通道关注后,使用TCN 模型对信号再次进行处理,TCN 模型中第一个残差模块由两个一维膨胀卷积网络构成,每个膨胀卷积网络的卷积数量为16,卷积核大小为3×1,空洞数为1,在每次卷积计算后都分别使用BN层,ReLU 激活函数和dropout 层对数据进行进一步处理,最后通过将原始输入数据和输出数据进行特征融合的方式,使得模型可以实现跨层传递信息。第二个和第三个残差模块功能同第一个残差块,只是将卷积核的数量变为32 和64,空洞数变为2 和4,这样一来TCN 模型就可以在卷积核大小不变的情况下,有效增大卷积核的感受野,让模型能更加全面地关注PPG 信号内的有效信息。

TCN-SE 神经网络模型的损失函数是均方误差(MSE),是处理回归问题的常用损失函数,公式为:

利用训练集对所构建的模型进行训练,其中训练的具体方法采用的是Adam 梯度下降方法,批量大小为100,训练轮数为500,训练过程中,如果该轮验证数据的损失值较之前的损失值有降低的趋势,则保存当轮的模型参数,直至训练完毕。相比于传统的梯度下降算法,Adam 方法参数的更新不受梯度的伸缩变换影响,可以自动调整学习率,计算更加高效,适合应用于大规模的数据及参数场景。

4 实验过程及结果分析

本实验是基于Keras 深度学习框架,利用Pycharm 进行神经网络模型的构建和训练,使用的处理器为Intel(R)Core(TM)i5-9300H CPU@2.40 GHz,并以美国医疗仪器促进协会(AAMI)MAE <5 mmHg,STD<8 mmHg 为测试标准。

4.1 数据提取和处理

本文提出的神经网络模型在加州大学欧文分校(UCI)机器学习知识库数据集上进行测试,该数据集来源于公共可用的最大数据库“重症监护中的多参数智能监测(MIMIC-II)”,该数据库拥有重症监护病房(ICU)患者的多参数同步记录,包括生理信号和生理参数。我们提取10 000 名受试者的光容积描记仪(PPG)的记录,对PPG 信号进行预处理,去除持续时间不足的数据,该数据集减少约83%。然后进行数据分割,取重叠75%的8 s 窗口作为一个样本,并以4 的比例因子进行下采样,能够捕获现有研究中观察到的有用的心脏活动信息。我们将分割好的数据集进行下采样,按照9 ∶1 的比例分为训练集和验证集,PPG 信号如图7 所示。

图7 下采样后的PPG 信号

4.2 针对PPG 信号对血压值预测的总体流程

本文采取的是在TCN 神经网络中加入SE 注意力机制模块,让该模型可以更好地关注PPG 信号里面的细微特征,达到精准区分血压的目标,并对收缩压和舒张压进行准确预测。整体流程如下。

步骤1 将已经分割好的公开数据集作为原始PPG 信号进行模型训练。

步骤2 将原始PPG 信号划分为训练集和验证集。

步骤3 针对已经处理好的PPG 信号构建TCN-SE 神经网络,神经网络模型的损失函数是均方差损失函数(MSE)。

步骤4 利用训练集对所构建的神经网络进行训练,原始PPG 信号经过一次一维卷积层进行特征提取后,再到步骤3 中所构建的神经网络模型中进行训练,其中训练的具体方法采用的是Adam 梯度下降方法,批量大小为100,迭代次数为500,训练完成后保持该模型参数不变。

步骤5 利用验证集,对训练好的模型进行测试,最后得到我们所构建的神经网络,预测血压的均方误差loss 的最低值,以及均方误差loss 的仿真图,图8 表示以均方误差损失函数作为loss,得到训练集和验证集的loss 结果。可以看到在训练到221 轮时验证集loss 达到最低值,后续训练虽然有波动,但是验证集的loss 不会再下降。

图8 训练集和验证集loss 结果

步骤6 模型验证:

本文提出模型的初衷是设计一种高效而轻量级的模型,可以部署在资源受限的平台(如蓝牙耳机,智能手表等)[12],以实现长期监控。因此,TCN-SE模型能够同时估计来自同一网络的两个参数:收缩压(SBP)和舒张压(DBP),不需要对每个参数分别建立单独的模型。这将有助于减少实时分析的时间和计算复杂度。相比于现有方法,模型深度更深,回归拟合更好,预测更准确。

我们使用200 个样本进行SBP 和DBP 的预测并与参考值进行对比,以便更好地可视化性能。如图9 和图10 所示。

图9 200 个样本DBP 预测值和参考值对比

图10 200 个样本SBP 预测值和参考值对比

基于19 946 个测试样本的参考值和预测值画出模型数据相关性散点图,如图11 所示,测得SBP和DBP 的相关系数分别为0.939 4 和0.899 2,高度相关。

图11 数据散点图

将本文提出的基于SE 注意力机制模块的TCN神经网络与现有的方法进行比较。表1 为本方法与现有算法数据对比,表中大部分方法是收缩压和舒张压进行单独预测训练,从而开发出独立的收缩压和舒张压预测模型,在血压估计阶段实现单独预测。

表1 所提方法与现有方法性能对比

在这些现有研究中,多数涉及到特征选择和特征提取,这样不仅增加复杂性,也使模型训练精度下降,本文提出的模型不涉及任何特征选择步骤,并且该模型可以同时进行收缩压和舒张压的预测,不仅降低复杂度,在训练精度和速度上也有一定的提升,通过对平均绝对误差(MAE)和标准差(SD)的对比,可以看出本文提出的模型相比于现有模型提高了血压预测的准确率和可靠性。

5 结论

在进行血压预测的过程中,由于PPG 信号中包含太多冗余信息,导致现有模型不能很好地收集到PPG 信号中有用的信息,这也是该技术目前面临的最大障碍。因此,提出一种新型连续血压估计的注意力机制模型,采用新型深度学习模型和注意力机制模块,该模型因为含有SE 注意力机制模块,使得模型可以摒弃一些杂质信息,更好地关注PPG 信号内的细微特征,并且由于残差模块和膨胀卷积的存在,不仅可以有效地解决梯度消失问题,在防止模型过拟合的同时,增加模型的感受野。最后通过全连接层进行处理得到收缩压和舒张压的预测值。最后通过公开数据集中的数据对该模型进行测试,并与现有方法进行对比,证明本文所提出方法的有效性。为血压值测量领域发展提供一定的技术支撑,具有广阔的发展空间。但文中提出的TCN-SE 模型对于收缩压的预测精度还有提升空间,今后工作会对信号预处理进行改进,继续减少输入数据噪音对实验结果的影响,使该神经网络模型能够在复杂多变的环境下表现出良好的性能。

猜你喜欢

残差卷积神经网络
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立