오늘날의 데이터 중심 세계에서는 점점 더 많은 연구자와 데이터 과학자가 기계 학습을 사용하여 더 나은 미래를 위한 더 나은 모델이나 더 혁신적인 솔루션을 만들고 있습니다.
이러한 모델은 민감한 데이터나 개인 데이터를 처리하는 경향이 있어 개인 정보 보호 문제를 일으킬 수 있습니다. 예를 들어 일부 AI 모델은 훈련된 데이터에 대한 세부 정보를 기억할 수 있으며 나중에 이러한 세부 정보가 유출될 가능성이 있습니다.
민감한 데이터 유출을 측정하고 유출 가능성을 줄이기 위해 차등 개인 정보 보호라는 수학적 프레임워크가 있습니다.
2020년에 OpenMined는 PyDP라는 Google의 차등 개인 정보 보호 프로젝트를 위한 Python 래퍼를 만들었습니다. 라이브러리는 개인 정보 또는 민감한 정보가 포함된 숫자 데이터 세트에 대한 집계 통계를 생성하는 데 사용할 수 있는 ε-차등 개인 알고리즘 세트를 제공합니다. 따라서 PyDP를 사용하면 Python으로 작성된 모델의 개인 정보 보호 보장과 정확성을 제어할 수 있습니다.
PyDP에 대해 기억해야 할 사항:
PyDP를 설치하려면 PyPI 패키지 관리자를 사용하세요.
pip install python-dp
(Python 3.x용 pip3
별도로 있는 경우 pip3 install python-dp
사용하세요.)
PyDP 라이브러리에 대해 자세히 알아보려면 선별된 튜토리얼 목록과 샘플 코드를 참조하세요.
PyDP(Jupyter 노트북) 소개와 당근 데모(Python 파일)로 시작할 수도 있습니다.
예: 경계 평균 계산
# 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 )
차등 개인 정보 보호에 대해 자세히 알아보려면 리소스로 이동하세요.
PyDP를 안전한 방식으로 사용하기 위한 가정 및 요구 사항에 대해 자세히 알아보려면 기본 Google 차등 개인 정보 보호 라이브러리의 공격 모델을 참조하세요.
PyDP 라이브러리에 대해 궁금한 점이 있으면 OpenMined의 Slack에 가입하고 #lib_pydp 채널을 확인하세요. 코드 소스 변경 사항을 따르려면 #code_dp_python 에 가입하세요.
PyDP 프로젝트에 기여하려면 지침을 읽어보세요.
풀 요청을 환영합니다. 주요 변경 사항을 도입하려면 먼저 이슈를 열어 무엇을 변경하고 싶은지 논의하세요.
테스트를 적절하게 업데이트하세요.
아파치 라이센스 2.0