掌桥专利:专业的专利平台
掌桥专利
首页

一种基于智能联合学习的疾病诊断系统

文献发布时间:2023-06-19 09:30:39


一种基于智能联合学习的疾病诊断系统

技术领域

本发明属于人工智能领域,涉及利用传统线性模型和深度学习模型的联合学习,将医学知识与机器学习算法有效融合,实现一种基于智能联合学习的疾病诊断系统。

背景技术

机器学习是计算机拥有智能的根本途径,是人工智能的核心。机器学习的本质是利用算法从大量数据中挖掘出其中隐含的规律,并用于预测或者分类。新兴的人工智能技术和传统的医疗相结合正在重塑医疗健康领域的诊疗方式和行业模式。随着医疗数据积累越来越多和人工智能技术不断的取得突破,近些年以深度学习为代表的机器学习算法在医疗领域的应用越来越多,这些应用主要集中在基于深度学习的疾病筛查与预测方面。

现有基于深度学习的疾病筛查与预测应用主要可分为以下三大类。(1)基于深度学习的影像分析类。(2)基于深度学习的体征数据分析类。(3)基于深度学习的电子病历分析类。

这些方法普遍存在以下缺点:采用的深度学习算法仅依赖于单一来源模态的数据,模型训练的结果具有片面性。由于受到深度学习算法本身对神经网络结构的设计限制,经过长期医疗实践累积并验证的医学诊断学知识无法被用到神经网络中。缺乏医学知识指导的深度学习算法完全受限于算法的训练数据,算法分析的结果不具有可解释性,无法有效推广。

解决以上这些问题需要一种技术解决方案,能够处理多种模态的异构数据,丰富病人信息的表达维度。同时,能够有效结合医学诊断学的领域知识,在保持深度学习算法强大泛化能力的同时,增强整体疾病诊断算法模型的可解释性和准确性。

发明内容

针对上述问题,本发明的目的在于设计并实现一个基于智能联合学习的疾病诊断系统,采用传统线性模型和深度学习模型的联合学习模型,用于有效的疾病诊断,既能利用深度学习实现对医疗影像、电子病历和查体实验结果的高层信息自动抽取,免去复杂的特征工程,又能利用规则融入医学诊断学的知识与医生经验。联合学习模型既能比较全面的覆盖病人的多种模态信息,又能在保持深度学习算法强大泛化能力的同时有效结合医学诊断学的领域知识,增强整体疾病诊断算法模型的可解释性和准确性。

为实现上述目的,本发明采用如下技术方案:

一种基于智能联合学习的疾病诊断系统,其包括(以下各层中每一层为一个模块):

上下文特征嵌入表示层,用于自动提取文本类的电子病历中的上下文特征,并对上下文的语义信息进行编码;

医学影像嵌入表示层,用于自动提取病人医学影像的特征;

医学查体实验数据嵌入表示层,用于自动提取病人查体实验产生的结果信息的特征;

医学知识编码层,连接所述上下文特征嵌入表示层、所述医学影像嵌入表示层和所述医学查体实验数据嵌入表示层,用于采用基于规则的抽取方法,对病人的多模特数据根据医学诊断学知识进行线性特征向量形式的编码;

神经网络隐藏层,连接所述上下文特征嵌入表示层、所述医学影像嵌入表示层和所述医学查体实验数据嵌入表示层,用于根据输入的病人多模特数据的类型差异,对文本类的电子病历数据和医学影像数据、查体实验数据的嵌入表示进行训练;

联合学习输出层,用于实现对所述神经网络隐藏层的训练结果和所述医学知识编码层的线性模型的联合学习,输出最终的疾病诊断结果。

进一步地,所述上下文特征嵌入表示层采用双向长短期记忆网络(BLSTM)自动提取文本类的电子病历中的上下文特征。此外,上下文特征嵌入表示层还可以采用单向LSTM、递归神经网络RNN替代双向LSTM,可以获得同样的实现效果;为增强神经网络局部学习能力,也可以采用带有注意力机制的LSTM模型。

