栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

(补充及更新)FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(补充及更新)FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping

摘要:拜占庭鲁棒式联邦学习旨在存在一定数量恶意客户端时学习到一个准确的全局模型。当前存在的拜占庭鲁棒式联邦学习主要思想为在聚合更新全局模型前对所有的客户端模型更新进行统计分析,然后剔除掉可疑的。

服务器本身会提供一个干净的小型训练集(根数据集)用于学习任务,其会在这个数据集上维持一个模型(服务器模型)以引导信任。

每轮迭代中,服务器会根据各个客户端的本地模型更新为其分配一个信任分数(可以知道如果本地模型更新的方向与服务器模型更新的方向偏离越多,则其分数越低)。然后,服务器规范化本地模型更新的大小,以此让所有的本地模型更新在向量空间中处于同一个超球体中;该规范化可以大大的限制恶意本地模型更新的影响。最后,服务提供者计算归一化局部模型更新的平均值,并按信任评分加权,作为全局模型更新,用于更新全局模型。

拜占庭-鲁棒性联邦学习的目标:当存在有限的恶意节点时,学习到一个准确的全局模型。

联邦学习范式:有个客户端,每个客户端拥有一个数据集,表示加入训练的数据,每个中的数据样本服从一个未知的分布。所有客户端的目标为在服务器的帮助训练一个共享的全局模型。最优的全局模型是下列优化问题的解:

StepⅠ:将本地模型与全局模型同步,全局模型为。

StepⅡ:每个客户端用本地数据训练出一个本地模型。即第个客户端解决优化问题wi,其中是第i个客户端的本地模型。训练完后,每个客户端将其本地模型更新发送给服务器(即,其本地模型与当前全局模型的差值)。

StepⅢ:通过聚合本地模型更新来更新全局模型。服务器通过聚合规则来聚合本地模型更新,得到全局模型更新,然后利用全局模型更新来更新全局模型,即,其中是全局的学习率。

(对疑问如下)(看完后面的证明后,这么设置的原因为了方便后面证明)

疑惑:为什么这里是而不是?

按照下文举例的FedAvg:,按照数据量的加权平均。

则

这个时候时候只有时,,才是正常的加权平均的FedAvg。

(另外,在Defending against Backdoors in Federated Learning with Robust Learning Rate一文中我也找到了类似定义联邦学习的方式,但是里面α前面的符号为正,如下图)

问题描述

攻击模型:攻击者控制一些恶意客户端,它们可以是攻击者假冒的客户端也可以是被破坏的真实客户端。但是攻击者不会危害服务器。这些恶意客户端会发送任意的本地更新模型在联邦学习的每一轮迭代中。

通常情况下,攻击者知道联邦学习系统中的以下设置:恶意客户端的本地训练数据及模型更新,损失函数,学习率。

缩放攻击、Krum攻击、Trim攻击只需要这些信息。

但是在全知识设置中,攻击者会知道每个客户端的训练数据和模型更新,以及聚合规则。因此设计防御机制时应从该方面进行考虑。

防御目标:在不失去效率和性能的情况下,设计拜占庭鲁棒的联邦学习方法。基线为FedAvg的效率和性能,在存在恶意节点的情况下,同样能达到FedAvg的性能与效率。

防御的执行能力在服务器上。服务器不知道在客户端上的原始数据及恶意节点的数量。对于每轮收集上来的本地模型更新,服务器有完全的访问权。服务器上保留一个完全干净的小型数据集。

数量。对于每轮收集上来的本地模型更新,服务器有完全的访问权。服务器上保留一个完全干净的小型数据集。

提出的方法:

整体概述:

服务器本身拥有一个绝对干净的小型数据集同时维持一个模型。

每次迭代过程,执行联邦学习范式中的三步。不同之处如下:

在第二步中,每个客户端用本地数据训练出一个本地模型,同时服务器会利用根数据集在当前全局模型的基础上微调出一个服务器模型。

