READ-2308 Robust Federated Learning with Attack-Adaptive Aggregation
论文名称 | Robust Federated Learning with Attack-Adaptive Aggregation |
---|---|
作者 | Wan Ching Pui, Chen Qifeng |
来源 | arXiv 2021 |
领域 | Machine Learning - Federal learning - Security - model & data poisoning attack |
问题 | 使用已有的防御策略仍无法很好的防御不同的投毒攻击,而防御策略的关键是一个健壮的聚合策略,因此作者思考是否可以设计一个适应性防御方案 |
方法 | 使用注意力机制学习联邦模型中的来自不同攻击手段的脆弱性:首先,利用服务器上的测试集对不同攻击下的联邦学习任务进行模拟,以自监督的方式训练模型;其次,将来自客户端的更新输入注意力模块,获得更新的对齐分数,相应的加权更新 |
创新 | 将注意力机制用于分配客户端权重 |
阅读记录
一、攻击模型
- 同时进行数据投毒攻击和模型投毒攻击
- 服务器可以访问更新向量和与本地数据不相交的测试集
二、攻击适应性聚合
- 一般健壮性聚合
(1)对判定为良性的更新进行加权聚合,而不聚合恶意更新
- L:指示函数
(2)优化目标:使得聚合结果接近于良性聚合
- 攻击适应性聚合
由于无法直接确定恶意客户端,无法利用神经网络作为指示函数。同时,为了兼容已有的健壮聚合方法,将指示函数改为可能性函数,判断一个客户端为良性的可能性。
- med:coordinate-wisely median(或者其他健壮聚合方法)
- p:客户端更新被概率函数重新赋予权重,类似于神经网络中的注意力机制
- 注意:由于重新赋权的模式十分接近于注意力机制,因此思考重赋权模式与注意力机制的关系
三、注意力机制
- 注意力机制
- Q:查询的目标
- K:查询的对象
- V:一般等于K
(1)计算Q和K每一个元素之间的相似度
(2)将相似度向量进行归一化
(3)将归一化后的相似度作为额外的信息,加入V中
(4)利用V’进行其他操作
- 原理:模型由注意力模块的多次传递组成,每次传递都将改变客户端更新的权重
- 过程
(1)对齐得分
- Q:从上一个注意力模块获取的健壮聚合参数
- K、V:客户端的更新
- 含义:计算Q和K之间的余弦相似度
- 目的:固定V,训练Q、K,使得良性客户端的对齐得分接近于1,恶意客户端的对其得分接近于-1
(2)注意模块
①区别:注意力机制将重赋权公式中的可能性函数换为了e,其范围在(0,1]内,保留了更新向量和上一次预测的信息
②关联:e保留了一定信息,并且当c较大时,中毒更新的权重较小,因此,注意力机制十分适合于健壮性聚合
③改进:由于e的范围不符合本文要求,因此使用softmax函数使权重范围在[-1,1]之间
(3)截断步骤
为了消除中毒更新的影响,在softmax函数之后进行阶段。如果权重小于ε/n,则将注意力权重归零
- 适应性聚合+注意力机制
四、实现
- 降维
(1)问题:在训练过程中,客户端更新维度很大但是由于客户端数量很少,模型容易造成过拟合
(2)原理:由于文章关注的是客户端更新的相对偏差,因此可以对更新向量进行降维操作
(3)方法:使用PCA降维获得更新的低维表示。对模型的每一层参数执行一次PCA,保留每一层参数的主要成分
(4)约束:由于攻击者可能将攻击隐藏在多个方向上,对每一层参数进行PCA而非对总体参数进行PCA,使得攻击者难以隐藏攻击。若攻击者使用相应的攻击手段以逃避检测,将导致攻击效力减弱 - 训练
(1)Encoder:只对Q、K两个encoder进行训练,这两个encoder都是具有ReLU激活的2层多层感知器
(2)正向传播:使用算法1
(3)反向传播:使用L1 loss和Adam
(4)攻击:对于每一种攻击,在服务器的测试集上运行联邦学习任务三次,前两次用于训练注意力模型,最后一次用于验证
总结
注意到聚合过程中的重赋权模式与注意力机制的相似性,本文使用服务器上的测试集训练额外的注意力模块,并使用该注意力模块确定每个客户端的权重。
对于本文仍存在以下疑惑:
- 在阅读过程中,感觉文章只是因为注意到聚合过程中的重赋权模式与注意力机制二者公式的相似性,才用了注意力机制,但是并不清楚该注意力机制到底“注意”的对象是什么,使用的动机是什么
- 还是不太清楚文章的整体实现流程,这个可能需要看一下文章提供的源代码