Mesurer la confidentialité

La confidentialité différentielle est un cadre de mesure des garanties de confidentialité fournies par un algorithme et peut être exprimée à l'aide des valeurs ε (epsilon) et δ (delta). Des deux, ε est le plus important et le plus sensible au choix des hyperparamètres. En gros, ils signifient ce qui suit :

  • ε donne un plafond sur la façon dont la probabilité d'une sortie particulière peut augmenter en incluant (ou en supprimant) un seul exemple de formation. Vous voulez généralement qu'il s'agisse d'une petite constante (moins de 10, ou pour des garanties de confidentialité plus strictes, moins de 1). Cependant, ce n'est qu'une limite supérieure, et une grande valeur d'epsilon peut toujours signifier une bonne confidentialité pratique.
  • δ borne la probabilité d'un changement arbitraire dans le comportement du modèle. Vous pouvez généralement le définir sur un très petit nombre (1e-7 environ) sans compromettre l'utilité. Une règle empirique consiste à la définir pour qu'elle soit inférieure à l'inverse de la taille des données d'apprentissage.

La relation entre les hyperparamètres d'entraînement et la confidentialité résultante en termes de (ε, δ) est compliquée et délicate à énoncer explicitement. Notre approche recommandée actuelle se trouve au bas de la page de démarrage , qui consiste à trouver le multiplicateur de bruit maximal que l'on peut utiliser tout en ayant une utilité raisonnable, puis à mettre à l'échelle le multiplicateur de bruit et le nombre de microlots. TensorFlow Privacy fournit un outil, compute_dp_sgd_privacy pour calculer (ε, δ) en fonction du multiplicateur de bruit σ, du nombre d'étapes d'apprentissage effectuées et de la fraction des données d'entrée consommées à chaque étape. La quantité de confidentialité augmente avec le multiplicateur de bruit σ et diminue à mesure que les données sont utilisées lors de la formation. Généralement, pour obtenir un epsilon d'au plus 10,0, nous devons régler le multiplicateur de bruit sur environ 0,3 à 0,5, en fonction de la taille de l'ensemble de données et du nombre d'époques. Voir le didacticiel sur la confidentialité des classifications pour voir l'approche.

Pour plus de détails, consultez le document original DP-SGD .

Vous pouvez utiliser compute_dp_sgd_privacy pour connaître l'epsilon étant donné une valeur delta fixe pour votre modèle [../tutorials/classification_privacy.ipynb] :

  • q : le taux d'échantillonnage - la probabilité qu'un point d'apprentissage individuel soit inclus dans un mini lot ( batch_size/number_of_examples ).
  • noise_multiplier : un flotteur qui régit la quantité de bruit ajoutée pendant l'entraînement. Généralement, plus de bruit se traduit par une meilleure confidentialité et une utilité moindre.
  • steps : Le nombre de pas globaux effectués.

Une description détaillée de la théorie derrière le calcul d'epsilon et de delta est disponible sur Differential Privacy of the Sampled Gaussian Mechanism .