Privacy nell'apprendimento automatico

Un aspetto importante dell'utilizzo responsabile dell'IA è garantire che ai modelli ML sia impedito di esporre informazioni potenzialmente sensibili, come informazioni demografiche o altri attributi nel set di dati di addestramento che potrebbero essere utilizzati per identificare le persone. Un modo per raggiungere questo obiettivo è utilizzare la discesa del gradiente stocastico differenzialmente privato (DP-SGD), che è una modifica all'algoritmo di discesa del gradiente stocastico (SGD) standard nell'apprendimento automatico.

I modelli addestrati con DP-SGD hanno miglioramenti misurabili della privacy differenziale (DP), che aiutano a ridurre il rischio di esporre dati di addestramento sensibili. Poiché lo scopo di DP è aiutare a prevenire l'identificazione di singoli punti dati, un modello addestrato con DP non dovrebbe essere influenzato da nessun singolo esempio di addestramento nel suo set di dati di addestramento. Le tecniche DP-SGD possono essere utilizzate anche nell'apprendimento federato per fornire una privacy differenziale a livello di utente. Puoi saperne di più sul deep learning differenzialmente privato nel documento originale .

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)
  

Privacy di TensorFlow

Tensorflow Privacy (TF Privacy) è una libreria open source sviluppata dai team di Google Research. La libreria include implementazioni di TensorFlow Optimizer comunemente usati per il training di modelli ML con DP. L'obiettivo è consentire ai professionisti del ML che utilizzano le API Tensorflow standard di addestrare modelli di tutela della privacy modificando solo poche righe di codice.

Gli ottimizzatori differenzialmente privati ​​possono essere utilizzati in combinazione con API di alto livello che utilizzano la classe Optimizer, in particolare Keras. Inoltre, puoi trovare implementazioni differenzialmente private di alcuni modelli Keras. Tutti gli ottimizzatori ei modelli sono disponibili nella documentazione API .