Local Differential Privacy: a Tutorial

Page content

内容

Introduction

pass

Local Differential Privacy

乱択アルゴリズムKϵ-Differential Privacyを満たすとは、最大で1つ要素が異なる2つのデータセットD1,D2に対して、任意の部分集合SRange(K)に対して以下が成り立つことを言う。 Pr[K(D1)S]Pr[K(D2)S]eϵ

筆者注:差分プライバシーの設定は以下のようになっている。

登場人物

  • 情報提供者は情報を提供するが、プライバシーを守りたい
  • 信頼できるデータベース管理者は情報を受け取り、情報提供者のプライバシーを守りながら分析者に情報を提供する
  • 分析者はデータを分析したい

差分プライバシーの手順

  1. 情報提供者はデータをデータベース管理者に生の個人情報を提供する
  2. データベース管理者は情報提供者たちから集めたデータを使って統計値を計算する
  3. データベース管理者は統計値に差分プライバシーを満たすようなメカニズムを使ってノイズを加える
  4. 分析者はノイズを加えた統計値を使って分析を行う

End of 筆者注

Differential Privacyの問題点はユーザがデータベース管理者を信用する必要があることである。ユーザはデータベース管理者が正しくアルゴリズムを実行しているかを確認することができない。この問題を解決するために、Local Differential Privacyが提案された。

アルゴリズムπϵ-Local Differential Privacyを満たすとは、入力v, vに対して以下が成り立つことを言う。 yRange(π):Pr[π(v)=y]Pr[π(v)=y]eϵ

筆者注:差分プライバシーの設定は以下のようになっている。

登場人物

  • 情報提供者は情報を提供するが、プライバシーを守りたい
  • 分析者はデータを分析したい

差分プライバシーの手順

  1. 情報提供者はデータに局所差分プライバシーを満たすようなメカニズムを使ってノイズを加えて分析者に提供する
  2. 分析者は情報提供者から提供されたノイズを加えられたデータを使って分析を行う

End of 筆者注

Randomized response

Local Differential Privacyで使われるRandomized responseの例を以下に示す。Random responseはGoogleのRAPPORにも使われている。

回答者はコインを一度投げる

  1. 表だったら真の回答を提供する
  2. 裏だったらコインをもう一度投げる
    1. 表だったら「Yes」を提供する
    2. 裏だったら「No」を提供する

真のYesの割合は2(X0.25)で推定できる。ただし、Xは「Yes」を提供した割合である。

Challenges in the local model

Local Differential PrivacyはGlobal Differential Privacyよりも強いプライバシー保護を提供するが、その代わりにデータの品質が低下する。Global Differential Privacyではラプラスノイズの大きさの下界はO(1/ϵ)のオーダに従うが、Local Differential Privacyのラプラスノイズの大きさの下界はO(n/ϵ)に従う。ただし、nは情報提供者数である。

RAPPOR

RAPPORはChromeで使われている。RAPPORはLocal Differential Privacyを満たすようなメカニズムである。RAPPORは以下のような手順で動作する。

サーバへの応答はk個のビットベクトルである。ベクトルの中身はkこのカテゴリであってもよく、ランダム化された応答と組み合わせてブルーム・フィルターを使用することで、カテゴリー以外の特性に関する統計を収集することも可能である。

h個のhash関数を使ったサイズがkのブルームフィルターBを考える。 RAPPORの手順は以下の通りである。

  1. 永続的Randomized Responseを適用する
  2. 一時的Randomized Responseを適用する

