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

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

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

report_sample

דוגמאות (מפוברקות) של דו"חות רפואיים (ריפורטים) בעברית

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

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

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

המשפט הוא המלך

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

sentence_analysis

דוגמה להפרדת ריפורט למשפטים וסיווגם לחיובי (ירוק), שלילי (אדום), ונייטרלי (כחול).

 

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

אבל איך בודקים את איכות התוצאות?  image captioning

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

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

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

וכך נוצר לו דאטה מתוייג של כשני מיליון צילומי רנטגן (רובם זוגות של צילום קדמי עם צילום-צד), מאגר נתונים גדול כמעט פי 10 ממה שקיים בחוץ [2], ועם הרבה יותר סוגי ממצאים מתוייגים ממה שאי-פעם מישהו תייג!

עם הדאטה הזה יכולנו להתחיל לאמן רשתות ניורונים שמיועדות למציאת 40 ממצאים שונים ברנטגן-חזה. את התוצאות ההתחלתיות של הפרוייקט הזה פרסמנו לפני כמה חודשים במסגרת כנס MICCAI (הכנס המוביל לניתוח צילומים רפואיים). גילינו לא מעט דברים מעניינים שם (ממליץ לקרוא את המאמר שלנו [1] או את הפוסט המסכם באתר זברה), למשל איזה ממצאים קשים יותר לזיהוי, אלו פחות, ובאילו מקרים צילום הצד עוזר.

https://arxiv.org/abs/1806.02121

צילומי רנטגן חזה, קדמי וצדדי, נכנסים לרשת ניורונים שממירה (כל צילום בנפרד) ל-1024 מספרים (ביחד 2048).  מוקטור הפיצ'רים הזה הרשת מחשבת בצעד הבא לכל ממצא את הסבירות שהוא קיים. הלייבלים לאימון ("האמת") חולצו מניתוח המשפטים החיוביים (באדום). כל ממצא חיובי שהוזכר בריפורט של הצילומים מקבל לייבל "חיובי". כל ממצא שלא הוזכר נחשב כ"שלילי". מקור: מאמר textray.

 

לחבק את הרעש

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

עם זאת, כאמור, גם הרדיולוגים "שלנו" שוגים. ל-12 ממצאים עשינו בדיקה מעמיקה יותר: לקחנו אוסף צילומים (שלא התאמנו עליהם) ונתנו לשלושה רדיולוגים להחליט אם יש או אין ממצא (לכל ממצא שלישייה אחרת). ככה יכולנו למדוד את ההסכמה בין הרדיולוגים. הטבלה הבאה מסכמת כמה הסכמה היתה בין כל זוג רדיולוגיים, ובין הזוגות בממוצע:

agreements

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

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

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

מבחן הפסקת הקפה

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

 

Image result for doctors at a coffee break

רדיולוגית בהפסקת קפה [אילוסטרציה]

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

בואו לעבוד איתי

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

לקריאה נוספת:

[1] Laserson et al. TextRay: Mining Clinical Reports to Gain a Broad Understanding of Chest X-ray. MICCAI 2018 [arxiv] [link]

[2] Wang et al. Database and Benchmarks on Weakly-Supervised Classification and Localization of Common Thorax Diseases. CVPR 2017. [NIH Chest C-ray dataset]

[3] Rolnick et al. Deep Learning is Robust to Massive Label Noise [arxiv]

כלי תיוג-הטקסט LightTag, מציין את TextRay כמקרה דוגמה:

[4] Tal Perry. Embrace The Noise: A Case Study Of Text Annotation For Medical Imaging. [LightTag blog post]

עבודות דומות:

[5] Rajpurkar et al. CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning.  [arxiv]

[6] Ptha et al. Can Artificial Intelligence Reliably Report Chest X-Rays?: Radiologist Validation of an Algorithm trained on 1.2 Million X-Rays [arxiv]

מודעות פרסומת
פורסם בקטגוריה deep learning, medical | עם התגים , , | כתיבת תגובה

