康奈尔大学威尔医学院助理教授王飞,对Google最近挂出的深度电子病历论文进行了导读,网上下载了本文阅读,确实如大牛王飞所说,有点点和这么豪华的作者整容不匹配,可能和电子病历深度学习挖掘的难度很大有关。下面是转载的内容。

     本周,Jeff Dean大神带领一票人马,在ArXiv上挂出了一篇文章,题目叫“Scalable and Accurate Deep Learning for Electronic Health Records”。这篇文章从题目到作者都吊足了大家的胃口。

电子病历数据集 kNN 电子病历数据挖掘_电子病历数据集 kNN

       从题目上看,深度学习就不必多说了,电子病历数据也是近些年来研究的热点,尤其是医学信息学领域。与医学图像相比,电子病历数据量更大,包含的信息更多,并且有时续性,当然,由此带来的挑战也更多,例如隐私性,数据噪音,异质性,等等。这些挑战促成了近些年一大批用机器学习方法分析电子病历的文章,这些文章发表在各大顶级会议上,例如NIPS,ICML,KDD,以及更偏应用的AMIA。

      从作者上看,Jeff Dean就不用多说了,Quoc Le等人也是深度学习界耳熟能详的人物。此外,Nigam Shah是Stanford生物医学信息中心的终身教授,他是医学信息学界非常活跃,一直大力推动机器学习、数据挖掘技术在医学信息学中的应用,并在KDD 2014受邀作为industry keynote speaker。而Atul Butte则是医学信息学界最有影响力的学者之一,当初UCSF把他从Stanford挖过来的时候就引起了不小的轰动。他本人也是UCSF计算健康科学中心(Institute for Computational Health Science)的首任director,美国医学院院士。2017年夏天,小扎与他夫人专门给Atul捐了1000万美金做为Gift来支持他的研究,可见此人的影响力。因此,不论从题目还是作者阵容,此文绝对称得上豪华。

         本文的诞生也并非偶然,2017年5月的时候,Google就广发英雄帖,号召有医疗数据的医学院、医院、各种研究中心等来贡献他们的数据和Google合作,利用Google丰富的计算资源挖掘数据中的价值。而Google一开始则选择了UCSF,Stanford,UChicago做为合作单位,这些单位在当时也都发了新闻作了报道。因此,这篇文章也可以是称得上是万众瞩目,期待已久——大家都想看看Google与这些最好的医学院联合能做出什么来。果不其然,文章一出,就收到很多圈内朋友的消息。

         研究概述:用深度学习分析电子病历,预测4大关键指标

文章在两个大的医院系统,UCSF和UChicago的电子病历数据上,用深度学习模型想要预测四件事情:1)住院期间的死亡风险;2)规划之外的再住院风险;3)长时间的住院天数;4)出院的疾病诊断。

第一件事代表了临床结果,第二代表了医疗质量,第三代表了医疗资源的利用,第四代表了病人情况。记得当初,Heritage fund曾组织过一个竞赛来预测住院天数,并且悬赏300万美金奖励优胜者。

作者的模型都显著好于这些传统模型(AUC普遍提高0.1左右)。

电子病历数据集 kNN 电子病历数据挖掘_数据_02

        论文插图:使用深度学习预测病人住院期间死亡风险,深度学习(实线)在前后24小时时间范围内,都比基线水平(虚线)准确率更高。

        关键的深度学习模型:LSTM、前馈神经网络和决策树

       下面简要介绍一下作者采用的三种模型。要提的一点是,在输入模型之前,所有电子病历中的事件全都被嵌入到一个统一的低维空间中。

传统的长短记忆网络。由于在同一时间点可能有多个事件发生,若这些事件属于不同类型(例如诊断和药品),那么作者就把它们拼接起来;若这些事件属于同一类型,那么作者就把它们进行加权平均,而权重则是通过学习获得,因此作者将该模型称为加权的循环神经网络。

传统的前馈神经网络。为了使用这种方法,我们需要将病人的电子病历事件序列转换为向量表示。为了达到这一目的,作者将每一序列的所有事件进行加权平均,并提出了几种不同的策略来设计权重,而这些权重均与该事件的发生时间到预测时间点的时间间隔相关。尽管具体的设计不同,但这种与时间相关的加权策略在基于电子病历的预测建模中非常常见,例如笔者去年与UCSD的蒋晓谦老师写的关于时间序列中的事件嵌入,以及与MSU的周家雨老师写的时间敏感的长短记忆网络的文章中均有采用。

