谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

132 篇文章 12 订阅
127 篇文章 25 订阅

谷歌在ArXiv上公开了一篇论文,也很可能是谷歌使用深度学习模型在电子病历建模分析方面的首篇文章。这篇论文由“编译器从不警告Jeff,Jeff会警告编译器”的谷歌大脑高级研究员Jeff Dean率队,联合了UCSF、Stanford、UChicago等知名机构的众多大牛。

论文地址:https://arxiv.org/pdf/1801.07860.pdf

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

在这篇文章里,Google选择了UCSF、Stanford、UChicago作为合作单位,在两个大的医院系统——CSF和UChicago的电子病历数据上,用深度学习模型预测四件事情:住院期间的死亡风险、规划之外的再住院风险、长时间的住院天数以及出院的疾病诊断。

据雷锋网了解,本篇论文的作者团队背景豪华。Quoc Le等人是深度学习界耳熟能详的人物。此外,Nigam Shah是Stanford生物医学信息中心的终身教授,一直大力推动机器学习、数据挖掘技术在医学信息学中的应用。而Atul Butte则是医学信息学界最有影响力的学者之一,本人是UCSF计算健康科学中心(Institute for Computational Health Science)的首任director,美国医学院院士。

他们总结了这篇论文得到的两个成果。首先,提出了一个通用的数据处理途径,可以将原始的EHR数据作为输入,并且在没有手动特征协调的情况下生成FHIR标准输出。这一成果使得系统可以相对容易地部署到新医院。

其次,基于两家具有普通患者群体(不局限于ICU)的医院数据,展示了在各种预测问题和设置中使用深度学习模型的有效性。

雷锋网了解到,作者从2012-2016年的加州大学旧金山分校(UCSF)以及2009-2016年的芝加哥大学医学(UCM)中获取了EHR数据。他们把每个卫生系统称为A医院和B医院。所有电子健康记录都进行了脱敏。这两个数据集都包含患者人口统计数据、诊断记录、药物治疗、生命体征等数据。UCM数据集(但不是UCSF)还包含了不确定的、免费的医学注释。

此外,作者还采用了FHIR标准,开发了一个单独的数据结构,而不需要手动创建的数据集。

采用的三种预测模型

尽管考虑到数据的巨大潜力,但是提高预测模型的可扩展性是困难的,因为对于传统的预测建模技术来说,要预测的每一个结果都需要创建具有特定变量的自定义数据集。人们普遍认为,分析模型中80%的工作是预处理、合并、自定义和清理数据集,而不是对此进行分析,这极大地限制了预测模型的可扩展性。

我们主要采用了三种模型:LSTM、前馈神经网络和决策树。在输入模型之前,所有电子病历中的事件全都被嵌入到一个统一的低维空间中。

我们使用了两个美国学术医疗中心的EHR数据来验证我们的方法,其中包括住院至少24小时的216221名病例。深度学习模型对住院期间死亡风险(AUROC)、规划之外的再住院风险(AUROC 0.75-0.76)、长时间的住院天数(AUROC 0.85-0.86)和出院的疾病诊断(频率加权AUROC 0.90)都具有较高的准确性。这些模型在所有情况下都优于最先进的传统预测模型。

事实上,常规收集的病人医疗数据还没有用于临床医生改善护理服务的预测统计模型。另一个挑战是,电子健康记录(EHR)中潜在的预测变量的数量可能会很容易地达到数千个之多。传统的建模方法仅仅通过选择非常有限的常用变量,由此产生的模型可能会产生不精确的预测:假阳性的预测可能会加重医生、护士的负担。

深度学习和人工神经网络的发展可以使我们应对这些挑战。一个关键的优点是,调查人员通常不需要指定考虑哪些潜在的预测变量,以及如何进行组合;相反,神经网络可以学习来自数据本身的关键因素和交互表示。具体来说,这种深度学习方法可以将电子健康记录(包括自由文本注释)纳入到对一系列临床问题和结果的预测中,这些问题和结果比传统的预测模型要好得多。

用FHIR标准对电子病历进行映射

使用计算机系统从“高度组织和记录的数据库”中学习临床数据具有悠久的历史。尽管目前EHRs的数据已经数字化,但最近对医学文献的系统回顾发现,用EHR数据构建的预测模型使用的变量的中位数为27,依赖于传统的广义线性模型,并且是在单个中心使用数据构建的。在临床实践中,最常用的是更简单的模型,比如CURB-65,这是一个5因素模型,或者是单参数的警告分数。

