前沿综述:联邦学习在医疗中的应用

导语

联邦学习(Federated learning)可通过中央服务器,在保证数据隐私性的前提下,使用分散在各地的数据,训练机器学习/深度学习模型。从而在遵守隐私保护法律的前提下,通过协作建模,提升机器学习的效率。其在智能零售、金融、自动驾驶等领域已有广泛应用。最近一篇综述文章概述了联邦学习的基本概念及其在生物医学领域的应用场景,本文是对该综述的简介。

论文题目:

Federated Learning for Healthcare Informatics

论文地址:

https://link.springer.com/article/10.1007/s41666-020-00082-4

为什么需要联邦学习

为了能够跨机构的使用敏感数据,隐私计算(Privacy Computing),即让参与方在不泄露各自数据的前提下通过协作对他们的数据进行联合机器学习和联合分析变得越发必不可少。目前实现隐私计算的三大方式,分别是可信计算环境、安全多方计算和联邦学习。本文将重点关注联邦学习。

医疗数据——诸如电子病历(EHR)、医学影像等——一方面对精准健康的实现有奠基性的作用,另一方面,这些数据往往分散在各处,因其敏感性而很难被共享。例如:智能手表收集到了个人实时心跳数据,研究者试图使用这些数据,结合电子病历,训练模型在数月前预测中风。但是智能手表厂商和医院的病历记录,都以隐私理由拒绝数据公开。这时如果使用联邦学习,可以确保敏感的病人数据保留在当地机构或个人消费者手中,在联邦机器学习过程中不泄漏给模型训练者。

除此之外,如果只使用某一特定人群的数据训练,那么模型就可能对特定人群造成歧视,例如文献[3]发现,基于电子病例,预测那些病人会重复住院的算法,由于训练数据大多来自白人,其对有色人种的预测将产生偏见。显然,减少这种带有偏见算法风险的一个方法是能够从更能用代表全球人口的比例的电子病例数据集进行训练,但这种数据超越了单一的医院或场所,需要将数据进行汇总。

联邦学习的定义

机器学习的训练过程,就是去通过调整模型中的参数,以求最小化指定的损失函数。不论是简单的线性回归、逻辑回归还是复杂的深度学习,其学习过程都涉及参数的调整。既然联邦学习要求数据分散在各地,那么模型中参数的更新,也将是分散在各个终端上的。如下图所示:

图1. 联邦学习的四个步骤丨图片来源:维基百科

形式化的定义是:假设有 k个客户端,数据存储在其中(客户端可以是移动电话、可穿戴设备或者临床机构的数据仓库等)。用 Dk 表示与客户 k 相关的数据分布,并用 nk 表示从客户端获得的样品数量。N = ∑ Kk = 1nk 是总样本量,F(w)是损失函数,w是待优化的模型参数矩阵。联邦学习归结为如何使用某种算法,来让下图的损失函数最小化的问题:

该模型以分布式方式进行训练:各客户端定期与中央服务器通讯,以便在更新后的全局参数上进行优化;中央服务器汇总更新,并将更新的全局模型的参数发送回来

联邦学习面临的三个挑战

在算法实现上,所有联邦学习的方法,都面临三个挑战,一是统计上的,即不同客户端的数据集有不同的分布,这导致任何局部的数据集都远不能作为整个分布的代表性抽样;二是交流上的,可能的终端k,其个数可能会远远大于激活的(例如授权使用数据的终端),而这需要减少沟通成本;三是隐私上的,不可能确保所有客户端都同样可靠的,如何防范恶意客户端收集模型参数或干扰训练过程,也是联邦学习要解决的。

针对应对统计上的挑战,传统的 FedAvg 算法,在数据分布极端时是无效的,在小数据集时,可以采用 agnostic federated learning [1]——即先拿到分布的客户端数据的数据分布,再针对任意可能分布的数据优化模型参数。另一种算法是 q-Fair Federated Learning [2],该方法对于表现较差的客户端训练的模型参数给予更高的权重,从而降低网络中同时训练模型的参数方差,从而应对数据分布的异质性。

除了具体的算法,让各个客户端随机抽取一部分数据共享,也是解决统计挑战的一个常用方法。而多任务学习通过将待优化的参数分为多个阶段,根据训练数据预测未曾见过的数据集,可以让各个客户端利用已提取的模式,来帮助为其它客户端学习得到更为准确的分类器,并捕捉不同客户端数据集之间的关系,也适合解决联邦学习面对的统计上的挑战。

而为了减少客户端与中央节点间通讯的信息量,有三种方法,一是减少客户端的数目,二是减少每次更新通讯的比特数,三是减少训练过程所需的更新数。为此,对应的四种方法如下图所示:

图3. 四种应对联邦学习通讯上挑战的方法:模型压缩、客户端筛选、减少更新频次、P2P学习(不引入中心节点)

而为了避免恶意的客户端从模型训练过程中学习推测出其他客户端的数据、保护模型构建者及数据提供方的隐私,有两种常用的理论框架,一是差分隐私(Differential Privacy):该方法通过对数据增加噪音,同时保证添加噪音后的数据和源数据能得出无差别的模型更新,从而提升计算的隐私性;另一种方法是可信多来源计算(Secure Multi-party Computation),通过将模型训练的所需数据分为N份,再将不同客户端的数据汇总,从而保证没有任何计算节点能够得到完整的训练数据集。

