论文简介:Communication-Efficient Learning of Deep Networks from Decentralized Data——联邦学习的开山之作
论文地址:[1602.05629] Communication-Efficient Learning of Deep Networks from Decentralized Data (arxiv.org)
一、相关预备知识
(一)联邦学习基础知识
当下,大部分AI是靠数据来喂的,而且是大量优质数据。现实生活中,除了少数巨头公司能够满足,绝大多数企业都存在数据量少,数据质量差的问题,不足以支撑人工智能技术的实现。
1、联邦学习概念
- 定义:联邦学习本质上是一种分布式机器学习技术,或机器学习框架。
- 目标:联邦学习的目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,提升AI模型的效果。
2、联邦学习分类
我们把每个参与共同建模的企业称为参与方,根据多参与方之间数据分布的不同,把联邦学习分为三类:横向联邦学习、纵向联邦学习和联邦迁移学习。
- 横向联邦学习
横向联邦学习的本质是样本的联合,适用于参与者间业态相同但触达客户不同,即特征重叠多,用户重叠少时的场景,比如不同地区的银行间,他们的业务相似(特征相似),但用户不同(样本不同)
- 纵向联邦学习
纵向联邦学习的本质是特征的联合,适用于用户重叠多,特征重叠少的场景,比如同一地区的商超和银行,他们触达的用户都为该地区的居民(样本相同),但业务不同(特征不同)。
- 联邦迁移学习
当参与者间特征和样本重叠都很少时可以考虑使用联邦迁移学习,如不同地区的银行和商超间的联合。主要适用于以深度神经网络为基模型的场景。迁移学习的核心是,找到源领域和目标领域之间的相似性。比如,我们如果已经会打乒乓球,就可以类比着学习打网球。再比如,我们如果已经会下中国象棋,就可以类比着下国际象棋。
(二)SGD相关知识
随机梯度下降(stochastic gradient descent,SGD)是一种简单但非常有效的方法,多用用于支持向量机、逻辑回归(LR)等凸损失函数下的线性分类器的学习。并且SGD已成功应用于文本分类和自然语言处理中经常遇到的大规模和稀疏机器学习问题。SGD既可以用于分类计算,也可以用于回归计算。
线性回归的目的是通过几个已知数据来预测另一个数值型数据的目标值。假设其满足公式:,其中 就是权重,经过变换可以写为:
相当于求解 ℎ 从而预测,即让 ℎ(x) 与 y(x) 去逼近。我们定义了一个函数来描述这个差距,这个函数称为损失函数,表达式如下:
我们要求解使得 J(θ) 最小的 θ 值,梯度下降算法大概的思路是:我们首先随便给 θ 一个初始化的值,然后改变 θ 值让 J(θ) 的取值变小,不断重复改变 θ 使 J(θ) 变小的过程直至 J(θ) 约等于最小值。更新公式为:
公式中的 为步长,最终将 J(θ) 带入得:
上述表达式只针对样本数量只有一个的时候适用,那么当有m个样本值时该如何计算预测函数?共有两种方法:
- BGD
计算每一个 j ,迭代更新。此方式对于权重个数多的情况不适用。