📜  融合学习——一次性的联合学习

📅  最后修改于: 2022-05-13 01:57:06.267000             🧑  作者: Mango

融合学习——一次性的联合学习

介绍

机器学习显着改善了我们的生活。从智能聊天机器人到自动驾驶汽车。改进这些模型以超出预期的主要因素是数据。随着物联网的数字化和日益普及,越来越多的人拥有生成大量高质量数据的设备。这可用于改进模型并提供更好的结果或用户体验。

现在,这个想法的主要障碍是这些设备产生的数据的敏感性。客户设备上的数据是个人的和敏感的。如果数据被泄露,那么这可以用来影响公共决策和意见。因此,重要的是使用这些数据而不将其存储在任何中央服务器中。这正是联邦学习处理的缺点。

什么是联邦学习?

它是一种分布式机器学习技术。它基本上使机器学习工程师和数据科学家能够在默认情况下有效地处理具有隐私的去中心化数据。

数据仅存在于端节点上。模型在它们上进行训练,只有更新的参数被发送到中央服务器。然后将这些更新汇总到主服务器上,以生成所需的机器学习模型。

联邦学习

联邦平均算法可用于训练主模型。步骤如下:

  • 从池中选择 k 个客户端
  • 将初始参数 θ t发送给这些客户端
  • 客户端从服务器接收到这个 θ t
  • 运行 SGD(随机梯度下降)的一些迭代以产生更新的参数 θ'
  • 返回 θ' - θ t到服务器
  • θ t+1 = θ t + 客户端更新的数据加权平均值

联邦学习的缺点

众所周知,要获得经过适当训练的模型,需要进行数千次训练迭代。现在,这些迭代中的每一个都需要将原始参数发送到数千个,或者可能是数百万个边缘节点,然后允许它们进行训练。然后在本地训练之后,更新从这数百万个设备发送到中央服务器。

现在要获得一个好的模型,这个过程必须重复多次。所有这些都会导致巨大的通信开销。尽管通信消息的大小可能很小,但频率很高。这种通信开销阻止了它更可行。因此,强烈需要一种更好的方法,可以减少服务器和节点之间的通信次数。

什么是融合学习?

它是最先进的分布式 ML 技术。在 Fusion Learning 中,我们尝试将边缘节点与中央服务器的通信次数减少到 1。因此,我们没有进行多次训练迭代,而是将生成信息发送到中央服务器。

现在一旦中央服务器有了这个生成信息,它就可以生成一些样本数据。现在在大多数情况下,这些数据就像原始数据一样工作。如果这些数据是在原始客户数据上训练的,那么对这些数据的训练会产生一个非常相似的模型。

可以使用不同的生成方法。现在,正在发送的这些生成信息到底是什么。让我们看看这样做的一些方法。

发送生成信息的方式

一、分布参数

那里有大量的发行版。现在可以将数据近似为来自这些分布之一。一旦我们确定了分布,我们就可以将分布参数发送回中央服务器。使用这些参数,主服务器能够从分布中挑选出随机点并使用这些数据进行训练。

为了找到可以近似得出数据的分布,我们可以列出最常见的分布。其中一些是 uninorm、norm、lognorm、gamma、beta、pareto、weibull 等。这些可用于逼近几乎任何类型的数据点。现在可以进行 Kolmogorov-Smirnov 检验或 KS 检验来为每个分布分配分数。得分最高的分布可以作为最终分布。

2. GAN 生成器

GAN 或生成对抗网络是 Ian Goodfellow 及其同事在机器学习领域的最新发展。在这种算法架构中,有两个神经网络相互对抗,因此被称为“对抗性”。他们这样做是为了生成可以作为真实数据的新的合成数据实例。相当流行的用途之一是生成不属于世界上任何人的真实人脸!

GAN 有生成器和鉴别器。生成器尝试学习数据中的潜在模式并生成准确的样本。鉴别器试图找出给定样本是否来自原始数据集。随着 GAN 的训练越来越多,生成器会产生更准确的数据点,而鉴别器在找出假数据点方面变得越来越高效。当生成器成功地欺骗鉴别器时,就会发生收敛。

一旦 GAN 在边缘节点上完成训练,就可以将生成器发送到主服务器。然后,服务器可以从这些生成器中生成准确的样本数据。一旦服务器有数据,它就可以继续训练迭代。由于这些数据在很大程度上类似于客户的数据,因此可以预期经过训练的模型在客户数据上表现出色。

通信开销的大幅减少大大减少了整体训练时间。除了减少时间融合学习还有一个优点。即使某个末端节点在给定点无法到达,并且我们想要训练一个新模型,我们也可以很好地提取它上次发送的生成信息。这可以用来训练越来越多的模型。