基于卷积神经网络和循环神经网络结合的心电诊断方法与流程

文档序号:20207996发布日期:2020-03-31 10:30阅读:375来源:国知局
基于卷积神经网络和循环神经网络结合的心电诊断方法与流程

本发明涉及心电信号处理技术领域,具体涉及基于卷积神经网络和循环神经网络结合的心电诊断方法。



背景技术:

心电图检查是医院的常规检查项目,心电图是医生判断病人心脏状况的最基本依据,心电图信号是由心脏活动引起的非平稳周期性生物信号转换成的电信号,蕴含大量复杂的心脏活动信息。当前心电诊断领域还存在着一些问题:1、诊断大夫的培养周期长、成本高,目前高端人才的缺口还很大;2、大夫个人主观性差别很大,很难做到诊断标准完全统一;3、大夫仅凭肉眼观察,很多底层信息不可见,信息利用率低;4、相似疾病太多,看图过程中存在大量重复性劳动;5、大夫看图耗时很长,至少几分钟到数小时不等。针对这些问题,现行的解决办法有传统的数字信号处理方法和利用机器学习模型或统计学习模型处理方法。

利用传统的数字信号处理方法,针对某种特定疾病心电图,先手动提取特征,然后根据阈值做判断,该方法需要有大量的医学和信号处理经验,而且不具有通用性,在换了疾病之后,很难再有较高的准确率,甚至根本不能工作。利用机器学习模型或统计学习模型,在一定程度上,实现了自动化,也具备了一定的通用性,比第一类方法,在准确率上也有极大的提高,但是模型依然存在表达能力不足的问题,不能涵盖各种复杂的情况,而且很难进行迁移学习。



技术实现要素:

针对现有技术存在的不足,本发明提供了基于卷积神经网络和循环神经网络结合的心电诊断方法,其应用时,可以有效提高心电诊断的效率和准确率,且提供的训练模型可以涵盖各种复杂心电特征,便于进行数据的迁移学习。

本发明所采用的技术方案为:

基于卷积神经网络和循环神经网络结合的心电诊断方法,包括以下步骤:

s1、采集心电信号训练数据,并分别附上标签进行数据预处理;

s2、将预处理后的训练数据进行数据增强;

s3、构建由卷积神经网络和循环神经网络结合的联合神经网络模型,利用增强后的训练数据对联合神经网络模型进行训练,得到训练模型;

s4、获取目标心电信号,将目标心电信号输入训练模型进行计算,输出概率值;

s5、根据输出的概率值进行正负例判断,得出分类判断结果。

作为上述技术方案的优选,在步骤s1中,采集的心电信号训练数据包含集至少600个病例数据,每个病例数据有5000个时间步和12个通道。

作为上述技术方案的优选,在步骤s1中,对训练数据进行数据预处理的步骤包括:

s11、读取所有通道心电信号训练数据;

s12、构建多通道数据矩阵:将读取的多通道心电数据按照[time_step,channel]的矩阵形式排布,其中,time_step为时间步,也就是按照时间顺序的采样点数,channel为通道数;

s13、对数据矩阵进行数据归一化处理:在特征维度上,每个特征值都减去该时间步下所有特征的均值,然后再除以该时间步下所有特征的标准差;

s14、将归一化处理后的数据对应标签进行0-1编码:正例为1,负例为0。

作为上述技术方案的优选,在步骤s23中,对数据矩阵进行数据归一化处理的公式为:

其中,fnew为归一化之后的特征值,fold为归一化之前的特征值,μ为该时间步下所有特征值的均值,σ为该时间步下所有特征值的标准差。

作为上述技术方案的优选,在步骤s2中,对预处理后的训练数据进行数据增强的步骤包括:

s21、在时间步的维度上,将数据提前或者延后一个设定的范围;

s22、然后对数据添加高斯噪声;

s23、最后将数据的时序翻转。

作为上述技术方案的优选,在步骤s3中,构建的联合神经网络模型结构的正向传播方向依次包括:

第一一维卷积层conv1d,输出通道为32,卷积核为15,strides为7,激活函数为relu,padding为valid;

第二一维卷积层conv1d,输出通道为64,卷积核为11,strides为3,激活函数为relu,padding为valid;

一维最大池化层maxpooling1d,池化核为2;

第三一维卷积层conv1d,输出通道为128,卷积核为7,strides为2,激活函数为relu,padding为valid;

第一长短时记忆层lstm,输出通道为128;

第二长短时记忆层lstm,输出通道为256;

第三长短时记忆层lstm,输出通道为512;

随机失活层dropout,随机使一半的神经元失活;

第一全连接层dense,神经元数量为256,激活函数为relu;

