基于改进损失函数的神经网络的训练方法

文档序号:753103 发布日期:2021-04-06 浏览:12次 >En<

阅读说明:本技术 基于改进损失函数的神经网络的训练方法 (Neural network training method based on improved loss function ) 是由 朱俊江 黄浩 王雨轩 于 2020-11-25 设计创作,主要内容包括:本申请涉及一种基于改进损失函数的神经网络的训练方法,训练时采用的损失函数主要由两部分组成:增加了预测的心电标签向量与心电标签向量之间的交叉熵损失函数来训练网络。由于该损失函数将心电标签中两两不能同时存在的心律组合单独计算损失,神经网络能有效的避免预测出的心电标签向量存在互相矛盾的结果,进而提高神经网络模型的识别结果的准确性。(The application relates to a neural network training method based on an improved loss function, wherein the loss function adopted in training mainly comprises two parts: and a cross entropy loss function between the predicted electrocardio tag vector and the electrocardio tag vector is added to train the network. Because the loss function combines the heart rhythms which cannot exist simultaneously in the electrocardio tags in pairs to independently calculate the loss, the neural network can effectively avoid the predicted result that the vectors of the electrocardio tags have contradiction, and the accuracy of the recognition result of the neural network model is further improved.)

基于改进损失函数的神经网络的训练方法

技术领域

本申请属于心电图技术领域,尤其是涉及一种基于改进损失函数的神经网络的训练方法。

背景技术

心电图(ECG)是从体表记录心脏每一心动周期所产生的电活动变化形成的图形。通过心电图可以表征出人的多种心脏疾病。“心律不齐”指的是心跳或快或慢,超过了一般范围。心律不齐可能由心脏自律性异常或传导障碍等多种因素引起,因此在临床上心律不齐呈现出不同的种类,例如窦性心动过缓、室性早搏、房性早搏、心房颤动、窦性心动过速等等。这些病种之间可能具有排他性,亦可能是同时具有,因此从数学上看,依据心电信号判别疾病种类的问题是一个复杂的多标签分类问题。采用深度学习模型解决这类问题时,常用的一种做法是将多标签分类问题转化为若干个二分类问题。例如,当判断一个心电信号的种类是[窦性心动过缓、室性早搏、房性早搏、心房颤动、窦性心动过速、正常心电图]中的一种和几种时,往往以心电信号作为输入,计算出一个长度为6的向量,然后观察心电向量中各个位置元素的值,元素的值大于0.5表示心电信号属于该类,否则认为,不属于该类。

相应的,在训练深度学习模型时,标签的设定方式为:心电信号的标签是一个长度为N的向量,心电信号属于第i类心律不齐,则标签向量的第i个元素为1,其余为0;而损失函数则是每一项的损失的叠加。

这种常规的设置方法忽略了心律类型中具有“排他性”的特点,例如一段心电信号若为窦性心动过缓,则不可能为窦性心动过速,若为心房颤动,则不可能为房性早搏,进而导致出现一些结论是错误的。

发明内容

本发明要解决的技术问题是:为解决现有技术中的不足,从而提供一种能够避免出现排他性心律类别的基于改进损失函数的神经网络的训练方法。

本发明解决其技术问题所采用的技术方案是:

一种基于改进损失函数的神经网络的训练方法,包括以下步骤:

采集充分多数量的已知心律类型的心电信号;

以长度为N的定义标签向量[y1,y2,…,yn]定义每个心电信号,心电信号属于第i类心律类型时,则定义标签向量的yi为T1,其余为T2,且T1大于T2;

将心电信号图片及对应的标签向量输入到神经网络模型中进行训练;

训练时引入损失函数为:

其中,

训练过程中心电信号中具有两两不能同时存在的心律类型组合的心电标签向量为a,每个心电标签向量a中两两不能同时存在的心律失常疾病在心电标签向量al中对应的第i个元素和第j个元素,ak为在心电标签向量中标签第k个元素,yk为定义标签向量中第k个元素;

