CN113470811A - 一种基于深度强化学习的辅助智能问诊*** - Google Patents
一种基于深度强化学习的辅助智能问诊*** Download PDFInfo
- Publication number
- CN113470811A CN113470811A CN202110667636.1A CN202110667636A CN113470811A CN 113470811 A CN113470811 A CN 113470811A CN 202110667636 A CN202110667636 A CN 202110667636A CN 113470811 A CN113470811 A CN 113470811A
- Authority
- CN
- China
- Prior art keywords
- entity
- value
- network
- training
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000013507 mapping Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 61
- 238000012549 training Methods 0.000 claims description 60
- 201000010099 disease Diseases 0.000 claims description 38
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 38
- 238000003745 diagnosis Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 29
- 230000009471 action Effects 0.000 claims description 27
- 239000003795 chemical substances by application Substances 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 238000011156 evaluation Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 208000024891 symptom Diseases 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 238000007477 logistic regression Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000013135 deep learning Methods 0.000 abstract description 10
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000008520 organization Effects 0.000 abstract description 4
- 238000009825 accumulation Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 230000008034 disappearance Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010999 medical injection Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Public Health (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Animal Behavior & Ethology (AREA)
- Pathology (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种基于深度强化学习的辅助智能问诊***,综合了知识图谱、深度学习和强化学习的各种优势去实现当下真实场景里的重要问题。利用知识图谱组织知识的能力完成知识的累积,然后使用嵌入式表示的方式把知识映射到向量空间,使之能与深度学习的技术相结合,同时利用了强化学习的解决实际场景复杂问题的能力。
Description
技术领域
本发明涉及智能问诊技术领域,具体涉及一种基于深度强化学习的辅助智能问诊***。
背景技术
近年来我国医疗资源达到了一种供不应求的状态,特别是大城市三甲医院高水平的医生每天都要面临大量前来看病的病人的现状,但是其中很大一部分都是不必要去大医院就诊的。另外,由于大部分普通民众对于医学方面的知识认识比较浅薄,导致胡乱投医的现象发生,从而造成时间和医疗资源在一定程度上的浪费。这些现象反映出两个问题,第一个是需求端,随着居民生活水平、收入水平的提升,居民在医疗服务方面的消费意愿也在不断提升,也就是说,越来越多的人重视健康,但是同时缺乏专业的指导和支持;第二个是供给端,这个现象也反映出基层医疗机构水平较低的现象和居民对于基层医疗服务水平信任程度低的情况。近年国家也在积极推动分级诊疗避免医疗资源遭到挤兑造成浪费,其中一种解决方案就是推行轻问诊。
知识图谱是一种知识组织的方式,由多个三元组组成,三元组包含头部实体节点、关系和尾部实体节点组成,用于表示事实。知识图谱技术是一个跨学科技术,由图形学、计算机科学、信息可视化技术等等所构成。其发展已经有多年的历史,在近年来的研究发展热度有持续上升的趋势。知识图谱的应用范围非常广,包括知识的组织、可视化、信息检索、人机对话、推荐***等等。
而针对知识图谱的嵌入式(embedding)表示也在今年来越来越受到重视,嵌入式表示技术的创造是为了解决过往基于符号推理和近年发展迅速的深度学习所用的基于向量的运算互不相容的问题。换句话说,嵌入式表示的出现建立了以上两种技术的融合使用的桥梁,能综合利用两方的优势。
另外,深度学习与强化学习理论在底层基于异构计算架构技术瓶颈突破的帮助下也飞速发展,这两种机器学习的技术无论理论还是实际应用也有越来越多的突破,反映在计算机视觉、自然语言处理等等人工智能领域的应用上。深度学习使计算机初步具有人类的感知能力,即能从原始数据中(包括图像和自然语言等)提取信息的能力。而强化学习则模拟了人类学习技能的过程,通过外界的反馈和奖励为某个目标动态地调整自己的策略从而使效果最大化。深度学习和强化学习的结合就是深度强化学习,使机器能综合两者的优势去完成一些比较复杂的任务,例如玩游戏和人机对话等等。但是在医疗领域,综合使用以上技术去做应用的案例少之又少。
发明内容
针对现有技术的不足,本发明旨在提供一种基于深度强化学习的辅助智能问诊***。
为了实现上述目的,本发明采用如下技术方案:
一种基于深度强化学习的辅助智能问诊***,包括知识图谱和模型;
知识图谱:用于组织医学领域知识的数据结构,为一个有向图,由多个事实组成,其中每个事实由头部实体节点、尾部实体节点和从头部实体节点指向尾部实体节点的关系组成,称为三元组;
模型:包括用于把知识图谱的实体节点和关系映射到向量空间的translation-based embedding模型、用于诊断的诊断网络、用于判断证据充分性的决策网络和用于问诊流程关联问题的行动网络;
1)Translation-based embedding,即TransE:TransE的目标函数如下所示:
L=∑(h,r,t)∈S∑(h′,r,t′)∈s′max(0,f(h,r,t)+γ-f(h′,r,t′));
其中f是计算头部实体节点与关系的和与尾部实体节点的距离函数:
f=h或h’+r-t或t’;
S为正样本的集合,即所有真实存在的三元组,h、t为正样本中的实体,分别表示头部实体节点和尾部实体节点;而S’为负样本的集合,为虚构的三元组集合,h’、t’为负样本中的实体,分别表示头部实体节点和尾部实体节点;
在训练的时候,首先为每一个实体节点e对应的每一个维度赋予初始值:
接着对于每一个关系r也赋予初始值:
并做归一化:
r←r/‖r‖;
然后开始训练;k代表向量的维度;
训练过程采取的是多轮的训练策略,其中每一轮都会随机地从真实存在的三元组中抽取设定数量的数据作为正样本,负样本的构成方式为先随机抽取设定数量的正样本,然后随机以其他实体节点替换尾部实体节点进而得到负样本;以正样本和负样本作为样本输入到f函数中进行计算,并最终汇总到目标函数计算梯度,以梯度下降的方式反向传播到代表实体节点和关系的向量中去;完成训练后模型基本收敛;
2)诊断网络是基于知识图谱中疾病类型的实体节点和与之直接或者间接相连的实体节点去做模拟诊断的神经网络,该神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致;中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数;最后输出层的维度与知识图谱中疾病类型的实体节点的数量相一致,并接softmax函数,目的是要把输出的数值压缩到0到1之间然后做softmax回归;
目标函数采用cross entropy,为以下形式:
N为疾病类型的实体节点的数量,i为当前实体节点的下标,Si是当前实体节点所获得权重占总体比例的数值,也就是归一化后的概率值,yn为当前实体节点的标签;
针对此目标函数进行设定轮数的训练过程,每轮随机从知识图谱中抽取设定数量的疾病类型的实体节点,并搜索与之直接相连或者间接相连的其他实体节点;采取随机舍弃实体节点的方式处理这一批次的实体节点,然后根据实体节点的ID即刻从TransE生成的向量lookup table中找到对应的向量;对于间接相连的实体向量,要经过实体向量和对应关系向量相加而得到虚拟实体向量再做下一步计算,对于直接相连的实体向量,则不需要做额外操作;得到直接实体向量或者虚拟实体向量之后,通过对这些向量求和就可以得到诊断网络的输入并开始前向计算过程,最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,然后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程;
3)决策网络是用于评判在问诊过程当中,当前所获得到的证据是否充足的神经网络,如果当前的证据是充足的话,就可以用诊断网络做诊断;该神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致;中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数;最后输出层的维度为1,并接sigmoid函数,目的是要把输出的数值压缩到0到1之间然后做logistic回归;
目标函数采用cross entropy,为以下形式:
其中hθ为sigmoid函数,x是决策网络最后一层的输出,y为实际结果;
针对上述目标函数进行设定轮数的训练过程,每轮随机从知识图谱中抽取设定数量的疾病类型的实体节点,并搜索与之直接相连或者间接相连的其他实体节点,采用随机舍弃实体节点的方式处理这一批次的实体节点;然后根据实体节点的ID即刻从TransE生成的向量lookup table中找到对应的向量;对于间接相连的实体向量,要经过实体向量和对应关系向量相加而得到虚拟实体向量再做下一步计算;对于直接相连的实体向量,则不需要做额外操作;得到直接实体向量或者虚拟实体向量之后,通过对这些向量求和就可以得到决策网络的输入并开始前向计算过程;
训练的过程中,当以相同的数据输入到诊断网络中时,如果诊断到的结果疾病是当前样本的疾病,则这个输入为正样本,决策网络的回归目标应该为1,说明当前所获得的证据充足,可以做决策;假如诊断到结果不是当前样本的疾病,则这个输入为负样本,决策网络的回归目标应该为0,说明当前所获得的证据不充分,当前暂不可以做决策;最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,然后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程;
4)行动网络是根据病人主动汇报的相关症状和当前已经收集到的证据输出在问诊过程当中当前应该询问的问题所关联的症状的神经网络;该神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致;中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数;最后输出层的维度和知识图谱中与疾病关联的任何类型实体节点的数量相一致,并接softmax函数,目的是要把输出的数值压缩到0到1之间然后做softmax回归;
目标函数采用cross entropy,为以下形式:
其中,M为与疾病关联的任何类型实体节点的数量;Sm是当前实体节点所获得权重占总体比例的数值,也就是归一化后的概率值,ym为当前实体节点的标签;
对于行动网络的训练,是基于Q-learning的强化学习方式以及诊断网络和决策网络进行的;假设有一个agent在进行问诊环节,在训练中,估计价值的方式采取的是TD-based形式,把两个时刻之间的差值转换成回归的问题;具体可以用以下的表达式来说明:
Vπ(st)=Vπ(st+1)+rt
rt=Vπ(t)-Vπ(st+1)
Qπ(st,at)=rt+Qπ(st+1,π(st+1))
其中,V是值函数,Vπ(st)代表当前agentπ在遇到当前状态st计算出的评价值;rt则是两个时刻之间获得奖励的差值,也是迭代目标;Qπ(st,at)代表agent在遇到st状态下做出动作at所获得的价值;
针对以上的设定进行设定数量的episode的训练过程,最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,让后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程。
进一步地,在行动网络的训练中,增加epsilon greedy的训练模式,在一定的概率条件下采取随机做动作的方式来试探更具有创造性的行动,采用下式表示:
其中,Q(s,a)代表agent在面对状态s的情况下做出动作a所获得的从当前步骤到回合结束的评价指标估计值,在这里取其最大值。这是一般情况,也就是当随机取值小于∈的时候,应该按照能使评价最大的action作为当前选择的a;另外在非一般情况下,也就是当随机取值大于或等于∈的时候,随机选择一个action作为当前选择的a;所述随机取值的取值范围从0到1之间。
进一步地,在行动网络的训练中,使用replay buffer的方式,把agent交互的数据保存到缓冲区中,在训练的时候随机从缓冲区中抽取样本输入到网络进行训练;并且,缓冲区中的数据会不断依靠最新的agent去做交互获取,以达到进化的目的。
本发明的有益效果在于:本发明综合了知识图谱、深度学习和强化学习的各种优势去实现当下真实场景里的重要问题。利用知识图谱组织知识的能力完成知识的累积,然后使用嵌入式表示的方式把知识映射到向量空间,使之能与深度学习的技术相结合,同时利用了强化学习的解决实际场景复杂问题的能力。另外,本发明针对真实场景服务需求去设计底层基础设施,包括***的可用性、容错性、扩展性、运行性能方面的设计,本发明不仅具备核心服务功能,同时也有持续运行的***稳定性。
具体实施方式
以下将对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例提供一种基于深度强化学习的辅助智能问诊***,包括知识图谱和模型;
知识图谱:所述知识图谱是用于组织医学领域知识的数据结构,具体形式为一个有向图,由多个事实组成,其中每个事实由头部实体节点、尾部实体节点和从头部实体节点指向尾部实体节点的关系组成,也可以被称为三元组。在知识图谱中有多个实体,其中分为若干类型。另一方面,知识图谱中的关系有多个,均为带有方向的指向,其中有若干类型。所述知识图谱是本实施例***的基础,后续的深度学习模型、强化学习模型以及推理的算法都是基于这个知识图谱的。
模型:
本实施例***包括的模型有用于把知识图谱实体节点和关系映射到向量空间的translation-based embedding模型、用于诊断的诊断网络、用于判断证据充分性的决策网络和用于问诊流程关联问题的行动网络。
1)Translation-based embedding(TransE)是一类型知识图谱嵌入技术的统称,目的主要是为了把知识图谱中离散型的符号概念,包括实体节点和关系映射到某一维度的向量空间,以有利于使用基于向量的计算方式。本实施例使用了TransE的方式对基础知识图谱进行嵌入。TransE的目标函数如下所示:
其中f是计算头部实体节点与关系的和与尾部实体节点之间的距离函数,在这里:
f=h或h’+r-t或t’;
S为正样本的集合,即所有真实存在的三元组,h、t为正样本中的实体,分别表示头部实体节点和尾部实体节点;而S’为负样本的集合,为虚构的三元组集合,h’、t’为负样本中的实体,分别表示头部实体节点和尾部实体节点。上述函数的优化目标是使真实存在的三元组距离越小越好,而负样本的距离远大越好,从而让模型有区分两种样本的能力。
在训练的时候,首先为每一个实体节点e对应的每一个维度赋予初始值:
接着对于每一个关系r也赋予初始值:
并做归一化:
r←r/‖r‖;
然后开始训练;k代表向量的维度,在实验当中k=512。
训练过程采取的是1000轮的训练策略,其中每一轮都会随机地从真实存在的三元组中抽取500个数据作为正样本,负样本的构成方式为先随机抽取500个正样本,然后随机以其他实体节点替换尾部实体节点进而得到负样本。以正样本和负样本作为样本输入到f函数中进行计算,并最终汇总到目标函数计算梯度,以梯度下降的方式反向传播到代表实体节点和关系的向量中去;经过1000轮的训练后模型基本收敛。
TransE的训练是作为后续模型的预训练过程,所得到实体节点和关系的向量lookup table均会被用于下游的任务中。这个过程称为迁移学习,把从其他任务得到的结果拿到当前的任务中去使用,这样可以避免出现样本量过少的问题。
2)诊断网络是基于知识图谱中疾病类型的实体节点和与之直接或者间接相连的实体节点去做模拟诊断的神经网络。这个神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致,本实施例中同为512。中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数,能够获取更有效的反向传播信号、避免梯度消失的情况。最后输出层的维度与知识图谱中疾病类型的实体节点的数量相一致,并接softmax函数,目的是要把输出的数值压缩到0到1之间然后做softmax回归。
目标函数采用cross entropy,为以下形式:
cross entropy是常用作机器学习分类问题目标损失函数的一种计算方式。其中,N为疾病类型的实体节点的数量,i为当前实体节点的下标,Si是当前实体节点所获得权重占总体比例的数值,也就是归一化后的概率值,yn为当前实体节点的标签。
针对此目标函数进行1000轮的训练过程,每轮随机从知识图谱中抽取500个疾病类型的实体节点,并搜索与之直接相连或者间接相连的其他实体节点,搜索深度为2。为了给模型增加随机的效果以更贴近于真实世界的情况,本实施例采取随机舍弃实体节点的方式处理这一批次的实体节点,然后根据实体节点的ID即刻从TransE生成的向量lookuptable中找到对应的向量,如此,关系向量也是通过这种方式找到。对于间接相连的实体向量,要经过实体向量和对应关系向量相加而得到虚拟实体向量再做下一步计算,对于直接相连的实体向量,则不需要做额外操作。得到直接实体向量或者虚拟实体向量之后,通过对这些向量求和就可以得到诊断网络的输入并开始前向计算过程,最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,然后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程。
3)决策网络是用于评判在问诊过程当中,当前所获得到的证据是否充足的神经网络,假如当前的证据是充足的话,就可以用诊断网络做诊断。决策网络是决定问诊过程是否能快速并准确地完成的关键。这个神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致,在本实施例中同为512。中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数,能够获取更有效的反向传播信号、避免梯度消失的情况。最后输出层的维度为1,并接sigmoid函数,目的是要把输出的数值压缩到0到1之间然后做logistic回归。
目标函数采用cross entropy,为以下形式:
其中hθ为sigmoid函数,x是网络最后一层的输出,y为实际结果。
针对上述目标函数进行1000轮的训练过程,每轮随机从知识图谱中抽取500个疾病类型的实体节点,并搜索与之直接相连或者间接相连的其他实体节点,搜索深度为2。为了给模型增加随机的效果以更贴近于真实世界的情况,本实施例采取随机舍弃实体节点的方式处理这一批次的实体节点。然后根据实体节点的ID即刻从TransE生成的向量lookuptable中找到对应的向量,如此,关系向量也是通过这种方式找到。对于间接相连的实体向量,要经过实体向量和对应关系向量相加而得到虚拟实体向量再做下一步计算;对于直接相连的实体向量,则不需要做额外操作。得到直接实体向量或者虚拟实体向量之后,通过对这些向量求和就可以得到决策网络的输入并开始前向计算过程。这里需要注意的是,在训练的过程当中,决策网络是要依赖上一阶段产生的诊断网络的。当以相同的数据输入到诊断网络中,如果诊断到的结果疾病是当前样本的疾病,则这个输入为正样本,决策网络的回归目标应该为1,说明当前所获得的证据充足,可以做决策;假如诊断到结果不是当前样本的疾病,则这个输入为负样本,决策网络的回归目标应该为0,说明当前所获得的证据不充分,当前暂不可以做决策。最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,然后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程。
4)行动网络是整个问诊***的核心,主要负责根据病人主动汇报的相关症状和当前已经收集到的证据输出在问诊过程当中当前应该询问的问题所关联的症状。这个神经网络同样采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致,在本实施例中同为512。中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数,能够获取更有效的反向传播信号、避免梯度消失的情况。最后输出层的维度和知识图谱中与疾病关联的任何类型实体节点的数量相一致,并接softmax函数,目的是要把输出的数值压缩到0到1之间然后做softmax回归。
目标函数采用cross entropy,为以下形式:
其中,M为与疾病关联的任何类型实体节点的数量;Si是当前实体节点所获得权重占总体比例的数值,也就是归一化后的概率值,ym为当前实体节点的标签。
对于行动网络的训练,是基于Q-learning的强化学习方式以及诊断网络和决策网络进行的。这里假设有一个agent在进行问诊环节,在训练中,估计价值的方式采取的是TD-based(temporal difference based)形式,把两个时刻之间的差值转换成回归的问题。具体可以用以下的表达式来说明:
Vπ(st)=Vπ(st+1)+rt
rt=Vπ(st)-Vπ(st+1)
Qπ(st,at)=rt+Qπ(st+1,π(st+1))
其中,V是值函数,Vπ(st)代表当前agentπ在遇到当前状态st计算出的评价值;rt则是两个时刻之间获得奖励的差值,也是迭代目标;Qπ(st,at)代表agent在遇到st状态下做出动作at所获得的价值。
此外,为了增加训练过程当中的随机性,促使agent往更多样化的角度去寻找更好的问诊路径,本实施例增加了epsilon greedy的训练模式,在一定的概率条件下采取随机做动作的方式来试探更具有创造性的行动。
其中,Q(s,a)代表agent在面对状态s的情况下做出动作a所获得的从当前步骤到回合结束的评价指标估计值,在这里取其最大值。这是一般情况,也就是当随机取值(取值范围从0到1之间)小于∈的时候,应该按照能使评价最大的action作为当前选择的a;另外在非一般情况下,也就是当随机取值(取值范围从0到1之间)大于或等于∈的时候,随机选择一个action作为当前选择的a。
另外,为了提升训练效率,使用replay buffer的方式,把agent交互的数据保存到缓冲区中,在训练的时候随机从缓冲区中抽取样本输入到网络进行训练。并且,缓冲区中的数据会不断依靠最新的agent去做交互获取,以达到进化的目的。
针对以上的设定进行20000个episode的训练过程,最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,让后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程。
效果评价
经过上述的训练过程获得了具有问诊能力的模型后,进行测试评价效果。在知识图谱的基础上,随机抽取出2000个疾病样本并随机去除与这些疾病直接或者非直接关联的症状或者其他实体节点后,输入到模型中进行问诊过程并最终给出诊断结果列表。该列表是带有概率输出的,按照概率从高到底排列,分别取最高概率、前三概率、前五概率的结果做效果测算,假如目标疾病分别在以上3个列表中出现,则算作诊断成功。总体测算结果如表1所示,可以看出在平均15次询问症状的过程中,最终得到诊断结果的前5疾病包含了目标疾病的可能性达到97%。
表1
done | done_top3 | done_top5 | times | |
count | 2000.000000 | 2000.000000 | 2000.00000 | 2000.000000 |
mean | 0.887000 | 0.961000 | 0.97000 | 15.166000 |
std | 0.316672 | 0.193643 | 0.17063 | 10.137546 |
min | 0.000000 | 0.000000 | 0.00000 | 6.000000 |
25% | 1.000000 | 1.000000 | 1.00000 | 7.000000 |
50% | 1.000000 | 1.000000 | 1.00000 | 11.000000 |
75% | 1.000000 | 1.000000 | 1.00000 | 20.000000 |
max | 1.000000 | 1.000000 | 1.00000 | 35.000000 |
本实施例的辅助智能问诊***的模型是以深度学习框架pytorch实现的,并最终被整合到Django服务框架中以http接口的方式对外提供服务。本实施例***使用Kubernetes对整合到Docker容器中的微服务进行管理编排工作,并使用动态监测访问量的守护进程实时监控应用的服务情况以应对海量的用户请求,能做到弹性伸缩合理利用计算资源。
另外,本实施例***使用无状态服务设计,用户请求数据并不直接存储在应用的管理内存中,而是存储在高可用的分布式内存数据库Redis中,该数据库具有较强容灾能力,这样辅助智能问诊***可以在保证访问速度的同时也确保了用户会话数据的安全性和可用性,即使在服务节点宕机的情况下也能由动态伸缩的新启动服务继续处理未完成的操作。
此外,每一个单体微服务应用都是采用了GPU加速计算,比传统的CPU计算性能高,保证了用户的体验。本实施例***也使用了Gunicon技术提升单体应用的服务性能。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (3)
1.一种基于深度强化学习的辅助智能问诊***,其特征在于,包括知识图谱和模型;
知识图谱:用于组织医学领域知识的数据结构,为一个有向图,由多个事实组成,其中每个事实由头部实体节点、尾部实体节点和从头部实体节点指向尾部实体节点的关系组成,称为三元组;
模型:包括用于把知识图谱的实体节点和关系映射到向量空间的translation-basedembedding模型、用于诊断的诊断网络、用于判断证据充分性的决策网络和用于问诊流程关联问题的行动网络;
1)Translation-based embedding,即TransE:TransE的目标函数如下所示:
L=∑(h,r,t)∈S∑(h′,r,t′)∈S′max(0,f(h,r,t)+γ-f(h′,r,t′));
其中f是计算头部实体节点与关系的和与尾部实体节点的距离函数:
f=h或h’+r-t或t’;
S为正样本的集合,即所有真实存在的三元组,h、t为正样本中的实体,分别表示头部实体节点和尾部实体节点;而S’为负样本的集合,为虚构的三元组集合,h’、t’为负样本中的实体,分别表示头部实体节点和尾部实体节点;
在训练的时候,首先为每一个实体节点e对应的每一个维度赋予初始值:
接着对于每一个关系r也赋予初始值:
并做归一化:
r←r/||r||;
然后开始训练;k代表向量的维度;
训练过程采取的是多轮的训练策略,其中每一轮都会随机地从真实存在的三元组中抽取设定数量的数据作为正样本,负样本的构成方式为先随机抽取设定数量的正样本,然后随机以其他实体节点替换尾部实体节点进而得到负样本;以正样本和负样本作为样本输入到f函数中进行计算,并最终汇总到目标函数计算梯度,以梯度下降的方式反向传播到代表实体节点和关系的向量中去;完成训练后模型基本收敛;
2)诊断网络是基于知识图谱中疾病类型的实体节点和与之直接或者间接相连的实体节点去做模拟诊断的神经网络,该神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致;中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数;最后输出层的维度与知识图谱中疾病类型的实体节点的数量相一致,并接softmax函数,目的是要把输出的数值压缩到0到1之间然后做softmax回归;
目标函数采用cross entropy,为以下形式:
N为疾病类型的实体节点的数量,i为当前实体节点的下标,Si是当前实体节点所获得权重占总体比例的数值,也就是归一化后的概率值,yn为当前实体节点的标签;
针对此目标函数进行设定轮数的训练过程,每轮随机从知识图谱中抽取设定数量的疾病类型的实体节点,并搜索与之直接相连或者间接相连的其他实体节点;采取随机舍弃实体节点的方式处理这一批次的实体节点,然后根据实体节点的ID即刻从TransE生成的向量lookup table中找到对应的向量;对于间接相连的实体向量,要经过实体向量和对应关系向量相加而得到虚拟实体向量再做下一步计算,对于直接相连的实体向量,则不需要做额外操作;得到直接实体向量或者虚拟实体向量之后,通过对这些向量求和就可以得到诊断网络的输入并开始前向计算过程,最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,然后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程;
3)决策网络是用于评判在问诊过程当中,当前所获得到的证据是否充足的神经网络,如果当前的证据是充足的话,就可以用诊断网络做诊断;该神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致;中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数;最后输出层的维度为1,并接sigmoid函数,目的是要把输出的数值压缩到0到1之间然后做logistic回归;
目标函数采用cross entropy,为以下形式:
其中hθ为sigmoid函数,x是决策网络最后一层的输出,y为实际结果;
针对上述目标函数进行设定轮数的训练过程,每轮随机从知识图谱中抽取设定数量的疾病类型的实体节点,并搜索与之直接相连或者间接相连的其他实体节点,采用随机舍弃实体节点的方式处理这一批次的实体节点;然后根据实体节点的ID即刻从TransE生成的向量lookup table中找到对应的向量;对于间接相连的实体向量,要经过实体向量和对应关系向量相加而得到虚拟实体向量再做下一步计算;对于直接相连的实体向量,则不需要做额外操作;得到直接实体向量或者虚拟实体向量之后,通过对这些向量求和就可以得到决策网络的输入并开始前向计算过程;
训练的过程中,当以相同的数据输入到诊断网络中时,如果诊断到的结果疾病是当前样本的疾病,则这个输入为正样本,决策网络的回归目标应该为1,说明当前所获得的证据充足,可以做决策;假如诊断到结果不是当前样本的疾病,则这个输入为负样本,决策网络的回归目标应该为0,说明当前所获得的证据不充分,当前暂不可以做决策;最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,然后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程;
4)行动网络是根据病人主动汇报的相关症状和当前已经收集到的证据输出在问诊过程当中当前应该询问的问题所关联的症状的神经网络;该神经网络采用三层全连接形式,输入层的维度与TransE训练的实体和关系的向量维度k相一致;中间隐层的维度设定为256,并且隐层的输出会接着ReLu激活函数;最后输出层的维度和知识图谱中与疾病关联的任何类型实体节点的数量相一致,并接softmax函数,目的是要把输出的数值压缩到0到1之间然后做softmax回归;
目标函数采用cross entropy,为以下形式:
其中,M为与疾病关联的任何类型实体节点的数量;Si是当前实体节点所获得权重占总体比例的数值,也就是归一化后的概率值,ym为当前实体节点的标签;
对于行动网络的训练,是基于Q-learning的强化学习方式以及诊断网络和决策网络进行的;假设有一个agent在进行问诊环节,在训练中,估计价值的方式采取的是TD-based形式,把两个时刻之间的差值转换成回归的问题;具体可以用以下的表达式来说明:
Vπ(st)=Vπ(st+1)+rt
rt=Vπ(st)-Vπ(st+1)
Qπ(st,at)=rt+Qπ(st+1,π(st+1))
其中,V是值函数,Vπ(st)代表当前agentπ在遇到当前状态st计算出的评价值;rt则是两个时刻之间获得奖励的差值,也是迭代目标;Qπ(st,at)代表agent在遇到st状态下做出动作at所获得的价值;
针对以上的设定进行设定数量的episode的训练过程,最终通过上述目标函数计算出损失值和梯度,通过反向传递的过程加上与模型学习率的乘积按照矩阵元素点对点的方式叠加加到模型的参数中并固定下来,让后等待下一轮数据到来再重复以此方式进行计算,最终收敛完成训练过程。
3.根据权利要求1所述的***,其特征在于,在行动网络的训练中,使用replay buffer的方式,把agent交互的数据保存到缓冲区中,在训练的时候随机从缓冲区中抽取样本输入到网络进行训练;并且,缓冲区中的数据会不断依靠最新的agent去做交互获取,以达到进化的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667636.1A CN113470811A (zh) | 2021-06-16 | 2021-06-16 | 一种基于深度强化学习的辅助智能问诊*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667636.1A CN113470811A (zh) | 2021-06-16 | 2021-06-16 | 一种基于深度强化学习的辅助智能问诊*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113470811A true CN113470811A (zh) | 2021-10-01 |
Family
ID=77870103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110667636.1A Pending CN113470811A (zh) | 2021-06-16 | 2021-06-16 | 一种基于深度强化学习的辅助智能问诊*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113470811A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873379A (zh) * | 2017-03-31 | 2017-06-20 | 北京工业大学 | 一种基于迭代adp算法的污水处理最优控制方法 |
US20180089553A1 (en) * | 2016-09-27 | 2018-03-29 | Disney Enterprises, Inc. | Learning to schedule control fragments for physics-based character simulation and robots using deep q-learning |
CN109346169A (zh) * | 2018-10-17 | 2019-02-15 | 长沙瀚云信息科技有限公司 | 一种人工智能辅助诊疗***及其构建方法、设备和存储介质 |
CN111104522A (zh) * | 2019-12-20 | 2020-05-05 | 武汉理工大学 | 一种基于知识图谱的区域产业关联效应趋势预测方法 |
CN111581395A (zh) * | 2020-05-06 | 2020-08-25 | 西安交通大学 | 一种基于深度学习的模型融合三元组表示学习***及方法 |
CN112037912A (zh) * | 2020-09-09 | 2020-12-04 | 平安科技(深圳)有限公司 | 基于医疗知识图谱的分诊模型训练方法、装置及设备 |
CN112434171A (zh) * | 2020-11-26 | 2021-03-02 | 中山大学 | 一种基于强化学习的知识图谱推理补全方法及*** |
CN112687388A (zh) * | 2021-01-08 | 2021-04-20 | 中山依数科技有限公司 | 一种基于文本检索的可解释性智慧医疗辅助诊断*** |
-
2021
- 2021-06-16 CN CN202110667636.1A patent/CN113470811A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089553A1 (en) * | 2016-09-27 | 2018-03-29 | Disney Enterprises, Inc. | Learning to schedule control fragments for physics-based character simulation and robots using deep q-learning |
CN106873379A (zh) * | 2017-03-31 | 2017-06-20 | 北京工业大学 | 一种基于迭代adp算法的污水处理最优控制方法 |
CN109346169A (zh) * | 2018-10-17 | 2019-02-15 | 长沙瀚云信息科技有限公司 | 一种人工智能辅助诊疗***及其构建方法、设备和存储介质 |
CN111104522A (zh) * | 2019-12-20 | 2020-05-05 | 武汉理工大学 | 一种基于知识图谱的区域产业关联效应趋势预测方法 |
CN111581395A (zh) * | 2020-05-06 | 2020-08-25 | 西安交通大学 | 一种基于深度学习的模型融合三元组表示学习***及方法 |
CN112037912A (zh) * | 2020-09-09 | 2020-12-04 | 平安科技(深圳)有限公司 | 基于医疗知识图谱的分诊模型训练方法、装置及设备 |
CN112434171A (zh) * | 2020-11-26 | 2021-03-02 | 中山大学 | 一种基于强化学习的知识图谱推理补全方法及*** |
CN112687388A (zh) * | 2021-01-08 | 2021-04-20 | 中山依数科技有限公司 | 一种基于文本检索的可解释性智慧医疗辅助诊断*** |
Non-Patent Citations (5)
Title |
---|
KAMANCHI C ET AL: "Successive Over-Relaxation Q-Learning", IEEE CONTROL SYSTEMS LETTERS, vol. 4, no. 1, 31 January 2020 (2020-01-31), pages 55 - 60, XP011731521, DOI: 10.1109/LCSYS.2019.2921158 * |
唐雯 等: "循环神经网络模型在腹膜透析临床预后预测中的初步应用", 北京大学学报(医学版), vol. 51, no. 3, 22 May 2019 (2019-05-22), pages 602 - 608 * |
张旭 等: ""脑功能联结图谱与类脑智能研究"先导专项研究进展和展望", 中国科学院院刊, vol. 31, no. 07, 31 December 2016 (2016-12-31), pages 737 - 746 * |
张明月: "考虑产品特征的个性化推荐及应用", 30 April 2019, 企业管理出版社, pages: 118 - 120 * |
陈慧岩 等: "智能车辆理论与应用", 31 July 2018, 北京理工大学出版社, pages: 144 - 145 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111199550B (zh) | 图像分割网络的训练方法、分割方法、装置和存储介质 | |
WO2021159742A1 (zh) | 图像分割方法、装置和存储介质 | |
CN111632379B (zh) | 游戏角色行为控制方法、装置、存储介质及电子设备 | |
Pan et al. | BIM log mining: Exploring design productivity characteristics | |
Feng et al. | An intelligent decision support system for fuzzy comprehensive evaluation of urban development | |
Me et al. | Machine learning approach to model sport training | |
CN111582469A (zh) | 多智能体协作信息处理方法、***、存储介质、智能终端 | |
CN109887587A (zh) | 智能分诊方法、***、装置及存储介质 | |
CN106411896A (zh) | 基于apde‑rbf神经网络的网络安全态势预测方法 | |
TW202203212A (zh) | 關鍵點檢測方法、電子設備及電腦可讀儲存介質 | |
CN114896899B (zh) | 一种基于信息交互的多智能体分散式决策方法及*** | |
CN114639483A (zh) | 一种基于图神经网络的电子病历检索方法及装置 | |
Rongjun et al. | Collaborative extreme learning machine with a confidence interval for P2P learning in healthcare | |
CN107272885A (zh) | 一种用于智能机器人的人机交互方法及装置 | |
CN111477336A (zh) | 传染病诊断数据的融合方法、***及存储介质 | |
CN116992980A (zh) | 一种基于超网络和联邦学习的预后预测预警模型训练方法、***及设备 | |
CN116204716A (zh) | 一种节点信息和标签传播的重叠社区划分预测方法及*** | |
Shan et al. | A hybrid knowledge-based system for urban development | |
CN112819152B (zh) | 一种神经网络训练方法及装置 | |
CN111680798A (zh) | 联合学习模型***和方法、装置和计算机可读存储介质 | |
CN108256030A (zh) | 一种基于本体的密度自适应概念语义相似度计算方法 | |
CN113470811A (zh) | 一种基于深度强化学习的辅助智能问诊*** | |
Feng et al. | Hybrid artificial intelligence approach to urban planning | |
Giabbanelli | A novel framework for complex networks and chronic diseases | |
CN113010772B (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |