Zmierz prywatność

Prywatność różnicowa jest ramą pomiaru gwarancji prywatności zapewnianych przez algorytm i może być wyrażona za pomocą wartości ε (epsilon) i δ (delta). Spośród tych dwóch ε jest ważniejsza i bardziej wrażliwa na wybór hiperparametrów. Z grubsza mają na myśli:

  • ε określa pułap określający, o ile prawdopodobieństwo określonego wyniku może wzrosnąć poprzez uwzględnienie (lub usunięcie) pojedynczego przykładu uczącego. Zwykle chcesz, aby była to mała stała (mniej niż 10 lub dla bardziej rygorystycznych gwarancji prywatności, mniej niż 1). Jest to jednak tylko górna granica, a duża wartość epsilon może nadal oznaczać dobrą praktyczną prywatność.
  • δ ogranicza prawdopodobieństwo arbitralnej zmiany zachowania modelu. Zwykle możesz ustawić to na bardzo małą liczbę (1e-7 lub więcej) bez narażania użyteczności. Ogólną zasadą jest ustawienie go na mniej niż odwrotność rozmiaru danych treningowych.

Związek między hiperparametrami uczącymi a wynikającą z tego prywatnością w kategoriach (ε, δ) jest skomplikowany i trudny do jednoznacznego określenia. Nasze obecne zalecane podejście znajduje się na dole strony Pierwsze kroki , które obejmuje znalezienie maksymalnego mnożnika szumu, którego można użyć przy zachowaniu rozsądnej użyteczności, a następnie skalowanie mnożnika szumu i liczby mikropartii. TensorFlow Privacy zapewnia narzędzie, compute_dp_sgd_privacy do obliczania (ε, δ) na podstawie mnożnika szumu σ, liczby wykonanych kroków uczących i części danych wejściowych zużytych na każdym kroku. Poziom prywatności wzrasta wraz z mnożnikiem szumu σ i maleje, im więcej razy dane są wykorzystywane podczas treningu. Ogólnie rzecz biorąc, aby osiągnąć epsilon co najwyżej 10,0, musimy ustawić mnożnik szumu na około 0,3 do 0,5, w zależności od rozmiaru zestawu danych i liczby epok. Zapoznaj się z samouczkiem dotyczącym prywatności klasyfikacji , aby zapoznać się z podejściem.

Więcej szczegółów można znaleźć w oryginalnym dokumencie DP-SGD .

Możesz użyć compute_dp_sgd_privacy , aby znaleźć epsilon o ustalonej wartości delta dla twojego modelu [../tutorials/classification_privacy.ipynb]:

  • q : współczynnik próbkowania - prawdopodobieństwo włączenia pojedynczego punktu treningowego do mini-paczki ( batch_size/number_of_examples ).
  • noise_multiplier : Pływak, który reguluje ilość hałasu dodawanego podczas treningu. Ogólnie rzecz biorąc, więcej hałasu oznacza lepszą prywatność i niższą użyteczność.
  • steps : liczba wykonanych kroków globalnych.

Szczegółowy opis teorii stojącej za obliczaniem epsilon i delta jest dostępny w Differential Privacy of the Sampled Gaussian Mechanism .