0
点赞
收藏
分享

微信扫一扫

差分隐私方向入门

豆丁趣 2022-02-27 阅读 75
安全

差分隐私

意义与定义

目标

定义

  • 差分隐私可以在确保的得出正确结论的前提上,加入“噪声”,从而隐藏个人信息。

  • 参数ε是来调整隐私程度的。ε越小,隐私性越好。

应用

差分隐私数据库

特点

  • 只回答聚合查询的结果
  • 通过查询结果中加入噪声来满足差分隐私
  • 例子:微软PINQ、Uber的Chorus

技术难点

  • 如何用尽量少的噪声来达到 ϵ − \epsilon- ϵ差分隐私
    • 尤其是在查询需要连接多张数据库表的时候。
  • 如何高效的计算查询的敏感度
  • 如何将差分隐私模块整合到现有的数据库当中

前景展望

  • 现有算法未能在隐私保护、查询准确性及计算率三者取得很好的平衡。
    • 如:Uber的chorus在不少查询中误差可达100%以上

差分隐私机器学习

  • 在机器学习算法中引入噪声,使得算法生成的模型能满足差分隐私。
  • 例子:google的TensorFlow Privacy
  • 用于神经网络训练

TensorFlow Privacy基本原理

  • 神经网络通常是用随机梯度下降来训练的:
    • 从一组随机的神经网络权重参数出发
    • 拿到一组随机选取的元组来计算权重的梯度
    • 用梯度来更新参数
    • 重复2-3
  • TensorFlow Privacy 对步骤2中的梯度加入噪声,保证训练过程满足差分隐私。

展望

  • 不足
    • 准确性有待提高
    • 不能很好地处理复杂模型,如GAN
  • 新方向
    • 联邦学习
    • 安全多方计算的结合

差分隐私的数据采集

  • 从移动设备采集用户数据。
  • 为满足差分隐私,让用户用类似于随机化回答的方法来提供数据
  • 如:Chrome、iPhone、iPad、windows 10

技术难点

  • 需要采集的数据比较复杂,无法用传统随机化解决。

  • 如:用户输入的新单词。

展望

  • 多方安全计算结合

差分隐私的数据合成

  • 1645931656810
  • 基本原理:
    • 先对元数据进行建模,得到一个统计模型
    • 用统计模型来合成出虚拟数据
  • 如:美国普查局的一些数据产品。
  • 技术难点:
    • 找的合适的统计模型
    • 在统计模型中加入噪声,满足差分隐私。

展望

  • 目前只能处理关系型数据
  • 对于非关系型数据的合成基本还在摸索阶段
    • 如图、文本数据等。

涉及知识点

隐私保护系统

隐私保护基础知识

  • 一个隐私保护包括各种参与者角色、匿名化操作、数据状态
  • 目标:可用性、隐私性

640?wx_fmt=jpeg

  • X是原始数据,Y是匿名处理数据,X’是Y得解密数据。攻击者得任务就是得到X’
  • 隐私性通常用泄漏量L来表示。 λ \lambda λ表示勒贝格测度(Lebesgue measure)
  • L = λ ( X , Y ) L=\lambda(X,Y) L=λ(X,Y)
  • 数据失真度 D = λ ( X , Y ) D=\lambda(X,Y) D=λ(X,Y)
  • 有很多种方法可以计算D和L 如平均均方差 D = 1 n ∑ k = 1 n E [ ( x k − y k ) 2 ] D=\frac{1}{n}\displaystyle\sum_{k=1}^{n}E[(x_k-y_k)^2] D=n1k=1nE[(xkyk)2]
  • 其中E[·]表示X,Y联合分布的期望值。
  • 如果用信息论中的互信息(mutual information)I[•]度量信息泄漏量L
  • img

隐私保护的数学模型

K-匿名模型
  • 设T={t1,t2,t3…}是数据集D的一个数据表,A是表中的属性集。A={A1,A2,A3,A4…},C是A的一个子集。则用T[C]={t[c1],t[c2]…}表示T在属性集C上的投影. QI表示一个数据表中所有准标识符集合。 对一个数据表T进行k-匿名化定义,对T中的每个记录t∈T至少存在k-1个其他记录ti1,ti2,⋯,tik−1∈Tti1,ti2,⋯,tik−1∈Tk-1 ,并且对所有的C∈QI,满足t[C]=ti1[C]=ti2[C],⋯tik−1[C]t[C]=ti1[C]=ti2[C],⋯tik−1[C]。例如,在表1中,准标识符的集合为QI={job,age},表2是进行k-匿名化之后的数据(k=2),以确保在数据表中的每个准标识符至少有k个记录与之对应,从而降低重新识别某个特定记录的概率。

差分隐私模型

ε − \varepsilon- ε差分隐私
  • 所有的D1、D2为相邻数据集(即它们至多只有一条记录不同),一个给定的随机化函数G,对所有的S∈Ranger(G)(其表示随机化算法G的输出范围),满足
  • $\frac{Pr|G(D1)\in S|}{Pr|G(D2)\in S}\le e^{\epsilon} $
  • 也就是说,对于两个具有最小差别的数据集,经过匿名化之后的差异不超过一个给定值 e ε e^ε eε,参数ε称为隐私保护预算(privacy budget),ε越小,隐私保护强度越高。
