Differen'al Privacy: Algorithmic Building Blocks CompSci - - PowerPoint PPT Presentation

differen al privacy
SMART_READER_LITE
LIVE PREVIEW

Differen'al Privacy: Algorithmic Building Blocks CompSci - - PowerPoint PPT Presentation

Differen'al Privacy: Algorithmic Building Blocks CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 6: 590.03 Fall 16 1 Announcement Choose project


slide-1
SLIDE 1

Differen'al ¡Privacy: ¡ ¡ Algorithmic ¡Building ¡Blocks ¡

CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡

1 ¡ Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡

slide-2
SLIDE 2

Announcement ¡

  • Choose ¡project ¡ideas ¡by ¡next ¡Thursday. ¡ ¡
  • Please ¡meet ¡with ¡me ¡at ¡least ¡once ¡before ¡then ¡to ¡discuss ¡your ¡

project ¡idea. ¡ ¡

  • Sample ¡project ¡ideas ¡posted ¡online. ¡ ¡
  • You ¡can ¡choose ¡your ¡own ¡project ¡(that ¡is ¡not ¡listed ¡on ¡the ¡

webpage). ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 2 ¡

slide-3
SLIDE 3

Differen'al ¡Privacy ¡

For ¡every ¡output ¡… ¡ O ¡ D2 ¡ D1 ¡ Adversary ¡should ¡not ¡be ¡able ¡to ¡dis'nguish ¡ between ¡any ¡D1 ¡and ¡D2 ¡based ¡on ¡any ¡O ¡ ¡ ¡ ¡Pr[A(D1) ¡= ¡O] ¡ ¡ ¡ ¡ ¡ ¡Pr[A(D2) ¡= ¡O] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡. ¡ For ¡every ¡pair ¡of ¡inputs ¡ that ¡differ ¡in ¡one ¡row ¡ ¡ ¡< ¡ ¡ε ¡ ¡ ¡(ε>0) ¡

log ¡

[Dwork ¡ICALP ¡2006] ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 3 ¡

slide-4
SLIDE 4

Algorithms ¡

  • Non-­‑trivial ¡determinis'c ¡algorithms ¡do ¡not ¡sa'sfy ¡differen'al ¡

privacy ¡

– Necessary ¡condi'on: ¡for ¡every ¡input ¡database ¡D ¡and ¡every ¡output ¡O, ¡ ¡ we ¡need ¡Pr[A(D) ¡= ¡O] ¡> ¡0 ¡for ¡any ¡differen'ally ¡private ¡algorithm ¡A. ¡

  • Random ¡sampling ¡does ¡not ¡sa'sfy ¡differen'al ¡privacy ¡

– Violates ¡the ¡above ¡necessary ¡condi'on ¡

¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 4 ¡

slide-5
SLIDE 5

Laplace ¡Mechanism ¡

  • Suppose ¡q ¡is ¡a ¡query ¡on ¡the ¡database ¡that ¡returns ¡a ¡vector ¡of ¡

reals ¡in ¡Rd. ¡

  • S(q) ¡= ¡max ¡neighbors ¡D, ¡D’ ¡ ¡ ¡||q(D) ¡– ¡q(D’)||1 ¡ ¡ ¡ ¡
  • Let ¡n ¡= ¡[n1, ¡n2, ¡…, ¡nd] ¡be ¡a ¡vector ¡of ¡noise ¡values, ¡each ¡drawn ¡from ¡

independently ¡and ¡iden'cally ¡from ¡Lap(S(q)/ε) ¡

  • Returning ¡q(D) ¡+ ¡n ¡results ¡in ¡ε-­‑differen'al ¡privacy. ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 5 ¡

slide-6
SLIDE 6

Laplace ¡Mechanism ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 6 ¡

slide-7
SLIDE 7

Error ¡Analysis ¡

  • If ¡true ¡count ¡is ¡c. ¡ ¡
  • Noisy ¡count ¡is ¡c’. ¡ ¡
  • |c ¡– ¡c’| ¡< ¡S(q)/ε ¡log(1/δ) ¡ ¡ ¡ ¡with ¡probability ¡1-­‑δ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 7 ¡

