Federated Heavy Hitters Discovery with Differential Privacy
链接: Federated Heavy Hitters Discovery with Differential Privacy.
1. Introduction
该文献主要是借用联邦学习的思想,来均衡LDP和CDP中效用的隔阂。
另外 该论文实现差分隐私的方式不同于以往的RR 或是 加噪,而是通过抽样。
文中提出的算法与联邦学习的联系与区别:
- 没有针对原始数据的收集
- 大规模得到分布式用户(大部分用户只贡献,0次或1次)
- 交互式 建立关于统计数据的理解
- 区别: 目标不同,联邦学习的目标在于学得一个预测模型, 而该算法的目标在于获得 heavy hitter
论文贡献
- 实现了一个交互式的多轮执行的heavy hitter 算法
- 在每一轮,服务器均匀随机地选择m个用户
- 每个用户下载上一轮字典树,并以此为依据,对下一轮地字典树地扩展进行投票
- 字典树将大于等于θ个数投票地 扩展加入字典树,将小于θ个数地节点抛弃
- 对于 vote 泄露地信息(比如最后一轮,用户 vote 的扩展 即为本地的数据项), 一般而言可以采用 基于密码学的安全求和协议, 一般而言,认为服务器仅被认为在 提供θ上市可信任的
- 算法实现了 介于 LDP 和CDP之间的 User-level 的 Central DP
2. Preliminaries
2.1 模型和参数定义
① 参数定义
以收集推特上用户所发的推文,来改进输入法输入的自动补全功能为例
每个用户都有words的数据库,而每个word都可以使用ASCII码表示
- 假设每个word最长为L
本文中对 word 统称为sequence
- n n n 个 用户, D = { u 1 , u 2 , … , u n } \mathcal{D}=\{u_1,u_2,…,u_n\} D={ u1,u2,…,un},为方便表示,同时使用 D \mathcal{D} D表示 所有用户的集合 和 所有数据项的集合
- 每个用户有一个集合项 { w i 1 , w i 2 , … , w i q } \{w_{i1},w_{i2},…,w_{iq}\} { wi1,wi2,…,wiq}
- 每个数据项w可以表示为一个长度为|w|的序列 w = c 1 c 2 … c ∣ w ∣ w=c_1c_2…c_{|w|} w=c1c2…c∣w∣
- 假设每个序列长度最大为 L L L
② 模型设置
- prefix:令 p i ( w ) p_i(w) pi(w)表示数据项w长度为i的前缀,长度为i的前缀可以写作 p i = c 1 c 2 … c i p_i=c_1c_2…c_i pi=c1c2…ci
- trie T 和 prefix p=c1c2…ci:如果一个字典树T存在路径 ( r o o t , c 1 , c 2 , … , c i ) (root,c_1,c_2,…,c_i) (root,c1,c2,…,ci),则认为 p ∈ T p \in T p∈T
- Ti 和 T:Ti包含来着T的前i层的所有节点和边,是T的子树。
- 从Ti到Ti+1: 假 设 字 典 树 T i 存 在 路 径 ( r o o t , c 1 , c 2 , … , c i ) , 则 只 需 实 现 一 条 路 径 ( r o o t , c 1 , c 2 , … , c i , c i + 1 ) , 即 可 实 现 由 T i 构 造 T i + 1 假设字典树T_i存在路径(root,c_1,c_2,…,c_i),则只需实现一条路径(root,c_1,c_2,…,c_i,c_{i+1}),即可实现由T_i构造T_{i+1} 假设字典树Ti存在路径(root,c1,c2,…,ci),则只需实现一条路径(root,c1,c2,…,ci,ci+1),即可实现由Ti构造Ti+1,即在节点ci下添加一个孩子节点ci+1
2.2 Differential Privacy
具体定义如下,大致意思如下:
作者采用用户级邻接定义,即指当D’可以通过添加D中单个用户的所有数据项来获得时,D和D’为邻接数据集。
3. Single Sequences per User(q=1)
该部分展示针对本地只有一个数据项的情况,即每个user只有一个sequence
3.1 算法执行解释
算法如下图所示,算法一描述了作者提出的分布式算法,算法二描述了每一轮字典树增长的算法
① server
- 每轮选择 m = γ n m=\gamma\sqrt{n} m=γn个用户, γ根据隐私性和准确率进行权衡
- 发送上一轮的字典树 T i − 1 T_{i-1} Ti−1给选择的用户
② client
- 只有当用户长度为i-1的prefix可在字典树 T i − 1 T_{i-1} Ti−1中找到对应的路径时,才向server发送长度为i的prefix
③ server
- 收到来自所有来自用户的长度为 i 的 prefix, 只 有 当 p r e f i x 数 量 大 于 θ 时 , 方 作 为 叶 子 节 点 加 入 到 字 典 树 T i 只有当prefix数量大于 θ 时,方作为叶子节点加入到字典树T_i 只有当prefix数量大于θ时,方作为叶子节点加入到字典树Ti
反复执行①②③,直至Ti深度不再增长未知
举例如下
结果分析
对于最后得到的字典树T,我们通过输出从root节点到 以 $结尾(结束标志) 的叶子节点的路径, 得到频繁项。但对于没有以$结尾的频繁项,可能在某些应用中仍由一定意义
3.2 Privacy guarantee
Algorithm 1 主要以下几个步骤引入随机性:
- server 随机选择m个用户,对字典树下一轮的扩展进行投票(可以这么理解:每个用户提交一个下一轮字典树添加的节点投票,只有票数大于θ的节点,才会加入字典树)
- 投票是暂时的,不被存储(个人疑惑???:如果服务器作恶,保存记录的情况)
- 在算法中总计 L γ n L\gamma\sqrt{n} Lγ