联邦学习笔记——003

2022.11.28周一

今天主要学习了几篇优秀的博客,补充了一些知识。

(一)联邦学习面临的挑战

  1. 非独立同分布的数据

  2. 有限通信带宽

  3. 不可靠和有限的设备

什么是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)\)也可能不同。由于个人偏好,训练数据项中的相同特征向量可能具有不同的标签。例如,反映情绪或单词联想的标签有着个人和地区差异。

  • 数量倾斜或者不平衡:不同的客户可以拥有着样本数量差异很大的数据。

参考:

  1. 25-什么是协变量偏移和标签偏移-具体有哪些例子?-基于pytorch
  2. 深度学习基础23(数据偏移what,how,why)
  3. 协变量偏移/标签偏移/概念偏移

(二)研究方向

隐私保护

首先,明确一个问题,我们需要抵御什么样的威胁?

在联邦学习中,对隐私风险的规范处理需要一种整体的、跨学科的方法。对于一些风险类型,可以通过将现有技术扩展到指定场景中从而保护隐私和减轻风险,而其他更复杂的风险类型则需要跨学科的协同努力。

下表是联邦学习需要抵御的威胁

其次,这方面的研究涉及到的工具与技术主要有三个方向:

  • 安全计算

    • 可信执行环境
    • 安全多方计算
    • 其他技术,例如安全聚合,安全shuffle
  • 隐私保护

    • 本地差分隐私
    • 分布式差分隐私
      • 通过安全聚合实现分布式差分隐私

        例如,每台设备可以在安全聚合之前干扰自己的模型参数,以实现本地差分隐私。通过正确设计噪声,我们可以确保聚合结果中的噪声与通过可信服务器集中添加的噪声(例如,具有低ε/高隐私级别)相匹配
      • 通过安全shuffling实现分布式差分隐私

        本地数据使用本地差分隐私进行加密,然后所有人传到一个安全shuffler,shuffler打乱次序,再发给服务器(不包含任何标识信息)。shuffler可以作为一个可信第三方,独立于服务器并专门用于shuffle。
    • 混合差分隐私

      通过允许多种模型共存,与纯本地DP或纯中央DP机制相比,混合模型机制可以在给定用户群中实现更高的实用性,例如根据场景不同,一部分人用本地差分隐私协议加密,一部分人直接贡献其信息。
  • 可验证性

    • 零知识证明(ZKPs)

    • 可信执行环境中的远程证明

      主要作用:

      1. 证明服务器已经进行了聚合,shuffle,或者添加差分隐私的操作。
      2. 证明client输入的数据符合某项规范

Federated Learning003的更多相关文章

  1. Federated Identity Pattern 联合身份模式

    Delegate authentication to an external identity provider. This pattern can simplify development, min ...

  2. MySQL 远程连接(federated存储引擎)

    标签:federated存储引擎 概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储 ...

  3. 通过FEDERATED存储引擎跨实例访问数据

    通过FEDERATED存储引擎同步两实例间的表数据需求情景:实例1中A库中的三个视图是实例2中的B库所依赖的,B需要A库中三个视图的实时数据.方案:通过FEDERATED来完成跨势力的查询FEDERA ...

  4. 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 ...

  5. MySQL中的FEDERATED引擎

    首先说明>     FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的表.这个特性给某些开发应用带来了便利,你可以直接在本地构建一个federated表来连接远程数据表,配置好 ...

  6. MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin \'FEDERATED\' is disabled”

    MYSQL启动报1067错误,系统日志中是"服务 mysql 意外停止" Mysql日志中则是:"Plugin \'FEDERATED\' is disabled&quo ...

  7. mysql federated engine

    mysql)) -> engine=federated -> connection='mysql://root@localhost:3306/t1/t';

  8. 主流存储引擎详解:Innodb,Tokudb、Memory、MYISAM、Federated

    主流存储引擎: Innodb:推荐使用,主力引擎,使用99%以上的场景 Tokudb:高速写入使用,日用量大量写入eg:500G可压缩为50G.适用于访问日志的写入,相对MYISAM有事务性,相对于I ...

  9. Plugin 'FEDERATED' is disabled 或 1067错误 启动错误与“服务 mysql 意外停止”解决方法

    MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin 'FEDERATED' is disabled” 网我在网上找到解决方案:1.在MY.I ...

  10. MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK

    原文地址:http://it.dataguru.cn/article-3352-1.html 摘要: 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来 ...

随机推荐

  1. Java构建树结构的公共方法

    一.前提 pId需要传入用来确认第一级的父节点,而且pId可以为null. 树实体类必须实现:TreeNode接口 MyTreeVo必须有这三个属性:id.pId.children 可以根据不同需求, ...

  2. [MAUI]模仿微信“按住-说话”的交互实现

    @ 目录 创建页面布局 创建手势控件 创建TalkBox 创建动画 拖拽物动画 按钮激活动画 TalkBox动画 Layout动画 项目地址 .NET MAUI跨平台框架包含了识别平移手势的功能,在之 ...

  3. 一分钟使用Gitee,把本地项目放入gitee仓库中

    一.先创建一个Gitee账号 首先需要自己去别的地方看创建一个空仓库,然后复制仓库的地址 省略... 现有本地有项目代码,远程空仓库一个,如何把本地项目代码推到远程仓库? 1.在项目根目录初始化 Gi ...

  4. TEC-6计算机组成原理实验(简图)

    TEC-6计算机组成原理实验

  5. 基于Java实现数据脱敏

    用法 Jdk版本 大于等于1.8 maven依赖 <dependency> <groupId>red.zyc</groupId> <artifactId> ...

  6. MQTT-会话

    MQTT会话 为什么需要会话 ​ 假如有以下场景,客户端A发送消息到服务端,服务端转发给客户端B,如果这个时候服务端和客户端B的网络连接断开,那么就无法保证消息到达,并且客户端A不知道B连接断开,还会 ...

  7. 【python爬虫】对站长网址中免费简历模板进行爬取

    本篇仅在于交流学习 解析页面 可以采用xpath进行页面连接提取 进入页面 通过进入的页面可以得到下载地址 步骤: 提取表页面模板链接-->进入连接-->提取页面内下载地址连接--> ...

  8. vue中粘贴板clipboard的使用方法

    一.npm安装clipboard npm install clipboard --save 二.页面结构 <span id="copyTarget">{{targetC ...

  9. 2020-01-04:mysql里的innodb引擎的数据结构,你有看过吗?

    福哥答案2020-01-04: 面试官刚开始问我看过mysql源码没,然后问了这个问题.回答B+树,过不了面试官那关.答案来自<MySQL技术内幕 InnoDB存储引擎 第2版>第四章,时 ...

  10. 2022-03-24:你被请来给一个要举办高尔夫比赛的树林砍树,树林由一个 m x n 的矩阵表示, 在这个矩阵中: 0 表示障碍,无法触碰 1 表示地面,可以行走 比 1 大的数 表示有树的单元格,

    2022-03-24:你被请来给一个要举办高尔夫比赛的树林砍树,树林由一个 m x n 的矩阵表示, 在这个矩阵中: 0 表示障碍,无法触碰 1 表示地面,可以行走 比 1 大的数 表示有树的单元格, ...