פרטיות ולמידת מכונה: ראיון עם רן גלעד, חוקר במיקרוסופט - Unsupervised - הבלוג של שיר מאיר לדור וענבר נאור - TheMarker
 

אתם מחוברים לאתר דרך IP ארגוני, להתחברות דרך המינוי האישי

טרם ביצעת אימות לכתובת הדוא"ל שלך. לאימות כתובת הדואל שלך  לחצו כאן

תיק מניות

רשימת קריאה

רשימת הקריאה מאפשרת לך לשמור כתבות ולקרוא אותן במועד מאוחר יותר באתר,במובייל או באפליקציה.

לחיצה על כפתור "שמור", בתחילת הכתבה תוסיף את הכתבה לרשימת הקריאה שלך.
לחיצה על "הסר" תסיר את הכתבה מרשימת הקריאה.

לרשימת הקריאה המלאה לחצו כאן

פרטיות ולמידת מכונה: ראיון עם רן גלעד, חוקר במיקרוסופט

הבעיה הכי קשה בתחום למידת המכונה היא להגיע למידע ■ עקב הרגולציות להידוק מנגנוני הסודיות והפרטיות, מערכי הצפנה הפכו חשובים ביותר בכל מודל של למידת מכונה להסקת תובנות ■ איך אנחנו יכולים להבטיח שלא נוכל להסיק את המשכורת של כל אחד מאיתנו או תוצאה של בדיקת דם?

בפרק החדש של unsupervsied דיברנו עם רן גלעד בכרך חוקר ב-Microsoft research על פרטיות ב-machine learning. סיכמנו עבורכם חלקים נבחרים מהשיחה המרתקת.

כדי לשמוע עוד על Secure multi-party computation, הצפנה הומומורפית וdifferential privacy האזינו לפרק  >>>

- דלג

מה המוטיבציה לעסוק בתחום של פרטיות ב-machine learning?

רן גלעד: "כל מי שעוסק בתחום יודע שהבעיה הכי קשה בתחום היא להגיע לדאטה. לא נעים להודות אבל כל האלגוריתמים שאנחנו מפתחים פחות חשובים מהנתונים. בייחוד כשאנחנו עוסקים בתחומים רגישים כמו חינוך, בריאות כספים. קשה מאוד להגיע לכלל הנתונים. אם אנחנו רוצים להיות מסוגלים להגיע לנתונים אנחנו חייבים להיות מסוגלים להבטיח שנשמור עליהם באיזשהי צורה, שנשמור על הפרטיות של האנשים ושאי אפשר יהיה להשתמש בנתונים האלה לרעה.

"הדבר הזה נוגע בחלקים שונים של כל התהליך שאנחנו עוסקים בו. החל מאיך שאנחנו שומרים על הנתונים בזמן שאנחנו מאמנים מודל, כשאנחנו משתמשים במודל, כשאנחנו מפרסמים את המודל לאחרים. לכל אחד מהדברים האלה היינו רוצים לתת איזשהי הבטחה של פרטיות.

היבט נוסף שיש לקחת בחשבון הוא שיתוף פעולה. אם אני רוצה להגיע לנתונים מכמה מקורות שונים, לדוגמה, אני רוצה לאסוף דאטה מכמה בתי חולים שונים. אולי אפילו בתי החולים רוצים לשתף אחד עם השני פעולה אבל הם מוגבלים על ידי החוק שמכריח אותם לשמור על פרטיות של נתונים רפואיים. גם מוסדות פיננסים מחוייבים על פי חוק לשמור על סודיות של נתונים אישיים. לכן כדי לאפשר שיתופי פעולה אנחנו חייבים לבנות מנגנונים שמבטיחים את השמירה על פרטיות".

כמה שנים התחום קיים?

רן גלעד: "תחום ההצפנות קיים כבר מזה לא מעט שנים. והנושא של שמירה על פרטיות אינו חודש. החיבור לעולם של למידת מכונה (machine learning) הוא מ-10-15 השנים האחרונות. הפריחה שאנחנו רואים היום בשימושים של למידת מכונה הכריחה מאמץ בכיוון הזה.

עד לפני עשר שנים לתחום למידת המכונה היו מעט שימושים ולכן הדיונים היו היפותטיים, אבל היום זה נהיה בעיה אמיתית. אני רוצה להשתמש במשהו ואני מוגבל על ידי חוקים כמו GDPR, כמו HIPA".

מה זה Differential privacy ?

