في عالم اليوم القائم على البيانات، يستخدم المزيد والمزيد من الباحثين وعلماء البيانات التعلم الآلي لإنشاء نماذج أفضل أو حلول أكثر ابتكارًا لمستقبل أفضل.
تميل هذه النماذج غالبًا إلى التعامل مع البيانات الحساسة أو الشخصية، مما قد يسبب مشكلات تتعلق بالخصوصية. على سبيل المثال، يمكن لبعض نماذج الذكاء الاصطناعي حفظ تفاصيل حول البيانات التي تم تدريبهم عليها ومن المحتمل أن تقوم بتسريب هذه التفاصيل لاحقًا.
للمساعدة في قياس تسرب البيانات الحساسة وتقليل احتمالية حدوثه، يوجد إطار رياضي يسمى الخصوصية التفاضلية.
في عام 2020، أنشأت OpenMined غلاف Python لمشروع الخصوصية التفاضلية من Google المسمى PyDP. توفر المكتبة مجموعة من الخوارزميات الخاصة التفاضلية، والتي يمكن استخدامها لإنتاج إحصائيات مجمعة عبر مجموعات بيانات رقمية تحتوي على معلومات خاصة أو حساسة. لذلك، باستخدام PyDP يمكنك التحكم في ضمان الخصوصية ودقة النموذج المكتوب بلغة Python.
أشياء يجب تذكرها حول PyDP:
لتثبيت PyDP، استخدم مدير الحزم PyPI:
pip install python-dp
(إذا كان لديك pip3
بشكل منفصل لـ Python 3.x، فاستخدم 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 )
انتقل إلى الموارد لمعرفة المزيد حول الخصوصية التفاضلية.
يرجى الرجوع إلى نموذج الهجوم الخاص بمكتبة الخصوصية التفاضلية الأساسية في Google لمعرفة المزيد حول افتراضاتنا ومتطلباتنا لاستخدام PyDP بطريقة آمنة.
إذا كانت لديك أسئلة حول مكتبة PyDP، انضم إلى OpenMined's Slack وتحقق من قناة #lib_pydp . لمتابعة تغييرات مصدر التعليمات البرمجية، انضم إلى #code_dp_python .
للمساهمة في مشروع PyDP، اقرأ الإرشادات.
طلبات السحب هي موضع ترحيب. إذا كنت تريد إدخال تغييرات كبيرة، يرجى فتح مشكلة أولاً لمناقشة ما تريد تغييره.
يرجى التأكد من تحديث الاختبارات بالشكل المناسب.
ترخيص أباتشي 2.0