Module: tf_privacy.tree_aggregation
Stay organized with collections
Save and categorize content based on your preferences.
Tree aggregation algorithm.
TreeAggregator
and EfficientTreeAggregator
compute cumulative sums of noise
based on tree aggregation. When using an appropriate noise function (e.g.,
Gaussian noise), it allows for efficient differentially private algorithms under
continual observation, without prior subsampling or shuffling assumptions. This
module implements the core logic of tree aggregation in Tensorflow, which serves
as helper functions for tree_aggregation_query
. This module and helper
functions are publicly accessible.
Classes
class EfficientTreeAggregator
: Efficient tree aggregator to compute accumulated noise.
class GaussianNoiseGenerator
: Gaussian noise generator with counter as pseudo state.
class StatelessValueGenerator
: A wrapper for stateless value generator that calls a no-arg function.
class TreeAggregator
: Tree aggregator to compute accumulated noise in private algorithms.
class TreeState
: Class defining state of the tree.
class ValueGenerator
: Base class establishing interface for stateful value generation.
Functions
get_step_idx(...)
: Returns the current leaf node index based on TreeState.level_buffer_idx
.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-02-16 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2024-02-16 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-02-16 UTC."],[],[]]