机器学习如何解决看病难?Jeff Dean详述机器学习在医疗领域应用
先来看两个场景:
场景 1:
一名 49 岁的病人注意到肩膀上起了皮疹,因为不觉得疼痛,所以也没有寻求治疗。几个月之后,他的妻子让他去看医生,医生诊断出他患了脂溢性角化症。后来,当该患者在做肠镜筛查时,护士注意到他的肩膀上有黑色斑点,于是建议他去检查一下。又过了一个月,这位患者去看皮肤科医生,医生从病变的地方取了一些活检样本。结果显示这是一种非癌性色素沉淀病变。医生还是很担心,建议二次检测活检样本,最终诊断出了侵袭性黑色素瘤。之后,肿瘤科医生用全身化疗的方法治疗这位患者。一位医生朋友问病人为什么不接受免疫治疗。
场景 2:
一名 49 岁的病人用手机 app 拍了一张肩膀上皮疹的照片,app 建议他立即预约皮肤科医生。他的保险公司自动批准直接转诊,app 帮他在两天内预约了附近一名经验丰富的皮肤科医生,该预约和患者的个人行程自动交叉核对过了。皮肤科医生对病变处进行了活检,病理学家在计算机辅助下诊断出 Ⅰ 期黑色素瘤,然后皮肤科医生进行了摘除手术。
对比场景 1 和场景 2,我们可以发现,在同样的一个病例中,场景 2 的医疗流程实现了以下优化:1)患者可以直接用手机拍摄病变照片,由 app 进行初级诊断,系统可以根据 app 提供的建议合理分配医疗资源;2)皮肤科医生和病理学家实现了有效的协作,相当于让一位普通病人也得到了专家会诊,提高了诊断和治疗方法的准确性。这就是 Jeff Dean 等人为我们描绘的机器学习在医疗领域的应用蓝图。
如果重症监护人员或社区医疗人员每做出一个医疗决定,立刻就会有相关领域的专家组成的团队对这条决定进行审查,判断这条决定是否正确并对其进行指导,那会是什么样呢?最新诊断出没有并发症的高血压患者将会接受现有最有效也最对症的治疗,而不是诊断者最熟悉的治疗方法。这样可以很大程度上消除用药过量和处方错误的问题。患有神秘且罕见疾病的患者可以直接由相关领域的知名专家会诊。
这样的系统似乎离我们很远。因为没有足够的专家可以配合这样的系统。就算有,对专家们来说,不仅要花很长时间了解患者的病史,而且与隐私相关的问题可能也会成为阻碍。但这就是用于医疗领域的机器学习的前景——几乎所有临床医生所做的诊断决定以及数十亿患者的诊断结果组成的智慧结晶应该为每一位患者的医疗护理提供指导。也就是说,应该根据患者所有已知的实时信息和集体经验得出个性化的诊断、管理决策以及治疗方案。
这种框架强调机器学习不仅是像新药或者新的医疗器械这样全新的工具,而是一种基础技术,这种技术可以高效处理超出人类大脑负荷的数据。这种巨大的信息存储涉及到庞大的临床数据库,甚至单个患者的数据。
50 年前的一篇专题文章指出,计算将「强化,在有些情况下可以很大程度上取代医生的智慧」。但到 2019 年初,由机器学习驱动的医疗保健几乎还没有取得什么进展。我们在此不再赘述之前报道过的无数通过测试的概念验证模型(回顾性数据),而是要说一些医疗健康领域的核心结构变化及范式转变,这对于实现机器学习在医疗领域的前景来说是必需的。
机器学习解释
传统上讲,软件工程师通过清晰的计算机代码形式提取知识,从而指导计算机如何处理数据并做出正确的决策。例如,如果病人血压升高,而且没有接受抗高血压药物的治疗,那正确编程的计算机可以提出治疗建议。这类基于规则的系统具有逻辑性和可解释性,但正如 1987 年的一篇文章中所说,医疗领域「太过广泛也太过复杂,因此难以(如果可能的话)在规则中捕获相关信息」。
传统方法和机器学习之间的关键区别在于,在机器学习中,模型是从样本中学习而不是按规则编程的。对于给定任务,样本给定输入(特征)和输出(标签)。例如,将病理学家读取的数字化切片转换为特征(切片像素)和标签(上面的信息表明切片是否包含指示癌变的证据)。用算法从观测值中学习,然后计算机决定如何从特征映射到标签,从而创建泛化模型,这样就可以在未曾见过的输入上正确执行新任务(例如,从未被人读取过的病理学切片)。图 1 总结了这一过程,这就是所谓的有监督的机器学习。还有其他形式的机器学习。表 1 列出了用于临床的案例,这些模型的输入输出映射基本上都是基于同行评审研究或现有机器学习的扩展。
图 1:有监督机器学习的概念性概述
表 1:推动机器学习应用的输入数据和输出数据类型示例。
在实际应用中,预测准确性至关重要,模型在数百万特征和样例中找出统计模式的能力绝对可以超过人类的表现。但这些模式不一定适应基本的生物学鉴定方式,也不一定能识别支持新疗法的开发过程中可修改的危险因素。
机器学习模型和传统的统计模型之间并非泾渭分明,最近有一篇文章总结了这两者之间的关系。但复杂的新型机器学习模型(比如「深度学习」(一种利用人工神经网络的机器学习算法,它可以学习到特征和标签之间极其复杂的关系,在诸如图像分类等任务上的表现已经超越了人类))很适合学习现代临床病例中产生的复杂、异构数据(比如医生写的医疗记录、医学图像、来自传感器的连续监控数据以及基因组数据),从而做出医学相关的预测。表 2 提供了简单和复杂的机器学习模型分别适用于什么样的情况。
表 2:决定要用哪种模型时要问的关键问题。
人类学习和机器学习之间的关键区别在于人类可以从少量数据中得到普适且复杂的关系。例如,小孩不用看太多样本就能区分猎豹和猫。在学习相同任务的情况下,和人相比机器需要更多的样本,而且机器不具备常识。但从另一个角度上讲,机器可以从大量数据中学习。用数千万患者存储在 EHR(Electronic Health Records,电子健康记录)中的数据来训练机器学习模型是完全可行的,这些数千亿的数据点完全没有任何重点,而人类医生在整个职业生涯中都很难接诊数万名患者。
机器学习对临床医生的工作有何帮助
预后
机器学习模型可以学习患者的健康轨迹模式。它可以得到超出医生个体经验的信息,帮助医生以专家水平预测出未来可能发生的事件。例如,患者重返工作岗位的概率有多大?疾病发展的速度会有多快?相同类型的预测可以在众多患者中可靠地识别出将出现高危情况或可能频繁需要医疗护理的患者,这些信息可以作为附加信息帮助医生。
大型综合卫生系统已经在用简单的机器学习模型了,它可以自动识别可能需要转移到重症监护室的住院患者,回溯性研究表明,可以用 EHR 和医学图像中的原始数据建立更复杂也更准确的预后模型。
构建机器学习系统需要用患者的纵向整合数据进行训练。只有当训练模型的数据集中包含结果时,模型才能学习到患者的情况。但数据现在都是独立存储在 EHR 系统、医学影像存档和交互系统、付款人、PBM(Pharmacy Benefits Managers,药品福利管理)甚至患者手机上的应用中的。自然的解决方案是将数据系统交到患者自己手中,这也是我们长期以来一直倡导的解决方案,现在这一想法也已经通过快速采用患者控制的应用程序编程接口得以实现。
像 FHIR(Fast Healthcare Interoperability Resources,快速医疗互操作性资源)这样将数据转化为统一格式可以更有效地聚合数据。患者可以决定哪些人可以用他们的数据来构建或运行模型。尽管有人担心技术的互操作性无法解决 EHR 数据中普遍存在的语义标准化问题,但 HTML(Hypertext Markup Language,超文本标记语言)可以索引 Web 数据,还可以用在搜索引擎上。
诊断
每一位患者都是独一无二的,但最好的医生可以在正常范围内确定患者特有的微弱信号或异常值。可以用机器学习检测出的统计模式帮助医生识别诊断不到的病症吗?
医学研究所的结论是,几乎每一位患者在他(她)的一生中都会遇到一次误诊,而正确的诊断是采用合适治疗方法的基础。这个问题不止在一些罕见的病症中会出现。在发展中国家,即便有充足的治疗手段、检查时间和培训充分的医护人员,也无法检查出急性胸痛、肺结核、痢疾以及分娩期间的并发症。
常规医疗护理期间收集到的数据表明,可以在临床诊断中用机器学习来判断可能的诊断,这样可以提高对以后可能出现的情况的认识。但这样的方法有局限性。生疏的临床医生可能无法正确提取模型必需的信息,因而无法让模型变得有意义。模型得到的结果可能建立在临时或错误的诊断之上,可能建立在不能证明是病症的不良反应条件之上(从而造成过度诊断),可能受计费的影响,或者可能根本没有记录。但模型会根据这些实时收集的数据给医生提出建议,这些建议在误诊率很高和临床医生不确定的情况中是很有用的。在临床上正确的诊断和 EHR 中或报销索赔中的记录的不一致意味着临床医生应该从一开始就参与到产生数据的过程中来,这些数据会作为常规护理的一部分,而且之后还会用于自动诊断过程。
训练成功的模型可以回溯识别各种图像类型的异常(表 1)。但将机器学习模型作为临床医生常规工作一部分的回溯试验的数量非常有限。
治疗
在数万名医生要治疗数千万患者的大型医疗系统中,患者在什么时候为什么就诊以及情况相似的患者应该如何治疗都是有差异的。模型是否可以对这些差异进行分类,从而帮助医生确定首选治疗途径?
一个比较简单的应用是比较定点照护(point of care)的处方和模型得到的处方,可以将差异标记出来后再次核查(例如,其他临床医生倾向于使用可以反映新方法的替代疗法)。基于历史数据训练的模型只能学习医生的处方习惯,但这并不一定是理想做法。为了了解疗效最好的药物和治疗方法,需要精心收集数据并评估因果效应,而机器学习模型则不一定能(有时候也不能用给定的数据集)识别这些效应。
根据观察数据比较疗效研究和实用性实验的传统方法也提供了重要看法。但近期使用机器学习方法的试验表明,和专家一起生成人工筛查过的数据集、更新模型以纳入新发表的数据、根据不同领域的处方进行调整以及从 EHR 中自动提取相关变量都是很大的挑战。
还可以用机器学习自动选择患者,根据临床记录,这些患者可能适合进行随机对照试验;或者可以用机器学习自动识别可能用早期研究或新疗法治愈的高风险患者或亚群。这些工具促使医疗健康系统研究每一种临床情况,可以在降低成本和管理费用的同时进行更严格的研究。
临床工作流程
EHR 的引入提高了数据的可用性。但这些系统也因费用过高、管理文档的复选框过多、用户界面不够友好、输入数据花费的时间过长以及产生新的医疗错误等让临床医生们灰头土脸。
也可以将机器学习技术用在其他消费产品中以提高临床医生们的效率。驱动搜索引擎的机器学习可以在无需临床医生多次点击的情况下找出患者数据的相关信息。用机器学习技术(如预测类型、语音听写和自动摘要等)可以大大改进表格和文本数据的输入。根据患者表格中的信息自动授权支付的模型可以取代提前授权。使用这些工具不仅仅只是为了方便医生。无障碍地查看和输入临床上的有效数据对捕获和记录医疗健康数据来说至关重要,这反过来也可以在机器学习的辅助下为每一位患者提供最好的医疗护理帮助。最重要的是,这种做法提高了效率、简化了记录,而且改进了自动化临床工作流程,这样临床医生就可以把更多的时间花在患者身上。
在 EHR 系统之外,机器学习技术也可以用于外科手术的实时视频分析,可以帮助外科医生避免在关键结构解剖时出现问题或者患者身体有意料之外的改变,甚至可以处理更普通的任务——比如准确计算手术海绵的数量。检查清单(checklist)可以避免手术错误,还可以自动监控手术过程,提高手术的安全性。
在临床医生的个人生活中,他们可能在自己的智能手机上用到了所有这些技术的变体。尽管有将这些技术应用于医学背景的概念验证的研究,但主要的障碍不是模型的开发,而是技术的基础设施——EHR 之上的法律、隐私和政策框架、卫生系统以及技术供应商。
扩大临床专业知识的可用性
医生不可能照料到所有需要治疗的患者。机器学习是否可以在不需要医生亲自参与的情况下,扩大医生诊治范围、提供专家级医疗评估呢?例如,刚刚发皮疹的患者可能只要用手机发送一张照片就可以获得诊断,从而避免挂不必要的急诊。本身要去急诊室就诊的患者可能在自动诊断系统就能获得诊断,并在适当的时候以另一种形式进行护理。当患者确实需要专业帮助时,模型也可以识别出专业最相关且处于空闲状态的医生。同样,为了提高舒适度并降低成本,如果机器可以远程监控病人的传感器数据,本身需要住院治疗的病人就可以在家里接受护理了。
世界上有一些地区,直接学习医学专业知识的渠道有限,而且非常复杂,因而将机器学习的真知灼见直接传递给病人变得越来越重要。即便是在那些专家医生充足的区域,这些医生担心他们的能力和努力无法及时且准确地解释那些浪潮一般的数据,这些数据一般是从患者穿戴的传感器或活动追踪设备中得到的,并且由患者自己驱动。事实上,用数百万患者的数据训练得到的机器学习模型可以帮助专业医护人士做出更好的决策。例如,护士可以承担通常由医生完成的医疗工作,初级护理医生则可以承担通常由医疗专家完成的工作,而医疗专家则可以将更多的时间投入到非常需要他们专业知识的病人身上。
不涉及机器学习的移动应用或网络服务已被证明可以改善药物的依赖性,还可以控制各种慢性病。但正式的回顾性和前瞻性评估方法阻碍了患者直接应用机器学习。
主要挑战
高质量数据的可用性
构建机器学习模型的核心挑战在于组装具有代表性的多样化数据集。理想做法是在使用过程中利用最接近期望数据准确格式和质量的数据来训练模型。例如,对于打算用在即时护理中的模型而言,最好使用 EHR 在特定情况下所用的同一数据,即便已知这些数据不可靠或这些数据受到了不必要变化的影响。当数据集足够大时,现代模型可以成功被训练,以将嘈杂输入映射到嘈杂输出。使用人工筛查数据(比如那些在临床试验中从人工病例审查得到的数据)得到的更小数据集就不太理想,除非希望医生根据原始实验规范手动提取变量。这种做法对某些变量来说或许可行,但对于做出最准确预测所必需的、EHR 中数十万的数据而言就太不可行了。
俗话说「垃圾进,垃圾出」(garbage in, garbage out),那么我们如何协调噪声数据集来训练模型呢?要学习大多数复杂的统计模式最好还是有大数据集(哪怕是噪声数据),以便对模型进行微调和评估,但具有人工筛查标签的更小样例集还是有必要的。当原始数据可能标记错误时,这种样例集可以就模型对预期标签的预测做出正确的评估。对成像模型来说,这通常需要生成由每张图片的多个评分器判定的「ground truth」标签(即由一位绝对可靠的专家指定给一个样例的诊断或发现),但对非成像任务来说,如果没能获得必要的诊断测试,那可能也无法获得「ground truth」标签。
一般情况下,训练数据越多机器学习模型表现得越好。因此,对于机器学习的使用而言,一个关键的问题是在利用大且多样化数据集以提高机器学习模型准确率的同时,需要平衡隐私问题和监管要求。
从过去的失败经验中学习
人类的所有活动都会被意料之外的偏差破坏。机器学习系统的构建者和使用者需要仔细考虑偏差如何影响用于训练模型的数据,并采取措施解决和监控这些偏差。
机器学习的优势(也是劣势之一)在于模型可以识别到人类无法找到的历史数据模式。医疗实践的历史数据表明,人们能得到的系统性医疗护理是存在差异的,一般为弱势群体提供的医疗护理较其他群体更差一些。在美国,历史数据反映了一种支付系统,该系统会奖励使用不必要护理和服务的人,这样可能会错过那些本该却并未得到护理的病人(比如没有保险的患者)。
监管、监督和安全使用的专业知识
卫生系统已经建立了可以确保将药物安全传递到患者手上的复杂机制。机器学习的广泛适用性也需要同样复杂的监管结构、法律框架以及当地实践以确保系统的安全开发、使用和监管。此外,技术公司必须要提供可扩展的计算平台来处理大量数据和模型使用的问题,但到现在他们也不清楚自己的定位。
重要的是,使用机器学习系统的医生和病人都需要理解其局限性,包括模型并不能泛化到特定场景。做决策或分析图像时过度依赖机器学习模型可能会导致自动化偏差,而医生可能已经降低其对这些偏差的警惕。如果模型的可解释性不够强,医生可能意识不到模型给出了错误的建议,这时尤其会出现问题。在模型预测中表现出置信区间可能有所帮助,但置信区间本身或许被错误解释。因此,需要对使用中的模型进行前瞻性的、真实的临床评估,而不只是根据历史数据集对模型性能做回顾性评估。
需要特别考虑直接针对患者的机器学习应用。患者可能无法验证模型构建者所说的话是否得到高质量临床证据的证实,也无法验证模型建议的行为是否合理。
研究结果的出版与传播
构建模型的跨学科团队可能会在临床医生不熟悉的场所汇报结果。稿件通常会在 arXiv 和 bioRxiv 这样的预印本服务网站上发布,许多模型的源代码则会在 GitHub 库这样的地方保存。此外,许多同行评审的计算机科学稿件也并不会发布在传统期刊上,而会发表在 NeurIPS(神经信息处理系统大会)和 ICML(国际机器学习大会)这样的会议上。
结论
大量卫生保健数据的加速创建将从根本上改变医疗保健的性质。我们坚信,医患关系将成为为患者提供医疗服务的基石,而这种关系会因机器学习的辅助而变得丰富。我们期望在未来几年会出现一些早期模型和同行评审的刊物,它们的出现以及监管框架和基于价值医疗的经济激励的发展,都会成为对医疗领域应用机器学习保持乐观态度的理由。我们期望在不远的未来,数百万临床医生在护理数十亿患者时,可以在机器学习模型的帮助下根据所有医学相关数据做出决策,从而为所有患者提供最好的护理方案。