12월 7일 Women in ML 심포지엄 참석 지금 등록

기계 학습의 개인 정보 보호

책임감 있는 AI 사용의 중요한 측면은 ML 모델이 사람을 식별하는 데 사용할 수 있는 교육 데이터 세트의 인구 통계 정보 또는 기타 속성과 같은 잠재적으로 민감한 정보를 노출하지 않도록 하는 것입니다. 이를 달성하는 한 가지 방법은 기계 학습의 표준 SGD(확률 경사하강법) 알고리즘을 수정한 차등적 개인 확률적 경사하강법(DP-SGD)을 사용하는 것입니다.

DP-SGD로 훈련된 모델은 측정 가능한 DP(Differential Privacy)가 향상되어 민감한 훈련 데이터가 노출될 위험을 완화하는 데 도움이 됩니다. DP의 목적은 개별 데이터 포인트가 식별되는 것을 방지하는 것이므로 DP로 훈련된 모델은 훈련 데이터 세트의 단일 훈련 예제의 영향을 받지 않아야 합니다. DP-SGD 기술은 연합 학습에서도 사용되어 사용자 수준의 차등 개인 정보를 제공할 수 있습니다. 차등 비공개 딥 러닝에 대한 자세한 내용 은 원본 문서 에서 확인할 수 있습니다.

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 개인 정보 보호

Tensorflow Privacy(TF Privacy)는 Google Research 팀에서 개발한 오픈 소스 라이브러리입니다. 라이브러리에는 DP로 ML 모델을 훈련하기 위해 일반적으로 사용되는 TensorFlow Optimizer의 구현이 포함됩니다. 목표는 표준 Tensorflow API를 사용하는 ML 실무자가 몇 줄의 코드만 변경하여 개인 정보 보호 모델을 훈련할 수 있도록 하는 것입니다.

차등 비공개 옵티마이저는 Optimizer 클래스, 특히 Keras를 사용하는 고급 API와 함께 사용할 수 있습니다. 또한 일부 Keras 모델의 차등 비공개 구현을 찾을 수 있습니다. 모든 옵티마이저와 모델은 API 문서 에서 찾을 수 있습니다.