c表示损失函数,N表示心律类型总数,心电标签向量为al为训练时当前的神经网络计算出的输出大小,N是心律类型的总数,M为两两不能同时存在的心律类型组合的数量;

当损失函数的值稳定时,结束训练,得到训练好的神经网络模型。

优选地,本发明的基于改进损失函数的神经网络的训练方法,采集充分多数量的已知心律类型的多导联心电信号后,还对所述心电信号进行预处理,预处理采用预设截止频率的滤波器对所述心电信号进行滤波处理。

优选地,本发明的基于改进损失函数的神经网络的训练方法,所述预处理还包括以下步骤:

判断所述心电信号的采样频率是否为预设频率;

当所述采样频率不是所述预设频率时,采用内插法将所述心电信号重采样为所述预设频率的心电信号。

优选地,本发明的基于改进损失函数的神经网络的训练方法,心电信号为多导联心电信号时,将每一条心电信号按照导联顺序拼接到一起形成。

优选地,本发明的基于改进损失函数的神经网络的训练方法,T1赋值为1,T2赋值为0。

优选地,本发明的基于改进损失函数的神经网络的训练方法,所述神经网络模型包括1个输入层、多个卷积层和池化层、长短期记忆人工神经网络、1个注意力层、2个全连接层以及1个分类器层。

优选地,本发明的基于改进损失函数的神经网络的训练方法,

第一卷积层中共有50个大小均为5的一维卷积核;

第一池化层中采用最大池化,核心和步长均为2;

第二卷积层中共有60个大小均为6的一维卷积核,激活函数选用ReLU函数;

第二池化层中采用最大池化,核的大小和步长均为2;

第三卷积层中共有70个大小为3的一维卷积核;

第三池化层中采用最大池化,核的大小和步长均为2;

第四卷积层中共有256个大小均为3的卷积核;

第四池化层中采用最大池化,核的大小和步长均为2。

优选地,本发明的所述基于改进损失函数的神经网络的训练方法,长短期记忆人工神经网络通过alpha=0.3的LeakRelU激活函数进行计算。

优选地,本发明的所述基于改进损失函数的神经网络的训练方法,第一层的全连接层的激活函数为ReLU函数,第二层全连接层的激活函数为Sigmoid函数。

优选地,本发明的所述基于改进损失函数的神经网络的训练方法,已知心律类型的多导联心电信号的数量为每种心律类型均大于5000条。

本发明的有益效果是:

本实施例的基于改进损失函数的神经网络的训练方法,训练时采用的损失函数主要由两部分组成:增加了预测的心电标签向量与心电标签向量之间的交叉熵损失函数来训练网络。由于该损失函数将心电标签中两两不能同时存在的心律组合单独计算损失,神经网络能有效的避免预测出的心电标签向量存在互相矛盾的结果,进而提高神经网络模型的识别结果的准确性。

附图说明

下面结合附图和实施例对本申请的技术方案进一步说明。

图1是本申请实施例的基于改进损失函数的神经网络的训练方法的流程图;

图2是本申请实施例的改进损失函数的神经网络模型结构图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

下面将参考附图并结合实施例来详细说明本申请的技术方案。

实施例一

本实施例提供一种基于改进损失函数的神经网络的训练方法,如图1所示:

使用的神经网络模型包括:输入层、多个卷积层和池化层、长短期记忆人工神经网络、1个注意力层、全连接层以及1个分类器层;

包括以下步骤:

采集充分多数量的已知心律类型的心电信号;比如:采集2万条处于静息状态下病人的12导联心电信号,采样频率为500hz(如果采样频率不同可以采用内插值法将频率整合成相同),每条心电信号的长度为10s,将这些数据作为初始数据集,不同类别的心电信号数量尽量均匀,一般都不少于5000条;

