作为成功的人工智能范例, AlphaGo[1]利用神经网络和树搜索, 于2016年打败世界围棋冠军, 鼓舞了众多人工智能研究者. 然而, 在AlphaGo成功的背后, 它使用了多达30万局对弈作为训练数据, 让我们不禁思考现实中大数据的质量和可获得性如何. 实际上, 情况并不乐观: 由于行业竞争、手续复杂等因素, 大多数行业只拥有有限或者低质的数据, 这阻碍了人工智能和机器学习技术的应用[2]. 同时, 数据泄露问题危害着社会权益, 对此国内外出台相关法律条例进行规范, 如中国先后发布《中华人民共和国网络安全法》《中华人民共和国数据安全法》和《中华人民共和国个人信息保护法》, 加强对数据安全和个人信息的保护[3]. 在本文中, 我们将拥有数据的实体称为用户. 随着国内外隐私监管的加强, 不同用户的数据流通受到阻碍, 使用户逐渐成为“数据孤岛”[4]. 对于以上场景, 用户的有限数据沟通不畅, 无法集中在一处训练, 因此用户的数据和算力得不到充分利用, 难以训练出表现良好的机器学习模型, 研究者开始探索如何在不泄露数据隐私的前提下破解“数据孤岛”困境[5].
联邦学习由谷歌提出, 作为面向数据孤岛和隐私保护的解决方案, 具体指在不泄露数据隐私的前提下基于分布在多个设备上的数据集构建机器学习模型[6]. 最初联邦学习引起了一些科技公司的兴趣, 比如谷歌和苹果拥有大量移动端用户, 因此希望通过部署联邦学习系统来改善它们的服务[7]. FedAvg[8]作为联邦学习的基准算法, 已经得到广泛的研究与应用. FedAvg在用户数据是独立同分布(independent and identically distributed, IID)且平衡的情况下表现良好, 而这种完美数据在现实场景中很少见. 有研究表明数据的异质性减缓了FedAvg的收敛速度[9]. 非IID是异质的典型情况, 即用户的数据并不服从同一分布, 若用户仍训练公共模型, 学习效果可能不佳. 除此之外, 用户数据量也可能是不平衡的.
有研究尝试通过创建为用户共享的数据子集以改进对非IID数据的训练[10], 但直接分配数据给用户有隐私泄露的风险, 不符合联邦学习的前提. 文献[11]提出了一种新算法, FedProx, 来克服联邦学习中的异质性, FedProx在FedAvg的目标函数上增加了近端项, 限制每轮用户更新的参数不过多偏离全局参数. 文献[12]证明了局部随机梯度下降(stochastic gradient descent, SGD)在数据同质和异质时的复杂度, 并提供了最优步长和最优局部迭代次数的值. 但上述工作关注所有用户的数据, 学到的是公共模型, 不同用户应用公共模型时会产生相同输出, 难以学习它们之间的差异, 因此有必要探索能有效处理用户数据异质性的联邦学习算法.
为帮助解决上述问题, 有研究者提出个性化联邦学习, 即不同用户在联邦学习框架下学习不同模型[13]. 元学习是实现个性化联邦学习的有效方法, 思想是学习如何去学习, 可用来学习不同任务的最优初始化参数[14]. 一般而言, 优化模型时模型初始化参数作为超参数, 常需要人为设置, 再进行若干次迭代得到表现良好的模型参数, 但人为设置的初始化参数具有随意性, 可能离最优参数的距离很远, 需迭代成千上万次才能达到不错的效果, 而经学习的初始化参数更靠近最优参数, 可能仅需迭代几次就能获得好的模型.
文献[15]提出了一种模型不可知的元学习算法(model-agnostic meta-learning, MAML), 该算法适用于任何使用SGD训练的模型. MAML表现良好, 但它需要梯度的高阶信息, 这很耗费计算内存, 并且会减缓计算速度. 继MAML之后, 文献[16]提出了一种只需梯度一阶信息的元学习方法——Reptile. 结合MAML和FedAvg, 文献[17]提出了一种新的算法, Per-FedAvg, 将FedAvg与MAML相结合为用户学习更优的模型初始化参数, 该算法在异质任务上实现了良好的性能, 但需要用户在每次迭代过程中计算MAML的梯度, 这涉及高阶导数信息, 对于用户的算力和内存有较高的要求.
联邦学习背景下, 数据孤岛的数据量往往较大, 而每个用户拥有的数据量较少, 应尽可能采取运算效率高的方法学习. 比如移动端训练时移动设备只拥有很小的算力和内存, 难以承载过于复杂的训练过程; 在线学习时应及时响应需求, 训练时间不宜过长. 考虑到用户使用MAML更新参数时需要耗费较多的计算资源, 而Reptile只需计算梯度的一阶信息, 较MAML有计算优势, 更适合上述计算速度和内存受限的场景. 本文结合Reptile与FedAvg, 提出一种新的个性化联邦学习算法, 基于Reptile的个性化联邦学习算法(personalized FedAvg algorithm based on Reptile, Per-FedAvg-Reptile). 中央服务器在每轮更新前随机抽取一定比例的用户参与训练, 被抽取的用户应用Reptile处理多任务并更新参数, 之后中央服务器将用户发来的参数平均聚合, 迭代学习合适的初始化参数. 然后将学到的初始化参数代入用户模型, 用户在自己的数据上进行若干步(甚至只需一步)梯度下降后得到表现良好的个性化模型.
2 相关工作对于元学习, 考虑优化问题: 找到一组初始化参数向量
MAML的目标函数是:
$ \mathop{\rm{min}}\limits_w {\mathbb{E}_{\tau} }\left[ {{L_{\tau , B}}\left( {{{\boldsymbol{U}}_{\tau , A}}({\boldsymbol{w}})} \right)} \right] $ | (1) |
其中,
$ \begin{split} {{\boldsymbol{g}}_{{\rm{MAML}}}}& = \frac{\partial }{{\partial {\boldsymbol{w}}}}{L_{\tau , B}}({{\boldsymbol{U}}_{\tau , A}}({\boldsymbol{w}})) \\ & = {\boldsymbol{U}}{'_{\tau , A}}({\boldsymbol{w}}){\boldsymbol{L}}{'_{\tau , B}}({{\boldsymbol{U}}_{\tau , A}}({\boldsymbol{w}})) \end{split} $ | (2) |
式(2)中
在本节中, 我们介绍另一个以一阶梯度为基础的元学习算法, 称为Reptile. 像MAML一样, Reptile学习一组初始化参数, 这样当我们在个性化应用阶段优化这些参数时, 学习速度会很快. Reptile的细节如算法1所示.
算法1. Reptile
输入: 任务集合
输出: 训练好的初始化参数向量
1) 初始化
2) for 迭代轮次
3) 从
4) 计算
5) 更新
6) end for
在每轮的最后一步中, 我们可以将
$ {\boldsymbol{w}}\leftarrow {\boldsymbol{w}}+{\epsilon}\frac{1}{n}{\displaystyle \sum _{i=1}^{n}\left({\tilde{{\boldsymbol{w}}}}_{i}-{\boldsymbol{w}}\right)} $ | (3) |
其中,
在联邦平均中, 我们旨在解决这样一个问题:
$ \mathop {\min }\limits_{_{w \in {\mathbb{R}^d}}} \left\{ {f({\boldsymbol{w}})\mathop = \limits^{{\text{ def }}} \frac{1}{n}\sum\limits_{i = 1}^n {{f_i}} ({\boldsymbol{w}})} \right\} $ | (4) |
其中,
如图1所示, 对于FedAvg, 中央服务器每次随机选取部分用户参与参数更新, 用户在本地通过SGD计算梯度信息并传送给中央服务器, 中央服务器平均聚合这些信息来更新模型参数. 注意到, 数据始终保留在用户那里, 所以符合隐私保护的要求.
文献[17]将FedAvg与元学习方法MAML相结合, 提出了FedAvg的个性化变体Per-FedAvg, 在用户更新时用MAML替换SGD, 与FedAvg学习的是模型参数不同, Per-FedAvg学习的是模型的初始化参数, 用户在得到优化的初始化参数后还需在本地数据SGD一次才能获得个性化模型. 理论和实验证明了该算法的有效性. 然而, 如前所述, MAML涉及高阶导数信息, 对于复杂模型, 这在计算代价上是昂贵的. 而Reptile只需要计算一阶导数, 局部更新步数也可灵活设置.
本文将FedAvg与Reptile结合起来, 提出新算法Per-FedAvg-Reptile, 用户更新时只需计算一阶导数, 因此更适合移动端训练、在线学习等计算速度和内存受限的联邦学习场景. 该算法以FedAvg作为框架, 确保用户数据不出本地, 用户通过与中央服务器传递梯度来更新参数, 因此满足隐私保护的要求; 以Reptile作为用户的局部更新, 学习用户的模型初始化参数; 在学习完成之后, 用户以优化的初始化参数为起点, 基于本地的额外数据进行一步梯度下降就能获得个性化联邦学习模型. 新提出的算法细节如算法2所示, 并且可分为以下步骤:
步骤1. 中央服务器初始化
步骤2.
步骤3. 对于选定的用户
步骤4. 中央服务器平均
步骤5. 重复步骤2–4直到算法收敛. 通常我们不知道何时收敛, 会事先设置迭代轮数的上限.
若
$ {{\boldsymbol{w}}}_{t+1}^{i}=\left\{\begin{array}{ll}\dfrac{1}{n}{\displaystyle \sum _{j=1}^{n}\left({{\boldsymbol{w}}}_{t}^{j}-\alpha {{\boldsymbol{g}}}_{t}^{j}\right)}, & t={t}_{p \times {\tau }_{{\rm{out}}}}\text{, }p\in \{1, 2, \cdots, K \} \\ {{\boldsymbol{w}}}_{t}^{i}-\alpha {{\boldsymbol{g}}}_{t}^{i}, &其他 \end{array} \right. $ | (5) |
其中,
算法2. Per-FedAvg-Reptile
输入:
输出: 训练好的初始化参数向量
1) 中央服务器执行:
2) 初始化
3) for
4)
5)
6) for 每个用户
7)
8) end for
9)
10) end for
11) 用户执行
12)
13)
14) for 批次
15)
16)
17) for 小批次
18)
19) end for
20)
21) end for
22) 返回
在本节中, 我们通过模拟数据和真实数据来比较个性化模型的效果. 考虑3种算法: (1)本文提出的新算法Per-FedAvg-Reptile; (2)文献[17]将FedAvg与FOMAML结合的算法Per-FedAvg-FO; (3) FedAvg with one update, 即进行一次额外更新的FedAvg. 由于(1)和(2)训练获得良好的初始化参数后, 还需在用户端梯度下降一次才能获得个性化模型, 为了公平比较, 即使FedAvg学习的不是模型初始化参数, 也将训练好的参数在用户端进行一次梯度下降更新. 70%的用户数据用于训练, 剩下的数据用于测试. 此外, 为了避免模型看到所有的测试数据, 我们将测试数据分成两部分: 30%的测试数据用于梯度下降获得个性化模型, 70%的测试数据用于测试模型的效果. 实验采用PyTorch作为学习框架.
4.1 模拟数据为了生成异质的模拟数据, 我们参考了文献[11]提出的生成方法. 具体来说, 样本
通过仔细观察, 可以看出
假设有
在图2中, 横坐标为迭代次数, 对应算法2中的迭代轮数
为继续验证新方法, 我们在标准数据集MNIST[20]和CIFAR10[21]上构建了联邦学习场景. MINST是包括60000个训练样本和10000个测试样本的黑白图像集, 内容是手写数字0–9; CIFAR10是包括50000个训练样本和10000个测试样本的彩色图像集, 内容是10类生活图片. MINST和CIFAR10来源于torchvision中的torchvision.datasets库.
我们考虑文献[19]提出的异质数据划分方法, 为用户分配规模大小和类别比例都不平衡的数据. 具体而言, 假设随机向量
模型采用包含两个隐藏层的全连接神经网络, 规模分别为80个神经元和60个神经元, 指数线性单元(exponential linear unit, ELU)作为激活函数. 选用更复杂的模型可获得更高精度, 而本文关注的是算法之间的差异, 所以只采用两层神经网络. 我们假设有
观察图3, 我们可以得出一些结论. 在学习黑白图像集MNIST时, Per-FedAvg-Reptile的学习折线处于上方, 在测试准确率方面明显优于其他两种算法, 而且折线率先趋于平稳说明收敛速度更快; 而在学习彩色图像集CIFAR10时, 3种算法的性能较接近, 我们猜测这和任务的难度有关, 对于更难学的CIFAR10, Per-FedAvg-Reptile的相对优势被压缩了. 但当迭代轮数为5000时, Per-FedAvg-Reptile、FedAvg with one update和Per-FedAvg-FO的误差棒中点分别为50.09%、46.13%和43.77%, 新算法在测试准确率方面仍优于另外两种算法, 且收敛速度更快. 总之, Per-FedAvg-Reptile在收敛速度和测试准确率上都表现更优.
5 结论与展望
本文结合联邦平均和Reptile, 提出了一种新算法Per-FedAvg-Reptile, 旨在学习良好的模型初始化参数, 以期快速学习到个性化联邦学习模型. 我们在模拟数据和真实数据上验证了该算法的有效性, 与现有的两种算法相比, Per-FedAvg-Reptile在收敛速度和测试准确率上表现更好, 可以学习到更加个性化的用户模型. 在未来的研究中, 会考虑3种方向的改进: 现实中, 用户的重要程度可能各不相同, 所以中央服务器可以在聚合用户信息时采取不同权重, 比如按照样本量比例分配权重; 探究新算法中超参数的作用和选择; 分析新算法的收敛性理论.
[1] |
Silver D, Huang A, Maddison CJ, et al. Mastering the game of Go with deep neural networks and tree search. Nature, 2016, 529(7587): 484-489. DOI:10.1038/nature16961 |
[2] |
Yang Q, Liu Y, Chen TJ, et al. Federated machine learning: Concept and applications. ACM Transactions on Intelligent Systems and Technology, 2019, 10(2): 12. DOI:10.1145/3298981 |
[3] |
陈磊, 刘文懋. 合规视角下的数据安全技术前沿与应用. 数据与计算发展前沿, 2021, 3(3): 19-31. DOI:10.11871/jfdc.issn.2096-742X.2021.03.003 |
[4] |
Yang Q, Liu Y, Cheng Y, et al. Federated learning. Synthesis Lectures on Artificial Intelligence and Machine Learning, 2019, 13(3): 1-207. DOI:10.2200/S00960ED2V01Y201910AIM043 |
[5] |
杨强. AI与数据隐私保护: 联邦学习的破解之道. 信息安全研究, 2019, 5(11): 961-965. DOI:10.3969/j.issn.2096-1057.2019.11.003 |
[6] |
McMahan HB, Moore E, Ramage D, et al. Federated learning of deep networks using model averaging. arXiv:1602.05629, 2016.
|
[7] |
Kairouz P, McMahan HB, Avent B, et al. Advances and open problems in federated learning. Foundations and Trends® in Machine Learning
, 2021, 14(1–2): 1-210. DOI:10.1561/2200000083 |
[8] |
McMahan HB, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data. Proceedings of the 20th International Conference on Artificial Intelligence and Statistics. Fort Lauderdale: PMLR, 2017. 1273–1282.
|
[9] |
Li X, Huang KX, Yang WH, et al. On the convergence of FedAvg on Non-IID data. Proceedings of the 8th International Conference on Learning Representations. Addis Ababa: ICLR, 2020. 1–26.
|
[10] |
Zhao Y, Li M, Lai LZ, et al. Federated learning with Non-IID data. arXiv:1806.00582, 2018.
|
[11] |
Li T, Sahu AK, Zaheer M, et al. Federated optimization in heterogeneous networks. Proceedings of Machine Learning and Systems 2020. Austin: MLSys, 2020. 429–450.
|
[12] |
Khaled A, Mishchenko K, Richtárik P. Tighter theory for local SGD on identical and heterogeneous data. Proceedings of the 23rd International Conference on Artificial Intelligence and Statistics. Palermo: PMLR, 2020. 4519–4529.
|
[13] |
Dinh CT, Tran NH, Nguyen TD. Personalized federated learning with moreau envelopes. Proceedings of the 34th International Conference on Neural Information Processing Systems. Vancouver: Curran Associates Inc., 2020. 1796.
|
[14] |
Vanschoren J. Meta-learning. Automated Machine Learning: Methods, Systems, Challenges. Cham: Springer, 2019. 35–61.
|
[15] |
Finn C, Abbeel P, Levine S. Model-agnostic meta-learning for fast adaptation of deep networks. Proceedings of the 34th International Conference on Machine Learning. Sydney: PMLR, 2017. 1126–1135.
|
[16] |
Nichol A, Achiam J, Schulman J. On first-order meta-learning algorithms. arXiv:1803.02999, 2018.
|
[17] |
Fallah A, Mokhtari A, Ozdaglar A. Personalized federated learning with theoretical guarantees: A model-agnostic meta-learning approach. Proceedings of the 34th International Conference on Neural Information Processing Systems. Vancouver: Curran Associates Inc., 2020. 300.
|
[18] |
Khaled A, Mishchenko K, Richtárik P. First analysis of local GD on heterogeneous data. arXiv:1909.04715, 2019.
|
[19] |
Yurochkin M, Agarwal M, Ghosh S, et al. Bayesian nonparametric federated learning of neural networks. Proceedings of the 36th International Conference on Machine Learning. Long Beach: PMLR, 2019. 7252–7261.
|
[20] |
Deng L. The MNIST database of handwritten digit images for machine learning research. IEEE Signal Processing Magazine, 2012, 29(6): 141–142.
|
[21] |
Krizhevsky A. Learning multiple layers of features from tiny images. Toronto: University of Toronto, 2009.
|