在第三步中,本文提出的方法FLTrust会综合考虑所有本地客户端的模型更新和服务器模型更新来更新全局模型。攻击者可以更改恶意客户端模型更新的方向使得其朝着与全局模型相反的方向更新,也可以扩大局部模型的更新的规模,从而主导全局模型的更新。计算相似度+缩放控制规模。

提出的聚合规则:

基于ReLU修剪的余弦相似度的信任函数:如果本地模型更新与服务器模型更新更相似,那么其更新更好。形式上,利用余弦相似度来测量一个本地模型更新和服务器模型更新之间的相似性。易知,当余弦相似度为负时,方向相反,其模型更新对全局具有危害作用,故使用对其进行裁剪。形式上,信任分数定义如下:

其中为第个客户端的模型更新的信任分数,时和之间的余弦相似度,定义如下:

归一化本地模型更新的大小:考虑到即使本地模型更新方向与全局模型更新方向一致,但是攻击者可以方法恶意客户端的本地模型更新来破坏全局模型。因此将每个模型更新进行归一化处理,使得每个模型更新和服务器模型更新保持一定的大小,即在向量空间内让他们处于一个超球面。形式上定义如下:

聚合本地模型更新:按照分数加权聚合归一化后的本地模型更新:

然后更新全局模型:

FLTrust执行轮迭代,每轮迭代一共有三步。

StepⅠ,服务器将当前全局模型分发给所有客户端或者它们的一个子集。

StepⅡ,客户端基于全局模型再本地数据集上训练,同时服务器在小型根数据集上训练服务器模型。本地模型利用SGD,训练执行次,本地学习率为。

算法:

输入:模型更新

1:

2:for  do

3:   中随机选择一个

4:  

5:end for

6:return

StepⅢ:服务器计算全局模型更新通过聚合本地模型更新,以此更新全局模型,全局学习率。

安全性分析:

在没有攻击时全局最优模型为:。是下列优化问题的解:

其中为全局模型的参数空间,为n个客户端加入的训练集,是训练数据分布,是在训练数据集上的经验损失函数,是期望损失函数。

FLTrust是一个迭代算法以找到一个全局模型使得经验损失函数最小。为了证明算法的收敛性,即证明在有一定数量的恶意节点的情况下,FLTrust学习到的全局模型和没有攻击情况下学习到的最优模型之间的差值是有界的。

(证明之前基于提出的聚合规则,一些符号的转换:

设置,则本地模型更新和服务器模型更新分别等同于他们的梯度。提出的聚合规则为:,

引入变量,)

理论1:即要证明,即全局模型和没有攻击情况下学习到的最优模型之间的差值应该小于一个常数,代表学习到的模型为收敛、有界的。

证明思想:(迭代)

即证明:

理论1证明:







步骤涉及引理1

引理1:对于存在任意数量的恶意客户端,和之间的距离是有界的,即

证明:











步骤a:因为。

步骤b:因为。

步骤c:因为

步骤因为。

步骤中的涉及引理2

引理2:基于假设1成立,将学习速率设置为,则在任何全局迭代中,有:

证明:因为,则有:



参考

根据假设1,有:

中为什么没有了,因为。

利用不等式性质。联立式和式有:

将和带入有:

令,有:

得证。

步骤T3中的A2涉及引理4

引理4:假设1,2,3均成立,并且对于一些正参数成立。则,对于任意的,如果和,则对任意的,有:

其中,是根数据集大小。

证明:参考文献Distributed Statistical Machine Learning in Adversarial Settings: Byzantine Gradient Descent(由于该引理基本是套用上面文献的内容,故没有细看)

步骤T3中的A3涉及假设1

假设1:期望损失函数在空间上强凸且二阶可微的,并且满足L-利普希茨梯度连续(Lipschitz continuous gradient)条件。即对于任意的:

同时,经验损失函数是概率-利普希茨的,即存在,存在满足如下:

 

(以上全为自己对该论文的一点理解,不对之处,欢迎指正,另外由于写的word文档,没有写成md格式,故看起来有点丑)

后面会继续更新自适应攻击和实验内容

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/964762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号