差分隱私是一種架構,用於衡量演算法提供的隱私權保證,並且可以使用值 ε (epsilon) 和 δ (delta) 表示。在這兩個值中,ε 更重要,而且對超參數的選擇更敏感。粗略地說,它們的意思如下
- ε 給出了包含 (或移除) 單一訓練範例後,特定輸出機率可能增加多少的上限。您通常會希望它是一個小的常數 (小於 10,或為了更嚴格的隱私權保證,小於 1)。但是,這只是一個上限,較大的 epsilon 值可能仍然表示良好的實際隱私權。
- δ 限制了模型行為任意變更的機率。您通常可以將其設定為非常小的數字 (1e-7 左右),而不會損害效用。一個經驗法則是將其設定為小於訓練資料大小的倒數。
(ε, δ) 方面訓練超參數與產生的隱私權之間的關係很複雜且難以明確說明。我們目前建議的方法位於「開始使用」頁面的底部,其中涉及尋找可以在仍具有合理效用的情況下使用的最大雜訊乘數,然後縮放雜訊乘數和微批次數量。TensorFlow Privacy 提供了一個工具 compute_dp_sgd_privacy
,可根據雜訊乘數 σ、採取的訓練步驟數以及每個步驟消耗的輸入資料比例來計算 (ε, δ)。隱私權量會隨著雜訊乘數 σ 的增加而增加,並隨著資料在訓練中使用的次數增加而減少。一般而言,為了達到最多 10.0 的 epsilon,我們需要將雜訊乘數設定為大約 0.3 到 0.5,具體取決於資料集大小和 epoch 數。請參閱分類隱私權教學課程以瞭解方法。
如需更多詳細資訊,請參閱 原始 DP-SGD 論文。
您可以使用 compute_dp_sgd_privacy
找出模型的固定 delta 值所給定的 epsilon [../tutorials/classification_privacy.ipynb]
q
:取樣率 - 迷你批次中包含個別訓練點的機率 (batch_size/number_of_examples
)。noise_multiplier
:一個浮點數,用於控制訓練期間新增的雜訊量。一般而言,雜訊越多,隱私權越高,效用越低。steps
:採取的全域步驟數。
關於 epsilon 和 delta 計算背後理論的詳細說明,請參閱取樣高斯機制的差分隱私。