סער וילף ושיטות החשיבה הרציונלית

העולם הזדעזע ב-4 באפריל 2017, כשהגיעו התמונות מסוריה – ההתקפה החמורה ביותר בנשק כימי כנגד אזרחים מזה שנים. כמעט 100 אנשים נהרגו – הרבה מהם ילדים – והעולם האשים כמעט פה אחד את בשאר אסאד וצבא סוריה, כולל ארה"ב ורוב כלי התקשורת (גם הישראלית). הופתעתי, לכן, כשהגיע לעיני ניתוח שאמר משהו אחר. הניתוח של אתר rootclaim, מכונת ההסקה ההסתברותית של הסטארט-אפ בבעלותו של סער וילף, נתן סבירות של 59% לכך שההתקפה היתה התקפה מכוונת של כוחות האופוזיציה כנגד אזרחים (False Flag). הרי בעיני רוב אזרחי המערב, הצבא הסורי שניהל מלחמה נגד אזרחיו נתפס כרע בסיפור, ו"המורדים" היו "הטובים". יכול להיות שהאמת הפוכה לגמרי?  המשכתי לעקוב אחרי הסיפור, ובינתיים נוספו עוד עדויות והסבירות עלתה ל-78%. מכונת ההסקה עבדה שעות נוספות ועדכנה את הערכותיה.  זה נראה מעניין.  ההערכה המשיכה לעלות ובגרסה האחרונה התייצבה על 87%.

Screenshot from 2017-10-29 09-56-54

מתוך האתר של רוטקליים

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

"אנשים אינטליגנטים ורציונלים, שמסתכלים על אותו מידע מגיעים למסקנות הפוכות לחלוטין, וכל אחד משוכנע בוודאות גמורה שהמסקנה שלו נכונה…זה לא אמור לקרות במערכת שמסיקה מסקנות בצורה מכוילת. למעשה, כל אחד מאתנו מחזיק במספר לא קטן של אמונות על העולם, שהוא בטוח שהן נכונות…(ו)הן לא נכונות. מוזר שזה קורה, והשאלה היא למה. (התשובה היא ש)יש לנו במוח כמה באגים קשים, שלא מאפשרים לנו להתמודד עם מורכבות ואי־ודאות…אני טוען שאפשר בכלים מתודולוגיים מחקריים שקיימים כיום להזיז את האנושות מהחלטות שעל גבול הרעש ל–90% של ודאות. זה ישפר את המצב ויקטין את הטעויות. ברוטקליים אנחנו אוהבים להשתמש במונח המוכר Less Wrong."

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

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

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

מי אחראי להתקפה בחאן שייחון?

המודל בוחן שלוש השערות (נסמן את המשתנה האקראי של ההשערה ב-H):
H=1: כוחות האופוזיציה
H=2: הצבא הסורי
H=3: הצבא הסורי התקיף בטעות מצבור כימי של כוחות האופוזיציה.

