基于LSTM的轴流血泵仿生搏动研究
2022-02-10罗耀俊胡晓兵魏上云
罗耀俊, 胡晓兵, 魏上云
(1.四川大学机械工程学院, 成都 610065; 2.四川大学宜宾园区, 宜宾 644000)
1 引 言
在过去,对于心力衰竭末期的患者来说,医学上公认唯一有效的办法是心脏移植[1].但是心脏移植受到供体不足、术后免疫排斥反应,还有高昂的手术费用和维护成本等限制,使心衰患者生存率一直都较低,人工心脏的出现,大大缓解了这一窘境.现如今按照直接辅助对象和辅助程度的不同,人工心脏可分为全人工心脏和心室辅助两种[2].但除去心衰末期患者,大多数患者的心脏只是功能部分损伤,只需要辅助装置来弥补或修复损伤的功能,不一定需要全人工心脏.临床运用中,左心室辅助装置最为常见,运用最广泛[3].
目前心室辅助装置按辅助方式可分为仿生搏动式和恒流辅助式.搏动式辅助装置可提供仿生搏动功能,提供给患者搏动血流,一般运用于心衰患者术前或术后的短期辅助,因为其大多带有复杂的控制系统,常用于体外辅助,影响病人的日常生活,如隔膜泵、囊式泵.恒流式辅助装置的特点就是能提供恒定血流、体积小、体表创伤小,而且能实现全植入,最大程度上实现了患者的日常活动自由[4],临床上常用的主要有微型轴流泵和离心泵,但是提供恒定血流会破坏心室压力-容量曲线,可能会使心肌受损,产生其他并发病,而搏动是人类最基本的内在属性,文献[5,6]也表明搏动性血流在各方面优于非搏动性血流灌注.所以,结合仿生搏动式和恒流辅助式的特点,研究轴流泵的同步仿生搏动性是非常有必要的[7].
为此,本文设计了仿生搏动的轴流血泵,针对设计的检测系统和控制系统存在延迟,出现轴流血泵动作对比自然心脏搏动有较大滞后,不能与自然心脏同步搏动的问题,提出了利用LSTM模型根据轴流血泵前面6个周期情况来预测下一个周期特征情况的方法.根据预测的数据使控制系统能提早发出控制指令,进一步提高轴流血泵仿生搏动性的可能.结果表明,本文提出的方法具有可行性,训练集预测结果与实际结果的均方根误差为8.29,而通过测试集得到的预测结果与实际结果的均方根误差为5.33.
2 装置的搭建
实验装置是根据人体血液循环特点设计的血液循环模拟实验平台[8],由轴流血泵、压力传感器、流量传感器、阻力调节器、模拟心脏和人工血管组成,如图1所示.在轴流血泵入口和出口分别布置一个压力传感器(模拟监控左心室和主动脉压力),出口再布置阻力调节器(通过调节电动阀开度来实现不同阻力模拟后负荷)和流量传感器(监控轴流血泵的输出流量),由人工血管(医用体循环专用管)串联而成.
图1 搏动性实验辅助方案Fig.1 Auxiliary program for pulsatile experiment
根据左心室压力-容量曲线图(如图2所示),实验装置设定具体控制方法为,压力检测系统输入心室压力信号,当检测数据信号连续6个值均大于前一个值时,判定此时心室压力在心脏收缩的作用下开始上升,收缩期开始,轴流泵由舒张状态转速开始提高转速;当检测心室压力数据连续3个值低于前一个值时,判定心室压力达到峰值并开始降低,轴流泵达到收缩期转速并停止加速且缓慢开始减速至舒张期转速.
图2 压力-容量曲线Fig.2 Pressure-volume curve
在轴流泵的同步仿生搏动性的实验过程中,由于整个系统是根据左心室的压力来确定泵的相应动作,但是压力检测系统由于信号传输延迟,使压力检测系统(压力传感器)观测到关键控制点发送数据到控制系统,控制系统再发送动作指令给执行系统(轴流血泵),这中间不可避免的会产生延迟,即使检测系统和控制系统之间交互已经达到了很高的速度.这样的延迟会使轴流泵的动作比自然心脏搏动有较大的滞后.参考文献[9-15]运用LSTM模型在各方面的应用和效果,结合实际情况,也采用了LSTM模型进行周期预测.根据前几个左心室压力周期来预测下一个压力时间周期,使执行系统提前能做好动作准备,减小误差,让轴流血泵的搏动性更接近自然心脏,避免增加心脏负担.假设正常情况下,系统接收指令和发送指令的总时间误差为t0,由LSTM预测模型根据前面周期情况预测下一次动作时间为t后,因此,控制系统就可在t-t0时刻让控制系统发出轴流泵收缩或舒张的预备动作,再结合实际指令,完成轴流泵的实际收缩或舒张动作,这样可以进一步实现轴流泵同步仿生搏动的可能.
3 深度学习与长短期记忆神经网络
深度学习是在人工神经网络基础上发展而来的一种表示学习方法,也是一种机器学习方法(关系如图3所示),而且是人工智能领域最具发展前景的一个分支.其主要模型是各种深度神经网络.表示学习是近年来机器学习领域发展最迅猛、最受学术界追捧的方向.所谓表示学习,就是要让算法在少量人为先验经验的情况下,能够自动从数据中抽取出合适的特征,完成原本需要通过特征工程才能得到的结果.其中,神经网络是深度学习中最具有发展前景的领域之一.
图3 机器学习常见算法Fig.3 Common algorithms of machine learning
3.1 循环神经网络
传统的神经网络主要功能是回归和分类,但是需要处理前后具有依赖信息的预测问题时,传统神经网络不占优势,循环神经网络(Recurrent Neural Networks, RNN)的出现解决了该问题[14].RNN通常用于描述动态的序列数据,随着时间的变化而动态调整自身的模型状态,并且不断循环传递.RNN模型中将保存当前状态和过去状态的总和.RNN主要简单结构如图4所示.
图4 简单RNN结构展开图Fig.4 simple RNN structure expansion
设g为输出层的激活函数,V为输出层的权值矩阵,st表示隐藏层的计算公式,接受两种输入,第一种为当前时刻的输入层输入xt,第二种为上一时刻的隐藏层输出st-1,U为输入层到隐藏层的权值矩阵,W为上一时刻的值st-1到这一次输入的权值矩阵,单向RNN结构利用式(1)和式(2)进行表示.
st=f(Wst-1,Uxt)
(1)
ot=g(Vst)
(2)
3.2 长短期记忆神经网络
长短期记忆神经网络是循环神经网络的变种之一,传统的RNN多采用反向传播时间算法,这种算法的弊端在于,随着时间的增加,网络层数的增加,会发生梯度消失或梯度膨胀的问题[15].梯度消失指的是梯度较小(<1)情况下,经过多层迭代之后,远端序列的信息会逐渐衰减,导致信息丢失.而梯度爆炸刚好相反,若梯度较大(>1)情况下,经过多层迭代之后,梯度将会呈指数增加的趋势,直至梯度超出可控范围[14].LSTM增加了三个控制门(遗忘门、输入门和输出门)来解决这类问题,如图5所示(标号1部分为遗忘控制门,标号2部分为新记忆单元的输出,标号3部分为输入控制门,标号4部分为输出控制门).
图5 单个LSTM结构图Fig.5 Single LSTM structure diagram
3.2.1 遗忘门 遗忘门用于控制记忆单元丢弃哪些信息,计算时读取当前时间步t的输入数据xt和上一时间步t-1的状态输出ht-1,输出0~1范围内的数值,其中极限值0和1分别表示全部忘记和全部保留,结果是通过sigmoid函数产生,如式(3)所示.
ft=σ(Wfxt+Ufht-1)
(3)
3.2.2 输入门 输入门用于控制哪些新信息可以被更新,或者被保存到状态单元.主要分为两部分,第一部分如式(4)所示.
it=σ(Wixt+Uiht-1+bi)
(4)
此部分计算当前输入门的激活值,确定当前输入有多少需要保存到单元状态.第二部分如式(5)所示.
(5)
此部分是时间步t记忆单元的状态候选值,确定当前输入的新信息添加到单元状态,结合这两部分就可以创建一个新记忆.当前时刻的新单元状态如式(6)所示.
(6)
式(6)的加号前一部分来确定丢弃旧状态中的信息量,加号后一部分用于控制新状态的变化.
3.2.3 输出门 输出门用于确定记忆单元中哪些信息可以被输出,并且输出信息,如式(7)和式(8)所示.
ot=σ(Woxt+Uoht-1+bo)
(7)
ht=ot×tanh(Ct)
(8)
4 LSTM模型在血泵周期预测上的应用
4.1 实验数据的采集
由于采集真实人体的左心室压力相关数据比较困难,但为了加强LSTM模型的真实预测性,所以实验选用了与人的生理信号变化趋势相近的大鼠生理信号(心室压、心电图、主动脉压)与其对应的时间,如图6所示.
图6 信号的采集Fig.6 Signal acquisition
数据采集过程:生理信号数据采集实验是在华西生命科技园实验室进行,通过医用生物信号采集与分析系统采集数据的.首先将准备好的实验动物大鼠麻醉后固定在手术台,对动物进行开胸手术,将心室压力检测探头插入大鼠的左心室;由于大鼠体型原因,在安装心室压力探头的情况下无法再直接在其主动脉处安装血压探测器,因此改在大鼠股动脉处安装压力传感器代为检测采集血压数据;最后安装心电检测电极采集心电图数据.在三个生理数据采集设备都安装好后开启信号采集系统开始采集正常生理数据,在正常生理数据采集完成后对大鼠进行注射药物处理模拟心衰现象并采集数据记录.其中通道1是血压波形,通道2是左心室压力波形,通道3是心电图信号波形.其中部分数据如表1所示.将采集到的生理波形放大后如图7所示.
表1 某周期时间-压力对应表Tab.1 A certain cycle time-pressure correspondence table
图7 采集信号波形记录Fig.7 Acquisition signal waveform record
4.2 模型系统的输入确定
4.2.1 特征点提取及模型输入确定 要实现对心室压力的同步控制预测,需要找出心室压力曲线中需控制节奏有关的相对应节点,确定预测模型的输入输出变量.预测目标为心室压力一个变化周期内与控制轴流式血泵相关的4个特征点位置.特征点1位置取心室压力曲线下降沿低于8 mmHg时刻点坐标;特征点2取上升沿高于8 mmHg时刻点坐标值;特征点3取心室压力峰值坐标;特征点4取下降沿0.75倍峰值位置坐标,如图7所示.将样本每一个周期中的4个特征点横坐标(即时间点)提取出来作为变量(每个周期内时间以特征点1为参照的相对时间),利用前连续6个周期的相应特征点作为输入预测下一个周期的4个特征点位置.一个周期内各特征点与轴流泵相应动作对应关系如下:点2~3血泵由舒张转速提速到收缩转速代表开始收缩,点3表示收缩达到最高峰,点3~点4过程血泵由最高收缩转速缓慢降速,点4~1过程血泵降速至舒张转速,点1~2过程血泵维持舒张转速.
4.2.2 输入数据的处理 本次实验数据都采用手术收集的大鼠心室数据(包括正常搏动时的数据、血容量不足、及时补充血液容量后的数据),单个样本为二维数据,尺寸为(6,4),6个周期为一个样本,4个特征点横坐标为一组.模型预测中总共采用3 962个样本,取模型训练样本为3 173个(其中分为2 538个实际训练样本,635个验证样本),测试样本为789个,如表2所示,即训练和测试样本取8∶2的比例,同时为提高计算速度,将样本数据进行了归一化处理.
表2 模型样本数量Tab.2 Model sample size
4.3 模型网络的结构
在构建模型过程中,研究为了利用不同的LSTM层能捕捉不同波动的特点,同时为了加强模型的预测能力,选择叠加两个LSTM 层.但叠加层也会加深模型的复杂性,更容易产生过拟合现象.为此,层中选择使用10%的Dropout来防止过度拟合,模型结构如表3所示.在网络的最后,选择加一个全连接层输出结果.每批量采用4个样本进行批量梯度下降,全样本迭代20次,把均方误差(Mean Square Error,MSE)函数作为损失函数进行梯度下降.
表3 LSTM模型结构Tab.3 LSTM model structure
经过20次全样本迭代,从图8a可知,损失函数值在第5次迭代后基本不再减少,证明实验LSTM模型已经趋于稳定,验证集上效果也很好,损失函数值远低于训练集.训练过程中的均方绝对误差(Mean Absolute Error,MAE)如图8b所示,从该指数分析也可证明模型经历5次迭代,预测增进的效果已经大大降低,同时验证集上的MAE值也是逐次下降的趋势,效果也比训练集上更好(由于进行了归一化处理,MAE和MSE数值都较小).
(a) 迭代损失值
5 结果与分析
经过LSTM模型的预测,实验得到训练后得到的预测结果与实际结果的均方根误差为8.29,而通过测试集得到的预测结果与实际结果的均方根误差为5.33,为让预测结果更有助于分析和比对,实验把测试集的4个预测特征点与实际特征点的绝对误差可视化,如图9所示.
从图9得出,由于特征点1为一个周期的初始点,恒为0,所以误差不计;观测特征点2,大部分绝对误差都在0~5以内,同时有较小一部分在10~70之间,说明模型预测结果在特征点2处出现偏差程度较大的错误预测;观测特征点3,可以发现预测结果较为满意,绝大部分预测误差都在0~5之间,但也出现了误差在10以上的预测结果,说明模型对于特征点3的预测结果是比较准确的;观测特征点4,发现大部分预测误差在0~3,最大误差为7,极少数误差在5以上,说明模型在特征点4上的预测是4个点中最令人满意的.
(a) 特征点1预测与实际绝对误差
6 误差分析
6.1 数据集上的数据误差
从图10可以得出四个特征点预测误差区别大都来自训练集和测试集上的原因.特征点2(x型数据点)的预测有最多偏差较大的误差(绝对误差>10).首先,从训练集数据和测试集数据上就可以看到,两个数据集的特征点2相较于正常值都有明显大的偏差,训练集上的样本误差虽然某种程度上可以提高模型的泛化能力,但在某种程度上也影响了模型的预测准确性,再加上测试集上特征点2上的离散偏差,使模型对测试集的预测误差进一步扩大,从而观测到特征点2预测结果与实际结果的绝对误差,出现了10以上,甚至还有超过30以上的极大误差.
而反观特征点4(星型数据点),训练集上该特征点不仅出现了较多零数据点,还有偏离正常范围内的一部分数据点,而特征点4的测试集数据点都是正常数据值,但是在预测结果上是成功的,绝对误差基本维持在1~3之间,说明模型误差的来源很大程度上是来自测试集上特征点的错误数据.
6.2 LSTM上的模型误差
一部分模型的误差可能来自于超参数的调节使LSTM模型还不是最优解,由于模型中的超参数都是根据经验,人工比较部分预备参数中选的最优解,但对于叠加层层数的确定以及单层中神经单元个数的确定,以及添加其他不一样循环层都还有很大选取空间,这些对模型的影响都还尚未可知,有待后续实验研究.
还有一部分的误差可能来自模型的训练数据集样本数量和LSTM叠加层产生了过拟合的结果,使模型的泛化能力还不够.神经网络非常依靠训练数据集的数量,可以极大地提高模型的泛化能力,后续实验中还可以增添更多包含更多情况的实验样本,来测试模型的预测能力.
7 结 论
针对现有轴流血泵只提供恒流辅助功能的缺点,本文通过搭建血液模拟循环实验平台,对轴流血泵搏动性实验的控制方案进行确定,并且发现了系统中时间延迟问题,为了再次提高同步仿生搏动的准确性,提出了利用LSTM模型进行周期预测,可提前让控制系统和执行系统做好准备动作,其中模型得到训练后,得到的训练集预测结果与实际结果的均方根误差为8.29,而通过测试集得到的预测结果与实际结果的均方根误差为5.33.最后对结果和实验误差进行了分析.本文整体证明了轴流泵在同步仿生搏动性上的可行性,但还有许多缺陷,如轴流血泵模型周期预测只停留在模拟实验上,还未真正运用于动物活体实验中,预测误差也还有提高的空间.