Federated Learning003
联邦学习笔记——003
2022.11.28周一
今天主要学习了几篇优秀的博客,补充了一些知识。
(一)联邦学习面临的挑战
非独立同分布的数据
有限通信带宽
不可靠和有限的设备
什么是Non-IID(非独立同分布)数据?
下面列举了数据偏离同分布的一些常见方式,即对于不用的客户端 \(i\) 和客户端 \(j\) 的分布不同,即 \(\mathcal{P}_i \neq \mathcal{P}_j\)。我们将 \(\mathcal{P}_i(x,y)\)重写为 \(\mathcal{P}_i(y|x)\mathcal{P}_i(x)\) 和 \(\mathcal{P}_i(x|y)\mathcal{P}_i(y)\)。
特征分布倾斜(协变量飘移):即使共享 \(\mathcal{P}(y|x)\),不同客户端上的边缘分布 \(\mathcal{P}_i(x)\)也可能不同。比如,在手写识别领域,用户在书写同一个单词时也可能有着不同的笔画宽度、斜度等。
标签分布倾斜(先验概率飘移):即使 \(\mathcal{P}(x|y)\)是相同的,对于不同客户端上的边缘分布 \(\mathcal{P}_i(y)\)也可能不同。比如,当客户端与特定的地理区域绑定时,标签的分布在不同的客户端上是不同的。比如:袋鼠只在澳大利亚或动物园里;一个人的脸只在出现在全球的几个地方;对于手机设备的键盘,某些特定人群使用某些表情,而其他人不使用。
标签相同,特征不同(概念飘移):即使共享 \(\mathcal{P}(y)\),不同客户端上的条件分布 \(\mathcal{P}_i(x|y)\)也可能是不同。由于文化差异,天气影响,生活水平等因素,对于相同的标签 \(y\),对于不同的客户端可能对应着差异非常大的特征 \(x\)。比如:世界各地的家庭图片千差万别,衣着也千差万别。即使在美国,冬季停放的被大雪覆盖汽车的图像只会出现在某些地区。同样的品牌在不同的时间和不同的时间尺度上看起来也会有很大的不同:白天和晚上、季节效应、自然灾害、时尚设计潮流等等。
特征相同,标签不同(概念飘移):即使 \(\mathcal{P}(X)\)是相同的,对于不同客户端上的条件分布 \(\mathcal{P}_i(y|x)\)也可能不同。由于个人偏好,训练数据项中的相同特征向量可能具有不同的标签。例如,反映情绪或单词联想的标签有着个人和地区差异。
数量倾斜或者不平衡:不同的客户可以拥有着样本数量差异很大的数据。
参考:
(二)研究方向
隐私保护
首先,明确一个问题,我们需要抵御什么样的威胁?
在联邦学习中,对隐私风险的规范处理需要一种整体的、跨学科的方法。对于一些风险类型,可以通过将现有技术扩展到指定场景中从而保护隐私和减轻风险,而其他更复杂的风险类型则需要跨学科的协同努力。
下表是联邦学习需要抵御的威胁

