差分隐私(三):谷歌RAPPOR算法

动机

1、运营商需要分析用户数据

(1)用于维护平台性能与分析报错
(2)为用户服务提供安全保障

2、收集用户数据会带来的困境

(1)收集用户数据会损害用户隐私
(2)不收集会难以改进服务

3、当时拥有的方法不尽人意

(1)降低收集的数据信息粒度
(2)一定时间后强制删除收集数据
提供的隐私保护程度有限

 

实现细节

1、随机响应技术

随机响应技术是一种满足差分隐私要求的频数估计算法,它的关键在于提供了一个合理的否认机制,通过该否认机制,可以模糊用户对问题的结果响应,从而实现在保护用户隐私的情况下进行频数统计的目的。

 

2、RAPPOR算法客户端流程

(1)使用布隆过滤器将输入(真值) v 映射成一个长度为k(例:256)的二值向量B

【1】散列函数hash(a):一种映射函数,可以将任意长度的明文信息映射到定长向量或数组中。

【2】布隆过滤器:一种高效查询信息的数据结构

当一个输入值输入布隆布隆器时,会通过K个散列函数将这个输入数据映射成向量中的K个点,并把它们置为1。检索时,只要查看这些点是不是都是1就有很大概率知道集合中是否存在该元素。

 

 

(2)以一定概率f更改二值向量B中每个位的值,得到 B’ , f 为用户可控的参数,代表隐私保护程度,该过程被称为永久随机响应,B‘ 会永久存储于客户端中

 

 
(3)初始化全为0的,长度为k的二值向量S,按以下概率赋值,该过程被称为临时随机响应,得到的结果被称作报告S上传给服务器,另外还需上传向量长度 k ,参数 f ,以及概率 p 和 q 。

 

 

 

3、RAPPOR算法服务端流程

 

(1)统计该i队列中每个比特的置1次数,记作 cij

(2)根据统计出的次数cij预估原本向量B中实际的置1次数tij,记作向量 y(k维向量)

(3)构造一个大小为 m*k 的映射矩阵 x ,其中m代表该队列中真值v的数量。该矩阵是真值v的布隆映射值按行拼接后得到的矩阵。

(4)使用Lasso回归拟合y = ωx + b,系数ω就是每个真值v在该队列中出现的次数。

 

 

4、Lasso回归

 

作用:

用于预测特征矩阵X和目标向量y之间的系数ω

 

组成:

(1)均方误差项:用于计算函数理论值和实际值之间最小误差的函数

 

(2)L1正则项:用于防止结果过拟合,提升泛用性

 

附注:

(1)L2正则项:当使用L2正则项防止过拟合时,该回归被称作岭回归

 

(2)选择Lasso的理由:

平方误差项等值线和L1正则项等值线的交点为系数解

L1正则项等值线在坐标轴上存在不可微的角点,这些角点更容易和平方误差等值线相交

角点在坐标轴上的系数更容易为0(例:(0,b)),因此通过这种方式能够更好进行系数特征的筛选

 

LASSO回归(左)与 岭回归(右)

如图所示:

【1】椭圆等高线表示函数,中间的ω*代表函数的全局最优解

【2】灰色的图形代表正则项约束,左边正方形取值区域是LASSO回归约束,右边圆形取值区域是岭回归约束

【3】在没有正则项约束的情况下,ω*是可以被取到的,但添加约束后,ω的取值就只能在灰色图形的区域上了

【4】等高线与约束区域的切点即为ω的取值。在Lasso中,由于正方形的取值区域在坐标轴上有棱角,这就导致等高线的切点更容易在这些棱角上,即在Lasso中ω更容易出现在坐标轴上,进而导致部分权重取零的概率增大【例:(0,b)】,从而更加容易对特征值进行筛选

 

5、未知字符串应对方法

(1)EM算法(期望最大化)

 

例子:使用两枚硬币A、B进行抛硬币实验,正面朝上的概率不同(θA,θB),H代表正面,每次实验不知使用哪个硬币,求θA和θB

 

【1】初始化假设分布参数θ(例:θA=0.6)

【2】Expectation 步:使用步骤一中的参数,利用贝叶斯公式计算联合分布的条件概率期望(例:使用A硬币的概率是0.45)

【3】Maximization步:根据【2】中的得到的分布选择概率进行极大似然估计,得到新的分布参数θA’,θB‘(例:θA’=0.71)。其中极大似然估计是一种参数估计的方法