差分隐私的实现机制有两种
  • 如果函数f的输出是数值,则采用拉普拉斯机制。
  • 如果函数f的输出是离散值,则采用指数机制。
全局敏感度
  • 定义: D − > R d D-> R^d D>Rd the global sensitivity of f for all pairs of neighboring datasets D and D’ is
  • $ GS_f=\displaystyle \max_{D,D’}||f(D)-f(D’)||_1$
  • where || · || denotes the L 1 L_1 L1 norm.
  • 在这里插入图片描述
  • 函数f敏感度是决定注入Laplace噪声量的因素之一,他是指函数f对两个具有最小差别的数据集D1,D2进行操作造成的结果的最大改变。
  • 敏感度的值取决于查询函数。
局部敏感度
  • 当全局敏感度较大时,必须想输出中添加大量的噪声,以实现差分隐私,这可能会严重损害数据效用。
  • St. D-> R d R^d Rd on D is
  • L S f ( D ) = max ⁡ n e i g h b o r i n g   d a t a   s e t   D ′   o f D ∣ ∣ f ( D ) − f ( D ′ ) ∣ ∣ 1 LS_f(D)=\displaystyle\max_{neighboring\ data\ set\ D'\ of D}||f(D)-f(D')||_1 LSf(D)=neighboring data set D ofDmaxf(D)f(D)1
平滑敏感度
  • 对于一个数据集D 和一个查询函数 f f f,一个函数S:D->R 是一个 L S f ( D ) LS_f(D) LSf(D) β \beta β-平滑上界(β>0),
  • 如果存在所有的D,使得 S ( D ) > = L S f ( D ) S(D)>=LS_f(D) S(D)>=LSf(D)
  • 以及存在所有的D、D’,在 d ( D , D ′ ) = 1 d(D,D')=1 d(D,D)=1的情况下,使得 S ( D ) ≤ e β ⋅ d ( D , D ′ ) S(D)\le e^{\beta·d(D,D')} S(D)eβd(D,D)
  • 平滑敏感度公式
  • S f , β ∗ ( D ) = max ⁡ D ′ ⋅ e − β ⋅ d ( D , D ′ ) S^*_{f,\beta}(D)=\displaystyle\max_{D'}·e^{-\beta·d(D,D')} Sf,β(D)=Dmaxeβd(D,D)

拉普拉斯噪声

  • 拉普拉斯噪声就是满足拉普拉斯分布得一个随机值。常用于差分隐私领域。
概率密度

f ( x ∥ μ , b ) = 1 2 b e − ∣ x − μ ∣ b f(x\|\mu,b)=\frac{1}{2b}e^\frac{-|x-\mu|}{b} f(xμ,b)=2b1ebxμ

概率图像
  • img

KL散度、JS散度和交叉熵

  • 三者都是用来衡量两个概率分布之间的差异性的指标。不同之处在于他们的数学表达式。
KL散度
  • Kullback-LeiBler Divergence

  • 又称KL距离,相对熵。

  • D ( P ∣ ∣ Q ) = ∑ P ( x ) log ⁡ P ( x ) Q ( x ) D(P||Q)=\sum P(x)\log\frac{P(x)}{Q(x)} D(PQ)=P(x)logQ(x)P(x)

  • 当P(x)和Q(x)的相似度越高,KL散度越小。

  • 性质

    • 不对称性:尽管直观上是一个距离函数,但并不是一个真正的距离或度量。因为它不具有对称性,即D(P||Q)!=D(Q||P)
    • 非负性:相对熵是非负值,即D(P||Q)>0
JS散度

J S ( P ∣ ∣ Q ) = 1 2 K L ( P ( x ) ∣ ∣ P ( x ) + Q ( x ) 2 ) + 1 2 K L ( Q ( x ) ∣ ∣ P ( x ) + Q ( x ) 2 ) JS(P||Q)=\frac 1 2KL(P(x)||\frac{P(x)+Q(x)}2)+\frac 1 2KL(Q(x)||\frac{P(x)+Q(x)}2) JS(PQ)=21KL(P(x)2P(x)+Q(x))+21KL(Q(x)2P(x)+Q(x))

  • 与KL不同

    • 值域范围
      • JS散度的值域范围是[0,1]相同是0,相反是1.相交于KL,对相似度判别更准确了。
    • 对称性
      • D(P||Q) =D(Q||P)
  • 交叉熵

    • 在神经网络中交叉熵函数又可以作为损失函数,它可以衡量P和Q的相似性。
    • H ( P , Q ) = ∑ P ( x ) l o g 1 Q ( x ) H(P,Q)=\sum P(x)log\frac 1 {Q(x)} H(P,Q)=P(x)logQ(x)1
  • 交叉熵和相对熵

    • D ( P ∣ ∣ Q ) = H ( P , Q ) − H ( P ) D(P||Q)=H(P,Q)-H(P) D(PQ)=H(P,Q)H(P)
举报

相关推荐

0 条评论