ML Topluluk Günü 9 Kasım! TensorFlow, JAX güncellemeler için bize katılın ve daha fazla bilgi edinin

Makine Öğreniminde Gizlilik

Sorumlu AI kullanımının önemli bir yönü, makine öğrenimi modellerinin, demografik bilgiler veya eğitim veri kümesindeki kişileri tanımlamak için kullanılabilecek diğer özellikler gibi potansiyel olarak hassas bilgileri açığa çıkarmasını önlemektir. Bunu başarmanın bir yolu, makine öğreniminde standart stokastik gradyan inişi (SGD) algoritmasının bir modifikasyonu olan diferansiyel olarak özel stokastik gradyan inişi (DP-SGD) kullanmaktır.

DP-SGD ile eğitilen modeller, hassas eğitim verilerinin açığa çıkma riskini azaltmaya yardımcı olan ölçülebilir diferansiyel gizlilik (DP) iyileştirmelerine sahiptir. DP'nin amacı, bireysel veri noktalarının tanımlanmasını önlemeye yardımcı olmak olduğundan, DP ile eğitilen bir model, eğitim veri setindeki tek bir eğitim örneğinden etkilenmemelidir. DP-SGD teknikleri, kullanıcı düzeyinde farklı gizlilik sağlamak için birleşik öğrenmede de kullanılabilir. Sen farklı olarak özel derin öğrenme ile ilgili daha fazla bilgi edinebilirsiniz orijinal kağıt .

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 Gizliliği

Tensorflow Privacy (TF Privacy), Google Research'teki ekipler tarafından geliştirilen açık kaynaklı bir kitaplıktır. Kitaplık, DP ile ML modellerini eğitmek için yaygın olarak kullanılan TensorFlow Optimize Edicilerin uygulamalarını içerir. Amaç, standart Tensorflow API'lerini kullanan makine öğrenimi uygulayıcılarının yalnızca birkaç kod satırını değiştirerek gizliliği koruyan modelleri eğitmelerini sağlamaktır.

Diferansiyel olarak özel optimize ediciler, Optimizer sınıfını, özellikle Keras'ı kullanan üst düzey API'lerle birlikte kullanılabilir. Ek olarak, bazı Keras modellerinin farklı özel uygulamalarını bulabilirsiniz. Optimize ve modellerin tamamı bulunabilir API Dokümantasyon .