A Hybrid Approach to Privacy-Preserving Federated Learning

背景

差分隐私(Differential Privacy)

隐私其实是一个很微妙的定义,在机器学习领域,这个定义变得更加模糊,考虑以下场景:

高德地图曾在《2016年度中国主要城市交通分析报告》中统计了各类车型车主最爱去的场所,结果显示奔驰车主住别墅,宝马车主爱购物,沃尔沃车主很文艺,…,而凯迪拉克车主偏爱去洗浴中心

那么对于以下两个场景:

  • 小a是一位凯迪拉克车主,他爱去洗浴中心(属于隐私泄漏)
  • 假设我们已经得知了凯迪拉克车主爱去洗浴中心这一统计结果,然后又知道小a是一名凯迪拉克车主,因此我们猜测小a爱去洗浴中心(不属于隐私泄漏)

但其实上述两个场景所造成的结果都是一样的(大家都知道小a喜欢去洗浴中心了)

差分隐私便是一个用于评估一个旨在保护隐私的机制(算法)所提供的隐私保证的一个框架

数学定义如下:
在这里插入图片描述
对上述公式的一个通俗的理解便是,如果能设计一种算法,让攻击者在查询100条信息和去掉任意一条信息的其他99条信息时,获得的结果是一致的,那么攻击者便没办法确定出第100条信息了,这样我们边说第100条信息对应的个体得到了隐私的保护,如下图:

在这里插入图片描述
目前为了实现这个思想的通常做法是向模型的输出中添加一些噪声,但是在FL系统中,这种办法会造成模型性能的下降

典型的两种方法是:

  • 拉普拉斯映射
  • 高斯映射

同态加密

思想:接将原文加密,然后在密文上进行各种运算,最终得到结果的密文,形式化的表示为:
在这里插入图片描述
上述式子说明:借用同态加密技术,直接在密文上操作和在明文上操作然后加密,效果是一样的

典型的同态加密算法由下面几种:

1.RSA加密方案(乘法同态)
在这里插入图片描述
2.Paillier加密方案(加法同态)在这里插入图片描述

贡献

  • 提出一个新的FL系统(训练方法),在保证数据隐私的基础上有着比普通的FL系统更高的准确率
  • 该FL系统中包含一个可调的参数,我们可以通过这个参数在系统的准确性和隐私性做一个权衡

算法

假设参与联邦学习的有 n n n个节点,分别是 P = P 1 , P 2 , . . . P n P = P_1,P_2,...P_n P=P1,P2,...Pn,每个节点上都有一个独立的数据集 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn,现在该系统需要接受3个额外的输入:

  • f M f_M fM : 训练的算法(SGD,SVM等),这个算法由一系列的query组成: Q 1 , Q 2 , Q 3 . . . , Q k Q_1,Q_2,Q_3...,Q_k Q1,Q2,Q3...,Qk,一个query表示的便是该训练算法所需要的某一部分知识,因此对于每一个query Q s Q_s Qs,参与联邦学习的每一个节点都需要返回自身数据集上的这部分知识,用 Q s ( D i ) Q_s(D_i) Qs(Di)表示
  • ϵ \epsilon ϵ:可调参数
  • t t t:表示所有节点中诚实节点(honest, non-colluding parties)数量的最小值

算法流程:
在这里插入图片描述
算法解析:

  • 首先计算 t ‾ = n − t + 1 \overline{t} = n - t + 1 t=nt+1,也就是系统中colluding节点的数量
  • 然后对于 f M f_M fM中的每一个query Q s Q_s Qs,每一个节点都需要返回本身数据集上的一部分知识 Q s ( D i ) Q_s(D_i) Qs(Di)给服务器,为了保护隐私使用差分隐私技术,也就是加入了一些扰动 n o i s e ( ϵ , t ) noise(\epsilon,t) noise(ϵ,t);同时使用了同态加密技术,将返回的参数进行了加密: r t , s = E n c p k ( Q s ( D i ) + n o i s e ( ϵ , t ) ) r_{t,s} = Enc_{pk}(Q_s(D_i) + noise(\epsilon,t)) rt,s=Encpk(Qs(Di)+noise(ϵ,t))
  • 服务器收到这些参数之后,进行聚合(根据运算的同态性)得到加密的全局参数 E n c p k ( r s ) Enc_{pk}(r_s) Encpk(rs)
  • 然后在节点中选择 t ‾ \overline{t} t个节点,向这些节点发送聚合之后的参数,节点返回对应的解码方式
  • 服务器收到各个节点返回的解码方式之后便可以对 E n c p k ( r s ) Enc_{pk}(r_s) Encpk(rs)进行解码,得到 r s r_s rs
  • 最后用 r s r_s rs来更新全局模型 M M M

图示如下:
在这里插入图片描述

总结

这片文章想要解决的便是在分布式计算中的数据隐私问题,主要是基于现有的三个技术:

  • 联邦学习
  • 差分隐私
  • 同态加密
  • 安全多方计算技术

论文便是将这前三个技术组合在一起形成一个新的FL系统,然后用安全多方计算技术来减少差分隐私中的噪声以提高训练出来的模型的准确率。虽然创新点不多,但是与现实的应用场景比较契合,各种技术的组合也比较恰当

猜你喜欢

转载自blog.csdn.net/qq_44026293/article/details/112062798