La privacidad diferencial es un marco para medir las garantías de privacidad proporcionadas por un algoritmo y se puede expresar mediante los valores ε (épsilon) y δ (delta). De los dos, ε es más importante y más sensible a la elección de los hiperparámetros. En términos generales, significan lo siguiente:
- ε da un techo sobre cuánto puede aumentar la probabilidad de un resultado en particular al incluir (o eliminar) un solo ejemplo de entrenamiento. Por lo general, querrá que sea una constante pequeña (menos de 10, o para garantías de privacidad más estrictas, menos de 1). Sin embargo, esto es solo un límite superior, y un gran valor de épsilon aún puede significar una buena privacidad práctica.
- δ limita la probabilidad de un cambio arbitrario en el comportamiento del modelo. Por lo general, puede establecer esto en un número muy pequeño (1e-7 más o menos) sin comprometer la utilidad. Una regla general es configurarlo para que sea menor que el inverso del tamaño de los datos de entrenamiento.
La relación entre el entrenamiento de hiperparámetros y la privacidad resultante en términos de (ε, δ) es complicada y difícil de establecer explícitamente. Nuestro enfoque recomendado actual se encuentra en la parte inferior de la página Comenzar , lo que implica encontrar el multiplicador de ruido máximo que se puede usar sin dejar de tener una utilidad razonable, y luego escalar el multiplicador de ruido y la cantidad de microlotes. TensorFlow Privacy proporciona una herramienta, compute_dp_sgd_privacy
para calcular (ε, δ) en función del multiplicador de ruido σ, la cantidad de pasos de entrenamiento realizados y la fracción de datos de entrada consumidos en cada paso. La cantidad de privacidad aumenta con el multiplicador de ruido σ y disminuye cuantas más veces se usan los datos en el entrenamiento. En general, para lograr un épsilon de 10,0 como máximo, debemos establecer el multiplicador de ruido entre 0,3 y 0,5, según el tamaño del conjunto de datos y la cantidad de épocas. Consulte el tutorial de clasificación de privacidad para ver el enfoque.
Para obtener más detalles, consulte el documento original de DP-SGD .
Puede usar compute_dp_sgd_privacy
para averiguar el épsilon dado un valor delta fijo para su modelo [../tutorials/classification_privacy.ipynb]:
-
q
: la proporción de muestreo: la probabilidad de que un punto de entrenamiento individual se incluya en un mini lote (batch_size/number_of_examples
). -
noise_multiplier
: Un flotador que gobierna la cantidad de ruido agregado durante el entrenamiento. En general, más ruido da como resultado una mejor privacidad y una menor utilidad. -
steps
: El número de pasos globales tomados.
Una redacción detallada de la teoría detrás del cálculo de épsilon y delta está disponible en Privacidad diferencial del mecanismo gaussiano muestreado .