slide-8
SLIDE 8

This ¡means ¡… ¡

  • Sum ¡of ¡all ¡cells ¡may ¡not ¡add ¡up ¡to ¡the ¡true ¡total ¡count. ¡
  • Some ¡cells ¡can ¡have ¡nega've ¡counts ¡ ¡
  • Cells ¡can ¡have ¡frac'onal ¡counts. ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 8 ¡

slide-9
SLIDE 9

Limita'ons ¡of ¡output ¡perturba'on ¡

  • What ¡if ¡the ¡answer ¡is ¡non-­‑numeric? ¡

– “what ¡is ¡the ¡most ¡common ¡na'onality ¡in ¡this ¡room”: ¡ ¡ Chinese/Indian/American… ¡ – Other ¡examples? ¡

  • What ¡if ¡the ¡perturbed ¡answer ¡is ¡not ¡as ¡good ¡as ¡the ¡real ¡answer? ¡ ¡

– “Which ¡price ¡would ¡bring ¡the ¡most ¡money ¡from ¡a ¡set ¡of ¡buyers?” ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 9 ¡

slide-10
SLIDE 10

Example: ¡Items ¡for ¡sale ¡

  • If ¡price ¡is ¡set ¡at ¡$100, ¡make ¡a ¡revenue ¡of ¡$400 ¡
  • If ¡price ¡is ¡set ¡at ¡$401, ¡make ¡a ¡revenue ¡of ¡$401 ¡
  • Best ¡price: ¡$401, ¡Next ¡best: ¡$100 ¡
  • Revenue ¡at ¡$402 ¡= ¡$0 ¡
  • Revenue ¡at ¡$101 ¡= ¡$101 ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 10 ¡

$100 ¡ $100 ¡ $100 ¡ $401 ¡

slide-11
SLIDE 11

Exponen'al ¡Mechanism ¡

  • Consider ¡some ¡algorithm ¡A ¡(can ¡be ¡determinis'c ¡or ¡probabilis'c): ¡
  • How ¡to ¡construct ¡a ¡differenEally ¡private ¡version ¡of ¡A? ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 11 ¡

Inputs ¡ Outputs ¡

slide-12
SLIDE 12

Exponen'al ¡Mechanism ¡

  • Construct ¡a ¡scoring ¡func'on ¡w: ¡Inputs ¡x ¡Outputs ¡à ¡R ¡

¡ ¡

  • For ¡good ¡u'lity ¡w(D,O) ¡should ¡mirror ¡the ¡true ¡algorithm ¡as ¡well ¡

as ¡possible. ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 12 ¡

slide-13
SLIDE 13

Exponen'al ¡Mechanism ¡

  • Construct ¡a ¡scoring ¡func'on ¡w: ¡Inputs ¡x ¡Outputs ¡à ¡R ¡
  • Sensi'vity ¡of ¡w ¡

¡ ¡ ¡ ¡ ¡where ¡D, ¡D’ ¡differ ¡in ¡one ¡tuple ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 13 ¡

max

!

max

!,!! ! !, ! − !(!!, !) !!!

slide-14
SLIDE 14

Exponen'al ¡Mechanism ¡

¡ ¡

  • Given ¡an ¡input ¡D, ¡and ¡a ¡scoring ¡func'on ¡w, ¡ ¡

Randomly ¡sample ¡an ¡output ¡O ¡from ¡Outputs ¡with ¡probability ¡

  • Note ¡that ¡for ¡every ¡output ¡O, ¡probability ¡O ¡is ¡output ¡> ¡0. ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 14 ¡

slide-15
SLIDE 15

Theorem ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 15 ¡

slide-16
SLIDE 16

U'lity ¡of ¡the ¡Exponen'al ¡Mechanism ¡

  • Depends ¡on ¡the ¡choice ¡of ¡scoring ¡func'on ¡– ¡weight ¡given ¡to ¡the ¡

best ¡output. ¡ ¡

  • E.g., ¡ ¡

“What ¡is ¡the ¡most ¡common ¡na'onality?” ¡ ¡w(D,na'onality) ¡= ¡# ¡people ¡in ¡D ¡having ¡that ¡na'onality ¡ ¡Sensi'vity ¡of ¡w ¡is ¡1. ¡

  • Q: ¡What ¡will ¡the ¡output ¡look ¡like? ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 16 ¡

