機器學習中的隱私權
負責任的 AI 使用方式中,重要的一環是確保 ML 模型不會洩漏潛在的敏感資訊,例如人口統計資訊或訓練資料集中的其他屬性,這些資訊可能會被用來辨識個人身分。達成此目標的方法之一是使用差分隱私隨機梯度下降 (DP-SGD),這是對機器學習中標準隨機梯度下降 (SGD) 演算法的修改。
使用 DP-SGD 訓練的模型在差分隱私 (DP) 方面具有可衡量的改進,這有助於降低洩漏敏感訓練資料的風險。由於 DP 的目的是協助防止個別資料點遭到識別,因此使用 DP 訓練的模型不應受到訓練資料集中任何單一訓練範例的影響。DP-SGD 技術也可用於聯邦學習,以提供使用者層級的差分隱私。您可以在原始論文中深入瞭解差分隱私深度學習。
import tensorflow as tf from tensorflow_privacy.privacy.optimizers import dp_optimizer_keras # Select your differentially private optimizer optimizer = tensorflow_privacy.DPKerasSGDOptimizer( l2_norm_clip=l2_norm_clip, noise_multiplier=noise_multiplier, num_microbatches=num_microbatches, learning_rate=learning_rate) # Select your loss function loss = tf.keras.losses.CategoricalCrossentropy( from_logits=True, reduction=tf.losses.Reduction.NONE) # Compile your model model.compile(optimizer=optimizer, loss=loss, metrics=['accuracy']) # Fit your model model.fit(train_data, train_labels, epochs=epochs, validation_data=(test_data, test_labels), batch_size=batch_size)
TensorFlow Privacy
Tensorflow Privacy (TF Privacy) 是 Google Research 團隊開發的開放原始碼程式庫。此程式庫包含常用 TensorFlow Optimizer 的實作,可用於訓練具有 DP 的 ML 模型。目標是讓使用標準 Tensorflow API 的 ML 從業人員只需變更幾行程式碼,即可訓練可保護隱私的模型。
差分隱私最佳化工具可以與使用 Optimizer 類別的高階 API (尤其是 Keras) 搭配使用。此外,您也可以找到某些 Keras 模型的差分隱私實作。所有 Optimizer 和模型都可以在 API 文件中找到。