进一步地,所述医学影像嵌入表示层采用卷积神经网络(CNN)自动提取病人医学影像的特征。

进一步地,所述医学查体实验数据嵌入表示层采用卷积神经网络(CNN)自动提取病人查体实验产生的结果信息的特征。

进一步地,所述医学知识编码层进行的线性特征向量形式的编码为one-hot编码。

进一步地,所述神经网络隐藏层包含了BLSTM网络和CNN网络,分别用来对文本类的电子病历数据和医学影像数据、查体实验数据的嵌入表示进行训练。

与现有技术相比,本发明的积极效果为:

本发明设计并实现一个传统线性模型和深度学习模型的联合学习模型,用于有效的疾病诊断。本发明既利用了深度学习自动提取特征的优势,免去了时间代价大、人力成本高又难以扩展到大数据集的人工特征工程,实现了真正的数据驱动;同时充分发挥了医学专业知识与经验。联合学习模型既能比较全面的覆盖病人的多种模态信息,又能在保持深度学习算法强大泛化能力的同时有效结合医学诊断学的领域知识,增强整体疾病诊断算法模型的可解释性和准确性。本发明具有低开销、高表达、多适用的优点。

附图说明

图1是基于智能联合学习的疾病诊断系统的结构图。

图2是基于智能联合学习的疾病诊断系统的工作流程图。

具体实施方式

下面通过具体实施例并配合附图,对本发明做详细的说明。

图1是本发明实施例的基于智能联合学习的疾病诊断系统的结构图。对图1所示各模块的功能及其实现分别说明如下:

(1)面向双向长短期记忆网络(BLSTM)的上下文特征嵌入表示层,自动提取文本类的电子病历中的上下文特征,并对上下文的语义信息进行编码。

电子病历作为一种文本表示形式,通过嵌入表示层,实现从文本到神经网络训练模型的输入编码。本发明采用现有的Skip-Gram模型基于大量未标记的中文语料训练得到词向量,作为电子病历的嵌入表示。同时,为了训练算法的各项参数需要为电子病历准备标签。标签的准备有两种手段,对于带有诊断结论的电子病历,直接从文本中提取出诊断结论作为当前电子病历的标签。对于仅包含病人主诉的电子病历,需要事先请专业医生来填写标签。一般情况算法的训练选择前一种电子病历数据。

(2)面向卷积神经网络(CNN)的医学影像嵌入表示层,自动提取病人医学影像的特征。

由于医学影像数据都是二维图像数据,这些数据包括病灶、背景、遮挡和照明等信息,需要进行数据的预处理工作。首先采用了放射医学中的自动提取方法,用病理学标签来标注每张医学影像。在把图像输入到卷积神经网络之前,还需要对图像进行均值和标准差的归一化。同时,为了满足卷积神经网络训练对大量数据的要求,通过旋转、平移和变形等变化来增强训练数据集。

(3)面向卷积神经网络(CNN)的医学查体实验数据嵌入表示层,自动提取病人查体实验产生的结果信息的特征。

医学查体实验数据嵌入表示层主要处理各类数值类型的实验室检测数据,同时还包括例如心电监护等传感器设备接收到的序列数据。数据以矩阵的形式表示,作为卷积神经网络的输入。

(4)医学知识编码层,采用基于规则的抽取方法,对病人的多模态数据根据医学诊断学知识进行线性特征向量形式的one-hot编码。

根据医学诊断学知识,将病人的多模特数据定义为一组线性特征向量的形式,特征集合X=

其中c

(5)神经网络隐藏层,根据输入的病人多模特数据的类型差异,神经网络隐藏层包含了LSTM网络和CNN网络,分别用来对文本类的电子病历数据和医学影像数据、查体实验数据的嵌入表示进行训练。