第二全连接层dense,神经元数量为2,激活函数为softmax,输出该心电病例阴阳性的概率。

作为上述技术方案的优选,在步骤s3中,对联合神经网络模型进行训练的步骤包括:

s31、从训练数据中读取一个批量的心电样本数据;

s32、将样本数据输入联合神经网络模型中进行正向传播,得出预测概率;

s33、将预测概率与真实标签概率做交叉熵损失函数计算,得出平均损失值;

s34、将平均损失值通过梯度下降法逐层反向传播,进行参数更新;

s35、重复上述步骤s31至s34的过程,直到平均损失值降到标准范围。

作为上述技术方案的优选,在步骤s33中,交叉熵损失函数计算公式为:

其中,loss为一个批量的平均损失值,n为一个批量的样本个数,yi为第i个样本的真实标签概率,为第i个样本的预测概率。

作为上述技术方案的优选,在步骤s5中,根据输出的概率值进行正负例判断公式为:

其中,p为训练模型输出概率值,p0为正负例的分割阈值,取0.5。

本发明的有益效果为:

本发明通过构建联合神经网络模型,再提取大量心电信号训练数据供联合神经网络模型进行各种复杂特征训练,获得兼容性高、涵盖面广的训练模型,然后利用训练模型实现端到端的自动化心电诊断,诊断效率和准确率相对于现有技术都有了极大的提高,且诊断面广,可以涵盖各种复杂情况,同时可以对新增数据进行迁移学习,模型升级变得简单易操作,能保证对原有知识的最大兼容性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的步骤实施框图;

图2为联合神经网络模型结构示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。

应当理解,术语第一、第二等仅用于区分描述,而不能理解为指示或暗示相对重要性。尽管本文可以使用术语第一、第二等等来描述各种单元,这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。

应当理解,在本发明的描述中,术语“上”、“竖直”、“内”、“外”等指示的方位或位置关系,是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

应当理解,当将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,当将单元称作与另一个单元“直接相连”或“直接耦合”时,不存在中间单元。应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

本文使用的术语仅用于描述特定实施例,并且不意在限制本发明的示例实施例。如本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解术语“包括”、“包括了”、“包含”、和/或“包含了”当在本文中使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。

还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。

在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实施例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。

实施例1:

本实施例提供了基于卷积神经网络和循环神经网络结合的心电诊断方法,如图1所示:

包括以下步骤:

s1、采集心电信号训练数据,并分别附上标签进行数据预处理;

s2、将预处理后的训练数据进行数据增强;

s3、构建由卷积神经网络和循环神经网络结合的联合神经网络模型,利用增强后的训练数据对联合神经网络模型进行训练,得到训练模型;

s4、获取目标心电信号,将目标心电信号输入训练模型进行计算,输出概率值;

s5、根据输出的概率值进行正负例判断,得出分类判断结果。

如图2所示,步骤s3中,联合神经网络模型结构的正向传播方向依次包括:

第一一维卷积层conv1d,输出通道为32,卷积核为15,strides为7,激活函数为relu,padding为valid;

第二一维卷积层conv1d,输出通道为64,卷积核为11,strides为3,激活函数为relu,padding为valid;

一维最大池化层maxpooling1d,池化核为2

第三一维卷积层conv1d,输出通道为128,卷积核为7,strides为2,激活函数为relu,padding为valid;

第一长短时记忆层lstm,输出通道为128;

第二长短时记忆层lstm,输出通道为256;

第三长短时记忆层lstm,输出通道为512;

随机失活层dropout,随机使一半的神经元失活,避免过拟合;

第一全连接层dense,神经元数量为256,激活函数为relu;

第二全连接层dense,神经元数量为2,激活函数为softmax,输出该心电病例阴阳性的概率。

卷积神经网络结构一般包含:

输入层:卷积神经网络的输入层可以处理多维数据,常见地,一维卷积神经网络的输入层接收一维或二维数组,其中一维数组通常为时间或频谱采样;二维数组可能包含多个通道;二维卷积神经网络的输入层接收二维或三维数组;三维卷积神经网络的输入层接收四维数组。由于卷积神经网络在计算机视觉领域应用较广,因此许多研究在介绍其结构时预先假设了三维输入数据,即平面上的二维像素点和rgb通道。与其它神经网络算法类似,由于使用梯度下降算法进行学习,卷积神经网络的输入特征需要进行标准化处理。具体地,在将学习数据输入卷积神经网络前,需在通道或时间/频率维对输入数据进行归一化,若输入数据为像素,也可将分布于的原始像素值归一化至区间。输入特征的标准化有利于提升卷积神经网络的学习效率和表现。