其次,这方面的研究涉及到的工具与技术主要有三个方向:
安全计算
- 可信执行环境
- 安全多方计算
- 其他技术,例如安全聚合,安全shuffle
隐私保护
- 本地差分隐私
- 分布式差分隐私
- 通过安全聚合实现分布式差分隐私
例如,每台设备可以在安全聚合之前干扰自己的模型参数,以实现本地差分隐私。通过正确设计噪声,我们可以确保聚合结果中的噪声与通过可信服务器集中添加的噪声(例如,具有低ε/高隐私级别)相匹配 - 通过安全shuffling实现分布式差分隐私
本地数据使用本地差分隐私进行加密,然后所有人传到一个安全shuffler,shuffler打乱次序,再发给服务器(不包含任何标识信息)。shuffler可以作为一个可信第三方,独立于服务器并专门用于shuffle。
- 通过安全聚合实现分布式差分隐私
- 混合差分隐私
通过允许多种模型共存,与纯本地DP或纯中央DP机制相比,混合模型机制可以在给定用户群中实现更高的实用性,例如根据场景不同,一部分人用本地差分隐私协议加密,一部分人直接贡献其信息。
可验证性
零知识证明(ZKPs)
可信执行环境中的远程证明
主要作用:
- 证明服务器已经进行了聚合,shuffle,或者添加差分隐私的操作。
- 证明client输入的数据符合某项规范
Federated Learning003的更多相关文章
- Federated Identity Pattern 联合身份模式
Delegate authentication to an external identity provider. This pattern can simplify development, min ...
- MySQL 远程连接(federated存储引擎)
标签:federated存储引擎 概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储 ...
- 通过FEDERATED存储引擎跨实例访问数据
通过FEDERATED存储引擎同步两实例间的表数据需求情景:实例1中A库中的三个视图是实例2中的B库所依赖的,B需要A库中三个视图的实时数据.方案:通过FEDERATED来完成跨势力的查询FEDERA ...
- MySql启动,提示:Plugin 'FEDERATED' is disabled....Cannot allocate memory for the buffer pool
2016-05-27 09:25:01 31332 [Note] Plugin 'FEDERATED' is disabled. 2016-05-27 09:25:01 31332 [Note] In ...
- MySQL中的FEDERATED引擎
首先说明> FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的表.这个特性给某些开发应用带来了便利,你可以直接在本地构建一个federated表来连接远程数据表,配置好 ...
- MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin \'FEDERATED\' is disabled”
MYSQL启动报1067错误,系统日志中是"服务 mysql 意外停止" Mysql日志中则是:"Plugin \'FEDERATED\' is disabled&quo ...
- mysql federated engine
mysql)) -> engine=federated -> connection='mysql://root@localhost:3306/t1/t';
- 主流存储引擎详解:Innodb,Tokudb、Memory、MYISAM、Federated
主流存储引擎: Innodb:推荐使用,主力引擎,使用99%以上的场景 Tokudb:高速写入使用,日用量大量写入eg:500G可压缩为50G.适用于访问日志的写入,相对MYISAM有事务性,相对于I ...
- Plugin 'FEDERATED' is disabled 或 1067错误 启动错误与“服务 mysql 意外停止”解决方法
MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin 'FEDERATED' is disabled” 网我在网上找到解决方案:1.在MY.I ...
- MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
原文地址:http://it.dataguru.cn/article-3352-1.html 摘要: 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来 ...
随机推荐
- TS(一)环境搭建与基本类型
1 TypeScript 环境搭建 1 准备NodeJs环境 2 npm全局安装typeScript npm i -g typescript 3 编写一个ts文件 4 使用tsc命令编译ts文件为js ...
- Pandas的使用
在数据分析工作中,Pandas 的使用频率是很高的,一方面是因为 Pandas 提供的基础数据结构 DataFrame 与 json 的契合度很高,转换起来很方便.另一方面,如果日常的数据清理工作不是 ...
- Html 设置标题栏顶部固定
如何设置标题栏一直置顶固定显示? 只需要给标题栏所在的容器,以下设置: position: fixed; top: 0px; left: 0px; width: 100%; 位置固定在 ...
- 2020-12-18:java和go,并发控制有哪几种方式?
福哥答案2020-12-18: java:锁(Synchronized, ReentrantLock).信号量(Semaphore)以及其他同步工具.原子类(atomicInteger).加法器(ad ...
- JS逆向实战14——猿人学第二题动态cookie
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 https:// ...
- Hackathon 代码黑客马拉松采访复盘
AIGC Hackathon 2023 北京站 我参加了选手采访提纲,这里我感觉有些点可以分享给大家.之前复盘的链接: 下面是采访我的回答内容: 1. 请向大家简单介绍一下自己吧? 子木,社区名称为程 ...
- 微软New Bing Chat AI聊天免费体验(需要魔法~)
必应聊天是什么? Bing Chat是一个AI 聊天机器人,它可以理解您问题的上下文并以人性化的方式回复.Microsoft 已将此功能直接集成到Bing 搜索中,使 Bing 成为搜索结果和AI 支 ...
- Python异步编程之web框架 异步vs同步 文件IO任务压测对比
测试基本信息 主题:比较异步框架和同步框架在文件IO操作的性能差异 python版本:python 3.8 压测工具:locust web框架:同步:flask 异步:aiohttp.starlett ...
- Java的jps命令使用详解
jps命令简介 jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出正在运行的Java虚拟机的进程信息的命令行工具,它可以显示Java虚 ...
- Galaxy Release 20.05 发布,新增多项可视化体验
Galaxy Project(https://galaxyproject.org/)是在云计算背景下诞生的一个生物信息学可视化分析开源项目. 该项目由美国国家科学基金会(NSF).美国国家人类基因组研 ...