循环神经网络通过周期性连接隐藏层节点以保存上下文的状态。本专利的循环结构部分采用双向长短时记忆网络(BLSTM),BLSTM对远距离依赖建模有强大能力,其继承了大部分循环神经网络模型的结构特性,并避免了循环神经网络中可能出现的梯度消失问题。BLSTM同时包括前向和后向的LSTM结构。其中,前向LSTM和后向LSTM分别用于捕获过去和未来不同的特征信息。BLSTM更适合处理较长文本,可以提取更多的特征信息,非常适用于电子病历这类长文本数据的分析。

对于已经完成类别标签和预处理的医学影像训练数据集,采用卷积神经网络进行算法训练。由于卷积神经网络需要的训练数据量巨大,而医学影像训练数据集往往不能满足CNN参数训练的要求。本发明采用预训练的方式,先利用ImageNet的大规模图像数据对CNN的模型参数进行预训练,得到的CNN的参数作为模型的初始值。再将医学影像训练数据作为CNN模型的输入,对模型的参数进行调优。

(6)联合学习输出层,实现对神经网络隐藏层训练结果和医学知识编码层的线性模型联合学习,输入最终的疾病诊断结果。

经由医学知识编码层获得的一组线性特征向量,通过一个线性模型y=w

其中Y代表了分类的标签,x为特征向量,σ(·)表示sigmod函数,θ(x)代表了那些交叉转换特征。w

联合模型的训练采用后向传播的方法同时训练线性部分和深度部分,并采用小批量随机优化。

图2是本发明实施例的基于智能联合学习的疾病诊断系统的工作流程图。对其中各步骤具体说明如下:

步骤1.1准备数据。

准备好标注的数据,切分为训练数据集,开发数据集及测试数据集,训练数据集和开发数据集用于训练阶段,测试数据集用于测试阶段。

步骤1.2批量样本输入

对训练数据集的训练按照小批量原则,依据设定的batchsize的大小,按批输入系统。

步骤2.1电子病历文本分词

将电子病历中的文本按句子为单位对每个句子进行分词。

步骤2.2词向量嵌入表示

对于输入的每个样本的每个字符,进行字词嵌入(英文为词,中文为字符级别),依据字符索引表并结合线性层转化为300维度的向量。

步骤2.3双向LSTM网络

将用词向量表示的输入样本序列送入双向LSTM网络,提取上下文的深层特征信息。

步骤3.1医学知识特征抽取

利用医学诊断学知识构建一维原始特征集合,并对病人的多模态数据提取原始特征的one-hot编码。

步骤3.2交叉转换特征生成

根据交叉转换特征的定义,从原始特征编码中计算交叉转换特征的编码。

步骤4.1图像数据归一化

对图像进行均值和标准差的归一化。

步骤4.2数据集增强

通过旋转、平移和变形等变化来增强训练数据集。

步骤4.3CNN模型预训练

利用ImageNet的大规模图像数据对CNN的模型参数进行预训练,得到的CNN的参数作为模型的初始值。

步骤5.1数值数据序列化

将数值数据以矩阵的形式表示,作为卷积神经网络的输入。

步骤5.2CNN模型

将数值型数据矩阵输入CNN网络,训练网络的隐藏层特征。

步骤6联结

将线性模型和深度模型的计算结果进行拼接,建立目标函数。

步骤7计算代价函数

在训练过程中,目标函数是最大化训练集的正确标记序列的对数似然。

代价函数是目标函数的负数。

步骤8反向传播算法

利用反向传播梯度下降算法训练模型,并根据训练的速度自适应的调节学习率。如果模型在测试集上的效果在下降,则说明过拟合了,应该立即停止,结束训练,否则继续训练。

本发明中上下文特征嵌入表示层还可以采用单向LSTM、递归神经网络RNN替代双向LSTM,可以获得同样的实现效果。为增强神经网络局部学习能力,也可以采用带有注意力机制的LSTM模型。

本发明另一实施例提供一种计算机/服务器,其包含上述基于智能联合学习的疾病诊断系统,即上述基于智能联合学习的疾病诊断系统作为软件产品部署在该计算机/服务器上。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。

技术分类

06120112198520