בהנחה שאלו שלוש האפשרויות היחידות, אנחנו רוצים לחשב את ההסתברות של כל השערה בהינתן הראיות. בכתיב מתמטי: (P(H | evidence.

כדי לעשות זאת משתמשים בכלל Bayes ומחלקים את החישוב לשניים:
(P(H – הפריור על ההשערות השונות: מה הסיכוי שאנחנו נותנים לכל אחת, לפני שבכלל ראינו את הראיות.
(P(evidence | H – מה הסיכוי שהתקבלו הראיות שברשותינו בהינתן כל אחת משלוש ההשערות.

לכל היפותיזה h מבין ה-3 מחשבים את המכפלה (P(h) P(evidence | h ומנרמלים את שלוש התוצאות כך שסכומן יוצא 1. זוהי ההתפלגות המבוקשת.

בחישוב עצמו, האתר נתן סיכוי של 87% להשערה 1 (כוחות האופוזיציה), 12% להשערה 2 (הצבא הסורי), וכאחוז בודד להשערה 3 (התקפה לא מכוונת של הצבא הסורי).  כאמור, זה מפתיע.  מה הם, אם כן, הגורמים המשפיעים ביותר על המסקנה של רוטקליים?

האתר מצהיר שהגורם המשפיע ביותר על המסקנות הוא… הפריור, שנתן 78% להשערה 1, ו-11% לכל אחת משתי האחרות. כלומר הגורם המשפיע ביותר על מסקנות הניתוח הוא זה שהבאנו מהבית – זה אומר שמלכתחילה כששמענו לראשונה על ההתקפה הכימית היינו צריכים להניח מיד שאלו כוחות האופוזיציה ולא הצבא הסורי. זה מוזר, לא?  הרי התפיסה המערבית היא שכוחות הצבא הסורי הם "הרעים", וכוחות האופוזיציה הם "הטובים".  אז איך זה שהפריור שלהם חושב הפוך מהפריור הציבורי?

Screenshot from 2017-10-29 10-36-42

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

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

את חישוב הסיכוי להתקפה לא מכוונת על מצבור כימי של כוחות אופוזיציה (השערה 3) הם עושים באמצעות הערכה של 4 כמויות:
אחוז היעדים הצבאיים שמופגז על ידי הצבא הסורי במהלך שנה: 5%
מספר האתרים הצבאיים שבהם לכוחות האופוזיציה יש חומרים כימיים: 6
הסיכוי שאתר צבאי כזה נמצא קרוב לאזרחים: 70%
הסיכוי שהפצצה של חומרים כימיים תהיה קטלנית: 10%.

מכפילים הכל ביחד וזה יוצא 2.1%. כאמור הסיכוי להתקפה מכוונת היה שישית (16.6%) אז ההסתברות המנורמלת להשערה 3 יוצאת (16.6 + 2.1) / 2.1 = 11%, ונשארו 89% לחלוקה בין השערות 1 ו-2.

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

הלאה. נטפל כעת ב-89% שניתנו לכך שההתקפה היא מכוונת (השערות 1 ו-2), והשאלה היא כעת מיהו המתקיף.  גם פה יש פריור בתוך הפריור. כאמור היתה התקפה כימית מכוונת אחת על אזרחים בכל שש השנים של מלחמת האזרחים (באוגוסט 2013). גם בה זהות המתקיף היתה שנוייה במחלוקת. אך רוטקליים עשו גם עליה ניתוח הסתברותי ויצא להם שכוחות האופוזיציה אשמים בסבירות של 93% והצבא הסורי בסבירות 1.4%.  כלומר כדי להאמין לפריור של רוטקליים שהוא העדות המרשיעה ביותר ברשותם שהאופוזיציה היא המתקיפה, אנחנו צריכים לסמוך על המסקנות של רוטקליים מהניתוח הקודם שהאשים את האופוזיציה. חשיבה הסתברותית היא עסק מסובך.

אז אם כך מה הסיכוי שגם ההתקפה המכוונת השנייה היא של האופוזיציה? אם היינו משתמשים באותם העקרונות של הפסקה למעלה היינו צריכים לומר 98.5% = (0.93 + 0.014) / 0.93.  אבל פה דווקא מי שערכו את החישוב הרגישו לא בנוח להעניק סיכוי כה נמוך לצבא הסורי אז הם הוסיפו קבוע פיקטיבי (smoothing) של 0.5 לכל צד (למה 0.5 דווקא?  אין הסבר), וגם שיחקו קצת עם המספרים (0.93 הפך ל-0.75), והסיכוי שזה האופוזיציה ירד ל- 71.4% = (1.25 + 0.5) / 1.25.  

מכאן הם עוברים לעוד כל מיני שיקולים, שלא משפיעים על ההתפלגות כי הם "מקזזים אחד את השני", ולבסוף מפחיתים פי 3 את הסיכוי שזה הצבא, כי אם זה הוא זה אומר שסוריה לא השמידה את כלי הנשק הכימיים שהצהירה שהשמידה וגם שישראל או נאטו לא עלו על זה, שני גורמים שמפחיתים את הסיכוי שהצבא הסורי הוא האשם.  ושוב, כל החישובים הללו הם "חישובי מפית", עם קבועים מספריים שמונחתים עלינו מלמעלה. אחרי שעושים את זה הסיכוי שזו האופוזיציה עולה ל-88% = (1.25 + 0.5/3) / 1.25, וכאמור מדובר ב-88% מתוך 89% שניתנו להשערה 1 ו-2 יחדיו, וכך קיבלנו את התוצאה הסופית של 78% לכך שהאופוזיציה הסורית התקיפה אזרחים במתקפה כימית.

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

[מתוך האלבום "מדריך הראפ לתודעה" של באבא ברינקמן]

תהליך הוגן יותר

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

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

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

According to the report, the JIM leadership panel concluded the Syrian military was behind the sarin attack based on the following “sufficient, credible and reliable evidence”:
—Aircraft dropped munitions over Khan Sheikhoun between 6:30 a.m. and 7 a.m. on April 4
—Syrian aircraft were “in the immediate vicinity” at that time.
—The crater was created that morning.
—The crater “was caused by the impact of an aerial bomb traveling at high velocity.”
—The number of people affected and the presence of sarin at the crater 10 days later “indicate that a large amount of sarin was likely released, which is consistent with it being dispersed via a chemical aerial bomb.”
—The symptoms of victims, their treatment and the scale of the incident “are consistent with a large-scale intoxication of sarin.”
—Sarin samples from Khan Sheikhoun were “most likely” made with a precursor chemical that was from “the original stockpile of the Syrian Arab Republic.”

איזה ניתוח נראה לכם יותר משכנע?  ההסתברות של רוטקליים בינתיים נותרה על כנה.  עדכון (20.11.2017): בעקבות ממצאי הדו"ח רוט-קליים עדכנו את ההסתברויות וכעת ההסתברות לכך שההפגזה הכימית היתה התקפה מכוונת של כוחות האופוזיציה עלתה ל-96.8%.

וויקיפדיה הסתברותית

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

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

Image result for harry potter and the methods of rationality

הארי פוטר ושיטות החשיבה הרציונלית

לקהילת Less Wrong התוודעתי אליה לראשונה כשקראתי (יותר נכון הקשבתי בפודקאסט) לפאן פיקשין "הארי פוטר ושיטות החשיבה הרציונלית", שכתב אליעזר יודקובסקי, איש מדעי המחשב, ומייסד הקהילה. דרך הספר מבקש יודקובסקי לספר לנו על נפלאות החשיבה הרציונלית. בספר מתואר סיפורו של הארי פוטר, תחת הנחה אחת שונה – הוריו המאמצים (והאוהבים) של הארי היו מדענים ולכן הארי חונך להיות אמון על המתודה המדעית. כשהוא נחשף לכשף בפעם הראשונה (רואה את פרופ' מקגונגל הופכת לחתול) הוא כמעט חוטף שוק, אבל אחרי כמה זמן מתעשת והסקרנות מביאה אותו להוגוורטס.  כשהוא רואה כמה נבערים הם התלמידים והפרופסורים בכל הקשור למדע, הוא מבין את הפוטנציאל הגלום בו – היכולת להפעיל את השיטה המדעית על עולם הכשף ובכך לשלוט עליו ולשכלל אותו אף יותר (מה ששם אותו במסלול להיהפך להיות Dark Lord). הארי פוטר של יודקובסקי מגיע לבית רייבנקלואו, נמצא בתחרות בלתי נגמרת עם הרמיוני, מתעלם מרון הטיפש ונכנס לידידות אמיצה עם דראקו מאלפוי שאיתו הוא מייסד את "הקנונייה הבייסיאנית". הוא בז למשחק הקווידיץ', ומשתמש בקמע החזרה-בזמן כדי לפתור בעיות NP-קשות.  הספר מהנה לקריאה, ודי מומלץ, לפחות בחלקו הראשון (לקראת האמצע הוא התחיל לייגע).

 

 

 

פורסם בקטגוריה Uncategorized | 5 תגובות

העוגה והדובדבן – ללמוד לפעול באמצעות חיזוי העתיד

השבוע חברת DeepMind (מבית גוגל) סגרה מעגל אחרי שהשחקן הממוחשב אלפא-גו הביס את אלוף העולם בגו 3-0. המשחק העתיק גו הוא האוורסט של המשחקים, משחק מורכב ביותר ששחקנים אנושיים שמשחקים בו מסבירים את מהלכיהם כנובעים מ"אינטואיציה" ולא מאנליזה מדוייקת. שיטות קודמות של AI (למשל זו שניצחה את קספרוב בשחמט) לא היו מורכבות מספיק בשביל לנצח בני אדם בגו. נדרשה לשם כך רשת ניורונים, "אינטואיציה" מלאכותית אם תרצו. אחרי הניצחון השבוע דיפ מיינד הודיעו שהם מוציאים את אלפא גו לגמלאות – המשימה הושלמה.  זהו, אין יותר מה לעשות איתו.

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

go_lee_sedol

לי סדול, משחקני הגו המובילים בעולם, לפני התבוסה לאלפא-גו במרץ 2016. צילום רפרודוקציה: יונתן לזרסון

אלפא-גו אומן לעשות דבר אחד, והוא – לנצח בגו. הבעייה שהמתכנתים של אלפא-גו התמודדו איתה היא הבעייה המרכזית בתחום שנקרא  Reinforcement Learning (או RL).  בכל שלב במשחק, כשמגיע תורו של אלפא-גו, הוא צריך לבצע הכרעה בין מספר סופי של אפשרויות (בעיקר איפה לשים את האבן שלו על הלוח).  הצרה היא שאחרי שאלפא-גו שם את האבן שלו במקום כלשהו על הלוח, למתכנתים אין מושג אם זו היתה החלטה טובה.  בשביל לדעת אם זו היתה החלטה טובה הם צריכים לחכות עד לסוף המשחק ואז הם מקבלים בסך הכל ביט אחד של אינפורמציה – 1 אם אלפא-גו ניצח, ו-0 אם הפסיד.  הביט הזה, כשהוא 1, אומר לאלפא-גו 'קבל ח"ח', אבל לא מפרט אלו מההחלטות שאלפא-גו קיבל במהלך הדרך היו החלטות חשובות שתרמו לניצחונו.

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

זו מציאות הרבה יותר מאתגרת מהמציאות שבדרך-כלל אנחנו מתמקדים בה בבינה מלאכותית, שנקראת Supervised Learning (או SL). בסיווג תמונה, למשל, כשאנחנו מבקשים מהמחשב להסתכל על תמונה ולומר מה יש בה (למשל הסיכוי שמופיע בה כלב והסיכוי שמופיע בה חתול), המחשב פולט את תשובתו (נגיד 90% חתול ו-10% כלב) ומיד אנחנו יודעים כמה קרוב הוא היה לתשובה הנכונה (100% חתול). במקרה של רשת ניורונים, זו בדיוק הנקודה שבה אנחנו מחשבים את הנגזרת על הפרמטרים של המודל ומעדכנים אותם כך שבפעם הבאה המחשב ייתן תשובה עוד יותר מדוייקת (אולי 94% חתול ו-6% כלב).  

במילים אחרות, עברנו ממצב שיש לנו ביט "אמת" על כל הכרעה (כלב או חתול), לביט "אמת" על כל סדרה של הכרעות (ניצחתי או הפסדתי במשחק). במעבר הזה מ-SL ל-RL הגענו למציאות שדלילה באינפורמציה.

כדי לפצות על דלילות האינפורמציה הזו, אנחנו נאלצים ללקט אותה באמצעות הרבה משחקים, ולכן אין פלא שכמעט כל העבודות שנעשות היום על Reinforecment Learning עושות זאת בתחום משחקי המחשב. זוכרים את כל משחקי האטארי ששיחקנו פעם? הם זוכים לעדנה מחודשת כחומר גלם לאימון אלגוריתמים.  DeepMind בנו תשתית שמאפשרת למחשב לשחק בהם בקצב מואץ של מליוני פעמים ביום(!), ובצורה כזו הם מאמנים אותו עד שהוא מגיע לרמה על-אנושית (במקרה של גו אלפא-גו שיחק נגד עצמו). חברת OpenAI אף הגדילה לעשות והקימה "חדר כושר" הפתוח לכלל ציבור השחקנים הממוחשבים.

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

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

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

עשינו פה בעצם טריק שבו השתמשנו בדאטה שלנו (המידע החושי שמגיע כל רגע) להיות ה"אמת" של עצמו. כל רגע הוא מטרת החיזוי של הרגע הקודם. אנחנו גם לא צריכים לעבוד עכשיו קשה ולתייג מיליוני תמונות. עברנו מסביבה של Supervised Learning לסביבה עשירה באינפורמציה של Predictive Learning (או Unsupervised Learning).  ככה המוח מצליח לקבל מספיק אינפורמציה כדי לבנות מודל כללי של "איך העולם עובד".  עם המודל הכללי הזה אנחנו מסוגלים לאפיין הרבה בעיות קטנות וממוקדות יותר ולגשת אליהן כשכעת אנחנו זקוקים להרבה פחות אינפורמציה נוספת (כמו ב-SL ו-RL) כדי להתמקצע בהן, משום שאת ה-heavy lifting כבר עשינו במידול הכללי של העולם.

לכן אלגוריתם הלמידה האולטימטיבי הוא אלגוריתם שיצליח להשתמש בכל רבדי האינפורמציה השונים.  יאן לקון (Yann Lecun), אחד מהאבות המייסדים של רשתות הניורונים של היום, ממשיל את תהליך הלימוד בבינה מלאכותית לעוגת קצפת. העוגה עצמה היא ה-Predictive Learning, שבה האלגוריתם מתכוונן על סמך מיליוני ביטים לכל דוגמית קלט. מעליה יש את הקצפת, ה-Supervised Learning, שבה בני אדם מוסיפים עוד כמה עשרות ביטים של "אינפורמציה חיצונית" לכל דוגמית, ומעל יש את הדובדבן שבקצפת, הוא ה-Reinforcement Learning, שבו ביטים בודדים שניתנים מדי פעם כ"חיזוק חיובי" הם כל מה שמכוון את האלגוריתם. "אנחנו יודעים להכין את הקצפת ואת הדובדבן", אומר לקון, "אבל עדיין לא יודעים איך להכין את העוגה".

נסיון לחזות את הפריימים הבאים.

מודל שחוזה פריימים עתידיים (משמאל, החל מפריים 11). עדיין בחיתוליו. מקור: הונגלאק לי

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

דום

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

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

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

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

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

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

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

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

ביצועים של שלושה שחקנים ממוחשבים במגוון מטרות

ביצועים של שלושה שחקנים ממוחשבים במגוון מטרות. המספריים שבסוגריים מייצגים את משקלות המדדים (הריגות, בריאות, תחמושת). השחקן בטור (a) אומן באמצעות מטרה קבועה (1, 0.5, 0.5). השחקנים ב-(b) ו-(c) אומנו עם מטרות אקראיות מתחלפות (ב-b משקלות חיוביים בלבד וב-c איפשרו גם שליליים). ירוק: ביצועי המנצח בתחרות ה"פציפיסטית". צהוב: ביצועי שחקן (b) על מטרה (1, 0.5, 0.5) טובים כמו אלו של (a) שהתאמן רק עליה. מקור: קולטון ודוסוביצקי, המירקורים שלי.

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

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

לקריאה נוספת:

[1] Alexey Dosovitskiy and Vladlen Koltun. Learning to Act by Predicting the Future. ICLR 2017.

[2] Mnih et. al. Playing Atari with Deep Reinforcement Learning. Deep Mind, 2013.

[3] פוסט של אנדריי קארפאתי על למידת חיזוקים: Deep Reinforcement Learning: Pong from Pixels.

[4] פוסט נוסף של קארפאתי על אלפא-גו, ולמה האלגוריתם בבסיסו לא יעזור לנו לבנות רובוט AI.

[5] Ruben Villegas, Honglack Lee et. al. Learning to Generate Long-term Future via Hierarchical Prediction. ICML 2017.

גילוי נאות: אני מכיר אישית את ולאדלן קולטון (וגם את הונגלאק לי) מסטנפורד, וקולטון אף היה המנחה שלי לסימסטר אחד או שניים.

פורסם בקטגוריה deep learning, Uncategorized | תגובה אחת

ללמוד למבחן טיורינג – על רשתות ניורונים יצירתיות

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

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

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

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

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

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

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

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

וכך בעצם אנחנו יוצרים שתי רשתות. רשת "אומנית" G, שמקבלת וקטור השראה z, ומייצרת ממנו תמונה. ורשת "מבקר אומנות" D, שמקבלת תמונה x ונותנת לה ציון בין 0 ל-1 שקובע עד כמה היא חושבת שהתמונה אמיתית:  מספר קרוב ל-1 אומר שהרשת די בטוחה שהתמונה הגיעה ממצבור התמונות שלנו, ומספר קרוב ל-0 אומר שהרשת חושבת שהתמונה נוצרה על ידי G.  הרשת D למעשה שופטת את G בסוג של מבחן טיורינג:  אם G מצליחה להוליך שולל את D, כלומר D מוציאה ציונים דומים עבור תמונות מזוייפות ואמיתיות, הרי ש-G מייצרת תמונות הגיוניות למראה!

באופן מתמטי, אנחנו רוצים ש-(D(x על כל תמונה "אמיתית" x יהיה כמה שיותר גבוה, ו-((D(G(z על כל וקטור השראה z יהיה כמה שיותר נמוך.  אולם, בניגוד ל-D, הרשת G רוצה ש-((D(G(z יהיה כמה שיותר גבוה על כל וקטור השראה z.  באופן פורמלי, פונקציית המטרה של הרשת, נראית כך:

Screenshot from 2016-08-21 00:51:53

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

lsun_bedrooms_five_epoch_samples

תמונות של חדרי שינה שנוצרו על ידי רשת ניורונים יצירתית. מבולבלים? מקור: A. Radford

לאופרציה הזו קוראים [Generative Adversarial Training [1, או בקיצור GAN, וכיום היא נראית כשיטה המבטיחה ליצירת תמונות הגיוניות למראה. התמונות שלמעלה התקבלו אחרי שאימנו את שתי הרשתות על אוסף תמונות חדרי שינה שנלקח מאתרים של בתי מלון.  כל תמונה של חדר שינה התקבלה מוקטור השראה z אחר.

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

lsun_bedrooms_five_epochs_interps

כל שורה היא טיול על הקו במחבר בין שני חדרי שינה במימד ההשראה. מקור: A. Radford

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

gans-2-6345b04cb02f720a95ea4cb9483e2fd5a5f6e46ec6ea5bbefadf002a010cda82

תמונות שנוצרו על ידי רשת ניורונים שהתאמנה על ImageNet. מקור: OpenAI


בעיות צביעה

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

Screenshot from 2016-08-21 23:47:52

צביעה אוטומטית משחור-לבן באמצעות רשת ניורונים. מקור: ריצ'רד זאנג. צילום: אנסל אדמס.

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

באיזו צבע החולצה?

צביעה אוטומטית באמצעות רשת ניורונים. באיזו צבע החולצה? מקור: ריצ'רד זאנג. צילום: דורותי לאנג.

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


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

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

13768366_1401936413155081_596741931_n

מקור: dustinteractive.com

עדכון [30.12.2016]:

המגזין טיים פרסם השבוע אוסף של תמונות מפורסמות שנצבעו על ידי אומני צביעה (אנושיים). התמונה של האישה למעלה מופיעה בינהן:

1936_lange_migrantmother-color

מתוך http://time.com/4028250/100-influential-photos-colorized/

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

לקריאה נוספת

[1] המאמר המקורי:  Generative Adversarial Networks. Ian J. Goodfellow, Yoshua Bengio et. al. NIPS 2014.

[2] שכלול GAN לתמונותUnsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. Alec Radford et. al. 2015

[3] פוסט בבלוג של OpenAI על רשתות ניורונים יצירתיות. אנדריי קארפאתי וחברים.

[4] צביעה אוטומטית של תמונות שחור-לבןColorful Image Colorization. Richard Zhang et al. ECCV 2016

פורסם בקטגוריה deep learning | 7 תגובות

הרצאה

מי שרוצה לראות אותי מרצה בלייב על Deep Learning מוזמן להגיע מחר, 20.6, לפאב מ.א.ש (אלנבי 38 תל אביב) בשעה 1930 (ההרצאה מתחילה ב-20). ההרצאה מיועדת לקהל הרחב, ללא תשלום.

פורסם בקטגוריה Uncategorized | כתיבת תגובה

הרצאת מבוא על למידה עמוקה

לפני כשבוע וחצי נתתי הרצאה על Deep Learning למהנדסים ב-meetup בשם "המהנדס הגנרליסט" שאורגן על-ידי חברת Twiggle. אתם מוזמנים לצפות ולהפיץ. את הזקן כבר גילחתי מאז…

חלק ראשון:

חלק שני:

 

פורסם בקטגוריה deep learning, machine learning, קוגניציה | 4 תגובות

איך קראתי את המחקר של דפנה יואל והגעתי למסקנות הפוכות

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

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

אבל למי שמתעסק ב-machine learning, אלו לא חדשות, זוהי ברירת המחדל. הגישות שניסו לגרום למחשב להבדיל בין עצמים שונים באמצעות איתור של פיצ'רים יחודיים נחלו כשלון חרוץ, משום שבמציאות לכל כלל יש יוצא מן הכלל (ואיברי הרבייה בגוף האדם היא דוגמה ליוצא מן הכלל שכזה). פריצת הדרך הגיעה מזניחת הכיוון הזה ומשימוש בשיטות הסתברותיות/סטטיסטיות שמשקללות כמות נכבדה של פיצ'רים "רכים" שאף אחד מהם לא טוב מספיק בפני עצמו. כך למשל, כשמחשב מסתכל על פיקסלים של תמונה ומנסה לקבוע אם יש בה כלב או חתול, הוא רואה "פסיפס ייחודי של מאפיינים", חלקם נפוצים יותר בחתולים, וחלקם נפוצים יותר בכלבים, ושקלולם מאפשר לו להבדיל בין כלבים וחתולים בדיוק מרשים. האם זה אומר שאפשר להכריז "אין דבר כזה גוף של חתול או גוף של כלב"?

יתרה מכך, ד"ר יואל מוצאת במחקרה שהפיצ'רים הללו הם בלתי-תלויים:

"Our results demonstrate that even when analyses are restricted to a small number of brain regions (or connections) showing the largest sex/gender differences, internal consistency is rare and is much less common than substantial variability."

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

אז למה מתכוונת פרופ' יואל כשהיא אומרת ש"אין דבר כזה מוח נשי או גברי"?

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

"Our conclusion that substantial variability is much more common than internal consistency in the human brain may have implications for current theories of the sexual differentiation of the brain and, in particular, for the classic view that the female brain is the default pathway and the male brain is a differentiation away from that default."

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

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

Screenshot from 2016-01-04 14:28:28

ההתפלגות של "החומר האפור" אצל נשים (באדום) וגברים (בירוק) בשני איברים שונים במוח. מתוך המאמר של דפנה יואל.

 

לקריאה נוספת:

[1] Sex beyond the genitalia: The human brain mosaic. Daphna Joel et. al. PNAS 2015 [link]

 

פורסם בקטגוריה machine learning | 3 תגובות