Press "Enter" to skip to content

联邦迁移学习 个性化:FedHealth: A Federated Transfer Learning Framework for Wearable Healthcare

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

笔记与正文目录结构略有不同

概览

 

本文提出了一个用于可穿戴设备的联邦迁移学习框架FedHealth,用于针对不同用户进行个性化健康服务。FedHealth的思想大致如下:1)首先通过公共数据集(源域数据)在服务器上训练一个初始的云模型;2)之后将该模型分发给所有用户(可穿戴设备);3)再在用户端上通过轻量级模型训练用户模型;4)通过同态加密将所有用户模型上传服务器进行聚合再平均得到新的云模型;5)将新的云模型分发给所有用户,并根据一个综合了全局的损失函数来进行迁移学习,以个性化本地模型;6)随着持续增入的数据(设备新采集到的信号、新的设备)重复上述步骤。

 

基础信息

 

论文地址:

 

论文作者:

 

Yiqiang Chen , Xin Qin, Chaohui Yu 中国科学院计算技术研究所

 

Jindong [email protected]王晋东不在家 微软亚洲研究院

 

Wen Gao 鹏城实验室

 

Publishment:

 

IEEE Intelligent Systems 2020

 

1. Motivation

 

1.1 背景

Wearable Healthcare 可穿戴医疗: 近年来,可穿戴技术的发展帮助人们通过使用 智能手机、腕带和智能眼镜 等可穿戴设备跟踪活动来了解自己的健康状况。可穿戴式医疗保健有可能为多种认知疾病提供早期预警,如帕金森病和小血管疾病。其他应用包括心理健康评估、跌倒检测和运动监测。可穿戴式医疗保健的发展趋势越来越明显。

1.2 存在的问题

 

在医疗保健应用中,机器学习模型通常基于足够的用户数据进行训练,以跟踪健康状态。不幸的是,在当今的可穿戴医疗领域,有2个关键挑战(见图1):

Isolated Data Island 数据孤岛:企业隐私安全考虑 和 法规限制 。在实际应用中不可能获取大量用户数据。
Personalization 个性化: 大多数方法都基于几乎所有用户的通用服务器模型。在获得足够的用户数据以训练令人满意的机器学习模型后,该模型被分发到所有用户设备,在这些设备上可以跟踪日常健康信息。这个过程缺乏个性化。可以看出,不同的用户有不同的身体特征和日常活动模式。因此,普通模式无法实现个性化医疗。

图1

1.3 本文贡献

 

本文提出了FedHealth,这是第一个用于可穿戴医疗保健的联邦转移学习框架。FedHealth可以解决数据孤岛和个性化问题。通过 联邦学习 和 同态加密 ,FedHealth聚合了来自不同组织的数据,以建立强大的机器学习模型,并很好地保护了用户的隐私。云模型建立后,FedHealth利用迁移学习方法为每个组织实现个性化模型学习。该框架可以增量更新。FedHealth是可扩展的,可以部署到许多医疗保健应用程序中,以不断增强他们在现实生活中的学习能力。本文贡献具体如下:

 

 

    1. 我们提出了第一个用于可穿戴医疗的联邦转移学习框架FedHealth,它在不损害隐私安全的情况下聚合来自不同组织的数据,并通过知识转移实现相对个性化的模型学习。

 

    1. 我们展示了FedHealth在基于智能手机的人类活动识别中取得的优异性能。实验表明,与传统的学习方法相比,FedHealth显着提高了识别精度。

 

    1. FedHealth是可扩展的,可以作为许多医疗保健应用程序的标准框架。具体来说,我们设计了一个FedHealth系统,并将其应用于帕金森病辅助诊断中,用户的隐私得到了很好的保护,在实际情况下取得了良好的性能。

 

 

2. FedHealth框架

 

2.1 Problem Definition

 

数据由 个不同用户(组织)提供,定义:

用户 ;
用户提供的传感器读数 。

