microsoft / DPSDA

[ICLR 2024] Generating DP Synthetic Data without Training
MIT License
77 stars 8 forks source link

Inquiry about Parameters Used in Figure 5 #6

Closed Jinsterrr closed 1 month ago

Jinsterrr commented 1 month ago

Hi authors,

Thank you for your excellent work. I have a question regarding the parameters used in Figure 5 of your paper.

In the description below Figure 5, it's stated that ε = 3.34 and δ = 10^-5. Additionally, in the appendix, you mention that the number of iterations T = 20, the noise multiplier σ = √2.

I've been trying to reproduce these results using the compute_epsilon function, but I'm encountering some discrepancies. With the given σ, δ, and T, I'm unable to arrive at ε = 3.34. However, I was able to obtain ε = 3.34 using the following parameters:

δ = 10^-5 T = 5 σ = 2√2

Here's the Python code I used:

from math import sqrt delta = 1e-5 epoch = 5 fixed_noise = 2*sqrt(2) # 2√2

eps = compute_epsilon(fixed_noise, epoch, delta) print(f"For noise = {fixed_noise:.4f}, epoch = {epoch}, and delta = {delta}") print(f"The computed epsilon is: {eps:.6f}")

I would greatly appreciate it if you could clarify the exact parameters used for Figure 5. This would help me understand where the discrepancy in my calculations might be occurring.

Thank you for your time and assistance.

Best regards, Jin

fjxmlzn commented 1 month ago

Hi @Jinsterrr, Thanks for your question.

I just checked my experiment logs. You are right---the parameters I used to run this experiment was delta=1e-5, T=5, and \sigma=2\sqrt{2}. In the appendix, there was a typo on the \sigma, and I forgot to specify T. I will correct these errors in the next arXiv update.

Thanks again for catching this issue!

fjxmlzn commented 1 month ago

@Jinsterrr: There is a typo on the threshold, too---the threshold should be $H=4$. I will fix that as well.