【4】判断分布参数的变化值是否小于一个常数ε,若是则认为收敛,输出分布参数。(例:θA=0.8)

 

(2)RAPPOR中的应用

在RAPPOR算法中,会通过使用EM算法构造出可能的字符串并放入候选集C中作为一个新的“字典”进行更加严格的训练估计,从而筛选统计出新的字典中没有的词条

 

具体流程如下:

 

【1】构建n-gram字典:

n-gram(x,i):在字符串x中,从第 i 个字符开始的,长度为n的字符串片段。

构建一个字段长度为n字符串片段,原则上允许这些字段出现重叠,但不允许相同。图中示例为了便于演示因此采用了相邻可整除的字符串片段。

【2】根据n-gram字典中生成的所有字符串片段,依照采样位置将它们拆分成一个个互斥组用于比较。例子中采用了相邻整除的片段因此分组相对简单。

【3】根据每个位置的分组,利用EM算法进行分布概率的计算:

步骤一:初始化两个片段X和Y的联合分布pij

 

 

步骤二:计算基于pij生成的联合分布条件概率期望Pxy

 

 

步骤三:使用极大似然估计更新联合分布直至收敛

 
【4】将【3】中结果带入各组进行分析并根据一个阈值进行筛选,得到候选字符串片段

【5】构建一个由候选字符串片段构成的图,分析全连通子图来筛选哪些构成的字符串能进入候选集C

 

 

【6】使用完整字符串报告集合X‘和候选集C进行RAPPOR算法训练,但使用的隐私预算为ε/3,这么做的目的是为了筛除实际上并不存在的字符串

 

应用案例

1、STT-MRAM在物联网数据隐私保护系统中的应用

(1)背景说明

在用户操作物联网设备(例如车辆电子控制单元)时会产生一系列行为数据,这些数据对一些组织(例如汽车公司和计算机公司)具有很高的价值。

但使用这些数据势必会造成隐私问题,因此需要在和相关组织共享这些数据前对其进行隐私保护,但仍然需要保留它们的统计属性,从而便于分析。

 

(2)设备介绍

自旋力矩转移磁性随机存取存储器(STT-MRAM):一种具有高耐久性和长续航性的存储器。它可以用作于嵌入式的非易失性存储。

 

 

带有STT-MRAM控制板的物联网设备

(3)RAPPOR算法的应用

在STT-MRAM的控制电路中,通过使用RAPPOR算法来对客户端数据进行统计,同时也满足了差分隐私的保护。

 

(4)示例

SPI协议:一种同步串行传输规范,至少拥有四根线:

【1】/SS : 片选线,用于芯片选择

【2】SCK:同步时钟信号,保证相关的电子组件得以同步运作

【3】MOSI: 主设备数据输出

【4】MISO: 主设备数据输入

 

 

如图所示:

信道 1 为同步时钟信号SCK

信道 2 为MOSI主设备输出

信道 3 为MISO主设备输入

信道 4 为/SS,此处没有使用

 

写入数据

 

读取数据

 

算法评价

优点:

1、隐私保护:该算法通过使用随机响应技术实现了差分隐私,为用户的个人隐私数据提供了保护。

2、聚合性:该算法在保证用户数据隐私的同时实现了对用户数据信息的统计,且能够保证一定的准确率。

3、可扩展性:该算法在运算过程中使用了字典,可以方便地进行字段添加,适用于大规模的数据收集分析。

4、易于实现性:由于客户端算法所使用的的方法相对简单,因此易于在各种设备上进行部署使用。

 

缺点:

1、信息损失:由于RAPPOR算法对用户数据实行了随机化处理,因此无法避免地会引入一些信息损失。在EM算法中,受限于字段长度也会导致一些较长的字段会出现不全的情况,进而导致结果的准确性下降。

2、联合估计解码成本过高:尽管大部分RAPPOR算法过程可以并行化执行,但是在EM算法中的联合估计解码中,每次迭代都是基于前一次迭代以及整个数据集。当用户量过大时会导致内存和算力消耗过大。

3、缺乏参数和隐私预算最优选择方法:在目前的工作中,该算法还没有找到一个高效选择参数和隐私预算的最优方法,因此难以最大化估计算法的准确性。

posted @ 2023-06-24 18:07  sftsgly  阅读(1020)  评论(0编辑  收藏  举报