slide-17
SLIDE 17

U'lity ¡of ¡Exponen'al ¡Mechanism ¡

  • Let ¡OPT(D) ¡= ¡na'onality ¡with ¡the ¡max ¡score ¡ ¡
  • Let ¡OOPT ¡= ¡{O ¡ε ¡Outputs ¡: ¡w(D,O) ¡= ¡OPT(D)} ¡
  • Let ¡the ¡exponen'al ¡mechanism ¡return ¡an ¡output ¡O* ¡

Theorem: ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 17 ¡

slide-18
SLIDE 18

U'lity ¡of ¡Exponen'al ¡Mechanism ¡

Theorem: ¡ ¡ ¡ ¡ ¡ Suppose ¡there ¡are ¡4 ¡na'onali'es ¡ Outputs ¡= ¡{Chinese, ¡Indian, ¡American, ¡Greek} ¡ ¡ Exponen'al ¡mechanism ¡will ¡output ¡some ¡na'onality ¡that ¡is ¡shared ¡ by ¡at ¡least ¡K ¡people ¡with ¡probability ¡1-­‑e-­‑3(=0.95), ¡where ¡ ¡ ¡ K ¡≥ ¡OPT ¡– ¡2(log(4) ¡+ ¡3)/ε ¡= ¡OPT ¡– ¡6.8/ε ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 18 ¡

slide-19
SLIDE 19

Laplace ¡versus ¡Exponen'al ¡Mechanism ¡

  • Let ¡f ¡be ¡a ¡func'on ¡on ¡tables ¡that ¡returns ¡a ¡real ¡number. ¡
  • Define: ¡score ¡func'on ¡w(D,O) ¡= ¡|f(D) ¡-­‑ ¡O| ¡
  • Sensi'vity ¡of ¡w ¡= ¡maxD,D’ ¡(|f(D) ¡– ¡O| ¡-­‑ ¡|f(D’) ¡– ¡O|) ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡≤ ¡maxD,D’ ¡|f(D) ¡– ¡f(D’)| ¡ ¡= ¡sensi'vity ¡of ¡f ¡

  • Exponen'al ¡mechanisms ¡returns ¡an ¡output ¡f(D) ¡+ ¡η ¡with ¡

probability ¡propor'onal ¡to ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 19 ¡

Laplace ¡noise ¡with ¡ parameter ¡2Δ/ε ¡

slide-20
SLIDE 20

Summary ¡of ¡Exponen'al ¡Mechanism ¡

  • Differen'al ¡privacy ¡for ¡cases ¡when ¡output ¡perturba'on ¡does ¡not ¡

make ¡sense. ¡ ¡

  • Idea: ¡Make ¡be|er ¡outputs ¡exponen'ally ¡more ¡likely; ¡Sample ¡from ¡

the ¡resul'ng ¡distribu'on. ¡ ¡

  • Every ¡differen'ally ¡private ¡algorithm ¡is ¡captured ¡by ¡exponen'al ¡
  • mechanism. ¡ ¡

– By ¡choosing ¡the ¡appropriate ¡score ¡func'on. ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 20 ¡

slide-21
SLIDE 21

Summary ¡of ¡Exponen'al ¡Mechanism ¡

  • U'lity ¡of ¡the ¡mechanism ¡only ¡depends ¡on ¡log(|Outputs|) ¡

– Can ¡work ¡well ¡even ¡if ¡output ¡space ¡is ¡exponen'al ¡in ¡the ¡input ¡

  • However, ¡sampling ¡an ¡output ¡may ¡not ¡be ¡computa'onally ¡

efficient ¡if ¡output ¡space ¡is ¡large. ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 21 ¡

slide-22
SLIDE 22

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡

22 ¡

Person ¡1 ¡ r1 ¡ Person ¡2 ¡ r2 ¡ Person ¡3 ¡ r3 ¡ Person ¡N ¡ rN ¡

Server ¡

DB* ¡

¡f ¡( ¡ ¡ ¡ ¡ ¡ ¡) ¡