传统方法(集中式学习)训练一个模型 通过综合所有数据 。所有数据都有不同的分布。在本文问题中(分布式学习),文章希望协作所有数据来训练联邦转移学习模型 ,且任何一个用户 都不暴露其数据 给其它用户。定义精确度为 ,FedHealth的目标为确保 联邦学习 的精确度接近或优于 传统学习 ( 是一个非常小的非负实数),目标公式化如下:

 

2.2 Overview of the Framework

 

FedHealth旨在通过联邦迁移学习实现准确的个人医疗保健,同时不损害隐私安全。图2给出了该框架的概述。

 

在不丧失通用性的情况下,我们假设有三个用户(组织)和一台服务器,这可以扩展到更一般的情况。该框架主要由4个过程组成:

 

 

    1. 首先,服务器上的云模型基于 公共数据集 进行训练;

 

    1. 然后,云模型被 分发 给所有用户,每个用户都可以根据自己的数据 训练 自己的模型;

 

    1. 随后,用户模型可以 上传 到云上,通过模型 聚合 帮助训练新的云模型;

 

    1. 最后,每个用户都可以利用云模型、数据和本地数据来训练 个性化 模型。在这一步中,由于服务器数据和用户数据之间存在很大的分布差异,因此会执行迁移学习,以使模型更适合用户(图2中的右侧部分)。

 

值得注意的是,所有参数共享过程都 不包含 任何通过同态加密对用户数据的使用。(emm…)

图2

联邦学习范式是整个FedHealth框架的主要计算模型。它处理整个过程中的模型构建和参数共享。学习服务器模型后,可以直接应用于用户。这正是 传统 医疗保健应用程序 用于 模型学习的功能。很明显,服务器中的样本与每个用户生成的数据具有 高度不同的概率分布 。因此,通用模型无法实现个性化。此外,由于隐私安全问题,用户模型无法轻松地持续更新。

 

2.3 Federated Learning

 

FedHealth采用联邦学习范式来实现加密模型的训练和共享。这一步主要包括两个关键部分: 云模型 和 用户模型 学习。FedHealth采用深度神经网络来学习云和用户模型。深度神经网络通过将用户数据的原始输入作为输入来执行端到端(end-to-end)的特征学习和分类器训练。

 

云模型(服务器模型)学习目标 :

 

为学习到的服务器模型;
为网络的损失(例如分类任务的交叉熵损失);
为来自服务器数据的大小为 的样本;
为所有学习到的所有参数(例如权重和bias)。

加法同态加密(Additively Homomorphic Encryption):

 

获取云模型后,其分发给所有用户。从图2中的“墙”可以看出,用户信息是禁止直接共享的。这个过程使用同态加密来避免信息泄漏。由于加密不是本文的主要贡献,文章仅展示使用实数进行附加同态加密的过程。权重矩阵和偏差向量的加密方案遵循相同的思想。

一个实数 的加法同态加密表示为 ;
在加法同态加密中,对两个数 ,有 。

因此,参数共享可以在不向用户泄露任何信息的情况下完成。通过联邦学习,我们可以在不损害隐私安全的情况下聚合用户数据。

 

用户 的学习目标:

 

角标 表示用户模型的这一参数;
(为了与后文的公式(7)区别,笔记简写为用户 的学习目标)。

更新后云模型:

 

所有用户模型 都基于共享云模型进行训练后,将其上传到服务器进行聚合。据评估,在共享初始化的情况下,平均化模型可以在FederatedAveraging的方法中实现良好的降损性能。因此,本文使用模型平均来对齐用户模型,在每轮训练中,对 个用户模型进行平均,以更新云模型。请注意,这里只是简单对用户模型进行平均,团队将在未来进一步研究特定模型参数对平均值的影响。更新后的云模型定义为:

 

表示网络s的参数s;
为用户总数。