对于数据集合中每一条心电信号,采用[0.5-100]Hz的巴特沃兹带通滤波器对于该心电信号的每个导联进行滤波,随后将滤完波后的每一条心电信号按照导联顺序重新拼接到一起,心电数据的形式为(5000,12),从而形成训练用的数据集。

以长度为N的定义标签向量[y1,y2,…,yn]定义每个心电信号,心电信号属于第i类心律类型时,则定义标签向量的yi为T1,其余为T2,且T1大于T2;为了方便,一般T1赋值为1,T2赋值为0。

将心电信号及对应的标签向量输入到神经网络模型中进行训练;

训练时引入损失函数为:

其中,

A[a1,a2,…,an]是输入心电信号后神经网络模型的输出向量,长度为N,ak为在输出向量中第k个元素;Al表示一段心电信号中不可能同时存在的心律不齐类型对,共M对,ak为在输出向量中第k个元素,yk为定义标签向量中第k个元素;

c表示损失函数,N表示心律类型总数,心电标签向量为al为训练时当前的神经网络计算出的输出大小,N是心律类型的总数,M为两两不能同时存在的心律类型组合的数量;

当损失函数的值稳定时,结束训练,得到训练好的神经网络模型。

神经网络模型,具体可以为:

输入层;

第一卷积层中共有50个大小均为5的一维卷积核;

第一池化层中采用最大池化,核心和步长均为2;

第二卷积层中共有60个大小均为6的一维卷积核,激活函数选用ReLU函数;

第二池化层中采用最大池化,核的大小和步长均为2;

第三卷积层中共有70个大小为3的一维卷积核;

第三池化层中采用最大池化,核的大小和步长均为2;

第四卷积层中共有256个大小均为3的卷积核;

第四池化层中采用最大池化,核的大小和步长均为2;

长短期记忆人工神经网络,通过alpha=0.3的LeakRelU激活函数进行计算;

注意力层,

两层全连接层;

第一层的全连接层的激活函数为ReLU函数,第二层全连接层的激活函数为Sigmoid函数;

输出层,输出输出向量A[a1,a2,…,an]。

训练时的训练算法可以为:随机梯度下降算法、Adam算法、RMSProp算法、Adagrad算法、Adadelta算法、Adamax算法等。

本实施例的基于改进损失函数的神经网络的训练方法,损失函数主要由两部分组成:增加了预测的心电标签向量与心电标签向量之间的交叉熵损失函数来训练网络。由于该损失函数将心电标签中两两不能同时存在的心律组合单独计算损失,神经网络能有效的避免预测出的心电标签向量存在互相矛盾的结果,进而提高神经网络模型的识别结果的准确性。例如,当判断一个心电信号的种类是[窦性心动过缓、室性早搏、房性早搏、心房颤动、窦性心动过速、正常心电图]时,房性早搏和心房颤动是两个相互矛盾的心律失常疾病组合,由于损失函数将房性早搏和心房颤动单独计算了损失,若是房性早搏和心房颤动同时存在的话,根据该损失函数将计算出较大的损失。因此在优化模型的时候,模型为了降低损失会避免同时预测出房性早搏和心房颤动,进而提高模型预测的准确度。同时,由于该损失函数具有较好的可导性,采用该损失函数的模型具有较好的收敛速度。

使用训练好的神经网络模型时,将未知类型的心电信号按照训练时的处理方法处理后输入到训练好的神经网络模型中,根据输出向量A[a1,a2,…,an]得到结果标签向量[x1,x2,…,xn],其中ai值大于的xi为T1,ai值小于等于的xi为T2,根据xi中T1时的位置来确定心律类型,T1为1,T2为0时,大于0.5的就被调整为1,也就表示属于该种心律类型。

以上述依据本申请的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项申请技术思想的范围内,进行多样的变更以及修改。本项申请的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于形态学滤波和小波阈值的心电异常判别系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!