רן גלעד: "התחום עוסק בשאלה הבאה: נניח שאני לוקח נתונים ואני מחשב מהם משהו. לדוגמה נחשב בינינו כאן בחדר את המשכורת הממוצעת שלנו, אבל כל אחד רוצה לשמור את המשכורת שלו לעצמו. איך אנחנו יכולים להבטיח שלא נוכל להסיק את המשכורת של כל אחד מאיתנו מהתוצאה? נניח שביל גייטס היה בחדר איתנו והיינו מחשבים את המשכורת הממוצעת של כולנו. אני מניח שהמשכורת של ביל גייטס קצת יותר גבוהה מהמשכורת של שלושתנו. ואז מתוך הממוצע אני כבר יכול ללמוד משהו על המשכורת של ביל גייטס. פעמים רבות כשאני מפרסם תוצאה אפשר לעשות ממנה reverse engineering ולהסיק משהו על הקלט. הבעיה הזו נהיית עוד יותר קשה בשני מקרים: הראשון, כשאני עושה יותר מחישוב אחד.

"לדוגמה, אנחנו כאן בחדר ואני אחשב את המשכורת הממוצעת. ואז כשאחת מאיתנו יצאה החוצה עוד פעם נעשה בינינו את החישוב של המשכורת הממוצעת בלעדיה. אבל עכשיו כשיש לי את שתי התוצאות אני כבר יודע בקלות מה המשכורת שלך. זה מקרה אחד בעייתי. המקרה השני הבעייתי הוא כשיש כל מיני side information כמו בדוגמא הקודמת שהיה לנו מידע מוקדם על ביל גייטס שאומר שהמשכורת שלו הרבה יותר גבוהה משלנו. side information הרבה פעמים מאפשר לי לעשות reverse engineering לתוצאה כדי להסיק משהו על בנאדם פרטי. במשך השנים עסקו הרבה בלנסות למצוא דרכים למנוע את הדבר הזה. מצד אחד אני כן רוצה לחשב איזה משהו, הרבה פעמים אלו דברים חשובים שמעניינים אותי, אבל מצד שני אני רוצה לקיים איזו הבטחת פרטיות. איך אפשר לעשות את הדבר הזה? היו כל מיני ניסיונות להגדיר את הדברים. ההגדרה המוצלחת ביותר לדעתי היא ההגדרה של differential privacy. והיא אומרת שאני חייב להוסיף משהו רנדומי לתהליך. ואני מוסיף אותו בצורה כזו שאם אני אחסיר רשומה אחת מתוך הדאטה שלי אני לא אוכל להבחין כמעט אם הרשומה הזו הייתה שם או לא.  כלומר אני אוסיף מספיק רעש שאם אני אוציא אדם אחד מתוך הדאטה בייס שלי ונחשב מחדש את התוצאה לא נוכל להבחין בין שני המקרים. וההגדרה הזו היא מאוד חזקה מכיוון שהיא לדוגמא מאפשרת לי להתמודד עם כל side information.

"מבחינה אינטואיבית כשאנחנו מדברים על privacy או על מגבלות שמגיעות כתוצאה מכך אנחנו מגבילים את עצמנו ומייצרים מודלים אולי פחות טובים.  אך מתוך ההגדרה של differential privacy נראה שהשיטה בונה מודלים יותר יציבים, שמשתנים פחות אם מוציאים דוגמא אחת מהנתונים (מודלים שפחות נוטים ל-overfitting) ולמעשה מכלילים  (generalize) בצורה יותר טובה.

"נכון מאוד. היתרון הנוסף שחשוב לציין הוא שכל מי שעובד עם דאטה יודע את הקושי להשיג דאטה. בעצם אם יש לנו מנגנוני פרטיות טובים יהיה לנו יותר קל להגיע לדאטה. אז אולי לאותו דאטה סט יהיה לנו ביצועים פחות טובים אבל יהיה לנו יכולת להגיע ליותר דאטה. מאמר של עדי שמיר שהתפרסם לאחרונה דיבר על הבעיה שאם מזריקים קצת רעש לתמונות אפשר לגרום לרשתות נוירונות לזהות פודל כטווס. עדי הראה שכמעט אי אפשר להימנע מהדבר הזה בשיטות הנוכחיות אלא אם כן מוסיפים רנדומיות בצורה דומה למה שעושים בdifferential privacy".

כמה רעש מוסיפים למודל ובאיזה שלב? עד כמה זה יכול לפגוע במודל? 

"לעתים מוסיפים רעש במקור, לעתים במהלך החישוב ולעתים בסוף. מצד אחד זה מודל מתמטי מאוד אלגנטי עם הרבה מאוד כוח. מצד שני היום בהרבה מקרים כמות הרעש שאנחנו צריכים להוסיף היא במובן מסוים גדולה מידי. כמות הרעש שאנחנו צריכים להוסיף הורגת לנו את הסיגנל שמעניין אותנו. כמות הרעש שאנחנו רוצים להוסיף היא לא תלויה בגודל הדאטה אלא באופי הנתונים. לכן כשאנחנו עוסקים בדאטה סטים גדולים יש יותר סיכוי שהשיטה תצליח".