永続的Randomized Responseは以下のようにする。 プライバシーを保証するパラメータfを使って、 Bi={1,with probability 12f0,with probability 12fBi,with probability 1f ただし、Biは元のブルームフィルターのi番目のビットである。永続的Randomized Responseは覚えておく。

一時的Randomized Responseは以下のようにする。長さがkのベクトルSは初期値が全て0である。 randomized responseパラメータp,qを用いて、Si番目の要素Siは以下のようにする。 P(Si=1)={q,ifBi=1p,ifBi=0

ErlingssonらのPARRORアルゴリズムの修正では、あたいを一度だけ遅らせる場合は一時的ランダム化ステップを飛ばして、永続的Randomized Response Biを送ることができる。 この場合、ϵ1-LDPを満たす。 ϵ1=2hln112f12f

一時的Randomized Responseを行った後のベクトルが1である確率は、生のブルームフィルターの値ごとに q=P(Si=1|Bi=1)=12f(p+q)+(1f)qp=P(Si=1|Bi=0)=12f(p+1)+(1f)p であるから、ϵ2-LDPを満たす。 ϵ2=hlnq(1p)p(1q)

Apple’s implementation of LDP

アップルは絵文字の利用頻度推定をするためにデータストリームを線型以下のメモリで処理する確率的データ構造のcount-mean sketch (CMS)を使っている。 CMSはcount min sketchの亜種である。

サーバサイドでの処理は以下のように行う。

  1. k個のHash関数を用いたm×kの行列Mを用意する。Mの初期値は全て0である。
  2. クライアントはデータdDに対してサイズmのベクトルを作成し、サーバサイドに送る。
  3. クエリ:要素dの出現回数を推定するためには、各ハッシュ関数にdを入力し、各行で得られた列の値を調べる。CMSでは最小値ではなく平均値を使う。

クライアントサイドの処理は以下のようにおこう。

プライバシーパラメータϵに対して、ϵ-LDPを維持しながらdDを送ることを考える。

  1. k個のハッシュ関数から一様ランダムに一つを選ぶ。
  2. encoding vector v1,1mを用意し、h(d)の要素に1を代入、他の要素は-1を代入する。
  3. 各要素を11+expϵ/2の確率で反転する。
  4. サーバサイドに送る。

Appleの実装は透明性がなく、Tangらの研究によると、1回の通信のϵは1~2であるが、一日に16回まで許されているため、一日のϵは16にもなることがある。

Frequency Oracles

LDPの核となる問題はユーザ側でプライバシーを守る頻度推定である。 定義域Dが与えられた時、Frequency Oracle (FO)は要素dDの出現回数を推定するプロトコルである。

WangらはFOを3つのステップに分割した。

  1. Encode: ユーザがそれぞれの回答をエンコードする
  2. Perturb: 回答に摂動を加える
  3. Aggregate: サーバがエンコードされた回答を集計する

WangらはPurturbとEncodeからなるPEを純粋なLDPとして定義した

Pure LDPの定義は以下の通りである。

PEと台によって与えられるプロトコルが純粋であるとは全てのv1に対して、以下を満たすようなp>qとなる二つの確率が存在することである。

Pr[PE(v1){y|v1Support(y)}]=pv1v2Pr[PE(v2){y|v1Support(y)}]=q

式の理解

{y|v1Support(y)}v1 の台の集合と呼ぶ。 p はどんなv1は自身の台の集合へ射影される確率である。 q は任意の他の値がv1の台の集合へ射影される確率である。

ϵ-LDPを満たすために、

  • q>0
  • pqexpϵ

が必要である。Pure LDPを満たすためにはすべたの値に対してpが同じ値を取り、全てのペアに対してqが同じ値を取る必要がある。 iの真の頻度の推定はユーザjの回答をyjとすると、

ˆc(i)=j1support(yj)(i)nqpq

Wangらは多くの既存手法を一般化したPure LDP FOプロトコルのフレームワークを提案した。 かわえて、4つのEncodeテクニックを提案した。

  1. Direct Encoding(DE)
  2. Histogram Encoding (HE)
  3. Unary Encoding (UE)
  4. Binary Local Hashing (BLH)

Direct Encoding

Encode(v)=vとし、Perturbは

Pr[Perturb(x)=i]={p=expϵexpϵ+|D|1q=1p|D|1=1expϵ+|D|1

Aggregateはˆcを用いてカウントする。 分散がDに対して線形という欠点がある。

Histogram Encoding

Encodeとしてv番目の要素だけ1で他は0のベクトルを返す。 PerturbはラプラスノイズPr[Lap(β)=x]=12βexp|x|/βを用いてB[i]=B[i]+Lap(β)とする。

Aggregateは全てのユーザの値を足すSummation with Histogram Encoding (SHE) と閾値を超えたら1を返すThreshold with Histogram Encoding (THE) がある。 THEの方が分散が優れている。

Unary Encoding

Encodeとしてv番目の要素だけ1で他は0のベクトルを返す。 Perturbは Pr[Perturb(x)=i]={p,ifB[i]=1q,ifB[i]=0

RAPPORと同じSymmetric Unary Encoding (SUE)はp+q=1を用いる。 WangらのOptimized Unary Encoding (OUE) ではp=12q=1expϵ+1を用いる。 OEUは最適なパラメータで、より誤差が小さい。

Binary Local Hashing

Binary Local Hashingは通信コストを下げるために用いられる。

dDを1ビットに射影するハッシュ関数のすべての集合Hが以下を満たしているとする。 x,yD,xy:PrHH[H(x)=H(y)]12

Encodeは一様ランダムに選んだハッシュ関数HHを使ってb=H(v)としたとき、Encode(v)=H,bとする。 Perturbの出力は Pr[b=1]={p=expϵexpϵ+1,ifb=1q=1expϵ+1,ifb=0

Optimal Local Hashing (OLH)

Optimal Local HashingはBinary Local Hashingの一般化で、出力が[g],g2である。 g=expϵ+1が最適である。

Encodeは一様ランダムに選んだハッシュ関数HHを使ってb=H(v)としたとき、Encode(v)=H,bとする。 Perturbの出力は Pr[b=1]={p=expϵexpϵ+g1,ifb=iq=1expϵ+g1,ifbi

  • OLHとOUEは同じ分散を持つ。
  • OLHのコミュニケーションコストはO(log|D|)の一方で、OUEのコミュニケーションコストはO(|D|)である。

まとめ

  • |D|<3expϵ+2のとき、DEは最適である。
  • |D|>3expϵ+2のとき、OEUとOLHは最適である。
  • OLHのコミュニケーションコストはO(log|D|)の一方で、OUEのコミュニケーションコストはO(|D|)である。

Heavy Hitter Identification

ローカルモデルのヘビーヒッター同定問題では、ユーザーの集合の中で共通のドメイン要素(ヘビーヒッター)の頻度を推定したい。

問題設定

  • n人のユーザがxiDの入力を持っている
  • 全てのユーザの入力からなる分散データベース S=(x1,,xn)がある
  • Sの要素の少なくともδ倍である要素xDδ-heavyと呼ぶ
  • できるだけ小さなδに対して、δ-heavyな要素(ヘビーヒッター)を特定したい
  • δより小さい頻度を持つ要素も除外されるわけではないので、δをプロトコルの誤差とも呼ぶ

関連研究

  • Bassily and Smithはsuccinct histogramという簡潔データ構造を使って局所差分プライバシーを保障しながらヘビーヒッターを特定するアルゴリズムを提案した
  • Bassilyらは二分プレフィックス木を使ったTreeHistと公開されている行列Z{1,1}|D|×nを利用してPerturbするBitstogramを提案した
  • 上記のアルゴリズムはϵ-LDPを保障したヘビーヒッター同定問題の最悪ケースの下界を達成しない
  • Bunらfrequency oracle HashtogramをベースにしたPrivateExpanderSketchを提案し、下界を達成することを示した。

Itemset mining

問題設定

  • アイテムセットマイニング問題は、局所差分プライバシー設定において、単一値入力ではなく、集合値入力に関する統計量の収集を扱うThakurta
  • 頻度オラクルおよびヘビーヒッタープロトコルは、十分に大きな母集団サイズによって付加されたノイズをフィルタリ ングすることで機能するため、アイテムセットの設定にこれらを適用することは不可能である。

関連研究

  • Qinらは2段階のフェーズでアイテムセットマイニングを行うLDPMinerを提案した。
    1. heavy hitterを特定する
    2. 頻度を推定する
  • BassilyらはQinらの研究をベースにsuccinct histogramの亜種のsampling succinct histogramを用いて、RAPPORの亜種のsampling RAPPORを提案した。
  • Wangらは新しいSet-Value Item Mining (SVIM) protocolを提案し、LDPMinerより大幅に性能を改善した上、未解決だった頻出アイテム集合の同定問題を解決した。
    • padding-and-sample-based frequency oracles (PSFO)というQinらのsampling randomizer algorithmによってサンプリングすることでプライバシーパラメータが改善する(=プライバシーが守りやすくなる)というprivacy amplicationというアイデアをベースにしている。
    • privacy amplicationの効果はGeneralized Random Responseにはあるが、Optimized Local Hash2はないので、アイテム集合のサイズに基づいて適応的に利用する頻度オラクルプロトコルを選択する(|J|>(42)expϵ+1ならば、Generalized Random Responseを利用)ことを提案している
    • SVIMプロトコルは以下の4つのステップからなる。ユーザを4つのグループに分け、それぞれのグループに1つのタスクだけ行わせる。
      1. ユーザは小さなを使って入力を報告し、分析者はヘビーヒッターを特定して、それをユーザに送る
      2. 標準的頻度オラクルプロトコルを使って、幾つアイテムの候補を持っているかを報告する
      3. は分析者が適切に選び、PSFOを用いてユーザは候補のアイテムを報告する。これにより分析者はアイテムの頻度を推定できる。
      4. 分析者は頻度の多いk個のアイテムを特定する
  • アイテムセットのマイニングは、考慮すべき候補が指数関数的に増えるため、より困難である。これに対処するため、Wangらは頻出アイテムセットを効率的に見つけるSVSMを導入した。
  • SVIMはLDPMinerを性能で大幅に上回り、SVSMはオープンプロブレムであった頻出アイテムセットの同定問題を解決した。

Private Spatial Data Collection

  • Google MapsやWazeのような多くのサービスは、人気のある場所を特定したり、渋滞マップを作成したりするために、ユーザーデータの収集から利益を得ている。
  • 多数のユーザーとその位置データが与えられた場合、ユーザーのプライバシーを維持しながら、空間領域上の分布を学習したい。
  • Chenらは、個別化局所差分プライバシー(Personalized Local Differential Privacy: PLDP)の概念を導入し、各ユーザのPDPを保証しながら、空間領域(location universe)上のユーザ分布を学習できるフレームワークを提案している。

Personalized Local Differential Privacy

ユーザuが設定できるプライバシー仕様(τ,ϵ)、ランダムかアルゴリズムπが与えられているとする。 ユーザu(τ,ϵ)-personalized local differential privacy (PLDP)を満たすとは、二つの地域l, lと任意の部分集合ORange(A)に対して以下が成り立つことを言う。 Pr[π(l)O]π(l)Oeϵ

τはユーザごとに安全領域と呼ばれる位置情報の解像度を制御するためのパラメータである。τ=Lとして、位置情報の解像度を最低にするとϵ-LDPになる。

PSDA Framework

  • Chenらは、プライベート空間データ集約(PSDA)フレームワークを提案した
  • 与えられた地域内のユーザ数をカウントするには以下のようなpersonalized count estimation protocol (PCEP)を使う
    • nユーザの地域とプライバシー仕様とaccuracyを制御するβが与えられた元で(τ,ϵ)-PLDPを満たすように報告された地域に摂動を加える
    • 同じ安全領域を持つユーザを真のユーザカウントslと推定したユーザカウントˆslの絶対誤差の最大値 max を小さくするようにクラスタリングする。
    • 信頼できないサーバはそれぞれのクラスタC\in\mathbb{C}に対して信頼パラメータ\frac{\beta}{|\mathbb{C}|}に設定するので、信頼水準を\betaに設定することができる。
    • サーバは全てのクラスタに対して推定値を組み合わせてカウントを計算する。

Open Problems

  • LDPとDPを組み合わせて精度向上
  • DNNとLDPを組み合わせる(DPとDNNの組み合わせはうまくいっている)
  • クライアントとサーバのやり取りの回数を増やすことで性能を向上させる

Conclusion

pass