プライバシー予算

Pythonで学ぶデータプライバシーと匿名化

Rebeca Gonzalez

Instructor

差分プライバシーの定義

  • Cynthia Dworkは差分プライバシーを数学的に定義します。

元データに誰かがいるかどうかに関わらず、差分プライバシー機構の出力がほぼ同じであることを示す図

  • 最重要なのはイプシロンと精度です。
Pythonで学ぶデータプライバシーと匿名化

プライバシー指標 $\epsilon$

  • プライバシー損失の尺度
  • 値が小さいほど保護が強い
Pythonで学ぶデータプライバシーと匿名化

プライバシー予算

左側にデータ管理者の図

Pythonで学ぶデータプライバシーと匿名化

プライバシー予算

左にデータ管理者、右に第三者の図。データ管理者への矢印に ε=1 が表示され、データベースへのクエリを表す

Pythonで学ぶデータプライバシーと匿名化

プライバシー予算

左にデータ管理者、右に第三者の図。もう一つの矢印に ε=1 が表示され、別のクエリを表す $\epsilon$=1 の同じプライベートクエリを2回行うと、$\epsilon$=2 のクエリ1回分に相当します。

Pythonで学ぶデータプライバシーと匿名化

プライバシー予算

以前に収集したデータで計算を行う第三者の図 第三者は回答を平均し、ノイズを相殺できます。

Pythonで学ぶデータプライバシーと匿名化

プライバシー予算

  • 個人やグループに許容されるプライバシー損失の上限
  • データへのクエリを記録・管理

ノイズを加えてからクエリに回答するデータベースに対し、チームが抽出を行う図

Pythonで学ぶデータプライバシーと匿名化

どこまでが十分なプライバシーか

  • 妥当性はクエリとデータの両方に依存
  • イプシロンの取り得る値は広範
Pythonで学ぶデータプライバシーと匿名化

どこまでが十分なプライバシーか

イプシロン $\epsilon$

  • 0〜1は非常に良好
  • 10超は望ましくない
  • 1〜10は「無いよりは良い」

イプシロンは指数的である点に注意。

  • $\epsilon$=1 のシステムは $\epsilon$=10 より8,000倍以上プライベートです。
Pythonで学ぶデータプライバシーと匿名化

どこまでが十分なプライバシーか

Appleのロゴの横に絵文字使用回数の棒グラフを示す画像

1 Appleが収集したデータに基づく、米国英語話者の上位絵文字のスクリーンショット。
Pythonで学ぶデータプライバシーと匿名化

プライバシー予算:追跡方法

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Pythonで学ぶデータプライバシーと匿名化

プライバシー予算:追跡方法

# 給与のプライベート平均を epsilon=0.5 で計算
# 予算管理 acc を使い、範囲は 0 〜 230000 に設定
dp_mean = tools.mean(salaries, epsilon=0.5, accountant=acc, bounds=(0, 230000))

# 得られたプライベート平均を表示 print("Private mean: ", dp_mean)
Private mean: 82524.72611901595
Pythonで学ぶデータプライバシーと匿名化

プライバシー予算:追跡方法

# 使用済みプライバシーの合計 
print("Total spent: ", acc.total())

# 残りのプライバシー予算 print("Remaining budget: ", acc.remaining())
# これまでのクエリ数 print("Number of queries recorded: ", len(acc))
Total spent: (epsilon=0.5, delta=0.0)

Remaining budget: (epsilon=4.5, delta=1.0)
Number of queries recorded: 1
Pythonで学ぶデータプライバシーと匿名化

プライバシー予算:追跡方法

# 2件のクエリに対する残り予算
print("Remaining budget for 2 queries: ", acc.remaining(2))
Remaining budget for 2 queries: (epsilon=2.25, delta=1.0)
Pythonで学ぶデータプライバシーと匿名化

Passons à la pratique !

Pythonで学ぶデータプライバシーと匿名化

Preparing Video For Download...