对每个患者使用更多可用数据的一个主要挑战是,来自多个站点的卫生数据缺乏标准和语义互操作性。通常为每个新的预测任务选择一组独特的变量,通常需要耗费大量劳动来提取和规范来自不同站点的数据。

重要的前期研究集中于在传统关系数据库中通过耗时的数据标准化来解决可扩展性问题,如OHDSI联盟定义的OMOP标准。这样的标准允许跨站点的预测模型的一致性开发,但是只适应原始数据的一部分。

最近,一种被称为FHIR的数据结构被开发出来,以一种一致的、分层的、可扩展的容器格式来表示临床数据,而不考虑卫生系统,它简化了站点之间的数据交换。然而,这种格式并不保证语义一致性,增加了处理不协调数据的额外技术需要。

通过电子健康记录和深度学习方法的发展,对电子健康记录数据的深度学习的应用迅速发展。在一项著名的研究中,研究人员使用自动编码器预测一组特定的诊断结果。随后的工作扩展了这种方法,通过对患者记录中发生的事件的时间序列进行建模,这可以提高依赖于事件顺序的场景的准确性,以及卷积和递归神经网络。

一般来说,以前的工作集中于EHR中可用的特性的子集,而不是在电子健康记录中所有可用的数据,包括临床自由文本注释以及大量结构化和半结构化数据。由于重症监护(模拟)数据的医疗信息市场的可用性,许多先前的研究也集中在单一中心的ICU患者;其他单中心研究也关注ICU患者。每个ICU患者的数据都比普通医院病人多得多,尽管非ICU的住院人数比ICU的住院人数多出6倍。

深度学习能够提供有效预测

我们感兴趣的是,深度学习能否在广泛的临床问题和结果中产生有效的预测。因此,我们选择了来自不同领域的结果,包括住院期间的死亡风险;规划之外的再住院风险;长时间的住院天数;出院的疾病诊断。

住院期间的死亡风险:我们预测住院病人的死亡率,定义为“过期”的出院处置。

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

图1:来自每个卫生系统的数据,一个合适的FHIR资源,并按时间顺序排列。深度学习模型可以在做出预测之前使用所有可用的数据。因此,不管任务如何,每个预测都使用相同的数据。

规划之外的再住院风险:我们预计将在30天内重新入院,并在出院后30天内入院。如果入院日期在出院后30天内,住院治疗被认为是“重新入院”。一个重新接纳的计划只能算一次。

长时间的住院天数:我们预测至少7天的时间,住院时间是指住院和出院之间的时间。

出院的疾病诊断:我们预测了全部的初级和二级ICD-9账单诊断。

我们共纳入了216221例住院病例,涉及114003例独立病人。住院死亡率为2.3%(4930/ 216221),计划外30天的入院率为12.9%(27918/216221),较长住院时间(23.9%),患者的出院诊断范围为1到228次。人口统计和利用特征见表1。为了预测住院死亡率,AUROC在24小时内入院后,医院A为0.95(95% CI 0.94 - -0.96),医院B为0.93(95% CI 0.92 - -0.94)。这明显比传统的预测模型更准确。

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

图2:箱线图显示了EHR中的数据量,以及它在接收过程中的时间变化。我们将一个令牌定义为电子健康记录中的单个数据元素,如药物名称,在特定时间点。每个令牌都被认为是深度学习模型的潜在预测因子。箱线图中的线表示中位数,方框表示四分位范围(IQR),须为IQR的1.5倍。令牌数量稳步增加,从入院到出院。出院时,A医院的代币数中位数为86477,医院B为122961。

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

图3:接收人操作曲线下的区域显示了深度学习和基线模型在入院前和住院后12小时内的住院死亡率的预测。 对于住院病死率,与加利福尼亚大学旧金山分校(UCSF)和芝加哥大学医学院(UCM)分组的基线相比,深度学习模型在每个预测时间都实现了更高的识别率。 这两种模式在前24小时都有所改善,但深度学习模式在UCM提前约24小时达到类似的精确度,甚至提前48小时达到UCSF的水平。错误条表示引导的95%置信区间。

