حریم خصوصی در یادگیری ماشینی

یکی از جنبه‌های مهم استفاده مسئولانه از هوش مصنوعی، اطمینان از این است که مدل‌های ML از افشای اطلاعات حساس بالقوه، مانند اطلاعات جمعیت‌شناختی یا سایر ویژگی‌های مجموعه داده آموزشی که می‌تواند برای شناسایی افراد استفاده شود، جلوگیری می‌کند. یکی از راه‌های دستیابی به این هدف، استفاده از شیب نزولی تصادفی خصوصی (DP-SGD) است که اصلاحی در الگوریتم گرادیان نزولی تصادفی استاندارد (SGD) در یادگیری ماشین است.

مدل‌های آموزش‌دیده شده با DP-SGD دارای پیشرفت‌های قابل اندازه‌گیری در حریم خصوصی (DP) هستند که به کاهش خطر افشای داده‌های آموزشی حساس کمک می‌کند. از آنجایی که هدف 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 توسعه یافته است. این کتابخانه شامل پیاده‌سازی‌هایی از TensorFlow Optimizerهای رایج برای آموزش مدل‌های ML با DP است. هدف این است که پزشکان ML با استفاده از APIهای استاندارد Tensorflow بتوانند مدل‌های حفظ حریم خصوصی را با تغییر تنها چند خط کد آموزش دهند.

بهینه سازهای خصوصی متفاوت را می توان همراه با APIهای سطح بالا که از کلاس Optimizer، به ویژه Keras استفاده می کنند، استفاده کرد. علاوه بر این، می توانید پیاده سازی های خصوصی متفاوت برخی از مدل های Keras را بیابید. همه بهینه سازها و مدل ها را می توان در اسناد API یافت.