Privacidade no machine learning

Um aspecto importante do uso responsável de IA é garantir que os modelos de ML estejam proibidos de expor informações potencialmente confidenciais, como dados demográficos ou outros atributos do conjunto de dados de treinamento que possam ser usados para identificar pessoas. Uma forma de conseguir isso é usando um gradiente descendente estocástico de privacidade diferencial (DP-SGD, na sigla em inglês), que é uma modificação do algoritmo padrão de gradiente descendente estocástico (GDE) em machine learning.

Os modelos treinados com o DP-SGD têm melhorias mensuráveis de privacidade diferencial (DP, na sigla em inglês), o que ajuda a reduzir os riscos de exposição de dados de treinamento confidenciais. Como o propósito da privacidade diferencial é ajudar a impedir que pontos de dados individuais sejam identificados, um modelo treinado com DP não deve ser afetado por nenhum exemplo de treinamento individual de seu conjunto de dados de treinamento. As técnicas de DP-SGD também podem ser usadas no aprendizado federado para oferecer a privacidade diferencial no nível do usuário. Saiba mais sobre o aprendizado profundo com privacidade diferencial no documento 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

A TensorFlow Privacy (TF Privacy) é uma biblioteca de código aberto desenvolvida por equipes do Google Research. A biblioteca inclui implementações de otimizadores TensorFlow usados com frequência para treinar modelos de ML com privacidade diferencial. O objetivo é permitir que os profissionais de ML que usam as APIs padrão do TensorFlow treinem modelos protetores de privacidade modificando apenas algumas linhas no código.

Os otimizadores com privacidade diferenciada podem ser usados com APIs de alto nível que usam a classe de otimizadores, especialmente a Keras. Além disso, é possível encontrar implementações de privacidade diferenciada em alguns modelos da Keras. Todos os otimizadores e modelos podem ser encontrados na documentação da API.