Makine Öğreniminde Gizlilik

Sorumlu yapay zeka 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 farklı 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. Orijinal makaleden farklı olarak özel derin öğrenme hakkında daha fazla bilgi edinebilirsiniz.

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ç, makine öğrenimi uygulayıcılarının standart Tensorflow API'lerini kullanarak 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. Tüm Optimize Ediciler ve modeller, API Belgelerinde bulunabilir.