Differential privacy has become a de facto standard for releasing data in a privacy-preserving way. Creating a differentially private algorithm is a process that often starts with a noise-free (non-private) algorithm. The designer then decides where to add noise, and how much of it to add. This can be a non-trivial process -- if not done carefully, the algorithm might either violate differential privacy or have low utility. In this paper, we present DPGen, a program synthesizer that takes in non-private code (without any noise) and automatically synthesizes its differentially private version (with carefully calibrated noise). Under the hood, DPGen uses novel algorithms to automatically generate a sketch program with candidate locations for noise, and then optimize privacy proof and noise scales simultaneously on the sketch program. Moreover, DPGen can synthesize sophisticated mechanisms that adaptively process queries until a specified privacy budget is exhausted. When evaluated on standard benchmarks, DPGen is able to generate differentially private mechanisms that optimize simple utility functions within 120 seconds. It is also powerful enough to synthesize adaptive privacy mechanisms.
翻译:差异隐私已经成为以隐私保护方式释放数据的一个事实上的标准。 创建差异私人算法是一个过程, 通常从无噪音( 非私人)算法开始。 设计者然后决定在哪里添加噪音, 以及增加多少。 这可以是一个非三进制过程 -- -- 如果不小心, 算法可能会侵犯不同的隐私, 或者使用率低。 在本文中, 我们提出 DPGen, 是一个程序合成器, 以非私人代码( 没有任何噪音) 进行程序合成, 并自动合成其有差异的私人版本( 使用仔细校准的噪音 ) 。 在头罩下, DPGen 使用新算法自动生成一个有候选噪音地点的草图程序, 然后在素描程序上同时优化隐私验证和噪音尺度。 此外, DPGen 可以合成适应性查询的复杂机制, 直到特定隐私预算用完为止。 在根据标准基准进行评估时, DPGGen 能够生成有差异的私人机制, 在120秒内优化简单的使用功能。 它也足够强大, 可以合成适应的隐私机制 。