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

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

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

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

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

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格式,故看起来有点丑)

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

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

  1. 联邦学习-论文阅读-NDSS-FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping

    1.FLTrust: Byzantine-robust Federated Learning via Trust Bootstrapping 1.概要 拜占庭式的鲁棒联邦学习方法中没有信任的根(即不知 ...

  2. READ-2317 Secure Partial Aggregation: Making Federated Learning More Robust for Industry 4.0 Applica

    READ-2317 Secure Partial Aggregation: Making Federated Learning More Robust for Industry 4.0 Applica ...

  3. 联邦学习安全与隐私保护综述 A survey on security and privacy of federated learning

    联邦学习安全与隐私保护综述 写在前面的话 联邦学习是什么 联邦学习工作流程 联邦学习的技术分类 安全问题和解答 隐私问题和解答 未来方向 写在前面的话 本篇博客参考<A survey on se ...

  4. 2.Paper小结——《Privacy-preserving blockchain-based federated learning for traffic flow prediction》

    题目: 基于区块链的基于隐私保护的交通流量预测的联邦学习 0.Abstract: 交通流量预测已成为智能交通系统的重要组成部分.然而,现有的基于集中式机器学习的交通流量预测方法需要收集原始数据以进行模 ...

  5. 【阅读笔记】Towards Personalized Federated Learning个性化联邦综述

    文章目录 前言 1 背景 1.1 机器学习.联邦学习 1.2 促进个性化联邦学习的动机 2 个性化联邦学习的策略 2.1 全局模型个性化 2.1.1 基于数据的方法 2.1.1.1 数据增强 Data ...

  6. 【个性化联邦学习】Towards Personalized Federated Learning 论文笔记整理

    Towards Personalized Federated Learning 一.背景 二.解决策略 2.1 策略一.全局模型个性化 2.2 策略二.学习个性化模型 三.具体方案 3.1 全局模型个 ...

  7. 论文阅读(联邦学习):Exploiting Shared Representations for Personalized Federated Learning

    Exploiting Shared Representations for Personalized Federated Learning 原文传送门 http://proceedings.mlr.p ...

  8. 联邦学习((Federated Learning,FL)

    每日一诗: 题竹(十三岁应试作于楚王孙园亭) --明*张居正 绿遍潇湘外,疏林玉露寒. 凤毛丛劲节,只上尽头竿. 近期在阅读联邦学习领域相关文献,简单介绍如下文.本文仅供学习,无其它用途.如有错误,敬 ...

  9. 《DBA: DISTRIBUTED BACKDOOR ATTACKS AGAINST FEDERATED LEARNING》阅读笔记

    DBA: DISTRIBUTED BACKDOOR ATTACKS AGAINST FEDERATED LEARNING ** 本文发在ICLR 2020,针对联邦学习进行的后门攻击.其提出的方案针对 ...

最新文章

  1. MathType如何设置标尺的单位
  2. python 类-python类定义的讲解
  3. 电阻参数_压敏电阻原理、参数、选型
  4. 二进制除法\模2除法
  5. 1张手稿图讲明白 Kubernetes 是怎么运行的
  6. centos8上docker tomcat容器访问报404解决方法
  7. kafka简介(大数据技术)
  8. java---解析XML文件,通过反射动态将XML内容封装到一个类中
  9. UESTC 31 饭卡 card
  10. 【转】java枚举类型ENUM
  11. 反向跟单讲解4:用什么跟单软件
  12. 音频怎么转换成mp3格式
  13. cityscapes数据集上的类别统计分布
  14. ps怎么更改背景图层大小_如何利用Photoshop软件修改图片尺寸的大小
  15. Day002-2021-07-30 String常用API
  16. 人行征信中心提醒:不要随意授权征信查询!
  17. win10亮度调节变为灰色无法调节
  18. 港科夜闻|香港科技大学举行第六届冠名教授席就职典礼
  19. 【台大郭彦甫】Matlab入门教程超详细学习笔记七:数值微积分(附PPT链接)
  20. 不同部位长青春痘说明不同器官有毛病吗? (转自 八月的阳光)

热门文章

  1. 原生js导出excel表格,0开头的字符串自动去掉转换成数字
  2. 微软十款免费服务器工具任你挑(附下载)
  3. 买房子的涉及到的一些费用说明
  4. Unix时间戳来源含义及与标准时间的互相转换(Python)
  5. hasOwnProperty() 方法详解
  6. 大专生从零开始学习c#的第十一天
  7. NoCode 热身系列:实现一个任务跟踪与管理系统(上)
  8. 电气工程的标准是什么
  9. 中间件WebLogic简介与概念
  10. 大话设计模式读书笔记之观察者模式