-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate Binomial Noise Function #1082
Generate Binomial Noise Function #1082
Conversation
ipa-core/src/protocol/ipa_prf/prf_sharding/feature_label_dot_product.rs
Outdated
Show resolved
Hide resolved
@martinthomson I think I addressed most of your earlier feedback. But two things I'd like to put in separate PRs
Working to resolve a few more clippy errors and then hoping we can merge this PR. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1082 +/- ##
==========================================
+ Coverage 90.95% 91.00% +0.05%
==========================================
Files 184 185 +1
Lines 26079 26216 +137
==========================================
+ Hits 23720 23858 +138
+ Misses 2359 2358 -1 ☔ View full report in Codecov by Sentry. |
All tests are passing now |
@martinthomson I looked into this some more and somewhat surprisingly it doesn't seem that (at least in the 1 dimensional case) we can decrease the error by decreasing p with the same epsilon. See |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Very straightforward logic.
#[cfg(test)] | ||
pub async fn gen_binomial_noise<'ctx, const B: usize, OV>( | ||
ctx: UpgradedSemiHonestContext<'ctx, NotSharded, Boolean>, | ||
_never_used_input: BitDecomposed<Replicated<Boolean, B>>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bmcase - can you explain what's going on with _never_used_input
?
This PR includes the generation of Binomial noise in MPC. There will be a separate PR to apply the noise to outputs.
More tests will be added to this PR to test the
gen_binomial_noise
function but this is anyway a working version of it if folks want to start reviewing.This PR will also get smaller after #1076, #1067 and #1072 are merged separately and rebased on.