提升的基于时间的决策桩。这里的决策桩即是单层决策树,在文章中就是一大批二值的决策规则。在实际决策中,每一决策规则被分配一个权重,而最终的预测即是这些决策规则的加权组合的softmax。提升方法(Boosting)被用来选择合适的决策规则。最终,这些规则又被嵌入到一个1024维的空间中,并通过一个两层的前馈神经网络进行非线性变换。

集成。

        中规中矩,并没有太大惊喜

Google在电子病历建模分析方面的首篇文章,并且作者阵容十分豪华。文章写得中规中矩,并没有太多的惊喜。总结起来,我们可以从文章中看出如下一些值得关注的点。

        第一, 数据规模十分有限。尽管作者利用了UCSF和UChicago的数据集,然而总共的病人数量也只有11万。这与其他领域动辄上亿的数据量有着天壤之别。在这种情况下如何有效的训练出有很强推广性的深度学习模型还是一个问号。在笔者之前的相关研究中,过拟合是一个很常见的问题。我们发现一些常用的神经网络中避免过拟合的方法(例如dropout),在这种情况下也不是特别有效。

       第二,模型的互操作性很弱。文章一上来就提到,作者用FHIR标准来对电子病历进行映射,而不必将电子病历数据进行标准化和归一化。说实话,这里写的确实让笔者有点摸不着头脑,在笔者看来作者只是用FHIR标准对电子病历中的事件进行了归类,该是什么事件,还是什么事件。这样在一个数据上训练出来的模型,在第二个数据上还是不能用。而作者也说了这是他们模型的一个局限性,文章中也是在UCSF和UChicago的数据集上分别训练模型,分别评价结果好坏。那么这样的话,数据标准化就仍然是必要的关键步骤,不然如何保证模型的互操作性呢?


电子病历数据集 kNN 电子病历数据挖掘_Google_03


 论文插图:研究中,医疗数据经过处理后按照时间顺序放置,这种处理并非将其统一或标准化,而是将其映射到合适的资源,深度学习模型进行预测时使用的都是相同的数据。

         第三,效果提升并不是非常令人振奋。为什么这么说呢?AUC提升0.1,从绝对数值上来讲确实是不小,但我们要看baseline,也就是跟谁比。从算法的角度讲,本文选取的baseline都很弱。当然这也无可厚非,因为这些baseline都是在实际临床决策中采用的方法,它们大都是基于规则的,并且已被使用了很多年,而本文主要强调的是深度学习方法可能对现代医学产生的影响,因而和它们比较。但是,从另一个角度讲,非深度学习的机器学习方法有很多,文章要展示深度学习算法的优势,笔者认为也应该选取一些机器学习方法做为baseline。此外,这些临床上使用的方法,前面提到的互操作性以及后面要提到的可解释性都很强,而这也是深度学习方法的短板。

          第四,模型的可解释性很弱。文章作者也承认了这一点,并提出了一套归因(Attribution)的方法来试图解释学习到的模型。然而正如作者所说,作者在做归因的时候也只是基于一个模型(前馈神经网络)和一种类型的数据(例如只关注诊断或是药物)。

          第五,计算资源十分强大。作者在文章中提到模型的超参数是由Google Vizier自动调试所得,花费时间大于20万GPU小时。

电子病历分析,任重道远

       当然,以上提出的这些点也是电子病历数据分析的一些常见的挑战,Google的这篇文章也再次印证了这些问题不是很容易轻易被解决,而这也为我们指明了要攻克的难关。还有一些挑战,例如数据质量如何评估,数据隐私性如何保护等等,由于本文的关注点并不同,并未触及这些问题。

       当然,笔者非常高兴看到Google也开始关注电子病历数据分析,印证了这确实是一个有意义的方向。该文章是Google与这些顶级医学院合作的第一篇文章,相信更深层次的研究和合作正在进行中,让我们拭目以待。同时,按照本文的结构和写法,笔者猜测文章应该是投向了某医学类的顶刊,笔者也十分期待该文章的最终归属,因为这也从一定层面上能反映医学界对这类研究的认可程度。

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