האם יש סטנדרט בתעשייה לשימוש ב-differential privacy ?

"כיום כל החברות הגדולות מצהירות שהן משתמשות ב-differential privacy, אך לא ברור באיזו מידה. לדוגמא, לא ברור בכמה רעש הם משתמשים. כמות הרעש שמוסיפים מגדירה את הבטחת הפרטיות של הדאטה. לא ברור איך הם מכוונים את הכפתור של הווליום. 

differential privacy מתואר בתור היכולת שלי להבחין בזה שהסירו רשומה בודדת מהנתונים. לדוגמא אם יש לנו את ההתפלגות של הנתונים עם הרשומה ובלעדיה, השאלה היא כמה שתי ההתפלגויות רחוקות אחת מהשנייה". 

כמות הרעש משפיעה על כמה ההתפלגויות האלה יהיו שונות אחת מהשנייה.

"ככל שאני משתמש בדאטה יותר ויותר פעמים אני יכול להבחין בדקויות יותר קטנות בהבדלים בין פילוגים ולכן אם אני משתמש בדאטה שוב ושוב אני צריך להוסיף לו עוד רעש כדי להבטיח את אותה רמה של פרטיות".

הצפנה הומומורפית

באיזה עוד שיטות משתמשים כדי להגן על פרטיות בשימוש באלגוריתמים לומדים?

״differential privacy מטפל רק באספקט אחד של הבעיה. ברגע שאימנתי מודל - איך אני מונע reverse engineering - איך אני מונע להסיק מהמודל את הדאטה שהשתמשנו בו. 

"נניח שכבר יש לי מודל ועכשיו אני רוצה להשתמש בו. לדוגמא אני אימנתי מודל שאם תשלחו לי את כל הנתונים הפיננסים שלכם אני יכול לחזות לכם מה יהיה בעתידכם. אבל אתם אולי די בצדק לא תשמחו לשלוח לי את כל הנתונים הפיננסים שלכם. אולי אני לא אדם רע אבל אולי אני לא זהיר והדאטה שלכם יזלוג החוצה. באותו האופן אני אבנה מודל שאם תשלחו לי את המידע הגנטי שלכם אני אבנה לכם מודל שיגיד לכם מה מתאים לכם לאכול. אבל קצת מפחיד לשלוח את הדי אן איי לאדם שאנחנו לא מכירים. 

"בתחום הזה differential privacy לא מתאים כי יש כאן רשומה בודדת, זה רק ה-DNA של אדם בודד שרוצים להגן עליו. כאן משתמשים בסט של כלים שמגיע בעולם ההצפנות שמאפשר לעשות חישובים על מידע מוצפן".

נשמע שזה צריך להיות בלתי אפשרי לעשות חישובים על מידע מוצפן. מאוד לא אינטואיטיבי לעשות פעולות מידע מוצפן. אם ההצפנה עובדת כמו שצריך אתה לא אמור לבטל חלק מהתכונות של הדאטה?

"הדבר שמאפשר לעשות פעולות על הדבר הזה. הוא לא רק שאני מקבל את הדאטה מוצפן אלא שהדאטה נשאר מוצפן בכל תהליך החישוב ואפילו התוצאה יוצאת מוצפנת. לא רק שאני לא יודע מה הקלט לחישוב אני לא יודע מה הפלט לחישוב. זה נשמע לא אינטואיבי שהעובדה שאני לא יודע את הפלט מאפשר לי לעשות את דברים אבל זה חלק מהסוד.

"נניח אני עושה עכשיו חישוב על מידע מוצפן ובמהלך החישוב הייתי מקבל את הפרדיקציה, למדתי משהו על הדאטה. אבל אם הפרדיקציה יוצאת גם מוצפנת אני לא למדתי עלייך כלום בתהליך אני רק יודע שביצעתי את החישוב.

"נניח יש לי מודל שלא ארצה לשלוח לך אותו כי זה ה-intellectual property  שלי ולך יש את הנתונים שלך שאת לא רוצה לשלוח לי אז בעצם אנחנו יכולים להשתמש בשיטת הצפנה שנקראת homomorphic encryption (הצפנה הומומורפית) בשיטה זו מצפינים את המידע. 

הצפנה הומומורפית היא הצפנה יותר חזקה מהצפנות שמשתמשים בהן היום כי לא ניתן לפרוץ אותה באמצעות מחשב קוונטי. 

