Diferansiyel gizlilik, bir algoritma tarafından sağlanan gizlilik garantilerini ölçmek için bir çerçevedir ve ε (epsilon) ve δ (delta) değerleri kullanılarak ifade edilebilir. İkisinden ε daha önemlidir ve hiperparametre seçimine daha duyarlıdır. Kabaca söylemek gerekirse, şu anlama gelirler:
- ε, tek bir eğitim örneğini dahil ederek (veya çıkararak) belirli bir çıktının olasılığının ne kadar artabileceğine dair bir tavan verir. Genellikle bunun küçük bir sabit olmasını istersiniz (10'dan az veya daha sıkı gizlilik garantileri için 1'den az). Ancak, bu yalnızca bir üst sınırdır ve büyük bir epsilon değeri yine de iyi bir pratik mahremiyet anlamına gelebilir.
- δ model davranışında keyfi bir değişiklik olasılığını sınırlar. Bunu, yardımcı programdan ödün vermeden genellikle çok küçük bir sayıya (1e-7 ya da öylesine) ayarlayabilirsiniz. Temel kural, onu eğitim veri boyutunun tersinden daha küçük olacak şekilde ayarlamaktır.
Eğitim hiperparametreleri ile (ε, δ) cinsinden ortaya çıkan mahremiyet arasındaki ilişki karmaşık ve açıkça ifade edilmesi güçtür. Şu anki önerilen yaklaşımımız Başlarken sayfasının alt kısmındadır; bu, bir kişinin kullanabileceği maksimum gürültü çarpanını bulmayı ve ardından yine makul faydayı sağlamayı ve ardından gürültü çarpanını ve mikro parti sayısını ölçeklendirmeyi içerir. TensorFlow Privacy, gürültü çarpanı σ, atılan eğitim adımlarının sayısı ve her adımda tüketilen girdi verilerinin fraksiyonuna dayalı olarak hesaplamak için (ε, δ) hesaplamak için bir araç olan compute_dp_sgd_privacy
(ε, δ) sağlar. Gizlilik miktarı, gürültü çarpanı σ ile artar ve eğitimde veri ne kadar çok kullanılırsa o kadar azalır. Genel olarak, en fazla 10.0'lık bir epsilon elde etmek için, veri kümesi boyutuna ve dönem sayısına bağlı olarak gürültü çarpanını yaklaşık 0,3 ila 0,5'e ayarlamamız gerekir. Yaklaşımı görmek için sınıflandırma gizliliği eğiticisine bakın.
Daha fazla ayrıntı için orijinal DP-SGD belgesine bakın.
[../tutorials/classification_privacy.ipynb] modeliniz için sabit bir delta değeri verilen compute_dp_sgd_privacy
bulmak için hesaplama_dp_sgd_privacy'yi kullanabilirsiniz:
-
q
: örnekleme oranı - tek bir eğitim noktasının mini bir toplu iş içinde yer alma olasılığı (batch_size/number_of_examples
). -
noise_multiplier
: Eğitim sırasında eklenen gürültü miktarını yöneten bir şamandıra. Genel olarak, daha fazla gürültü daha iyi gizlilik ve daha düşük fayda ile sonuçlanır. -
steps
: Atılan küresel adım sayısı.
Epsilon ve deltanın hesaplanmasının arkasındaki teorinin ayrıntılı bir yazısı , Örneklenmiş Gauss Mekanizmasının Diferansiyel Gizliliği'nde mevcuttur.