引言
“所有算法都是时间和性能的平衡”
众所周知,联邦学习(Federated learning)的应用面临三个主要问题:通信开销问题、隐私保护问题、数据和结构异质性问题。
通信开销问题
其中通信开销是源于网络连接和上传数据(往往和模型有关),为提升效率,会有以下几类方法:1.参数剪枝和共享:简单来说,是将不重要的参数剪掉,提高计算速度
2.低秩分解和稀疏性:将权重降低维度
3.卷积滤波器:增加约束关系,减少不必要的计算
4.知识蒸馏:用教师端指导学生端
隐私保护问题
在联邦学习的开山之作中就说明了其目的在于保护隐私,避免客户端在传输数据时造成的信息泄露。现存的方法有:
1.MPC多方安全计算:在协同执行既定函数时,保证参与方获得正确计算结果的同时,无法获得计算结果之外的任何信息。
2.差分隐私:通过添加噪声来扰动原本特征清晰的数据,使得单条数据失去其独特性,隐藏在大量数据当中,防止敏感数据泄漏。
3.VerifyNet:双隐蔽协议保证用户在联邦学习过程中局部梯度的机密性,另外,中心服务器需要向每个用户提供关于聚合结果的正确性证明。
4.对抗训练:在样本当中混合一些微小的扰动,然后使得神经网络适应这种变换,增强全局模型的鲁棒性。
数据和结构异质性
客户端数据不同,有特征分布倾斜,标签分布倾斜等等问题。基于此,比较常见的方案是:
1.客户端分层:通过计算相似度进行归类
2.个性化联邦学习:fine-tune等,这里以后会细讲
后续会对于每个问题进行相关论文解读和前沿方向的分析。