"זו הצפנה שמאפשרת לעשות שתי פעולות חישוב כשהמידע הוא מוצפן - חיבור וכפל. שני המספרים מוצפנים. באמצעות הצפנה הומומרפית אני יכולה לעשות חישוב של חיבור של שני המספרים x, y המוצפנים שאני יודע שהתוצאה שלו תהיה התוצאה המוצפנת של x+y.

"בפעולות של חיבור וכפל אני יכול לבצע כל פונקציה בוליאנית. כי אם אני לוקח שני ביטים הכפל הוא פעולת הכפל והחיבור שלהם מודלו 2 הוא פעולת הxor. ו and ו -xor הם שלמים במעגלים בוליאנים. כל מעגל בוליאני אני יכול לבטא באמצעות פעולת אנד וxor. כל דבר שאני יכול לחשב באמצעות מעגל בוליאני אני יכולה לחשב אותו באמצעות מידע מוצפן. אפשרות אחרת היא להסתכל על מעגלים אריתמטים. כל דבר שאני יכולה לחשוב באמצעות חיבור וכפל אני יכולה לחשב על מידע מוצפן. הדבר הזה היה ה- holy grail בעולם ההצפנות במשך מאות שנים. בשנת 99 קרג ג׳נטרי מאיי בי אם היה הראשון שהראה מימוש של הדבר הזה. מאז חלה המון התקדמות בתחום. בהתחלה זה היה מאוד תאורטי ולא מעשי אבל מאז חלה המון התפתחות בדברים האלה והם נהיו יותר פיזיבלים. היום מגיעים לביצועים יותר מרשימים. אם אני רוצה לעשות פרדיציה על מידע גנטי, יקח לי סדר גודל של שנייה לעשות אותה על מידע מוצפן. אם הייתי עושה את הפרדיקציה הזו על מידע לא מוצפן זה היה לוקח לי חצי שנייה. אבל אני לא חושב שזו השוואה הוגנת. ההשוואה ההוגנת היא: נניח שזה היה המידע הגנטי שלכם ואני מציע לכם או אפשרות אחת לחשב את זה בחלקיק שנייה אבל אבדה לכם הפרטיות לגמר או שתחכו שנייה ותקבלו את אותה פרדיקציה אבל אני לא למדתי עליכם כלום. יש הרבה עבודות שמתמקדות בשלב ההסקה (inference). הצפנה הומומורפית היא שיטה מאוד נחמדה.

יש עוד שיטות להגן על הנתונים בעת החישוב?

״שיטה נוספת שיש לציין היא הצפנת חומרה. היום יצרני החומרה הכניסו הרבה חלקים מוגנים בתוך ה-GPU (מעבד גרפי שמשמש לביצוע פעולות חישוב במערכות לומדות). לדוגמא אינטל הכניסו חלק מוגן בתוך המעבד שבו כל המידע מוצפן. החישוב נעשה על דאטה לא מוצפן ואחר כך המידע מוצפן שוב. שיטה זו מהירה אבל יש לה מגבלות בשאלה של איזה סוג של פרטיות היא יכולה לתת לי. החברות האלה עושות את המקסימום כדי להגן על המידע אבל אנחנו תלויים בזה שאין להם באג. פתרונות הצפנה נבחנים בקהילות ההצפנה בצורה קפדנית. פתרונות חומרה לא עוברים סקירה של קהילה ההצפנה ותלויים במימוש של החברה המממשת אותם.״

Secure multi-party computation

כיצד ניתן לאמן מודל אם אין לנו גישה לדאטה או לחלק מהדאטא?

"באמצעות Secure multi-party computation אנחנו יודעים היום לאמן מודלים על מידע שמפוזר בין כל מיני משתתפים. ישנן שתי דרכים עיקריות לפיצול המידע - אופקית ואנכית. דוגמא לפיצול אופקי הוא היא כשיש לנו דאטה אבל הוא מפוזר בין כל מיני גורמים שלאו דווקא יכולים לשתף ביניהם את המידע, כמו לדוגמא בתי חולים. דוגמא לפיצול אנכי הוי רשת חברתית שרוצה להסיק מסקנות רפואיות על סמך הנתונים שלה. במקרה זה הדאטה נמצא ברשת החברתית אבל הלייבלים (היעד לחיזוי)". 

הרשמה לניוזלטר

כל הסקירות בזירת הניתוחים של TheMarker - בתיבת המייל שלכם

ברצוני לקבל ניוזלטרים, מידע שיווקי והטבות


תגובות

דלג על התגובות

בשליחת תגובה זו הנני מצהיר שאני מסכים/מסכימה עם תנאי השימוש של אתר TheMarker

סדר את התגובות

כתבות שאולי פיספסתם

*#