Sta's'cal ¡Database ¡Privacy ¡ ¡ (untrusted ¡collector) ¡

Perturb ¡records ¡to ¡ ensure ¡privacy ¡for ¡ individuals ¡and ¡ U'lity ¡for ¡server ¡

slide-23
SLIDE 23

Randomized ¡Response ¡(a.k.a. ¡local ¡randomiza'on) ¡

Disease ¡(Y/ N) ¡ Y ¡ Y ¡ N ¡ Y ¡ N ¡ N ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 23 ¡

With ¡probability ¡p, ¡ ¡ ¡ ¡ ¡ ¡ ¡Report ¡true ¡ ¡value ¡ ¡ With ¡probability ¡1-­‑p, ¡ ¡ ¡ ¡ ¡ ¡Report ¡flipped ¡value ¡ Disease ¡(Y/ N) ¡ Y ¡ N ¡ N ¡ N ¡ Y ¡ N ¡ D ¡ O ¡

[W ¡65] ¡

slide-24
SLIDE 24

Differen'al ¡Privacy ¡Analysis ¡

  • Consider ¡2 ¡databases ¡D, ¡D’ ¡(of ¡size ¡M) ¡that ¡differ ¡in ¡the ¡jth ¡value ¡

– D[j] ¡≠ ¡D’[j]. ¡But, ¡D[i] ¡= ¡D’[i], ¡for ¡all ¡i ¡≠ ¡j ¡

  • Consider ¡some ¡output ¡O ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 24 ¡

slide-25
SLIDE 25

U'lity ¡Analysis ¡

  • Suppose ¡n1 ¡out ¡of ¡N ¡people ¡replied ¡“yes”, ¡and ¡rest ¡said ¡“no” ¡
  • What ¡is ¡the ¡best ¡es'mate ¡for ¡π ¡ ¡= ¡frac'on ¡of ¡people ¡with ¡disease ¡= ¡Y? ¡ ¡

πhat ¡= ¡{n1/n ¡– ¡(1-­‑p)}/(2p-­‑1) ¡

  • E(πhat) ¡= ¡π ¡
  • Var(π ¡hat) ¡= ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 25 ¡

Sampling ¡ Variance ¡due ¡to ¡coin ¡flips ¡

slide-26
SLIDE 26

Laplace ¡Mechanism ¡vs ¡Randomized ¡Response ¡

Privacy ¡

  • Provide ¡the ¡same ¡ε-­‑differen'al ¡privacy ¡guarantee ¡
  • Laplace ¡mechanism ¡assumes ¡data ¡collected ¡is ¡trusted ¡
  • Randomized ¡Response ¡does ¡not ¡require ¡data ¡collected ¡

to ¡be ¡trusted ¡

– Also ¡called ¡a ¡Local ¡Algorithm, ¡since ¡each ¡record ¡is ¡perturbed ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 26 ¡

slide-27
SLIDE 27

Laplace ¡Mechanism ¡vs ¡Randomized ¡Response ¡

UElity ¡

  • Suppose ¡a ¡database ¡with ¡N ¡records ¡where ¡μN ¡records ¡

have ¡disease ¡= ¡Y. ¡ ¡

  • Query: ¡# ¡rows ¡with ¡Disease=Y ¡
  • Std ¡dev ¡of ¡Laplace ¡mechanism ¡answer: ¡O(1/ε) ¡
  • Std ¡dev ¡of ¡Randomized ¡Response ¡answer: ¡O(√N/ε) ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 27 ¡

slide-28
SLIDE 28

Randomized ¡response ¡for ¡larger ¡domains ¡

  • Suppose ¡area ¡is ¡divided ¡into ¡k ¡x ¡k ¡uniform ¡grid. ¡ ¡ ¡
  • What ¡is ¡the ¡probability ¡of ¡ ¡

repor'ng ¡the ¡true ¡loca'on? ¡ ¡

  • What ¡is ¡the ¡probability ¡of ¡ ¡

repor'ng ¡a ¡false ¡loca'on? ¡ ¡

Lecture ¡6: ¡590.03 ¡Fall ¡16 ¡ 28 ¡