A. Unique TensorFlower
2b97c7c735
Logistic regression for mnist with new privacy analysis.
...
PiperOrigin-RevId: 252743967
2019-06-11 18:58:56 -07:00
Galen Andrew
d5dcfec745
Remove set_denominator functions from DPQuery and make QueryWithLedger easier to use.
...
set_denominator was added so that the batch size doesn't need to be specified before constructing the optimizer, but it breaks the DPQuery abstraction. Now the optimizer uses a GaussianSumQuery instead of GaussianAverageQuery, and normalization by batch size is done inside the optimizer.
Also instead of creating all DPQueries with a PrivacyLedger and then wrapping with QueryWithLedger, it is now sufficient to create the queries with no ledger and QueryWithLedger will construct the ledger and pass it to all inner queries.
PiperOrigin-RevId: 251462353
2019-06-04 10:14:32 -07:00
Nicolas Papernot
a06bc6c99b
fix imports for v1 and make the versioning more explicit through LooseVersion
...
PiperOrigin-RevId: 249732562
2019-05-23 15:57:08 -07:00
Ilya Mironov
9cece21d92
Clean-up pass to eliminate warnings: replacing deprecated endpoints with recommended versions and annotating test sizes.
...
PiperOrigin-RevId: 246901723
2019-05-06 14:50:23 -07:00
Ilya Mironov
85280ab568
Removing max_samples and max_queries from the tutorial.
...
PiperOrigin-RevId: 246850557
2019-05-06 10:30:35 -07:00
Nicolas Papernot
c09ec4c22b
minor fixes to improve tf 1 and 2 compatibility
...
PiperOrigin-RevId: 246008822
2019-04-30 13:22:57 -07:00
Nicolas Papernot
febafd830d
update API calls for TF2
...
PiperOrigin-RevId: 245817981
2019-04-29 14:00:40 -07:00
A. Unique TensorFlower
ab466b156c
Check batch_size % microbatches = 0 and calculate privacy budget only when dpsgd is set.
...
PiperOrigin-RevId: 244949900
2019-04-23 16:40:33 -07:00
Ilya Mironov
a3e03f773e
Adding a paragraph to the walk-through on how to choose RDP orders. Plus deleting empty lines in rdp_accountant.py. Fixing issue #47 .
...
PiperOrigin-RevId: 244467825
2019-04-19 21:50:49 -07:00
Tim Garnsey
aeb6a94b59
added a ledger during optimizer instantiation to the language model tutorial
2019-04-17 12:52:08 +10:00
Steve Chien
3dc2b398d2
Closes #41
...
PiperOrigin-RevId: 241786994
2019-04-03 12:48:25 -07:00
Galen Andrew
9106a04e2c
Use PrivacyLedger for privacy accounting.
...
Prior to this change the PrivacyLedger is running to keep a log of private queries, but the ledger is not actually used to compute the (epsilon, delta) guarantees. This CL adds a function to compute the RDP directly from the ledger.
Note I did verify that the tutorial builds and runs with the changes and for the first few iterations prints the same epsilon values as before the change.
PiperOrigin-RevId: 241063532
2019-03-29 15:31:32 -07:00
Nicolas Papernot
8507094f2b
add walkthrough MD
...
PiperOrigin-RevId: 241016765
2019-03-29 11:24:36 -07:00
Nicolas Papernot
03050adb27
adding scratch for walkthrough blog post
...
PiperOrigin-RevId: 240425310
2019-03-26 14:16:27 -07:00
Nicolas Papernot
3c1e9994eb
fix vector loss issue with Keras by instantiate a loss object
...
PiperOrigin-RevId: 239483918
2019-03-20 15:08:58 -07:00
Nicolas Papernot
0ebd134d99
Closes #33
...
PiperOrigin-RevId: 239129202
2019-03-18 22:42:01 -07:00
Nicolas Papernot
f58891f3e3
Closes #25
...
PiperOrigin-RevId: 239031260
2019-03-18 11:55:00 -07:00
Nicolas Papernot
d226cf3172
update tutorial README
...
PiperOrigin-RevId: 237161576
2019-03-06 18:37:35 -08:00
Nicolas Papernot
fdd110b7df
add a Penn TreeBank example
...
PiperOrigin-RevId: 237160380
2019-03-06 18:27:37 -08:00
Nicolas Papernot
517584d7a6
add Keras tutorial
...
PiperOrigin-RevId: 236199395
2019-02-28 14:35:28 -08:00
Nicolas Papernot
c2d4b17881
Add support for the Eager mode
...
PiperOrigin-RevId: 235733975
2019-02-26 09:20:28 -08:00
Nicolas Papernot
bfba26801d
Closes #16
...
PiperOrigin-RevId: 235070241
2019-02-21 14:34:27 -08:00
Steve Chien
d75f1b80ba
Fix copybara to limit some transformations to the beginning of the line.
...
PiperOrigin-RevId: 233151293
2019-02-08 16:55:57 -08:00
A. Unique TensorFlower
4d0ab48c35
Add privacy ledger.
...
The privacy ledger keeps a record of all sampling and query events for analysis post hoc by the privacy accountant.
PiperOrigin-RevId: 233094012
2019-02-08 11:21:43 -08:00
A. Unique TensorFlower
36d9959c19
internal change
...
PiperOrigin-RevId: 233093203
2019-02-08 11:17:09 -08:00
Ilya Mironov
d435fcbf9a
Updating README.md to reflect ReLU activation function.
...
+ clean-up of mnist_dpsgd_tutorial
PiperOrigin-RevId: 232707393
2019-02-06 11:06:31 -08:00
Nicolas Papernot
8c99088cf1
add ReLUs to tutorial model
...
PiperOrigin-RevId: 232073877
2019-02-01 18:43:35 -08:00
Ilya Mironov
ff295b6a70
Adding no-privacy baseline (dpsgd=False) to README.md.
...
PiperOrigin-RevId: 231004783
2019-01-25 18:37:11 -08:00
Nicolas Papernot
668888c1a6
change kernel initializer to fix dpsgd=False tutorial
...
PiperOrigin-RevId: 230931823
2019-01-25 10:59:51 -08:00
A. Unique TensorFlower
4f9cc8ef3e
1. Adding a CLI script for computing privacy loss for DP-SGD.
...
2. Fixing typos in the MNIST tutorial.
PiperOrigin-RevId: 230608908
2019-01-23 14:56:27 -08:00
Galen Andrew
c8cb3c6b70
General cleanup.
...
1. Rename PrivateQuery to DPQuery.
2. Move construction of DPQuery to outside of optimizer.
3. Remove PrivateAverageQuery and PrivateSumQuery, and rename DPQuery's 'get_query_result' method to 'get_noised_result'. Rename private_queries.py to dp_query.py.
4. Remove thrice-replicated run_query function from the test classes and replace with a single function in new test_utils.py.
5. Add functions gaussian_sum_query_from_noise_multplier and gaussian_average_query_from_noise_multplier.
PiperOrigin-RevId: 230595991
2019-01-23 14:41:44 -08:00
A. Unique TensorFlower
047e1eef0e
Updating README.md for the tutorial. Included discussion of learning_rate and target accuracy/privacy for several settings of training parameters.
...
PiperOrigin-RevId: 230016922
2019-01-18 16:49:24 -08:00
Nicolas Papernot
4487099296
Closes #11
...
PiperOrigin-RevId: 229430188
2019-01-15 13:32:56 -08:00
Nicolas Papernot
4c1f3c07f4
Modify loss passed to optimizer when dpsgd is False in MNIST tutorial
...
PiperOrigin-RevId: 229233829
2019-01-14 12:38:20 -08:00
schien1729
3b4ddf6914
Merge pull request #3 from carlini:master
...
PiperOrigin-RevId: 228556799
2019-01-09 11:40:16 -08:00
Steve Chien
932190c4e5
Automated rollback of commit a7190fc1ed
...
PiperOrigin-RevId: 228425879
2019-01-08 18:04:36 -08:00
Steve Chien
a7190fc1ed
Fix python3 bug: range() is no longer list. From @carlini
...
PiperOrigin-RevId: 228237806
2019-01-08 17:38:10 -08:00
A. Unique TensorFlower
01ab549902
Renaming stddev_to_sensitivity_ratio to noise_multiplier in rdp_accountant.
...
PiperOrigin-RevId: 227552068
2019-01-04 15:57:52 -08:00
Nicholas Carlini
21de1f9dd8
Fix python3 bug: range() is no longer list
2018-12-26 18:23:36 +00:00
A. Unique TensorFlower
b4188446e0
Project import generated by Copybara.
...
PiperOrigin-RevId: 226345615
2018-12-20 09:17:59 -08:00
Steve Chien
1595ed3cd1
Project import generated by Copybara.
...
PiperOrigin-RevId: 226056146
2018-12-18 15:44:04 -08:00