先进性和局限性

我们可以总结一下,这种深度学习方法,将整个电子健康记录纳入其中,对各种临床问题和结果进行预测,结果超过了最先进的传统预测模型。

谷歌传奇人物 Jeff Dean 联手顶级医学院,发表首篇电子病历 AI 论文

图4:患者记录显示一名患有恶性胸腔积液和脓胸的转移性乳腺癌患者。在图的顶部的病人时间线包含了每个时间步骤的圆圈,其中至少有一个标记为病人而存在,而水平线显示的是数据类型。我们训练了每种数据类型的模型,并在红色中突出显示了模型所关注的标记——非突出显示的文本没有被处理,而是显示在上下文环境中。这些模型在药物、护理流程和临床记录中提取特征来进行预测。

因为我们感兴趣的是深度学习能否在不同的医疗领域产生有效的预测,该方法在临床护理预测模型的可扩展性方面具有重要的先进性。首先,我们的研究方法是将整个EHR的单一数据表示作为事件序列,允许该系统用于任何可能在临床或操作上有用的预测,而无需额外的数据准备。传统的预测模型需要大量的工作来准备一个具有特定变量的数据集,由专家选择,并由分析师为每一个新的预测进行组装。这些数据的准备和清理通常消耗掉预测分析项目80%的工作量,限制了预测模型在医疗保健行业中的可扩展性。

其次,用病人的所有预测图来做预测不仅能提高可扩展性,还能提供更多的数据来做出准确的预测。对于出院时的预测,我们的深度学习模型考虑了超过460亿份EHR数据,并在医院停留的时间比传统模型更准确地做出了预测。

据我们所知,我们的模型在预测死亡率(0.92-0.94 vs 0.91)上优于现有的EHR文献,例如评价死亡风险的NEWS分数,以及评价再住院风险的HOSPITAL分数等,作者对这些模型做了微小的改进。最终通过比较,作者的模型都显著好于这些传统模型(AUC普遍提高0.1左右)。

然而,这种方法的新颖之处并不仅仅在于增量模型性能的改进。更确切地说,这种预测性能是在没有人工选择专家认为重要的变量的情况下实现的,这与深度学习对EHR数据的其他应用类似。相反,我们的模型可以访问每个病人的成千上万个预测因子,包括自由文本注释,并了解什么对于特定的预测是重要的。

此外,我们的研究也有重要的局限性。

第一,它是一个回顾性的研究,具有所有通常的局限性。

第二,尽管人们普遍认为准确的预测可以用于改善护理,但这并不是一个预料之中的结论,需要进行前瞻性试验来证明这一点。

第三,个性化预测的一个含义是,它们利用了许多特定EHR的小数据点,而不是一些常见的变量。未来的研究需要确定如何在一个站点上训练的模型能够最好地应用于另一个站点,这对于那些具有有限历史数据的站点尤其有用。作为第一步,我们证明了类似的模型架构和训练方法为两个地理上截然不同的卫生系统提供了可比较的模型,但是在这一点上还需要进一步的研究。

最后,计算资源耗费大,花费时间大于20万GPU小时。

在我们的研究中,最具挑战性的预测可能是预测病人的全部出院诊断。由于几个原因,这个预测很困难。首先,一个病人可能有1到228次出院诊断范围,而这个数字在预测的时候是不知道的。

其次,每项诊断可以从大约14025个ICD-9诊断代码中选择,这使得可能的组合总数指数级增大。最后,许多ICD-9编码在临床上类似,但在数字上是不同的(例如,011.30“支气管结核,未说明”与011.31“支气管结核,细菌学或组织学检查没有完成”)。这就产生了将随机误差引入预测的效果。微F1评分是一个指标,当预测超过一个单一结果(例如多个诊断)时,我们的模型比在ICU数据集的文献中所报告的更少。这是一个概念验证,证明可以从日常的EHR数据中推断出诊断,这可以帮助触发决策支持或临床试验招募。

使用自由文本进行预测还可以提高预测的可解释性。 由于沟通机制的问题,临床医生历来不了解神经网络模型。 我们展示了我们的方法如何可视化模型“查看”每个病人的数据,临床医生可以使用这些数据来确定预测是否基于可信的事实,并可能有助于确定行动。

