一、分布式机器学习、联邦学习、多智能体介绍

最近这三个方面的论文都读过,这里写一篇博客归纳一下,以方便搞这几个领域的其他童鞋入门。我们先来介绍以下这三种机器学习范式的基本概念。

1、分布式机器学习介绍

分布式机器学习(distributed machine learning),是指利用多个计算/任务节点(Worker)协同训练一个全局的机器学习/深度学习模型。需要注意的是,分布式机器学习和传统的HPC领域不太一样。传统的HPC领域主要是计算密集型,以提高加速比为主要目标。而分布式机器学习还兼具数据密集型特性,会面临训练数据大(单机存不下)、模型规模大的问题。此外,在分布式机器学习也需要更多地关注通信问题。对于计算量大、训练数据量大、模型规模大这三个问题,分布式机器学习可以采用以下手段进行解决:

1)对于计算量大的问题,分布式多机并行运算可以基本解决(注意区分传统HPC中的共享内存式的多线程并行运算,如OpenMP)。

2)对于训练数据大的问题,需要将数据进行划分,并分配到多个工作节点上进行训练,这种技巧一般被称为数据并行。每个工作节点会根据局部数据训练出一个子模型,并且会按照一定的规律和其他工作节点进行通信(通信的内容主要是子模型参数或者参数更新),以保证最终可以有效整合来自各个工作节点的训练结果并得到全局的机器学习模型。

分布式机器学习、联邦学习、多智能体的区别和联系-LMLPHP

3)对于模型规模大的问题,则需要对模型进行划分,并且分配到不同的工作节点上进行训练,这种技巧一般被称为模型并行。与数据并行不同,模型并行的框架下各个子模型之间的依赖关系非常强,因为某个子模型的输出可能是另外一个子模型的输入,如果不进行中间计算结果的通信,则无法完成整个模型训练。因此,一般而言,模型并行相比数据并行对通信的要求更高。

分布式机器学习、联邦学习、多智能体的区别和联系-LMLPHP

2、联邦学习介绍

联邦学习是一种特殊的分布式机器学习,除了关注传统分布式机器学习的算法、通信、收敛率等问题之外,还要关注用户的数据隐私和容错性问题(因为用户终端是用户手机或物联网设备,很可能随时挂掉)。 其设计目标是在保障大个人数据隐私、保证合法合规的前提下,在多参与方(可能是现实中的多个机构)或多计算结点之间协同学习到一个更好的全局模型。

经典的server-client式的联邦学习框架的训练过程可以简单概括为以下步骤:

1)server端建立“元模型”,并将模型的基本结构与参数告知各client端;

2)各client端利用本地数据进行模型训练,并将结果返回给server端;

3)server端汇总各参与方的模型,构建更精准的全局模型,以整体提升模型性能和效果。

当然,以上仅仅指中心化的server-client联邦学习,至于去中心化的联邦学习大家可以参考我的《分布式多任务学习论文阅读》(链接:https://www.cnblogs.com/orion-orion/p/15481054.html)博客系列和博客《联邦学习中的模型聚合》(链接:https://www.cnblogs.com/orion-orion/p/15635803.html)以及相关论文。

分布式机器学习、联邦学习、多智能体的区别和联系-LMLPHP

联邦学习框架包含多方面的技术,比如传统分布式机器学习中的模型训练与参数整合技术、Server与Client高效传输的通信技术、隐私加密技术、分布式容错技术等。

3、群体智能基本概念

多智能体系统(multi-agent system) 是一组自主的,相互作用的实体,它们共享一个共同的环境(environment),利用传感器感知,并利用执行器作动。多智能体系统提供了用分布式来看待问题的方式,可以将控制权限分布在各个智能体上。

尽管多智能体系统可以被赋予预先设计的行为,但是他们通常需要在线学习,使得多智能体系统的性能逐步提高。而这就天然地与强化学习联系起来,智能体通过与环境进行交互来学习。在每个时间步,智能体感知环境的状态并采取行动,使得自身转变为新的状态,在这个过程中,智能体获得奖励,智能体必须在交互过程中最大化期望奖励。

二、三者的区别和联系

三、个人研究体会

传统的分布式机器学习已经被研究十几年了,Low-hanging fruits几乎被人摘完了,目前各大顶会上的分布式机器学习主要是数学味道很浓的分布式数值优化算法。而其他方面,像我关注的分布式多任务学习,近年来相关的顶会论文开始减少。

联邦学习可以看做一种特殊的分布式学习,它有一些特殊的设定,比普通的分布式学习要困难一些,还是有很多方向可以研(灌)究(水)的,做好了应该可以发顶会。

  • 算法层面 可以在算法层面降低算法通信次数,用少量的通信达到收敛。基于IID数据集的分布式数值优化算法已经被研究得比较透彻了, 但因为联邦学习面临数据是IID/非平衡甚至是异构的,需要引入很多其他技巧才能解决,比如异构数据联合学习、多任务学习(也是我研究的方向)等。这个方向很适合数值优化、机器学习、多任务学习背景的童鞋切入

  • 安全/隐私问题 虽然联邦学习的基础设定就是节点之间不共享数据以保护用户隐私,但熟悉网络安全的同学应该知道,我们很容易从梯度、模型参数中反推出用户数据。而针对这方面提出攻击和防御的方法都可以发表出论文,这方面适合网络安全背景的童鞋切入

  • 容错性/鲁棒性。联邦学习中常常遇到拜占庭攻击问题(即恶意参与者问题)。比如在中心化的算法中,有节点恶意发送错误的梯度给服务器,让训练的模型变差;在去中心化算法中,可能有多个任务节点化为拜占庭攻击者互相攻击。对于这种问题设计新的攻击方法和防御方法都可以发表论文。这个方向很适合有分布式系统背景的童鞋切入

分布式机器学习、联邦学习、多智能体的区别和联系-LMLPHP

至于多智能体系统,因为我个人对强化学习领域不太熟悉,就不敢妄言了。

参考文献

  • [1] Zhang C, Zhao P, Hao S, et al. Distributed multi-task classification: A decentralized online learning approach[J]. Machine Learning, 2018, 107(4): 727-747.
  • [2] Li J, Abbas W, Koutsoukos X. Byzantine Resilient Distributed Multi-Task Learning[J]. arXiv preprint arXiv:2010.13032, 2020.
  • [3] Marfoq O, Neglia G, Bellet A, et al. Federated multi-task learning under a mixture of distributions[J]. Advances in Neural Information Processing Systems, 2021, 34.
  • [4] Smith V, Chiang C K, Sanjabi M, et al. Federated multi-task learning[J]. Advances in Neural Information Processing Systems, 2017.
  • [5] F. A. Oliehoek, M. T. Spaan, and N. Vlassis. Optimal and approximate Q-value functions for decentralized
    POMDPs. Journal of Artificial Intelligence Research, 32:289–353, 2008.
  • [6] D. V. Prokhorov and D. C. Wunsch. Adaptive critic designs. IEEE transactions on Neural Networks, 8(5):997–
    1007, 1997.
12-12 02:25