Ukur Privasi

Privasi diferensial adalah kerangka kerja untuk mengukur jaminan privasi yang diberikan oleh suatu algoritma dan dapat diekspresikan menggunakan nilai (epsilon) dan (delta). Dari keduanya, lebih penting dan lebih sensitif terhadap pilihan hyperparameter. Secara kasar, mereka berarti sebagai berikut:

  • memberikan batas seberapa besar kemungkinan suatu keluaran tertentu dapat meningkat dengan memasukkan (atau menghapus) satu contoh pelatihan. Anda biasanya menginginkannya menjadi konstanta kecil (kurang dari 10, atau untuk jaminan privasi yang lebih ketat, kurang dari 1). Namun, ini hanya batas atas, dan nilai epsilon yang besar mungkin masih berarti privasi praktis yang baik.
  • membatasi kemungkinan perubahan sewenang-wenang dalam perilaku model. Anda biasanya dapat mengatur ini ke angka yang sangat kecil (1e-7 atau lebih) tanpa mengorbankan utilitas. Aturan praktisnya adalah mengaturnya menjadi kurang dari kebalikan dari ukuran data pelatihan.

Hubungan antara hyperparameter pelatihan dan privasi yang dihasilkan dalam bentuk (ε, ) rumit dan sulit untuk dinyatakan secara eksplisit. Pendekatan yang kami rekomendasikan saat ini ada di bagian bawah halaman Memulai , yang melibatkan pencarian pengganda kebisingan maksimum yang dapat digunakan seseorang sambil tetap memiliki utilitas yang wajar, dan kemudian menskalakan pengganda kebisingan dan jumlah mikrobatch. TensorFlow Privacy menyediakan alat, compute_dp_sgd_privacy untuk menghitung (ε, ) berdasarkan pengganda kebisingan , jumlah langkah pelatihan yang diambil, dan fraksi data input yang digunakan pada setiap langkah. Jumlah privasi meningkat dengan pengganda kebisingan dan berkurang semakin banyak data digunakan pada pelatihan. Umumnya, untuk mencapai epsilon paling banyak 10,0, kita perlu mengatur pengali noise sekitar 0,3 hingga 0,5, tergantung pada ukuran dataset dan jumlah epoch. Lihat tutorial privasi klasifikasi untuk melihat pendekatannya.

Untuk lebih jelasnya, lihat kertas DP-SGD asli .

Anda dapat menggunakan compute_dp_sgd_privacy untuk mengetahui epsilon yang diberikan nilai delta tetap untuk model Anda [../tutorials/classification_privacy.ipynb]:

  • q : rasio pengambilan sampel - probabilitas titik pelatihan individu dimasukkan dalam batch mini ( batch_size/number_of_examples ).
  • noise_multiplier : Float yang mengatur jumlah noise yang ditambahkan selama pelatihan. Umumnya, lebih banyak suara menghasilkan privasi yang lebih baik dan utilitas yang lebih rendah.
  • steps : Jumlah langkah global yang diambil.

Sebuah writeup rinci teori di balik perhitungan epsilon dan delta tersedia di Privasi Diferensial dari Mekanisme Gaussian Sampel .