联邦学习
联邦学习
联邦学习的分类:
- 横向联邦学习
- 纵向联邦学习
- 联邦迁移学习
横向联邦学习
- 参与方各自从服务器A下载最新模型
- 每个参与方利用本地数据训练模型,加密梯度上传给服务器A,服务器A聚合各用户的梯度更新模型参数
- 服务器A返回更新后的模型给各参与方
- 各参与方更新各自模型
纵向联邦学习
- 由第三方C向A和B发送公钥,用来加密需要传输的数据
- A和B分别计算和自己相关的特征中间结果,并加密交互,用来求得各自梯度和损失
- A和B分别计算各自加密后的梯度并添加掩码发送给C,同时B计算加密后的损失发送给C
- C解密梯度和损失后回传给A和B,A、B去除掩码并更新模型
联邦迁移学习
投毒攻击
按攻击方式划分:
- 数据投毒:攻击者破坏训练数据集的完整性,通过渗入恶意数据以降低数据集质量或有目的的毒害数据。
- 脏标签攻击(Dirty-label Attack),如标签翻转。
- 清洁标签攻击(Clean-label Attack)。
- 模型投毒:攻击者破坏训练过程完整性,通过完全控制部分用户的训练阶段,对上传的局部模型进行篡改,实现对全局模型的操纵。
- 提升(Boosting)恶意更新。为了增强提升的隐蔽性,Bhagoji 等将提升过程转化为一个基于交替最小化找到合适的提升值优化问题,使有毒更新与正常更新难以区分。
按攻击目标划分:
- 拜占庭攻击:攻击者试图破坏训练可用性和模型可用性,使其无法收敛或无法在主要训练任务中达到最优性能,并且不针对任何特定的用户或数据样本。
- 后门攻击:攻击者试图使模型在某些目标任务上实现特定表现,同时保持模型在主要任务上的良好性能。
参考
https://zhuanlan.zhihu.com/p/79284686
联邦学习
https://d4wnnn.github.io/2024/05/08/Academic/联邦学习/