在我们的案例研究中,该模型确定了患者的历史和放射学研究结果的元素,这是至关重要的数据点,临床医生也会使用。这种方法可以解决这样的问题:这种“黑盒”方法是不可靠的。然而,对于深度学习模型的可解释性还有其他可能的技术,需要进一步研究这一方法的认知影响和它的临床效用。

#############

邓侃博士又一力作,看深度学习如何让电子病历分析取得突破:Word2Vec、AutoEncoder让文字转换为张量,有助于更精准的预测;医学知识图谱,让我们能够清晰、量化地定义疾病表型;将图像也编码成张量,构建统一的患者画像,完整表达病情描述,实现临床导航和发病预测……曾经是冷门中的冷门,正在迎来一个又一个的进展。

2018年1月,谷歌头号技术大神 Jeff Dean,携手谷歌大脑项目组 30 余名研究人员,联袂发表了一篇论文,题为 “Scalable and accurate deep learning for electronichealth records”。

把深度学习技术应用于病历数据分析,原先是深度学习这个热门领域中的冷门。谷歌大脑这篇论文,把冷门引爆成了热门。

其实,把深度学习技术应用于病历数据分析,并非只有谷歌大脑在做。2018年2月,佛罗里达大学的几位学者,梳理了这个领域的前沿进展,在 Arxiv 上发表了一篇综述,题为 “Deep EHR: A Survey of Recent Advances in Deep LearningTechniques for Electronic Health Record (EHR) Analysis”。

纵览性的论文,总是值得读读。了解同行,促进自己。

建模,编码,把病情描述转换为数值张量

病历数据是一条时间序列,记录着收集病情、诊断、治疗的过程。

病历数据也是一条空间路径。不妨把症状、体征、化验和检查指标、疾病、药品、手术等等,都视为离散的点。诊断和治疗的过程,是把这些离散的点,串连在一起,成为一条路径。

不论是用时间序列,还是空间路径,给病历数据建模,验证模型是否正确的办法之一,是验证模型的预测是否精准。譬如输入病情描述,预测罹患什么疾病。

学者们遇到的第一个问题是,如何表达病情描述?一个办法是直接用词汇,例如 “胃痛”、“腹泻”、“白细胞计数超标” 。也可以换一个办法,先做编码(encoding),把词汇转换成张量,然后把张量作为模型的输入。

研究发现,先做编码预处理,会使预测精度大大提高。为什么会这样?

想一想地图,标定位置的办法有两个,一个是用名称,譬如 “清华大学正门” ,另一个是用坐标(lat,lon)。很显然,用坐标数值来标定位置,更有利于规划导航路线。

原因是,坐标数值更容易表达各个位置之间的空间距离。而名称词汇却无法做到相同效果,单从名称词汇来看,谁知道 “清华大学正门” 与 “五道口” 的距离有多远?

如何把医学词汇转换成数值张量?老套路,word2vec。外加一些改进,譬如 autoencoder。

数值张量有多神奇?“胃痛” 与 “腹泻”,无一字相同,但是两个张量,距离相近。

医学知识图谱,张量超点,精确定义疾病表型

编码,把文字词汇转换为数值张量,不仅能够提高疾病预测的精度,而且有利于病历结构化。

“患者无诱因出现咳嗽,持续三日,夜间加剧,浓痰”,咳嗽是主词,其余是属性。用传统方法提炼主词与属性,非常吃力。

把文字词汇转换成数值张量,相当于把这段话,投射到医学知识图谱上去,谁是主词,谁是属性,一清二楚。

知识图谱,无非是点和边的关系。用数值张量而不是用文字词汇,来表达图谱中的点,是共识。更大的挑战,是如何表达图谱中的边。

不存在单一症状与单一疾病之间的静态关系。临床实践表明,多个症状多个化验和检查指标,组合在一起,才能正确诊断罹患的是什么疾病。而且病情组合与疾病之间的关系,往往是非线性的,不能用一个静态常数来表达。

也就是说,医学知识图谱与电子地图相比,点相似,而边不同

一个解决办法是把小点聚合成大点,譬如把与某个疾病相关的,多个症状体征和多个化验检查指标的组合,聚合在一起,形成一个超点(hypernode),然后把这个超点与这个疾病关联在一起。

