Commit graph

645 commits

Author SHA1 Message Date
Galen Andrew
67a7096d52 ComposedDpEvent can be a list of any DpEvent, not only SelfComposedDpEvent. For example there is no reason we shouldn't be able to compose a single GaussianDpEvent and a single LaplaceDpEvent without having to wrap them in SelfComposedDpEvent with count == 1.
PiperOrigin-RevId: 398288473
2021-09-22 11:31:01 -07:00
Zheng Xu
c39d628e16 Change PeriodicRoundRestartIndicator to return the first True at a given number of calls. Also update the code style to be more compatible with graph mode and TFF.
PiperOrigin-RevId: 397918733
2021-09-20 22:38:48 -07:00
Galen Andrew
388f46ffa0 Adds RdpAccountant: implementation of PrivacyAccountant for RDP. Also adds UnsupportedEventError for handling unsupported events by PrivacyAccountant.
PiperOrigin-RevId: 397878895
2021-09-20 17:19:51 -07:00
Zheng Xu
b572707cfc Update reset and pre-process functions for tree aggregation queries. Minor comments update for adaptive clip query tests.
PiperOrigin-RevId: 396483111
2021-09-13 17:48:11 -07:00
Steve Chien
0d05f2eb18 Fix link to API documentation in guide page.
PiperOrigin-RevId: 396006636
2021-09-10 14:22:08 -07:00
A. Unique TensorFlower
7f22cbeb89 Add support of large batch emulation to Tensorflow Privacy Keras optimizer.
PiperOrigin-RevId: 395802081
2021-09-09 15:37:54 -07:00
Zheng Xu
a9764e3e7d TFF: cleanup the TFP query usage in tff.analytics; remove dependency on internal TFP structure.
TFP: remove duplicate TreeRangeSumQuery in `tree_aggregation_query`

PiperOrigin-RevId: 395618363
2021-09-08 21:05:53 -07:00
Zheng Xu
c5f35b3ca1 Try to fix flakiness by reducing the number of query construction.
PiperOrigin-RevId: 395552656
2021-09-08 13:59:15 -07:00
Galen Andrew
06eef51369 New version 0.7.3
PiperOrigin-RevId: 395263672
2021-09-07 09:24:02 -07:00
Zheng Xu
a20cbf9578 RDP for tree aggregation. See "Practical and Private (Deep) Learning without Sampling or Shuffling" https://arxiv.org/abs/2103.00039 for more details. See tests for example usage for calculating epsilon.
PiperOrigin-RevId: 394770205
2021-09-03 15:42:46 -07:00
A. Unique TensorFlower
b7249e6ab2 Update narrative content.
PiperOrigin-RevId: 394558889
2021-09-02 15:38:13 -07:00
A. Unique TensorFlower
fc7504efca Slight language adjustments
PiperOrigin-RevId: 394363646
2021-09-01 19:00:53 -07:00
Anirudh Sriram
bb5ca9277b TF Privacy launch cleanup
PiperOrigin-RevId: 394262183
2021-09-01 10:29:34 -07:00
Zheng Xu
e99fb7ea9b Try to fix flaky tree_aggregation_query_test.test_noisy_cumsum_and_state_update.
PiperOrigin-RevId: 394248815
2021-09-01 09:30:01 -07:00
Galen Andrew
7e7736ea91 Add DpEvent to return value of get_noised_result. For most DPQueries, the default UnsupportedDpEvent is returned, pending further development.
PiperOrigin-RevId: 394137614
2021-08-31 19:28:13 -07:00
Zheng Xu
6ac4bc8d01 Define RestartQuery for easy composition to restart tree in tree aggregation queries.
PiperOrigin-RevId: 394106175
2021-08-31 16:07:26 -07:00
Galen Andrew
789a05df63 Add DpEvent to TFP public symbols.
PiperOrigin-RevId: 394010603
2021-08-31 08:41:56 -07:00
Steve Chien
3059fbae67 Fix heterogeneous spellings of "heterogeneous".
PiperOrigin-RevId: 393881235
2021-08-30 16:46:05 -07:00
Mark Daoust
54f1887b10 Use from tensorflow_privacy import v1 so v1 is visible to the api-generator.
PiperOrigin-RevId: 393866702
2021-08-30 15:28:15 -07:00
Zheng Xu
5edea5863c Add STDDEV to the state of random noise generator, which will be used to enable adaptive clipping norm in tree aggregation queries.
PiperOrigin-RevId: 393851743
2021-08-30 14:17:28 -07:00
Galen Andrew
07c248d868 Adds NeighboringRelation to Accountant and clarifies FixedBatchSample events to be with or without replacement.
PiperOrigin-RevId: 393459878
2021-08-27 17:33:40 -07:00
Galen Andrew
48e4836a36 Remove deleted compute_rdp_from_ledger from public symbols.
PiperOrigin-RevId: 393161824
2021-08-26 10:58:52 -07:00
Galen Andrew
d9236d5619 Remove PrivacyLedger which will soon be replaced by DpEvent and PrivacyAccountant.
PiperOrigin-RevId: 393147667
2021-08-26 10:00:15 -07:00
Galen Andrew
0e04e1baeb Adding NonPrivateDpEvent and UnsupportedDpEvent.
PiperOrigin-RevId: 393028308
2021-08-25 19:07:18 -07:00
Galen Andrew
9b48c81b6a Minor cleanup.
PiperOrigin-RevId: 392982022
2021-08-25 14:35:39 -07:00
Galen Andrew
433b66b316 New DpEvent/PrivacyAccountant libraries.
PiperOrigin-RevId: 392977699
2021-08-25 14:16:41 -07:00
Zheng Xu
853b18929d Move TreeRangeSumQuery to its own module. This is the first step, will remove the function in the old module after a TFP release.
PiperOrigin-RevId: 392776774
2021-08-24 16:51:55 -07:00
Galen Andrew
477b5b2899 Remove declaration of dependency on tensorflow.
PiperOrigin-RevId: 392683668
2021-08-24 09:39:25 -07:00
Mark Daoust
ce9e002529 Remove --gen_report flag.
This will be the default behavior.

