פרטיות דיפרנציאלית היא מסגרת למדידת הבטחות הפרטיות הניתנות על ידי אלגוריתם וניתן לבטא אותה באמצעות הערכים ε (אפסילון) ו-δ (דלתא). מבין השניים, ε חשוב יותר ורגיש יותר לבחירת הפרמטרים. באופן גס, הם מתכוונים לדברים הבאים:
- ε נותן תקרה על כמה ההסתברות של פלט מסוים יכולה להגדיל על ידי הכללה (או הסרה) של דוגמה אחת לאימון. בדרך כלל אתה רוצה שזה יהיה קבוע קטן (פחות מ-10, או להבטחות פרטיות מחמירות יותר, פחות מ-1). עם זאת, זהו רק גבול עליון, וערך גדול של אפסילון עשוי עדיין להיות פרטיות מעשית טובה.
- δ מגביל את ההסתברות לשינוי שרירותי בהתנהגות המודל. בדרך כלל אתה יכול להגדיר את זה למספר קטן מאוד (1e-7 או משהו כזה) מבלי להתפשר על השירות. כלל אצבע הוא להגדיר אותו כך שיהיה פחות מההיפוך של גודל נתוני האימון.
הקשר בין היפרפרמטרים לאימון והפרטיות הנובעת מכך במונחים של (ε, δ) הוא מסובך וקשה לקבוע במפורש. הגישה המומלצת הנוכחית שלנו נמצאת בתחתית הדף 'התחלה ', הכוללת מציאת מכפיל הרעש המקסימלי שניתן להשתמש בו תוך שימוש סביר, ולאחר מכן שינוי קנה המידה של מכפיל הרעש ומספר המיקרו-אצט. TensorFlow Privacy מספקת כלי, compute_dp_sgd_privacy
לחישוב (ε, δ) בהתבסס על מכפיל הרעש σ, מספר שלבי האימון שננקטו ושבריר נתוני הקלט הנצרכים בכל שלב. כמות הפרטיות עולה עם מכפיל הרעש σ ופוחתת ככל שהנתונים משמשים יותר פעמים באימון. באופן כללי, על מנת להשיג אפסילון של 10.0 לכל היותר, עלינו להגדיר את מכפיל הרעש ל-0.3 עד 0.5, תלוי בגודל מערך הנתונים ומספר העידנים. ראה את המדריך לפרטיות הסיווג כדי לראות את הגישה.
לפרטים נוספים, עיין בנייר DP-SGD המקורי .
אתה יכול להשתמש ב- compute_dp_sgd_privacy
כדי לגלות את ה-epsilon בהינתן ערך דלתא קבוע עבור הדגם שלך [../tutorials/classification_privacy.ipynb]:
-
q
: יחס הדגימה - ההסתברות שנקודת אימון בודדת תיכלל במיני אצווה (batch_size/number_of_examples
). -
noise_multiplier
: צף השולט בכמות הרעש שנוסף במהלך האימון. בדרך כלל, יותר רעש מביא לפרטיות טובה יותר ולשימוש נמוך יותר. -
steps
: מספר הצעדים הגלובאליים שננקטו.
כתיבה מפורטת של התיאוריה שמאחורי החישוב של אפסילון ודלתא זמין ב- Differential Privacy of the Sampled Gaussian Mechanism .