今天开个回答聊聊 个性化联邦学习 的研究。
联邦学习中存在数据非独立同分布问题(俗称Non-IID问题),传统针对non-iid问题,我们都是把它看成一个bug,会影响我们的模型性能,但是使用个性化以后,non-iid就变成了一种feature,可以作为我们个性化的一种指导。
目前比较主流的两种个性化方案就是:
一)基于联邦学习global model的微调
在baseline的基础上根据用户需求或者数据进行fine-tune,这样子我们就能通过fl来训练一个性能不够强,但是已经能接受的baseline,剩下的微调方式不同,就构成了不同的个性化形式。
包括但不限于:
2. 通过联邦学习训练出元模型/HyperNetwork后,针对不同任务生成不同模型;
3. 在联邦学习训练出的 Global model 上加约束,得到本地模型;
4. 把 global model 拿来迁移做本地任务 or 多任务学习(不展开)
包括把预训练的模型拿到本地数据再训练;或者是迁移学习的模型迁移;或者是多任务学习或者元学习里的元模型;然后还有各种fine-tune的方式其实就已经构建了目前大多数个性化的方式。
二)基于用户聚类的个性化联邦学习
把不同数据特征的用户看成了不同的任务,通过聚类的方式把原任务分解为多个类似于iid的任务,这样当然能够提高模型性能了,这也是一种从多任务的视角看问题的方式。
关于用户选择和聚类方面的工作也有很多,如何选出有代表性的用户降低通信成本、如何计算用户特征的相似性并聚类,类似的思路也有很多。
用户聚类方式的个性化隐含着的思路就是在联邦学习步骤前的处理。
如何对用户进行处理(根据图模型学习embedding表示、聚类、分类等,类似于 FLoC的思路)、如何对用户的数据处理(数据增强、数据特征空间表示)也是解决个性化学习的一大方向。
事实上,把文章的思路抽象出来其实大同小异,在大模型Fine-tune过程中使用过的技术完全可以应用在个性化联邦学习中,包含多模态等建模方式也是用在联邦学习的一大交叉点。
也有关于半监督学习、图网络+联邦学习的一些思考,以后有空再写~
以上,是昨天跟小师弟聊天过程中的一点小总结~感兴趣的朋友可以点个关注和赞 @lokinko ,内容仅提供一些思考思路,如有错误可以随时提出~
好不好发文章取决于你的背景:
(1) 如果你是密码学/安全方向博士,且对ML无感,那么可以专注于安全多方计算(MPC),多发一些Crypto会议(如Eurocrypt,Crypto)
(2) 如果你是密码学/安全方向博士,且想跨(找)学(工)科(作),那么联邦学习结合安全多方计算(FL+MPC)会比较适合你,这方面目前还有很多坑待填,可以发一些偏应用的安全方向的会议(如CCS,S&P)
(3) 如果你是机器学习或者分布式博士,有兴趣也可以做点FL+MPC(最简单的比如secret sharing+horizontal FL),当然侧重点还是在FL的performance上,加上MPC只是为了锦上添花防止审稿人就隐私泄露问题拒稿
(4) 其他情况,建议专注于联邦学习,总体来说联邦学习的入门门槛比安全多方计算要低很多,可以做点应用,早点完成论文要求,刷题进大厂
(5) 大神请无视以上
联邦学习的文章比安全多方计算多是肯定的,因为FL涉及到机器学习,分布式,通信等多个领域的问题(也就是这些领域的博士生都有在投FL的文章),而MPC目前虽然也逐渐应用化,但总体还是密码学/安全领域的人在搞,从业人数少,论文篇幅还贼长,自然就文章数少了。
当然好不好发文章是一回事,文章的质量又是一回事,想要发一篇高质量的文章,或者对领域有深入的理解,无论是选择FL还是MPC,还是两者结合,都不容易。