Dwork Roth 2014 - Report Noisy Max and the Exponential Mechanism
Summary
Two ways to privately select the best item from a discrete set. Report Noisy Max adds to each of counts and returns only the argmax index: -DP though the count vector has sensitivity . The exponential mechanism samples with probability for an arbitrary utility : -DP, and with high probability the chosen element’s utility is within of optimal. Instantiating noisy max with Gumbel noise reproduces the exponential mechanism exactly.
Overview
“Differentially private selection”: the space of outcomes is discrete and the task is to produce a “best” answer. Adding noise directly to the value is wrong when value and utility are not on a common scale (pricing, structured outputs), and releasing all noisy counts wastes budget. The principle at work in Report Noisy Max is information minimization: release only the index of the winner, not the noisy counts.
Main Content
Report Noisy Max (pp. 34-37)
Example 3.4 - Most common medical condition (p. 35)
Setup. Which of conditions is (approximately) most common in respondents’ medical histories? For each condition, query whether each individual has ever received the diagnosis. An individual can have many conditions, so the vector of counts has high sensitivity (). Solution. Add noise to each count and publish only the index of the maximum (the noisy counts are not released; the “winning” count can be released at no extra privacy cost). The noise scale is independent of .
Report Noisy Max
Given counting queries: add independent noise to each count and return the index of the largest noisy count (ties ignored).
Claim 3.9 (p. 35)
Report Noisy Max is -differentially private.
Proof (pp. 35-37)
Let ; let and be the count vectors on and . Two properties: (1) Monotonicity of counts: for all ; (2) Lipschitz: for all . Fix and fix , a draw from for all coordinates except ; argue for each separately.
Upper bound. Define such that for all . On , wins iff . For every : implies , so . Hence if , wins on . Therefore
Lower bound. Define such that for all (winning threshold on ). Then gives so wins on if , and . Multiply through by in both directions and integrate over .
The exponential mechanism (Sec. 3.4, pp. 37-41)
Motivation. Designed for situations where adding noise directly to the computed quantity “can completely destroy its value”, for example setting a price in an auction.
Example 3.5 - Pumpkins (p. 37)
Setup. An abundant supply of pumpkins and four bidders A, F, I, K; A, F, I each bid $1.00 and K bids $3.01. “What is the optimal price?” The text states: at $3.01 revenue is $3.01; at $3.00 and at $1.00 revenue is $3.00; at $3.02 the revenue is zero. Lesson. Adding a small amount of positive noise to the optimal price can drive revenue to zero, so noise must be added to the choice via a utility function, not to the optimal value. Arithmetic caveat (own check): revenue at a price is ; at $1.00 all four bidders buy, giving $4.00, which is the true revenue maximiser; the text’s “$3.00 at $1.00” appears to be a slip. The fragility at $3.02 (zero revenue) is unaffected.
Definition 3.4 - Exponential mechanism (pp. 37-38)
Given a range and a utility function mapping database/output pairs to scores, define the sensitivity of with respect to its database argument (it may be arbitrarily sensitive in ):
The exponential mechanism selects and outputs with probability proportional to .
Why the factor 2. The naive privacy loss is , but this overlooks the normalisation term, which can change when one person raises some utilities and lowers others. The actual mechanism reserves half the privacy budget for the normaliser. The range must be independent of the data (pumpkins: the price grid must not depend on actual bids, else some price has non-zero weight on one database and zero on a neighbour). The mechanism may be infeasible to implement if is super-polynomially large.
Theorem 3.10 (pp. 38-39)
The exponential mechanism preserves -differential privacy.
Proof (pp. 38-39; finite , not necessary)
For neighbours and :
The first factor is at most since . In the sum ratio, each term , giving the other . The ratio follows by symmetry.
Theorem 3.11 - Utility of the exponential mechanism (pp. 39-40)
Fix a database and let with . Then
Proof (p. 40)
Each with has unnormalised mass at most , so the “bad” set has total unnormalised mass at most . At least elements have mass , a lower bound on the normaliser. Hence ; plug in .
Corollary 3.12 (p. 40)
Since : . The returned element is inferior to optimal by more than an additive with only exponentially small probability.
Example 3.6 - Best of two (pp. 40-41)
Setup. Which of two conditions is more common? True counts are for condition A and for B. Utility is the count, . Exponential mechanism. Corollary 3.12 gives . Report Noisy Max is harder to analyse (it needs the probability- case where A’s noise is positive and B’s is negative). One-sided variant. Add one-sided exponential noise with parameter (monotonic utility) or (non-monotone) and report the argmax; then A is exponentially less likely than B in .
Theorem 3.13 (p. 41)
Report One-Sided Noisy Arg-Max, run with parameter , is -differentially private. (Proof “almost identical” to Report Noisy Max, losing a factor of 2 when the utility is not monotonic. A utility is monotonic if adding an element cannot decrease it, as with counting queries or revenue from a fixed price.)
Remark 3.1 - Gumbel max trick (p. 41)
Report noisy max with Laplace or exponential noise has guarantees similar to the exponential mechanism but yields distinct distributions. Instantiating it with Gumbel noise samples exactly from the exponential-mechanism distribution (folklore in machine learning).
Examples
Pumpkin pricing by the exponential mechanism (own simulation). Price grid (data independent), utility = revenue, (the maximum price: adding one bidder can add at most the price). The true optimum is revenue $4.00 at price $1.00.
| mean revenue of sampled price | $3.01 (revenue zero) | |
|---|---|---|
| 0.5 | 1.27 | 0.37 |
| 2 | 1.49 | 0.30 |
| 10 | 2.51 | 0.06 |
With only four bidders and the privacy-utility trade-off is harsh, since one bidder can swing revenue by up to the whole price range; accuracy improves with more bidders. Best-of-two numerics. With , the exponential-mechanism bound is ; a Monte Carlo of Report Noisy Max with Laplace noise gives an error probability near (much smaller than the loose bound); one-sided exponential noise gives , matching simulation ().
import numpy as np
rng = np.random.default_rng(0)
def exponential_mechanism(utilities, eps, sensitivity, rng=rng):
"""Sample index i with prob proportional to exp(eps*u_i/(2*sensitivity))."""
logits = eps * np.asarray(utilities, float) / (2 * sensitivity)
p = np.exp(logits - logits.max()); p /= p.sum()
return rng.choice(len(p), p=p)
def exponential_mechanism_gumbel(utilities, eps, sensitivity, rng=rng):
"""Same distribution via report-noisy-max with Gumbel noise (Remark 3.1)."""
scores = eps * np.asarray(utilities, float) / (2 * sensitivity) + rng.gumbel(size=len(utilities))
return int(np.argmax(scores))
def report_noisy_max(counts, eps, rng=rng):
return int(np.argmax(np.asarray(counts, float) + rng.laplace(0, 1/eps, len(counts))))
u = np.array([0, 3, 10, 10.5, 2])
a = np.bincount([exponential_mechanism(u, 1.0, 1.0) for _ in range(50_000)], minlength=5) / 50_000
b = np.bincount([exponential_mechanism_gumbel(u, 1.0, 1.0) for _ in range(50_000)], minlength=5) / 50_000
print(a.round(3), b.round(3)) # the two empirical distributions agreeConnections
- Marketing measurement. Choosing the top-performing creative, geo or channel from many candidates without publishing every score is differentially private selection; the winner can be released at cost regardless of the number of candidates, while releasing all scores would cost sensitivity- noise. Compare the winner’s-curse problem: a naive “best of ” estimate is biased upward (Multiple Testing Corrections); privatising the selection adds noise but the selection bias remains if the winning noisy value is reported.
- The pumpkin example is the pricing analogue of budget optimisation: noise on the decision (via utility) is safer than noise on an optimum that is brittle.
See Also
- Dwork Roth 2014 - Laplace Mechanism
- Dwork Roth 2014 - Sparse Vector Technique (selection among a stream of queries)
- Dwork 2006 - Sensitivity in General Metric Spaces (precursor of the exponential mechanism)
- Wasserman Zhou 2010 - Exponential Mechanism and Small Ball Probabilities (statistical accuracy of the exponential mechanism for density estimation)