图4. 可信多来源计算和差分隐私示意图

联邦学习在医学界的应用案例

基于电子病例数据,联邦学习在医疗领域的应用可以分为:

1)电子病例相似性搜索:例如[4]中提出的跨机构的病人相似性学习。他们的模型可以在不共享于患者相关的个人信息的情况下,在多家医院间寻找的相似症状的患者。

2)病人表征学习:[5] 描述了从文档格式的病例中进行特征提取,在不需要获取各个医疗机构的病例数据时,能够从电子病例中提取出超重这一影响健康的因素。

3)SplitNN[6]:一个能够在不共享敏感的原始数据或模型细节的前提下,促进医疗机构协作训练深度学习模型的框架。

4)社区特异性模型:针对不同来源的数据有着不同的分布这一问题,[7]将病人聚集到多个有临床意义的社区中,捕获相似的诊断和地理位置间的关系,同时为每个社区培训一个模型。

医疗领域更多的应用在于基于电子病例,预测健康风险,从而为临床医生提供更多关于早期治疗患者的风险的评估:例如患者是否会产生抗药性、药物副反应预测、孕妇是否会早产、住院病人是否会死亡等。这类应用场景中,用到的模型既包括传统的支持向量机和主成分分析,也包含基于深度学习的多层感知机和变分自编码器。

总结:联邦学习在医疗领域应用需解决的困难

该文在介绍了联邦学习的基础概念后,指出了其在一般情况下面对的三种挑战及常用的解决之法。之后针对医疗领域,给出来已有的成熟应用场景。然而,在医疗保健领域应用联邦学习时可能遇到下面五个开放性的问题亟待解决。

1)数据质量。联邦学习有可能将所有孤立的医疗机构及检测设备连接起来,使它们分享有隐私保障的数据。然而,大多数卫生系统中,数据管理混乱,缺少数据质控环节。从多个来源收集的数据质量参差不齐,没有统一的数据标准。而使用包含大量错误标签的数据,会使预测模型毫无价值。有策略性地利用医疗数据因此变得至关重要。因此,如何对不同来源的数据进行清理、修正和补全,从而保证数据质量是改进联邦机器学习在医疗中应用潜力的关键。

2)结合专家知识。2016年,IBM 推出了沃森,这是一个使用自然语言处理系统来汇总病人电子健康记录,并搜索其背后的海量数据库来为医生提供治疗建议的工具。不幸的是,一些肿瘤学家说,他们更相信自己的判断,而不是沃森告诉他们需要做什么。因此,让医生能参与到模型的训练过程中,从而吸收专家知识,变得极为重要。由于训练数据集不一定都质量可靠,因此引入专家的知识,将会非常有帮助,医生能看到人工智能的诊断标准。如果错误,医生将进一步指导人工智能,以提高机器学习模型在训练过程中的准确性。

3)激励机制。随着物联网的出现,以及越来越多的智能手机上医疗类APP开始整合可穿戴设备。除了在医院积累的数据外,另一种具有重大价值的数据来自可穿戴设备及其用户。然而,在联邦模型的训练过程中,客户端在通信和计算方面承受着巨大的开销。如果没有精心设计的激励措施,移动设备或其他可穿戴设备将不会愿意参与到联邦学习的训练过程中,这将阻碍联邦学习在医疗中的推广。如何设计一个有效的激励机制来吸引可穿戴设备的用户参与联邦学习是另一个重要问题。

4)个性化。可穿戴设备的使用者大多关注健康改善,这意味着帮助普通人变得更健康,例如指导他们如何锻炼,练习冥想,并提高他们的睡眠质量。如何协助慢病患者进行科学设计的个性化健康管理,通过检查指标纠正功能性病理状态,中断病变过程,是非常有价值的。合理的慢性病管理可以避免急诊就诊和住院、减少就诊次数,从而节省全社会的医疗成本。联邦学习在个性化医疗建议的提出上,已经有了一些基本的研究工作,但是如何结合医疗领域的专家知识,让模型给出更加个性化的、同时适用于所有的种族、兼容不同可穿戴设备的建议,则是另一个悬而未决的问题。

5)模型精度。联邦学习试图使孤立的医疗机构或设备分享他们的数据,机器学习模型的性能将随着大型医学数据集的产生而显著提升。然而,目前可行的预测任务是有限的,而且都相对简单。医疗本身是一个非常专业需要极高准确性的领域。虽然医院的医疗设备,相比可穿戴设备在测量准确度上具有无可比拟的优势。但进一步的应用,需要使用不那么精准的数据,例如doc.ai,根据自拍照片中的身高、体重、年龄、性别和体重等特征,将一个人的体检结果结合基于这类自我收集的数据,预测个体未来的健康状况,将是另一个值得探索的问题。

郭瑞东 | 作者

赵雨亭 | 审校

邓一雪 | 编辑

(0)

相关推荐