隐含层:卷积神经网络的隐含层包含卷积层、池化层和全连接层3类常见构筑,在一些更为现代的算法中可能有inception模块、残差块(residualblock)等复杂构筑。在常见构筑中,卷积层和池化层为卷积神经网络特有。卷积层中的卷积核包含权重系数,而池化层不包含权重系数,因此在文献中,池化层可能不被认为是独立的层。以lenet-5为例,3类常见构筑在隐含层中的顺序通常为:输入-卷积层-池化层-全连接层-输出。池化层(poolinglayer),在卷积层进行特征提取后,输出的特征图会被传递至池化层进行特征选择和信息过滤。池化层包含预设定的池化函数,其功能是将特征图中单个点的结果替换为其相邻区域的特征图统计量。池化层选取池化区域与卷积核扫描特征图步骤相同,由池化大小、步长和填充控制。

输出层:卷积神经网络中输出层的上游通常是全连接层,因此其结构和工作原理与传统前馈神经网络中的输出层相同。对于图像分类问题,输出层使用逻辑函数或归一化指数函数(softmaxfunction)输出分类标签。在物体识别(objectdetection)问题中,输出层可设计为输出物体的中心坐标、大小和分类。在图像语义分割中,输出层直接输出每个像素的分类结果。

循环神经网络(recurrentneuralnetwork,rnn)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursiveneuralnetwork)。循环神经网络具有记忆性、参数共享并且图灵完备(turingcompleteness),因此在对序列的非线性特征进行学习时具有一定优势。循环神经网络在自然语言处理(naturallanguageprocessing,nlp),例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。引入了卷积神经网络(convoutionalneuralnetwork,cnn)构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。

实施例2:

作为对上述实施例的优化,在步骤s1中,对训练数据进行数据预处理的步骤包括:

s11、读取所有通道心电信号训练数据,常见的有1通道,3通道,6通道,12通道,18通道等;

s12、构建多通道数据矩阵:将读取的多通道心电数据按照[time_step,channel]的矩阵形式排布,其中,time_step为时间步,也就是按照时间顺序的采样点数,channel为通道数;

s13、对数据矩阵进行数据归一化处理:在特征维度(也就是通道维度)上,每个特征值都减去该时间步下所有特征的均值,然后再除以该时间步下所有特征的标准差,归一化处理的公式为:

其中,fnew为归一化之后的特征值,fold为归一化之前的特征值,μ为该时间步下所有特征值的均值,σ为该时间步下所有特征值的标准差;

s14、将归一化处理后的数据对应标签进行0-1编码:正例为1,负例为0。

采集的心电信号训练数据包含集至少600个病例数据,每个病例数据有5000个时间步和12个通道。

实施例3:

作为对上述实施例的优化,在步骤s2中,对预处理后的训练数据进行数据增强的步骤包括:

s21、在时间步的维度上,将数据提前或者延后一个设定的范围;

s22、然后对数据添加高斯噪声;

s23、最后将数据的时序翻转。

数据增强之后产生的新数据,添加入数据集,作为一个新的样本。

数据增强是通过增加数据的多样性和完备性来提高网络最终的泛化能力,如果原始的数据量足够,可以不进行数据增强。

实施例4:

作为对上述实施例的优化,在步骤s3中,对联合神经网络模型进行训练的步骤包括:

s31、从训练数据中读取一个批量的心电样本数据;

s32、将样本数据输入联合神经网络模型中进行正向传播,得出预测概率;

s33、将预测概率与真实标签概率做交叉熵损失函数计算,得出平均损失值,交叉熵损失函数计算公式为:

其中,loss为一个批量的平均损失值,n为一个批量的样本个数,yi为第i个样本的真实标签概率,为第i个样本的预测概率;

s34、将平均损失值通过梯度下降法逐层反向传播,进行参数更新;

s35、重复上述步骤s31至s34的过程,直到平均损失值降到标准范围。

训练参数配置:

优化器:rmsprop

损失函数:binay_crossentropy

学习率:0.01

迭代次数:大约20个回合。

实施例5:

作为对上述实施例的优化,在步骤s5中,根据输出的概率值进行正负例判断公式为:

其中,p为训练模型输出概率值,p0为正负例的分割阈值,取0.5。

其应用时,通过构建联合神经网络模型,再提取大量心电信号训练数据供联合神经网络模型进行各种复杂特征训练,获得兼容性高、涵盖面广的训练模型,然后利用训练模型实现端到端的自动化心电诊断,诊断效率和准确率相对于现有技术都有了极大的提高,且诊断面广,可以涵盖各种复杂情况,同时可以对新增数据进行迁移学习,模型升级变得简单易操作,能保证对原有知识的最大兼容性。

本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1