现有的机器学习任务默认训练数据遵循独立同分布(idependentlyandidenticallydistributed,IID),神经网络、深度学习等常见算法一般都将数据遵循IID的假设作为其推导的一部分。
在一些场景中,直接应用已有机器学习算法基于Non-IID数据完成模型训练,由于算法本身的先进性训练结果仍然较好。但对于某些应用场景,基于现有的机器学习算法和框架,使用Non-IID数据训练会出现意想不到的负面效果,比如模型准确度低、模型无法收敛等。
比较常见的需要处理Non-IID数据问题的应用场景包括:
1.LearningClassifiersWhenTheTrainingDataIsNotIID
算法分析
图1.显示随机和固定效应的混合效应模型
根据贝叶斯理论,用训练过的GLM对一个新的测试样本x进行分类时,需要对分类器固定效果参数进行边缘化处理:
同理,对于GLMM的边缘化处理扩展如下:
[Image:image.png]使用GLMM进行模型训练,针对同一患者或同一医院的样本数据分类预测不是独立完成的。在测试阶段,给定新病人或新医院的样本数据进行分类(不存在随机效应),此时可直接应用GLM,但需依赖于GLMM学习得到的边缘后验分布概率:
由于不能用解析形式确定精确的后验概率值,利用上式计算每一个测试样本分类时的积分运算计算复杂度非常高。为解决这一问题,本文提出使用点分类器代替贝叶斯积分的GLMM分类计算。对于任一样本数据,将其与随机效应变量组合后形成新的增强向量:
当只考虑硬分类问题时(如SVM),引入符号函数sign(),基于点分类器的分类函数为:
通过使用点分类器,避免了计算线性超平面分类器的贝叶斯积分。然而这种处理仅适用于解决硬分类问题,如果我们使用其他的链接函数来计算软分类,点分类器不再适用。此外,上式主要适用于对称后验分布的计算(例如高斯近似分布),如需计算拉普拉斯近似分布的后验概率可以计算其近似平均值,即在最大后验概率(MAP)估计过程中最大化其后验概率。
针对本文提出的Non-IID问题,首先,对于所有的训练样本,构建包含附加特征的增强特征向量。以样本x的原始特征向量为基础,在除患者ID位置外的所有位置附加一个由零组成的向量,以及与医院ID位置相对应的另一个向量,形成包含附加特征的增强特征向量如下:
测试阶段,本文使用基于增强向量的Fisher判别法(Fisher』sDiscriminantwithAugmentedFeatureVectors,FD-AFV)如下:
实验结果
本文使用的对比算法包括:Fisher判别法(Fisher』sDiscriminant,FD),FD-AFV以及GLMM。本文将FD-AFV和GLMM与FD进行比较,目的是验证算法能否显著提高分类器的准确度。此外还研究了在分类器灵敏度方面,计算成本较低的FD-AFV是否与计算成本较高的GLMM相当。
(1)结肠癌(ColonCancer)
图2.结肠癌图像实验结果
(2)肺栓塞(PulmonaryEmbolism)
数据库:作者在两个不同的机构收集了68例病症的肺栓塞图片,这些图片由专业胸部放射科医生进行标记(共计208个血块)。随机分为两组:训练集(45例142个血块,共3017名候选人)和测试集(23例66个血块,共1391名候选人)。为每个候选对象提取了总共115个特征。
图3.肺栓塞图像实验结果
总结与分析
2、Communication-EfficientLearningofDeepNetworksfromDecentralizedData
本文重点解决联邦学习中Non-IID数据的学习问题。在联邦学习的应用场景中,各个设备上的数据是由设备/用户独立产生的,因此任何特定设备/用户的本地数据集都不能代表总体分布,联邦学习的样本数据属于non-IID数据。
联邦学习任务通过由中央服务器协调的客户端的松散联合来解决,这种方法的一个主要优点是将模型训练与直接访问原始训练数据的需求分离开来,这在对数据隐私有严格要求或数据集中共享难度较大的领域中有着重要的现实意义。本文提出了一种基于迭代模型平均的深层网络联合学习方法(FederatedAveraging,FedAvg)解决Non-IID数据学习问题,并对五种不同的模型结构和四种数据集进行了广泛的实证评价。
联邦学习的流程是:初始化模型及各个参数,中央服务器将初始化的模型参数等全局状态发送至全部客户端。随机选择比例为C的客户端(0 本地优化完毕后,客户端向中央服务器发送更新的模型参数,中央服务器基于客户端更新的模型参数更新全局状态。重复上述过程直至全局模型收敛。 假设K表示全部客户端数量,P_k表示客户端k上数据的索引集,n_k=|P_k|。非凸神经网络目标函数为: 当P_k是通过将训练样本数据均匀随机分配到客户端而形成的,即客户端中的本地数据遵循IID,此时有E_Pk[F_k(w)]=f(w)。当客户端数据遵循Non-IID,此时F_k可能为f的任意错误近似。SGD为近年来广泛应用的深度学习模型,通过改进模型、优化参数等处理在不同的机器学习任务中都获得了较好的效果。 随机选择比例为C的客户端,计算这些客户端本地数据的损失梯度:g_k=Nabla(F_k(w_t)),当前模型下本地数据的平均梯度为w_t。中央服务器聚合这些梯度值并更新: 每个客户端使用其本地数据对当前模型进行梯度下降优化,然后中央服务器对生成的模型进行加权平均。基于FedSGD算法框架,本文提出在中央服务器进行加权平均步骤之前多次执行本地更新迭代,从而向每个客户端添加更多的计算过程如下: 该方法称为FederatedAveraging(FedAvg)。FedAvg的计算量由三个关键参数控制:C,在每轮执行计算的客户端的分数比例;E,每个客户端每轮对其本地数据集进行训练的次数;B,用于客户端更新的本地小批量大小。FedAvg的完整算法如下: 对于非凸的目标函数来说,在中央服务器端直接对各个客户端训练得到的模型参数进行平均化处理,会导致训练结果生成「坏」模型,即影响中央服务器端得到的全局模型效果。当我们对两个从不同初始条件训练得到的MNIST数字识别模型结果进行平均化处理时,可以看到这种较差的效果(见图1左侧)。 图1中父模型w和w『分别基于MNIST库中600个不重叠的IID样本训练得到,这说明对于本地数据库来说模型的训练出现了过拟合现象。 最近的研究表明,充分过参数化神经网络的损失函数能够有效提升性能,特别是能够保证优化过程不容易陷入局部极小值。实际上,当从相同的随机初始化中启动两个模型,然后在不同的数据子集上对每个模型进行独立的训练时,我们发现简单的参数平均法非常有效,即1/2w+1/2w』,其中w』为损失函数的更新值。 由图1右侧实验结果图可以看到,在整个MNIST训练集上实现的损失显著低于在任何一个小数据集上独立训练所获得的最佳模型。 图1:通过平均两个模型的参数生成模型的完整MNIST训练集的损失值 实验分析 本文针对图像分类和语言建模两个任务构建五个模型进行实验评价。 a.图像分类 数据库:MNIST字符识别 模型:1)一个简单的多层感知器,具有两个隐藏层,每个层有200个单元,使用ReLu激活(总参数199210),我们称之为MNIST2NN。2)一个具有两个5x5卷积层的CNN(第一个有32个通道,第二个有64个通道,每个通道都跟着一个2x2的池化操作),一个有512个单元的全连接层和ReLu激活,以及一个最终的Softmax输出层(总参数1663370)。 我们研究了两种在客户端划分MNIST数据的方法,1)IID,数据清洗后分为100个客户端,每个客户端有600个样本。2)Non-IID,首先按数字标签对数据进行排序,将其划分为200个大小为300的碎片,然后将每个客户端分配2个碎片(共100个客户端)。 b.语言建模 数据库:TheCompleteWorksofWilliamShakespeare。客户端数据集中针对每场戏剧中的每个口语角色给定至少两行语言,共1146个客户端。对于每个客户端,将数据分成一组训练行(角色的前80%行)和测试行(最后20%,四舍五入到至少一行)。最终生成的数据集训练集有3564579个字符,测试集中有870014个字符。 模型:字符级别LSTM语言模型。模型以一系列字符作为输入,并将每个字符嵌入到一个已知的8维空间中。然后通过两个LSTM层处理嵌入的字符,每个层有256个节点。最后,将第二个LSTM层的输出发送到SoftMax输出层,每个字符一个节点。整个模型有866578个参数,我们使用80个字符的展开长度进行训练。 图2.MNISTCNN、ShakespeareLSTM的测试集准确度与通信轮次 图2给出图像分类和语言建模的实验结果。针对不同的模型、不同的数据库FedAvg都能获得较好的效果。此外图2表明,每轮增加更多的本地SGD更新可以显著降低通信成本,具体通信速度提升的情况见表1。 表1.达到FedAvg目标准确度的通信轮数 c.图像分类 数据库:CIFAR-10。将50000个训练样本和10000个测试样本分成100个客户端,每个客户端包含500个训练样本和100个测试样本;由于此数据没有自然的用户分区,因此实验只考虑IID设置。 模型:TensorFlow。由两个卷积层、两个全连接层和一个线性变换层组成。 图3.CIFAR-10LSTM的测试集精度与通信轮次 图3给出CIFAR-10数据库中图像分类的实验结果,使用FedSGD在全训练集中的实验(没有用户划分)作为对比基线。其中FedSGD消退概率约为每轮0.9934,FedAvg(B=50,E=5)的消退概率约为0.99。FedSGD经过197500次更新后达到86%的准确度,而FedAvg约需2000次更新能够达到85%的准确度。 d.语言建模 数据库:大尺度语言预测,训练数据集包括来自大型社交网络的1000万个公开发帖。我们按作者对这些帖子进行分组,总共形成50多万个客户端。该数据集能够模拟真实场景下用户移动设备上存在的文本输入数据情况。 模型:256节点LSTM,词汇表10000字。每个字的输入和输出嵌入特征尺寸为192,并与模型共同训练,共有4950544个参数。具体实验结果见图4。 图4.大型语言模型单词LSTM的单调学习曲线。 分析与总结 本文针对Non-IID的联邦学习提出了一种能够应用于实际场景的FedAvg算法,FedAvg基于迭代模型平均的深层网络联合学习。理论分析和实验结果表明,FedAvg对不平衡和Non-IID数据具有鲁棒性,此外,FedAvg的通讯消耗很低。与基线算法FedSGD相比,FedAvg具有更好的实用性,从模型效果和通信效率两个角度都能够有效解决实际应用场景中的问题。 3、FederatedLearningwithNon-IIDData 本文首先给出了在不同实验条件下FedAvg的准确度结果,实验表明准确度下降的趋势可由权重散度指标表征。第二,本文提出使用土方运距(earthmover』sdistance,EMD)计算权重散度,能够提升联邦学习在Non-IID数据中的准确度。第三,本文提出了一种数据共享(Data-Sharing)的联邦学习策略,通过在中央服务器创建所有客户端设备之间全局共享的一小部分数据来改进对Non-IID数据的训练效果。本文具体内容是按照上述三个突破点的实验或理论分析、实验验证的结构组织完成的。 FedAvg准确度实验分析 模型:CNN。 数据情况:训练集平均划分为10个客户端。对于IID设置,每个客户端随机分配一个超过10个类的统一分布。对于Non-IID设置,数据按类排序并划分为两种极端情况: (a)1类Non-IID,其中每个客户端仅保存单个种类的数据; (b)2类Non-IID,将数据排序后划分为20个分区,每个客户端随机分配两类中2个分区的数据。 FedAvg参数:E,每个客户端每轮对其本地数据集进行训练的次数;B,用于客户端更新的本地小批量大小。 图1.FedAvg实验结果 表1.Non-IID情况下FedAvg准确度下降情况 由图1,在IID情况下,FedAvg的收敛曲线与所有三个数据集的SGD(Bx10)的收敛曲线基本重合。对于CIFAR-10,只有一个很小的差异,即B=10的FedAvg收敛到82.62%,B=100的SGD收敛到82.62%。 然而,在Non-IID情况下,同等大小B取值情况下,FedAvg的效果明显比SGD差。Non-IID情况下的准确度下降详细数据见表1,其中1类Non-IID的下降最严重。全部实验的准确度详见表2。 表2.用IID和Non-IID数据测试SGD和FedAvg的准确度 计算权重散度EMD 图2.IID、2类Non-IID和1类Non-IID情况下CNN层权重散度结果 由图2所示,在Non-IID情况下2类Non-IID的实验效果要优于1类Non-IID,这就说明,FedAvg的效果受到客户端数据分布情况的影响,即数据倾斜程度。由于测试结果准确度是由训练的权重决定的,另一种比较FedAvg和SGD的方法是在相同的初始化权重下,观察权重相对于SGD的影响,本文定义该指标为权重散度(weightdivergence),它量化了两个不同训练过程在相同权重初始化下的权重差异: 下面给出权重散度的数学分析。给定紧致空间X,对应包含C类的类别空间Y,Y=[C],[C]={1,...,C}。点对{x,y}的分布为p。f为x到对应概率单纯型S的映射,其中f_i表示第i类的概率。f在假设类别w上参数化处理,例如神经网络的权重。基于广泛应用的交叉熵损失损失函数l(w)为: 忽略泛化误差,直接优化种群损失,则学习问题变为: 使用SGD循环优化计算w值。中央化的SGD执行以下更新: 在联邦学习问题中,假设有K个客户端,在每个客户端本地执行单独的SGD优化。k客户端中第i轮优化为: 每执行T轮优化后在中央服务器端进行一次同步处理: 本地散度权重w_mT^(f)与中央服务器平均散度权重w_mT^(c)之间的偏差规律如图1所示。在IID情况下,对于任意一个客户端来说,本地的散度权重与中央服务器的平均散度权重相差很小。然而,在Non-IID情况下,由于数据分布问题,客户端本地散度权重和中央服务器的平均散度差距随着迭代次数的增加会加大。 图3.IID和Non-IID情况下数据联合学习的权重散度图解 对于K个客户端,每个客户都有n(k)个IID样本,对于第k个客户端其分布为p(k)。如果有 对于每一类i都为lambda-Lipschitz的,且每隔T步骤进行一次同步处理,则m次同步后的权重散度有如下不等式: m次同步后的权重散度主要来自于两部分:一是(m-1)次同步后的权重散度,另一部分是客户端k上数据分布的概率距离相对于实际整体分布的权重散度。(m-1)次同步后的权重散度以下式的强度增强: 且有 因此,如果联邦学习中不同的客户端从不同的初始w开始,那么即使数据遵循IID仍然会遇到较大的权重差异,从而导致精度下降。当所有客户端从相同的初始化和中心设置开始,则权重散度为: 该值为客户端k上的数据分布和中央服务器端总体分布之间的土方运距(earthmover』sdistance,EMD)。EMD受学习速率、同步前步数T和梯度的影响。图4给出不同CNN层的散度差异与EMD的对比。对每个EMD的5个分布计算权重散度的平均值和标准偏差,对于三个实验数据集,每层的权重散度随着EMD的增加而增大。由上述分析,客户端中数据分布和总体分布之间的EMD为合适的权重散度量化指标。 图4.不同CNN层的散度差异与EMD对比 在每个EMD的5个相同分布上计算测试准确度的平均值和标准偏差,结果见图5。对于三个实验数据集,测试准确度随EMD增加而降低。同时,随着数据Non-IID程度加强,下降速度也越来越快。由图4和图5分析可知,在平衡Non-IID数据与提高FedAvg的准确性之间需要权衡协调。 图5.(a)FedAvg的测试准确度与EMD;(b)散度发散的箱线图 数据共享策略 本文提出了一种数据共享策略(Data-Sharing),通过构建在所有客户端设备之间全局共享的一小部分数据来改进Non-IID数据的FedAvg。由图5中的实验结果可知,对于高度倾斜的Non-IID数据,可以通过减小本地分布和全局分布之间EMD的方式提升测试准确度。 在联邦学习场景中,我们无法控制客户端的数据,因此可以在初始化阶段将具有统一分布的全局数据中的一部分数据子集部署到客户端中。基于中央服务器中的共享数据训练初始化模型,各个客户端的权重并不是随机分配的,而是根据初始化模型确定的。全局共享数据的应用可以减小EMD,从而提升整体测试准确度。数据共享策略详见图6。 图6.数据共享策略 部署在中央服务器中的全局共享数据子集G具有各类数据的统一分布。基于G初始化训练全局模型,G的大小比例为alpha的随机子集分配部署到各个客户端中,之后各个客户端基于本地数据库和分配的G子集的总和训练本地模型。然后,中央服务器从客户端聚合本地模型,用FedAvg训练全局模型。G的大小影响数据共享策略的效果: 其中D表示客户端的数据量。 本实验中将CIFAR-10训练集分为两部分,其中客户端D包含40000个样本数据,剩余部分H包含10000个样本。D划分为10个1类Non-IID数据分区,H生成10个随机的(belta=2.5%至25%)G』s子集。实验结果见图7。 图7.数据共享策略实验结果 由图7的实验结果可知,随着belta值的增大,测试准确度不断提升,最高达到78.72%。即使belta取值较小(belta=10%),对于1类Non-IID数据的准确度也能达到74.12%,而在没有使用数据共享策略的情况下,准确度仅为44%。此外,图7(b)的实验表明,在进行数据分发时并不需要将G整体分发到客户端,相反,只需要将G的一个随机部分分发给每个客户端就可以获得很好的效果。 总之,数据共享策略为使用Non-IID数据的联邦学习提供了一个有效解决方案。全局共享数据集的大小和随机分配至客户端的子集大小可以根据具体问题和应用进行调整。由于该策略仅需在初始化阶段执行一次,因此并不会对联邦学习的整体通信效率产生影响。此外,全局共享数据与客户端本地数据是不同的数据集,因此该策略不存在隐私敏感性问题。 总结与讨论 本文重点解决的是联邦学习场景中存在数据严重倾斜的情况下,FedAvg的性能影响及解决方案。本文提出使用客户端中数据分布和总体分布之间的EMD定义权重散度,同时还提出了一种数据共享策略,通过创建在所有客户端之间全局共享的一小部分数据来改进对Non-IID数据的训练效果。 本文中对于Google论文Communication-EfficientLearningofDeepNetworksfromDecentralizedData重点实验有严格的重现,但是在图1呈现FedAvg实验结果时,作者只给出了500轮通信内达到的精度,然后有可能最终通过更多轮通信(Google论文中给出了4000轮),non-IID也达到了预定精度,只是需要更多轮通信。而本文的论点是non-IID数据影响模型质量,无法达到预定精度。在和论文作者沟通后,论文作者表示观察到1000轮之后non-IID仍然达不到预定精度,而且精度增长趋势进入平台期,涨幅非常小。 4、OntheConvergenceofFedAvgonNon-IIDData 本文重点讨论联邦学习问题中FederatedAveraging(FedAvg)算法在处理Non-IID数据时的收敛性问题。FedAvg在客户端并行运行SGD,并对各个客户端的结果进行周期性的平均化处理。FedAvg适用于Non-IID数据,各个客户端中的数据不需要遵循统一的分布规律。本文重点研究FedAvg凸优化问题的理论依据,针对强凸和光滑问题的FedAvg进行理论分析,此外本文是首次在不设假设约束前提下(不要求遵循IID分布和所有客户端为活动状态)论证FedAvg的收敛速度。 理论证明 在标准FedAvg中,中央服务器将当前状态下最新的模型W_t广播至各个客户端,各个客户端执行本地优化如下: 中央服务器汇聚客户端模型后进行平均化处理,生成新的全局模型W。 在之前的FedAvg分析中,一般会做两个假设:一是各个客户端中的数据为IID分布的,二是各个客户端都处于活跃状态中(非关闭)。这样,中央服务的平均化处理满足下式: 然而在实际应用中,这两种假设都很难满足。不同客户端中存储的本地数据无法满足遵循统一分布的要求,而一些客户端设备也可能处于关闭状态。本文改变中央服务器的平均化处理策略,每次只选择前K个客户端处理,S_t为客户端标签集合(|S_t|=K): 为了分析FedAvg在non-IID条件下的收敛性质,本文做了以下四个假设: 假设1:F1,...Fn为L-平滑的,对于任意v和w: 假设2:F1,...Fn为miu-凸的,对于任意v和w: 假设3:客户端中的随机梯度方差满足: 假设4:随机梯度的期望平方范数是一致有界的: 令F*和F*_k分别表示F和F_k的最小值,数据的Non-IID分布可由下式量化表示: 如果数据遵循IID,则上式随着样本数量的增加值趋于零。如果数据为Non-IID,则上式值非零,且值的大小反映了数据分布的异质性程度。 当全部客户端参与平均化处理时,FedAvg最终结果w_T满足: 部分客户端参与的情况下,中央服务器可以有两种平均化处理策略。 策略1(SchemeI):假设S_t包含的K个子集是随机抽取的,采样概率为p_1,...,p_N。则FedAvg执行的中央服务器平均化处理策略为: 策略2(SchemeII):假设S_t包含从|N|中均匀无替换抽样得到的子集。数据进行平衡化处理p_1=...=p_N=1/N。则FedAvg执行的中央服务器平均化处理策略为: 当部分客户端参与时(|S_t|=K),FedAvg最终结果w_T满足: 因此,在不同客户端活跃状态下,FedAvg都具备收敛性。详细及完整的数学证明过程可见论文原文。 本文论证了不同参数对于FedAvg收敛性能的影响。其中,E表示每个客户端每轮对其本地数据集进行训练的次数,K表示处于活跃状态的客户端数量,最后是中央服务器的平均化处理策略。 a.参数E的选择 T_epsilon表示FedAvg达到「epsilon」准确度时所需要的迭代次数,由上式可知,中央服务器与客户端之间所需的通信轮数大致为: T_epsilon是E的一个先减小后增大的函数,这就意味着E过小或过大会导致较高的通信成本,并且存在最优E。如果E设置较大,那么w_t能够收敛到F_k的极小值,则FedAvg成为局部解的一次平均值。如果数据为Non-IID,F_1,...,F_N的最小加权平均值不等于F的最小值,则一次平均值不再适用。因此Non-IID情况下E的最大值为Omega(sqrt(T))。 b.参数K的影响 对于IID数据,FedAvg的收敛速度随着K的增加而显著提高。然而,在Non-IID情况下,收敛速度对K的依赖性较弱。在实际应用中,可以将参与比K/N设置得很小,从而在保证整体收敛速度的情况下减小落后者带来的影响。 c.平均化处理策略 本文提出了两种平均化处理策略SchemeI和SchemeII。SchemeI根据概率p_1,...,p_N选择K个设备进行替换。从各个客户端中非均匀采样的收敛速度比均匀采样快,尤其是当p_1,...,p_N高度不均匀时。如果系统可以选择在任何时候激活N个设备中的任何一个,那么应该使用SchemeI。 但是,通常联邦学习的系统对于客户端的采样规则并没有控制权,一般都是对前K个反馈的结果进行更新。在这种情况下,我们可以假设K个客户端是从所有N个客户端中均匀采样的,当p_1,...,p_N高度不均匀,则FedAvg收敛速度较慢。 数据库: a.MNIST。将MNIST数据库中的数据分布到N=100个客户端中,每个客户端包含两位数的样本。生成两个数据库:平衡的MNIST库(balanceddata,将各个客户端的样本数量设定为相同)和非平衡的MNIST库(unbalanceddata,根据功率定律不同客户端的样本数量不同)。 b.人工生成数据(X_k,Y_k)。数据生成模型为: [Image:image.png]数据库详细配置见表1。 表1.联邦学习实验数据库 实验结果见图1。图1(a)给出在给定准确度的条件下,E的改变对于达到收敛状态所需要的迭代次数的影响。对于四种实验数据来说,所需的迭代次数首先减少,之后随着E增大而逐渐增多。图1(b)表示在人工生成的样本数据库Synthetic(0,0)中,处于活跃状态的客户端数量K对收敛情况的影响不大。 图1(c)表示,在MNISTbalanced数据库中,在中央服务器中使用SchemeI的效果优于SchemeII,而SchemeI和II的效果都优于原始FedAvg。图1(d)表示,在MNISTunbalanced数据库中,SchemeI效果优于SchemeII和FedAvg。在该实验条件下,SchemeII受到unbalanced数据不稳定的因素影响,收敛速度较慢。 图1.不同条件和参数下实验效果 本文研究了经典启发式算法FedAvg的收敛性,针对客户端样本数据生成方式和中央服务器的平均化处理策略进行了分析和论证。提出了两种平均化处理策略,并从理论分析和实验结果两方面进行了验证。本文主要是对FedAvg的理论分析和证明,同时也讨论了实际应用中的算法设计。本文的论证主要针对凸优化问题,对于其他类型问题的分析将是今后研究的主要方向。 5、LoAdaBoost:Loss-BasedAdaBoostFederatedMachineLearningonmedicaldata 医疗数据分析是联邦学习的一个重要应用场景。医疗从业者可以使用健康数据提供医疗保健,研究人员可以使用健康数据构建机器学习模型,以改进临床服务并做出健康预测。但由于数据量大、保密性要求高,这些数据大多分散存储在移动设备或不同医院,这意味着传统的基于集中数据的机器学习方法不再可行。因此,避免数据收集和中央存储的联邦学习变得非常必要,到目前为止已经取得了重大进展。 本文同时考虑解决联邦学习中的三个问题,即本地客户端计算复杂度、通信成本和测试准确度。本文以FedAvg为基础提出一种基于损失的自适应增强联合平均(LoAdaBoostFedAvg)算法,该算法在中央服务器上进行模型平均化处理之前,对具有高交叉熵损失的局部模型进行了进一步优化。 使用中值损失函数而不是平均损失函数的原因在于,后者对显著不足或过度拟合的客户端模型异常值的鲁棒性较差。在本文方法中,客户端和中央服务器之间不仅传递模型权重,还需要传递交叉熵损失。LoAdaBoostFedAvg的工作流程见图1。 图1.客户端和中央服务器之间的通信过程 LoAdaBoostFedAvg需要对客户端的模型进行再训练,整个流程如下:对于客户端k,初始化模型w_average后基于本地数据划分为B个小组。E表示每个客户端每轮对其本地数据集进行训练的次数。与FedAvg不同的是,LoAdaBoostFedAvg仅对其中E/2进行训练优化。交叉熵损失函数表示为L_k,模型为w_k。当满足下述条件时客户端k的计算过程停止: 若上式条件不满足,则执行另外E/2的训练。该过程循环E/2-r+1次,r为次数,首次时r=0,当总次数达到3E/2时或满足下式时循环停止,将最终的L_k和w_k上传至中央服务器。 LoAdaBoost是自适应的,是因为其在第一个E/2阶段之后性能较差的客户模型能够通过连续再训练来提高其性能。训练质量是通过比较模型的损失和中值损失来确定的。这样,该方法能够确保大多数客户端模型的损失低于之前迭代时的中值损失,从而使学习过程更加有效。 此外,由于在一次迭代中,预计只有极少的客户端模型需要进行完整的3E/2个周期的训练,因此每个客户端运行的周期平均数将小于E,这意味着使用LoAdaBoost本地计算负载比FedAvg小。最后,由于损失函数和模型参数是同时传输的,LoAdaBoost并不会引入额外的通信负载损耗。 与其他基于随机优化的机器学习方法类似,上述方法的一个重要假设前提是,客户端本地数据的随机梯度是对中央服务器中总体数据完全梯度的无偏估计。实际上,在Non-IID情况下这个假设是不成立的。Non-IID情况下一个客户端中低损失的优化模型并不能推广到中央服务器中,即使增加客户端的训练机会来减少损失,也不能有效提升中央服务器中全局模型的效果。因此,本文提出引入数据共享策略(Data-Sharing),当本地数据与一小部分IID数据集成时,Non-IID数据会变少,从而缓解该问题带来的影响。 对比算法:FedAvg、FedAvg+datasharing、LoAdaBoostFedAvg、LoAdaBoostFedAvg+datasharing。 模型:在每个客户端上训练的神经网络由三个隐藏层组成,分别有20、10和5个单元,使用ReLu激活函数,共有56571个参数。使用自适应矩估计(Adam)作为随机优化算子,根据经验结果,该算法所需内存较少,计算效率较高。 数据库:MIMIC-III,数据库的具体组成见表1。其中训练库包含20000个样本,测试库包含8000个样本,保留2000个样本作为数据共享策略中使用的共享数据库。采用两种方式组织训练库:(1)IID:随机划分数据至100个客户端,每个客户端包含200个样本;(2)Non-IID:首先根据年龄(AGE_GROUP)和性别(GENDER)对数据进行分类,然后将数据划分至100个大小相等的客户端。 表1.数据库摘要 (1)预测性能 图1给出FedAvg在IID和Non-IID数据中应用的效果。C表示在每轮执行计算的客户端的分数比例;E表示每个客户端每轮对其本地数据集进行训练的次数。本实验中,E=5。图中曲线通过采用在所有之前的通信回合中获得的最高测试集AUC来保证数据单调增加。显然,在C不同取值的条件下,基于IID数据训练的全局模型优于Non-IID数据拟合的全局模型。在相同的本地数据分布条件下,在每一轮中选择一个较小的客户端部分进行计算往往会产生更好的性能。例如,针对IID数据,当C=0.1时在通信次数较少的情况下达到了略高于C=0.2、0.5和0.9的最大AUC。 图1.针对IID和Non-IID数据的FedAvg的性能差异 (2)通信成本 作为基线方法,在实验设置C=0.1和E=5、10和15的情况下,将FedAvg与LoAdaBoostFedAvg进行比较。结果如图2所示,其中水平虚线代表目标测试集AUC。除E=15的FedAvg曲线外,所有其他曲线都高于虚线目标线且呈上升状态,所采用的通信轮数与E成反比。给定相同的E,可以注意到尽管在最初的几轮测试中稍微落后,但本文提出的方法通信轮数始终少于FedAvg。 图2.IID数据评估:FedAvg和LoAdaBoostFedAvg性能比较,C=0.1 (3)本地计算量 对于Non-IID数据,FedAvg的实验结果和本文提出的使用共享数据的方法如图3所示。E值较大,收敛速度快,对于不同的E值,本文提出的方法效果都优于FedAvg:E=5,本文方法效果始终优于FedAvg;E=10或15时,前面几轮通信过程中FedAvg效果较好,但随着通信轮数增加,本文方法的效果优于FedAvg。 图3.在Non-IID数据中应用数据共享策略FedAvg、LoAdaBoostFedAvg性能对比 表2总结了图3中的实验结果。E=5时,采用相同的通信轮数(11)LoAdaBoostFedAvg比FedAvg平均周期少0.4。当E=10和15时,LoAdaBoostFedAvg达到目标AUC分别进行了8轮和5轮通信,以及7.0和10.7的平均周期。而FedAvg在有限通讯轮数内都未能达到目标AUC。 表2.对Non-IID数据的评估:不同方法达到AUC=0.79所需的平均周期和通信轮数 大量高度隐私的分布式医疗健康数据可以通过联邦学习有效的加以利用,同时满足数据存储和模型计算过程在本地完成的要求。在本文的医学数据实验条件下,FedAvg在Non-IID数据分布情况下的效果明显不如IID数据,而本文提出的LoAdaBoostFedAvg通过使用数据共享策略,能够大大提升Non-IID数据的联邦学习效果。但是,在数据倾斜非常严重的情况下,例如在一些语言数据库中,数据共享策略效果不好,LoAdaBoostFedAvg的性能也会受到影响。在今后的研究中,将会重点考虑哪种类型的数据库可以在Non-IID分布的情况下获得较好的建模性能,以及数据的哪些特性会影响不同策略的效果 作者介绍:仵冀颖,工学博士,毕业于北京交通大学,曾分别于中国香港中文大学和中国香港科技大学担任助理研究员和研究助理,现从事电子政务领域信息化新技术研究工作。主要研究方向为模式识别、计算机视觉,爱好科研,希望能保持学习、不断进步。