Jointly Private Convex Programming
“PrivDuDe” Justin Hsu1, Zhiyi Huang2, Aaron Roth1, Steven Zhiwei Wu1
1University of Pennsylvania 2University of Hong Kong
January 10, 2016
1
Jointly Private Convex Programming PrivDuDe Justin Hsu 1 , Zhiyi - - PowerPoint PPT Presentation
Jointly Private Convex Programming PrivDuDe Justin Hsu 1 , Zhiyi Huang 2 , Aaron Roth 1 , Steven Zhiwei Wu 1 1 University of Pennsylvania 2 University of Hong Kong January 10, 2016 1 One hot summer...not enough electricity! 2 Solution:
“PrivDuDe” Justin Hsu1, Zhiyi Huang2, Aaron Roth1, Steven Zhiwei Wu1
1University of Pennsylvania 2University of Hong Kong
January 10, 2016
1
2
Decide when customers get electricity
◮ Divide day into time slots ◮ Customers have values for slots ◮ Customers have hard minimum requirements for slots
3
Constants (Inputs to the problem)
◮ Customer i’s value for electricity in time slot t: v(i) t
∈ [0, 1]
◮ Customer i’s minimum requirement: d(i) t
∈ [0, 1]
◮ Total electricity supply in time slot t: st ∈ R 4
Constants (Inputs to the problem)
◮ Customer i’s value for electricity in time slot t: v(i) t
∈ [0, 1]
◮ Customer i’s minimum requirement: d(i) t
∈ [0, 1]
◮ Total electricity supply in time slot t: st ∈ R
Variables (Outputs)
◮ Electricity level for user i, time t: x(i) t 4
Maximize welfare
max
v(i)
t
· x(i)
t 5
Maximize welfare
max
v(i)
t
· x(i)
t
...subject to constraints
◮ Don’t exceed power supply:
x(i)
t
≤ st
5
Maximize welfare
max
v(i)
t
· x(i)
t
...subject to constraints
◮ Don’t exceed power supply:
x(i)
t
≤ st
◮ Meet minimum energy requirements:
x(i)
t
≥ d(i)
t 5
Private data
◮ Values v(i) t
for time slots
◮ Customer requirements d(i) t 6
Private data
◮ Values v(i) t
for time slots
◮ Customer requirements d(i) t
6
Convex program
◮ Want to maximize:
f (i)(x(i)) f (i) concave
7
Convex program
◮ Want to maximize:
f (i)(x(i)) f (i) concave
◮ Coupling constraints:
g(i)
j (x(i)) ≤ hj
g(i)
j
convex
7
Convex program
◮ Want to maximize:
f (i)(x(i)) f (i) concave
◮ Coupling constraints:
g(i)
j (x(i)) ≤ hj
g(i)
j
convex
◮ Personal constraints:
x(i) ∈ S(i) S(i) convex
7
Key feature: separable
◮ Partition variables: Agent i’s “part” of solution is x(i)
Agent i’s private data affects:
◮ Objective f (i) ◮ Coupling constraints g(i) j ◮ Personal constraints S(i)
Examples
◮ Matching LP ◮ d-demand fractional allocation ◮ Multidimensional fractional knapsack 8
Theorem
Let ε > 0 be a privacy parameter. For a separable convex program with k coupling constraints, there is an efficient algorithm for privately finding a solution with objective at least OPT −O
k
ε
and exceeding constraints by at most k/ε in total.
9
◮ Convex program solution ↔ equilibrium of a game ◮ Compute equilibrium via gradient descent ◮ Ensure privacy 10
11
The players
◮ Primal player: plays candidate solutions x ∈ S(1) × · · · × S(n) ◮ Dual player: plays dual solutions λ 12
The players
◮ Primal player: plays candidate solutions x ∈ S(1) × · · · × S(n) ◮ Dual player: plays dual solutions λ
The payoff function
◮ Move constraints depending on multiple players (coupling
constraints) into objective as penalty terms L(x, λ) =
f (i)(x(i)) +
λj
g(i)
j (x(i)) − hj
12
Convex duality
◮ Optimal solution x∗ gets payoff OPT versus any λ ◮ Optimal dual λ∗ gets payoff at least −OPT versus any x
In game theoretic terms...
◮ The value of the game is OPT ◮ Optimal primal-dual solution (x∗, λ∗) is an equilibrium 13
Convex duality
◮ Optimal solution x∗ gets payoff OPT versus any λ ◮ Optimal dual λ∗ gets payoff at least −OPT versus any x
In game theoretic terms...
◮ The value of the game is OPT ◮ Optimal primal-dual solution (x∗, λ∗) is an equilibrium
Find an equilibrium to find an
approximate approximately
13
Convex duality
◮ Optimal solution x∗ gets payoff OPT versus any λ ◮ Optimal dual λ∗ gets payoff at least −OPT versus any x
In game theoretic terms...
◮ The value of the game is OPT ◮ Optimal primal-dual solution (x∗, λ∗) is an equilibrium
Find an equilibrium to find an
approximate approximately
13
14
Simulated play
◮ First player chooses the action xt with best payoff ◮ Second player uses a no-regret algorithm to select action λt ◮ Use payoff L(xt, λt) to update the second player ◮ Repeat 15
Simulated play
◮ First player chooses the action xt with best payoff ◮ Second player uses a no-regret algorithm to select action λt ◮ Use payoff L(xt, λt) to update the second player ◮ Repeat
Key features
◮ Average of (xt, λt) converges to approximate equilibrium ◮ Limited access to payoff data, can be made private 15
Idea: repeatedly go “downhill”
◮ Given primal point x(i) t , gradient of L(xt, −) is
ℓj =
g(i)
j
· x(i)
t
− hj
◮ Update:
λt+1 = λt − η · ℓ
16
17
18
Definition (DMNS06)
Let M be a randomized mechanism from databases to range R, and let D, D′ be databases differing in one record. M is (ε, δ)-differentially private if for every S ⊆ R, Pr[M(D) ∈ S] ≤ eε · Pr[M(D′) ∈ S] + δ.
19
Definition (DMNS06)
Let M be a randomized mechanism from databases to range R, and let D, D′ be databases differing in one record. M is (ε, δ)-differentially private if for every S ⊆ R, Pr[M(D) ∈ S] ≤ eε · Pr[M(D′) ∈ S] + δ.
19
Idea
◮ Give separate outputs to agents ◮ Group of agents can’t violate privacy of other agents 20
Idea
◮ Give separate outputs to agents ◮ Group of agents can’t violate privacy of other agents
Definition
An algorithm M : Cn → Ωn is (ε, δ)-joint differentially private if for every agent i, pair of i-neighbors D, D′ ∈ Cn, and subset of outputs S ⊆ Ωn−1, Pr[M(D)−i ∈ S] ≤ exp(ε) Pr[M(D′)−i ∈ S] + δ.
20
“Billboard” mechanisms
◮ Compute signal S satisfying standard differential privacy ◮ Agent i’s output is a function of i’s private data and S 21
“Billboard” mechanisms
◮ Compute signal S satisfying standard differential privacy ◮ Agent i’s output is a function of i’s private data and S
Lemma (Billboard lemma [HHRRW14])
Let S : D → S be (ε, δ)-differentially private. Let agent i have private data Di ∈ X, and let F : X × S → R. Then the mechanism M(D)i = F(Di, S(D)) is (ε, δ)-joint differentially private.
21
Privacy for the dual player
◮ Recall gradient is
ℓj =
g(i)
j
· x(i)
t
− hj
◮ May depend on private data in a low-sensitivity way 22
Privacy for the dual player
◮ Recall gradient is
ℓj =
g(i)
j
· x(i)
t
− hj
◮ May depend on private data in a low-sensitivity way ◮ Use Laplace mechanism to add noise, “noisy gradient”:
ˆ ℓj =
g(i)
j
· x(i)
t
− hj + Lap(∆/ε)
◮ Noisy gradients satisfy standard differential privacy 22
(Joint) privacy for the primal player
◮ Best response problem:
max
x∈S L(x, λt) = max x∈S
f (i)·x(i)+
λj,t
g(i)
j
· x(i) − hj
(Joint) privacy for the primal player
◮ Best response problem:
max
x∈S L(x, λt) = max x∈S
f (i)·x(i)+
λj,t
g(i)
j
· x(i) − hj
max
x(i)∈S(i) f (i) · x(i) +
λj,t
j
· x(i)
23
(Joint) privacy for the primal player
◮ Best response problem:
max
x∈S L(x, λt) = max x∈S
f (i)·x(i)+
λj,t
g(i)
j
· x(i) − hj
max
x(i)∈S(i) f (i) · x(i) +
λj,t
j
· x(i)
◮ Key point: optimization for x(i) depends only on λ and
functions of i’s private data (S(i), f (i), g(i))
23
◮ For iterations t = 1, . . . , T: 24
◮ For iterations t = 1, . . . , T: ◮ For i = 1, . . . , n, compute best response:
x(i)
t
= max
x∈S(i) f (i) · x −
λj,t(g(i)
j
· x)
24
◮ For iterations t = 1, . . . , T: ◮ For i = 1, . . . , n, compute best response:
x(i)
t
= max
x∈S(i) f (i) · x −
λj,t(g(i)
j
· x)
◮ For coupling constraints j = 1, . . . , k, compute noisy gradient:
ˆ ℓj,t =
g(i)
j
· x(i)
t
− hj + Lap(∆/ε)
24
◮ For iterations t = 1, . . . , T: ◮ For i = 1, . . . , n, compute best response:
x(i)
t
= max
x∈S(i) f (i) · x −
λj,t(g(i)
j
· x)
◮ For coupling constraints j = 1, . . . , k, compute noisy gradient:
ˆ ℓj,t =
g(i)
j
· x(i)
t
− hj + Lap(∆/ε)
◮ Do gradient descent update:
λt+1 = λt − η · ˆ ℓt
24
◮ For iterations t = 1, . . . , T: ◮ For i = 1, . . . , n, compute best response:
x(i)
t
= max
x∈S(i) f (i) · x −
λj,t(g(i)
j
· x)
◮ For coupling constraints j = 1, . . . , k, compute noisy gradient:
ˆ ℓj,t =
g(i)
j
· x(i)
t
− hj + Lap(∆/ε)
◮ Do gradient descent update:
λt+1 = λt − η · ˆ ℓt
◮ Output: time averages 1 T
t
to agent i
24
Theorem
PrivDuDe satisfies (ε, δ)-joint differential privacy. The mechanism that releases just the dual variables λt satisfies (ε, δ)-standard differential privacy.
25
Theorem
PrivDuDe produces a solution x such that:
◮ it achieves objective at least OPT − α ; ◮ it satisfies all personal constraints ; and ◮ the total infeasibility over all coupling constraints is at most α ;
where α = ˜ O(σk log(1/δ)/ε), and σ measures the sensitivity of the convex program.
26
27
28
Main ideas
◮ Equilibrium ↔ solution to convex program ◮ Joint differential privacy for separable convex programs
PrivDuDe
◮ Approximately solve separable convex programs ◮ Satisfies (joint) differential privacy ◮ Error/infeasibility linear in number of coupling constraints 29
Expanding the class of convex programs
◮ Can we handle something beyond separable convex programs? ◮ Terms depending on at most two agents?
Improving the accuracy
◮ Is linear dependence on number of constraints k necessary? ◮ What is the best dependence possible? 30
“PrivDuDe” Justin Hsu1, Zhiyi Huang2, Aaron Roth1, Steven Zhiwei Wu1
1University of Pennsylvania 2University of Hong Kong
January 10, 2016
31