Privacidad en el aprendizaje automático

Un aspecto importante del uso responsable de la IA es garantizar que los modelos de AA no expongan información que pueda ser sensible, como información demográfica u otros atributos presentes en el conjunto de datos de entrenamiento que puedan emplearse para identificar personas. Una forma de conseguirlo es usando el descenso de gradientes estocástico con privacidad diferencial (DP-SGD), que es una modificación del algoritmo estándar de descenso de gradientes estocástico (SGD) del aprendizaje automático.

Los modelos entrenados con DP-SGD presentan mejoras cuantificables de privacidad diferencial (DP), lo que ayuda a mitigar el riesgo de exponer datos de entrenamiento sensibles. Dado que el propósito de la DP es evitar que se identifiquen datos individuales, un modelo entrenado con DP no debería verse afectado por ningún ejemplo de entrenamiento en su conjunto de datos de entrenamiento. Las técnicas de DP-SGD también se pueden utilizar en el aprendizaje federado para ofrecer una privacidad diferencial a nivel del usuario. Puedes obtener más información sobre el aprendizaje profundo con privacidad diferencial en el artículo 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)
  

TensorFlow Privacy

Tensorflow Privacy (TF Privacy) es una biblioteca de código abierto desarrollada por equipos de Google Research. La biblioteca incluye implementaciones de optimizadores de TensorFlow que se utilizan comúnmente para entrenar modelos de AA con DP. El objetivo es permitir que los profesionales de AA utilicen API estándar de Tensorflow para entrenar modelos que protejan la privacidad, cambiando solo algunas líneas de código.

Los optimizadores de privacidad diferencial se pueden usar en conjunto con las API de alto nivel que utilizan la clase de optimizador, en especial Keras. Además, puedes encontrar implementaciones de privacidad diferencial en algunos modelos de Keras. Todos los optimizadores y modelos se pueden encontrar en la Documentación de la API.