天天看点

《联邦学习》——个人笔记(三)

第三章分布式机器学习

3.1分布式机器学习介绍

  • 3.1.1分布式机器学习的定义

    分布式机器学习(Distributed Machine Learning,DML),是指利用多个计算节点进行机器学习或者深度学习的算法和系统,旨在提高性能、保护隐私,并可扩大至更大规模的训练和更大的模型。

    DML可以分为两类:面向扩展性的DML和面向隐私保护的DML。

    面向扩展性的DML是指用来解决不断增长的扩展性和计算需求问题的机器学习系统。当内存限制和算法复杂度是主要障碍时,面向扩展性的DML方法便为大规模ML提供了可行的解决方法。出了克服训练数据的集中存储需求,DML系统还能够使用更弹性化和更廉价的计算资源。

    面向隐私保护的DML的主要目的是保护用户隐私和数据安全。在面向隐私保护的DML系统中,有多个参与方且每一方都拥有一些训练数据。因此需要使用DML技术来利用每个参与方的训练数据,从而协同地训练机器学习模型。

  • 3.1.2分布式机器学习平台

    Apache Spark MLlib

3.2面向扩展性的DML

  • 3.2.1大规模机器学习

    传统ML方法在处理大规模数据集和 ML模型时所面临的主要挑战:

    1.内存短缺 传统ML方法只在一块独立内存中对训练样本进行所有的操作。因此,如果训练样本的规模超过了单块内存容量,就可能导致训练模型不收敛或者性能低下

    2.不合理的训练时间 大规模训练样本时,在训练处理中耗费的时间可能过长。

  • 3.2.2面向扩展性的DML方法

    很多研究工作致力于提升DML的能力上限,以减少处理大规模的ML和DL模型所需的训练时间。常见的面向扩展性的DML方案包括数据并行、模型并行、图并行、任务并行、混合并行和交叉并行。

    1.数据并行 将训练数据划分为多个子集(也称为分片或者切片),然后将各个子集置于多个计算实体中,之后并行的训练同一个模型。换言之,数据并行指利用不同的计算设备,通过使用同一个模型的多个副本,对多个数据分块进行处理,并定期交换最新的模型训练结果。

    2.模型并行 随着DNN模型变得越来越大,我们可能面临一个DNN模型不能加载到单一计算结点内存中的问题。对于这种情况,我们需要分割模型,并将各部分置于不同的计算结点中。

    3.图并行 用于划分和分配训练数据和执行ML算法的技术。

    4.任务并行 计算机程序在同一台或多台机器上的多个处理器上执行。它着力并行执行不同的操作以最大化利用处理器或内存等计算机资源,任务并行的一个例子是一个应用程序创建多个线程进行并行处理,每个线程负责不同的操作。

    5.混合并行和交叉并行 结合不同类型的并行方法,从而形成混合并行的方案,在实际中,将数据并行和模型并行结合起来使用也是很常见的。 混合并行的覆盖范围可以进一步扩展,形成更加灵活的交叉并行。

3.3 面向隐私保护的DML

对于隐私保护的ML系统,它通常能保护下列信息:训练数据输入、预测标签输出、模型信息(包括模型参数、结构和损失函数)和身份识别信息(如记录的数据来源站点、出处或拥有者)。

  • 3.3.1隐私保护决策树

    决策树是一种重要的监督机器学习算法,被广泛使用于分类和回归任务中。决策树的学习模型是可解释和可理解的,其推理过程是找到一个满足一个样本属性的叶结点。在分布式决策树算法中,根据数据的分布类型,可以被正式分为两类:

    (1)横向划分数据集: 训练数据的特征空间相同,但样本空间不同,如每个样本的身份标识。

    例如,由于不同可穿戴设备的传感器是相同的,所以这些设备采集的数据具有相同的属性类别。然而,由于设备工作的环境不同,由不同实体采集的数据样本也是不同的。

    (2)纵向划分数据集:

    训练数据的样本空间相同,但特征空间不同。不同的实体拥有的数据集的特征集可能是不同的,但这些样本可能来自同一个实体。例如,同一个患者在不同的医疗机构的记录可以有不同的生理指标。

  • 3.3.2隐私保护方法

    常用于保护数据隐私的方法大概分为两种:

    (1)模糊处理:随机化、添加噪声或修改数据使其拥有一级别的隐私,如差分隐私。

    (2)密码学方法:通过不将输入值传给其他参与方的方式或者不以明文方式传输,使分布式计算过程安全化,如安全多方计算,包括不经意传输、秘密共享、混淆电路和同态加密。

  • 3.3.3面向隐私保护的DML方案
  • (1)基于差分隐私的隐私保护逻辑回归算法。在随机数据上进行优化,使得模型性能和隐私保护之间取得平衡成为可能,并使隐私的界限更为严格。

    (2)支持向量机模型在横向和纵向上划分数据集上的实验。它使用随机生成的核函数来隐藏原始的学习核函数,达到了与不具备隐私保护的SVM模型相近的性能。

    (3)除了逻辑回归、支持向量和决策树,基于扰动的隐私保护方法也在深度学习算法中被广泛使用。随机梯度下降方法将梯度分片并在训练过程中向梯度加入噪声,是的已学习的深度模型能够具有(ϵ,δ)-差分隐私。

3.4面向隐私保护的梯度下降方法

  • 3.4.1朴素联邦学习

    联邦平均方法是为了使朴素联邦学习能在水平划分数据集上试用而提出的一种方法。在联邦平均算法中,每一方给一个协调方(或是受信任的处理方,或是一个参数服务器)独立的上传明文形式的梯度或模型参数。最后,协调方将明文形式的更新模型发送给每一方。

  • 3.4.2隐私保护方法

    1.代数方法代数方法旨在利用传输数据的代数特性保护原始训练数据。它通过保证每个诚实方对敌对方的输入和输出存在内部有效输入-输出对,即受保护的原始输入数据形式,提供了对隐私的保护。

    2.稀疏梯度更新方法通过只更新梯度的子集的方式来把保护隐私。这类方法用精度来换取效率,并且保护隐私程度较低。梯度是以明文方式传输的,所以这类方法是用隐私换取效率。

    3.模糊处理方法通过随机化、泛化和压缩来使得数据模糊,虽然可以改善隐私性,但会降低准确度。在联邦学习中,本地差分隐私也可以用于给每一方的梯度加上噪声。

    4.密码学方法利用同态加密和安全多方计算,在梯度下降过程中,保护每一方的梯度信息隐私。

继续阅读