经过充分的迭代,更新后的服务器模型 具有更好的泛化能力。随后,新用户可以参加服务器模型的下一轮训练,因此FedHealth具有 增量学习 (incremental learning)的能力。

 

2.4 Transfer Learning

 

联邦学习解决了数据孤岛问题。因此,我们可以使用所有用户数据构建模型。另一个重要因素是 个性化 。即使我们可以直接使用云模型,它对特定用户的性能仍然很差。这是由于用户和云数据之间的 分布差异 造成的。服务器中的通用模型只从所有用户那里学习粗略的特征,而无法学习特定用户的细粒度(fine-grained)信息。

 

粗粒度是分辨是猫还是狗——细粒度是分辨狗这个类别下,这张图是1.吉娃娃还是2.萨摩耶还是n.哈巴狗

 

在本文中,FedHealth使用迁移学习为每个用户(组织)构建个性化模型。回想一下,深层神经网络中的特征在网络的较低层次具有很高的可迁移性,因为它们专注于学习常见的和低层次的特征。层次越高,任务的具体特征就越多。这样,在获得云模型的参数后,我们可以对用户进行迁移学习,学习他们的个性化模型。

 

图3

图3中的Frozen和Train是一组相对的概念。使用预训练模型进行fine-tune时,我们需要在预训练模型后面添加几层进行训练,而前面的预训练模型不进行参数更新

 

图3显示了特定卷积神经网络(CNN)的迁移学习过程。假设网络由两个卷积层(conv1,conv2)、两个最大池化层(pool1,pool2)、两个全连接层(fc1,fc2)和一个用于分类的softmax层组成。该网络设计用于人类活动识别,其中 输入 数据是用户的 活动信号 , 输出 是他/她的 活动类别 。

 

在模型迁移中,我们认为 卷积层 的目的是提取活动识别的低级特征。因此,我们将这些层与 max-pooling 最大池化层一起 “冻结” (frozen),这意味着我们不会在反向传播中更新它们的参数。至于 全连接层 fc1和fc2,由于它们处于更高的级别,我们认为它们侧重于学习任务和用户的特定功能。因此,我们在训练期间更新它们的参数。 softmax层 用作分类功能,公式化为:

其中 表示学习到的为类 概率;
为最终的分类结果

FedHealth通过将fc2替换为 对齐层 (alignment layer)来调整来自不同域的输入。我们将公共数据集视为源域。考虑到来自服务器和用户的网络,我们在softmax层之前添加了一个correlation alignment层,以进一步调整域。此对齐功能用于对齐输入之间的 二阶统计量 。形式上,correlation alignment的损失计算如下:

 

为Frobenius范数的平方(关于Frobenius范数的定义,论文作者之一在知乎的回答: “我说说人话:就是对应元素的平方和再开方” 。其它参考);
是嵌入特征的维度;
是源域特征和目标特征计算得的协方差矩阵。

定义 为 权衡参数 (tradeoff parameter),利用源域数据和目标数据计算交叉熵损失。因此,用户模型的损失计算如下:

 

注意虽然与公式(3)符号表示一致,但是是不同阶段的用户模型学习目标;
其实就是公式(2)(3)(6)的简单加和。

2.5 Learning Process

 

FedHealth的学习过程在算法1中给出。请注意,这个框架持续地与新出现的用户数据协同工作。面对新的用户数据时,FedHealth可以同时更新用户模型和云模型。因此,用户使用产品的时间越长,模型的个性化程度就越高。除了 迁移学习 ,其他流行的方法,如 增量学习 ,也可以嵌入到FedHealth中进行个性化。

 

算法1

整个框架还可以采用深度神经网络以外的 其它机器学习 方法。例如,可以将梯度提升决策树(gradient boosting decision tree)集成到框架中,以利用集成学习的能力。这些 轻量级 模型可以部署到计算受限的可穿戴设备上。这使得FedHealth在实际应用中更加通用。

 

3. Experiment

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注