Assistez au symposium Women in ML le 7 décembre Inscrivez-vous maintenant
Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Confidentialité dans l'apprentissage automatique

Un aspect important de l'utilisation responsable de l'IA consiste à s'assurer que les modèles ML ne peuvent pas exposer des informations potentiellement sensibles, telles que des informations démographiques ou d'autres attributs dans l'ensemble de données de formation qui pourraient être utilisés pour identifier des personnes. Une façon d'y parvenir consiste à utiliser la descente de gradient stochastique différentiellement privée (DP-SGD), qui est une modification de l'algorithme standard de descente de gradient stochastique (SGD) dans l'apprentissage automatique.

Les modèles formés avec DP-SGD présentent des améliorations mesurables de la confidentialité différentielle (DP), ce qui contribue à atténuer le risque d'exposer des données de formation sensibles. Étant donné que le but de DP est d'empêcher l'identification de points de données individuels, un modèle formé avec DP ne doit pas être affecté par un seul exemple de formation dans son ensemble de données de formation. Les techniques DP-SGD peuvent également être utilisées dans l'apprentissage fédéré pour fournir une confidentialité différentielle au niveau de l'utilisateur. Vous pouvez en savoir plus sur l'apprentissage en profondeur différentiellement privé dans l'article original .

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)
  

Confidentialité TensorFlow

Tensorflow Privacy (TF Privacy) est une bibliothèque open source développée par les équipes de Google Research. La bibliothèque comprend des implémentations d'optimiseurs TensorFlow couramment utilisés pour la formation de modèles ML avec DP. L'objectif est de permettre aux praticiens du ML utilisant les API Tensorflow standard de former des modèles préservant la confidentialité en ne modifiant que quelques lignes de code.

Les optimiseurs différentiellement privés peuvent être utilisés conjointement avec des API de haut niveau qui utilisent la classe Optimizer, en particulier Keras. De plus, vous pouvez trouver des implémentations différentiellement privées de certains modèles Keras. Tous les optimiseurs et modèles se trouvent dans la documentation de l'API .