Commit graph

43 commits

Author SHA1 Message Date
Nicolas Papernot
bb7956ed7e fix keras typo
PiperOrigin-RevId: 258434656
2019-07-16 13:59:14 -07:00
Ilya Mironov
45bcb3a0e4 Adding privacy analysis to the Logistic Regression for MNIST tutorial.
PiperOrigin-RevId: 254815428
2019-06-24 12:50:08 -07:00
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