PiperOrigin-RevId: 392643474
2021-08-24 05:57:46 -07:00
Wennan Zhu
b9e4cf1a20 Automated rollback of commit 0600fa26a2
PiperOrigin-RevId: 392126244
2021-08-20 21:35:49 -07:00
Zheng Xu
ef83391ce6 Use tree aggregation noise for quantile estimation.
PiperOrigin-RevId: 391928297
2021-08-19 23:56:41 -07:00
Michael Reneer
0600fa26a2 Automated rollback of commit d9a7596815
PiperOrigin-RevId: 391885401
2021-08-19 17:57:10 -07:00
A. Unique TensorFlower
d9a7596815 Remove deprecated CentralTreeSumQuery and DistributedTreeSumQuery. They are replaced by TreeRangeSumQuery
PiperOrigin-RevId: 390449215
2021-08-12 13:39:00 -07:00
Zheng Xu
50673fec40 Minor fix for the nondeterministic seed of tree_aggregation.GaussianNoiseGenerator. The previous log results won't change much, while one seed is probably good enough.
PiperOrigin-RevId: 390412713
2021-08-12 11:03:14 -07:00
Zheng Xu
b8c1ba72cd Change default restarter state in tree_aggregation_query to empty tuple as None type is not compatible with TFF.
PiperOrigin-RevId: 390278173
2021-08-11 20:20:49 -07:00
Zheng Xu
b4c04093cf Restart the tree state in tree related DPQuery for streaming data: a general abstract class and an instance of restarting every a few rounds.
PiperOrigin-RevId: 390244330
2021-08-11 16:29:18 -07:00
Galen Andrew
f44dcb8760 Add tensorflow and tensorflow-datasets to setup/requirements.
PiperOrigin-RevId: 390171562
2021-08-11 10:54:46 -07:00
Galen Andrew
fbaa55cc43 Add dependency on tensorflow probability.
PiperOrigin-RevId: 389962756
2021-08-10 13:23:31 -07:00
A. Unique TensorFlower
dad4ff0a58 Add the measure privacy page to the external Tensorflow Responsible AI Guide.
PiperOrigin-RevId: 389961385
2021-08-10 13:18:29 -07:00
A. Unique TensorFlower
26f3d8368f Add the getting started page to the external Tensorflow Responsible AI Guide.
PiperOrigin-RevId: 389961144
2021-08-10 13:17:27 -07:00
Galen Andrew
c447a1a3c2 Bump version number.
PiperOrigin-RevId: 389959093
2021-08-10 13:08:24 -07:00
Mark Daoust
b19e0b197a Implement the membership inference attach using a keras-callback.
PiperOrigin-RevId: 389741018
2021-08-09 15:38:44 -07:00
Ken Liu
f3af24b00e Adds central discrete Gaussian DPQuery.
PiperOrigin-RevId: 389467360
2021-08-08 03:43:23 -07:00
A. Unique TensorFlower
aa3f841893 In TreeRangeSumQuery.preprocess_record, move the reshaping operation before applying inner_query.preprocess_record. The change is due to the newly checked-in DistributedDiscreteGaussianSumQuery whose preprocess_record requires explicit shape information during tracing.
PiperOrigin-RevId: 389392878
2021-08-07 11:21:32 -07:00
A. Unique TensorFlower
11900acf9b Fixed the previous bug that get_noised_result does not map inner_query's get_noised_result to the input record and updates global_state.
PiperOrigin-RevId: 388153296
2021-08-01 23:13:20 -07:00
A. Unique TensorFlower
2672559471 (1) Merge CentralTreeSumQuery and DistributedTreeSumQuery into one DPQuery to modularize things. The new query takes in an inner_query argument. Depending on the behavior of inner query, the query will follow central DP or distributed DP.
(2) Remove the hard-coded L1 clipping and replace with norm bound checking in the inner query. This design allows us to use whatever clipping factory we want outside the DPQuery.

PiperOrigin-RevId: 387398741
2021-07-28 11:40:15 -07:00
Keith Rush
eef5810d94 Automated rollback of commit 4d335d1b69
PiperOrigin-RevId: 387254617
2021-07-27 20:04:28 -07:00
A. Unique TensorFlower
4d335d1b69 (1) Merge CentralTreeSumQuery and DistributedTreeSumQuery into one DPQuery to modularize things. The new query takes in an inner_query argument. Depending on the behavior of inner query, the query will follow central DP or distributed DP.
(2) Remove the hard-coded L1 clipping and replace with norm bound checking in the inner query. This design allows us to use whatever clipping factory we want outside the DPQuery.

PiperOrigin-RevId: 387236482
2021-07-27 17:42:37 -07:00
Ken Liu
e7e11d14d9 Adds discrete Gaussian (sampler and distributed DPQuery) to public TF Privacy.
PiperOrigin-RevId: 387232449
2021-07-27 17:18:16 -07:00
Steve Chien
2f862eba9b Move TensorFlow v1 imports to their own __init__.py file in a new subdirectory.
PiperOrigin-RevId: 387156295
2021-07-27 11:28:42 -07:00