In der heutigen datengesteuerten Welt nutzen immer mehr Forscher und Datenwissenschaftler maschinelles Lernen, um bessere Modelle oder innovativere Lösungen für eine bessere Zukunft zu erstellen.
Diese Modelle neigen häufig dazu, sensible oder persönliche Daten zu verarbeiten, was zu Datenschutzproblemen führen kann. Einige KI-Modelle können sich beispielsweise Details zu den Daten merken, auf denen sie trainiert wurden, und könnten diese Details möglicherweise später preisgeben.
Um den Verlust sensibler Daten zu messen und die Wahrscheinlichkeit eines solchen Vorfalls zu verringern, gibt es ein mathematisches Rahmenwerk namens „Differential Privacy“.
Im Jahr 2020 erstellte OpenMined einen Python-Wrapper für Googles Differential Privacy-Projekt namens PyDP. Die Bibliothek stellt eine Reihe von ε-differenziell privaten Algorithmen bereit, mit denen aggregierte Statistiken über numerische Datensätze erstellt werden können, die private oder vertrauliche Informationen enthalten. Daher können Sie mit PyDP die Datenschutzgarantie und die Genauigkeit Ihres in Python geschriebenen Modells kontrollieren.
Dinge, die Sie bei PyDP beachten sollten:
Um PyDP zu installieren, verwenden Sie den PyPI-Paketmanager:
pip install python-dp
(Wenn Sie pip3
separat für Python 3.x haben, verwenden Sie pip3 install python-dp
.)
Weitere Informationen zur PyDP-Bibliothek finden Sie in der kuratierten Liste mit Tutorials und Beispielcode.
Sie können auch mit einer Einführung in PyDP (ein Jupyter-Notebook) und der Karotten-Demo (einer Python-Datei) beginnen.
Beispiel: Berechnen Sie den begrenzten Mittelwert
# Import PyDP
import pydp as dp
# Import the Bounded Mean algorithm
from pydp . algorithms . laplacian import BoundedMean
# Calculate the Bounded Mean
# Basic Structure: `BoundedMean(epsilon: float, lower_bound: Union[int, float, None], upper_bound: Union[int, float, None])`
# `epsilon`: a Double, between 0 and 1, denoting the privacy threshold,
# measures the acceptable loss of privacy (with 0 meaning no loss is acceptable)
x = BoundedMean ( epsilon = 0.6 , lower_bound = 1 , upper_bound = 10 )
# If the lower and upper bounds are not specified,
# PyDP automatically calculates these bounds
# x = BoundedMean(epsilon: float)
x = BoundedMean ( 0.6 )
# Calculate the result
# Currently supported data types are integers and floats
# Future versions will support additional data types
# (Refer to https://github.com/OpenMined/PyDP/blob/dev/examples/carrots.py)
x . quick_result ( input_data : list )
Gehen Sie zu den Ressourcen, um mehr über differenzielle Privatsphäre zu erfahren.
Weitere Informationen zu unseren Annahmen und Anforderungen für die sichere Verwendung von PyDP finden Sie im Angriffsmodell der zugrunde liegenden Google Differential Privacy Library.
Wenn Sie Fragen zur PyDP-Bibliothek haben, treten Sie OpenMineds Slack bei und schauen Sie sich den Kanal #lib_pydp an. Um die Änderungen an der Codequelle zu verfolgen, treten Sie #code_dp_python bei.
Um zum PyDP-Projekt beizutragen, lesen Sie die Richtlinien.
Pull-Anfragen sind willkommen. Wenn Sie größere Änderungen vornehmen möchten, öffnen Sie bitte zunächst ein Problem, um zu besprechen, was Sie ändern möchten.
Bitte stellen Sie sicher, dass Sie die Tests entsprechend aktualisieren.
Apache-Lizenz 2.0