病情组合的超点,与疾病之间的关联,不再是复杂的非线性关系,而是简单的常数关系。病情组合的超点与疾病,是一对一对等关系。一对一对等关系意味着什么?病情组合的超点变成疾病表型(phenotyping)。

疾病表型的新方法,这事儿意义重大。

医学教科书对各种疾病的表型定义,往往界定不清。同样一个病情组合,可能符合多种疾病的表型。为什么医学教科书不把多种相似疾病之间的甄别边界,描述得更清晰、更量化?因为文字词汇很难把非线性的边界,表达得很准确。

教科书的描述不清晰,医生们如何甄别相似疾病呢?靠自己在实践中摸索。医生正式上岗前,都要有很长的实习期。一代又一代医生,以一代又一代患者的生命为代价,自行总结疾病的甄别界定,而且这个经验往往无法分享传承。

如果医学知识图谱的张量超点,能够精确地界定疾病表型,功德无量。

文字与图像的统一编码、临床导航、患者画像与发病预测

不仅可以把文字词汇,编码成数值张量,而且也可以把医学影像的像素,也编码成数值张量。

这样不仅可以智能地自动地读片,撰写检查报告。而且,更大的意义在于,把文字与图像编码成统一的数值张量,用一个张量,完整地表达患者的病情描述

完整的病情描述,大大便利了疾病的诊断,指导下一步需要做的化验和检查,推荐合理的用药处方,为基层医生提供智能的临床导航,大大提高基层医生的临床水平。

如果把患者历次病历,汇总起来,编码成更大的张量,这个更大的张量,实际上等同于患者的健康画像。精准的健康画像,能够预测未来几年,该患者罹患各种疾病的概率。

发病预测的意义,不再局限于临床医学,而且涉及到医疗保险,跨界到了经济学领域。

诊断解释、疾病表型的界定、患者画像的聚类

深度学习模型的本质,是多层隐节点,通过非线性函数相连。输入病情描述数据组合,输出疾病诊断。但是光有结果,没有解释,很难赢得医生和患者的信任。

如何解释深度学习模型的内部推理过程?一个办法是反向追溯。

输入病情描述数据组合,深度学习模型输出疾病诊断。从输出的诊断,反向追溯。确定在最后一层隐节点中,哪些隐节点起了关键作用。然后追溯到倒数第二层隐节点,倒数第三层……渐次反向追溯到输入,查看输入的病情描述组合中,哪些病情描述,对诊断起到决定性作用。

反向追溯,不仅仅可以用诊断解释,也可以用于确定医学知识图谱中的超点的组合。譬如说,通过反向追溯,确定某个疾病与哪些病情描述有关。把这些病情描述,组合起来,构建成医学知识图谱中的超点(hypernode)。

同时,不断变换病情描述的超点中,各个小点的取值,估算各个小点的取值分布,确定什么样的取值分布,会导致疾病的发生,从而界定疾病的表型(phenotyping)。

同理,不断变换患者画像中,各个小点的取值,估算各个小点的取值分布,确定什么样的取值分布,会增加未来发病的概率,从而把不同的患者,聚类成相似人群,方便医保精算。

缺失数据的补足、时间跨度不一致的数据对齐、隐私数据的 HIPAA 脱敏

病历数据处理,有四大难点:1. 多模态,2. 数据缺失,3. 时间跨度不一致,4. 脱敏。

多模态的问题,已经基本解决。把文字、音频、像素,全部编码成统一的数值张量。换句话说,数值张量是超越语言音频图像的数学语言,可以表述各种模态的语义

数据缺失的解决办法,是通过其他相关数据,猜测缺失数据的取值。如何知道哪些数据之间有关联?办法是,预先构建医学知识图谱。

心电图数据的时间跨度,以秒计;脉搏血压的时间跨度,以小时计;查房记录,以天计……不同数据的时间跨度不一致,如何把它们对齐?一个思路是卷积,分层次整合细粒度的数据。

HIPAA 法案规定,病历中 18 项数据涉及患者隐私,譬如姓名和住址。脱敏的问题,等同于在病历的各个段落中,识别这 18 项数据。数值张量的编码,让脱敏问题变得简单。只需要用 attention,在病历的各个段落,找到与患者姓名和住址相近的张量即可。

一句话的总结:深度学习技术,让病历分析取得突破性进展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值