כלל בייס בפרסום

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

הבלוג תודעה כוזבת מסכם זאת יפה:

קופ”ח אחוז המבוטחים (נתוני בט”ל 2009) אחוז המבוטחים המרוצים (סקר 2010) אחוז המרוצים מכלל האוכלוסיה אחוז המרוצים בכל קופ”ח מתוך כלל המרוצים
כללית 52.4 88 46 51
מכבי 24.8 93 23 25.5
מאוחדת 13.6 92 12.5 14
לאומית 9.2 91 8.5 9.5

אז לא.  אם אתה מרוצים כנראה (51 אחוז סיכוי) שאתם בכללית.  ואם אתם לא מרוצים גם אז אתם כנראה בכללית.

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

P(K=k | M=1) = P(M=1 | K=k) * P(K=k) / P(M=1)

כאשר k מייצג זהות של קופת חולים ספציפית.  כלומר הנתון שחסר לנו הוא (P(K=k לכל k.  טריק ידוע בחישוב מסוג זה הוא שאת ההסתברות (P(M=1 אין צורך לחשב, משום שמדובר באיבר שאינו תלוי ב-k.  לכן מה שעושים זה שמחשבים את (P(M=1 | K=k)* P(K=k  לכל ערך של k (זה מה שעשה שחר בטור השלישי בטבלה), ואז מנרמלים את ארבעת המספרים שיצאו כך שסכומם יצא 1 (הטור הרביעי, באחוזים).

החלק (P(K=k נקרא ה"פריור".  זה אחוז האנשים מכלל האוכלוסייה שנמצאים בכל קופה.  זה גם הניחוש הכי טוב שלנו לשאלה "איך מתפלגות קופות החולים שאליהן שייכים המרוצים" אילולא היו לנו הנתונים הנוספים שהגיעו מסקר שביעות הרצון.

***

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

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

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

בואו נבדוק.

P(A=1 | T = 1) = P(T=1 | A=1) P(A = 1)  / P(T=1) = 0.99 * 0.001 / P(T=1)
P(A=0 | T = 1) = P(T=1 | A=0) P(A = 0)  / P(T=1) = 0.01 * 0.999 / P(T=1)

נתעלם מ-(P(T=1 וננרמל את התוצאות הנ"ל כך שסכומן יצא 1:

P(A=1 | T = 1) = 0.00099 / (0.00099 +  0.00999) = 9%

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

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

בקרוב: מודלים גרפים הסתברותיים – חינם לכל העולם

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

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

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

ג'ון מקארת'י והמבנה של מהפכות מדעיות

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

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

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

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

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

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

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

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

קורס ה-Machine Learning של סטנפורד, חי לכל העולם

אנדרו אנג (Andrew Ng) מעביר את קורס ה-Machine Learning השנתי שלו בפורמט נסיוני שבו כל המעוניין יוכל להשתתף, לשאול שאלות, להכין שיעורי בית, ולקבל (סוג של) פידבק. בין השאר, הוא מבטיח לכסות Deep Learning.

http://ml-class.org/

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

ראיון עם ג'ף הוקינס, מחבר "על התבונה"

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

אחרי הוקינס אני עוקב כבר כמה שנים, מאז שקראתי את סיפרו, 'על התבונה' (On Intelligence), ממש לפני שהתחלתי את הדוקטורט.  הוקינס מצביע על שני עקרונות מנחים בניאוקורטקס, חיזוי רצפים ומבנה היררכי, ומעלה נימוקים משכנעים שאפשר להשתמש בעקרונות אלו כדי לבנות מכונות נבונות.  הספר, שיצא ב-2004, זכה לתהודה רבה, ומצא את דרכו למדפי הספרים של פרופסורים רבים לבינה מלאכותית.  אנדרו אנג, פרופסור ידוע לבינה מלאכותית (וממנהיגי גישת ה-Deep Learning), הודה בפני שהוא קונה ארגזים של הספר הזה ומחלק עותקים שלו לדוקטורנטים חדשים.  "זה ספר מעורר השראה ברמות".

On Intelligence. מעורר השראה ברמות.

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

 “It was like running into a brick wall.  MIT was the mother-ship of AI…To these scientists, vision, language, robotics and mathematics were just programming problems…Studying brains would limit your thinking…They didn’t believe that you needed to study real brains to understand intelligence and build intelligent machines”.

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

במשך כל התקופה הזו, הוא טוען, האובססיה שלו ללמוד את המוח נותרה על כנה, ואחרי שעשה את הונו, החליט להפנות אותו ואת מרצו בחזרה על משוא תשוקתו –  להבין כיצד המוח מעבד אינפורמציה, ולבנות מכונה שתפעל לפי אותם העקרונות. ב-2002 הוא הקים את ה-Redwood Neuroscience Institute בברקלי שמארח חוקרים רבים וכיום מנוהל בידי חברו מיודענו ברונו אולשהאוזן.  את החברה Numenta הוא הקים ב-2005, זמן קצת לאחר פרסום "על התבונה", על מנת ליישם בפועל את הרעיונות שהעלה בספר.

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

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

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

Jeff Hawkins, something didn’t work the way you expected?

“Initially, we thought it would be 3-5 years before we had a commercial application. It took us 6 years. In January of 2011 we switched from a ‘research’ company to a ‘product’ company. After a year of experimenting with the new algorithms, a business opportunity surfaced and we decided to take it. We are working on a product now, and when it’s ready we’ll see how it works. But you all will have to wait since we’re in stealth mode.”

 Tell me about the breakthrough.

“The big advance 18 months ago is about taking temporal sequences of data and forming a stable representation for them, and then using it to make predictions. It has a tight relationship to Neuroscience. The new algorithm, which we call the Cortical Learning Algorithm (CLA), is a beautiful mesh between top-down theoretical needs and bottom-up biological detail. They both inform one another. One thing that came out of this is a very detailed model on the role of dendritic segments. Most of the computation in the neuron is in the dendrites.”

 “In thanksgiving 2009, the concepts behind CLA started. I remember this because over the holiday I read the book Dendrites. Read it cover to cover twice. I had a theory about how neurons will learn sequences and I wanted to see if it is biologically real, so this was a test for the theory. The breakthrough was that the same cells that learn to represent the input have to also learn the sequences. There aren’t any other cells – Biology tells you that. We spent a year implementing the algorithms that followed from this breakthrough, and at the end of 2010 we set out to build a business out of that, including outside funding.”

 “One exciting thing was to learn that each cell could look at a sub-sample of the cells nearby, and form connections to those that were active prior to this one becoming active. Mathematically you only need to connect to twenty or so of the active cells – that is sufficient to predict your own activity even though the overall pattern you are trying to recognize can consist of hundreds or thousands of cells.  Each cell can participate in many different patterns resulting in a distributed sequence memory. That was one key insight, and was different than what we had implemented before.”

 What was the crisis that led to the breakthrough?

“We had spent 5 years trying to figure out how to learn sequences of patterns in complex large data streams. We tried many approaches, most of them from Machine Learning. At the time, one of the co-founders of the company was Dileep George. He is more of a math guy, and would come up with mathematical techniques, but it turned out to be a really hard problem. Finding temporal structure and stable representation in a messy data-stream – that’s hard. In the fall of 2009 I said, ‘Let me go back to biology. Here is how I think neurons would do it.’”

 Isn’t it ironic? Earlier you mentioned how AI professors said that studying brains would limit your thinking. It turned out that relying on Machine Learning methods could limit your thinking.

“You have to do both. You want to understand the concepts of Machine Learning – it helped seeing why all the other techniques didn’t work. You have to have a conceptual framework of the problem you are trying to solve. Then you can look at the Neuroscience and take a guess on how to do this.”

How do you know if the changes you are making to the model are good or not?

“There are two categories for the answer – one is to look at neuroscience, and the other is methods for machine intelligence. In the Neuroscience realm there are many predictions that we can make, and those can be tested. If our theories explain a vast array of neuroscience observations then it tells us that we’re on the right track. In the Machine Learning world they don’t care about that, only how well it works on practical problems. In our case that remains to be seen. To the extent you can solve a problem that no one was able to solve before, people will take notice.”

But you are not trying to optimize any particular task?

“Is your brain optimizing a particular task? There’s something called the ‘no free lunch theorem’. It says that no one algorithm is best for everything. Generally, if you take a particular task and you put five PhDs in a room, they will come to a pretty good solution. But from a business perspective that is not a scalable solution. That is not how the brain does it. The neocortex uses a pretty generic algorithm. It’s not the best algorithm but it can solve a large class of problems up to a certain level of proficiency.”

A one-size-fits-all algorithm?

“The neocortex is like that, not necessarily the rest of the brain (for example, the retina is very specific). If you are born without sight, your visual cortex becomes sensitive to touch or sound. If I practice how to use a new tool, an area of the brain becomes dedicated to it. Today Machine Learning is not easy – it has a broken business model. You’ve got to have a bunch of Stanford graduates to solve problems. The question is if we can make it any easier.”

Do you think that the Deep Learning approach is addressing these issues?

“Conceptually it’s similar. I am happy to see the interest in Deep Learning. I was also happy to see the interest in Neural Networks, but they didn’t go far enough. They stopped too soon. The risk with Deep Learning is that they will have quick early success and then they’ll stop there, which is what happened with Neural Networks.”

They stopped too soon?

“Early neural network researchers had success on simple problems, but they didn’t continue to evolve the technology. They got hung up on doing better on very simple tasks. Clearly the brain is a neural network, right? But most artificial neural networks are not biological at all. I don’t think that approach can succeed with such simple networks. I determined very early that any brain model has to explain how the brain makes huge amounts of predictions. It requires a temporal memory that learns what follows what. It’s inherent in the brain. If a neural network has no concept of time, you will not capture a huge portion of what brains do. Most Deep Learning algorithms do not have a concept of time.

Is it more important to you to understand the brain better or to build better algorithms for AI?

“My number one has always been to understand how the brain works. I want to understand what my brain is, who I am and how my brain works. I wrote in my book about my eye opening experience reading the Scientific American article by Francis Crick in September 1979. I was 22 at the time. Crick said that we have lots of data but ‘no theoretical framework’ for understanding it. I said to myself, ‘Oh Gosh – we can do this. What else could be more interesting to work on in your life?’ It became a personal goal, and I’ve learned so much by now that I feel I’ve met that goal. There is no reason we can’t build a machine that will work like this, and that’s exciting. We can build machines that are faster and smarter than humans, and that can solve problems that we have difficulty with. I find discovery of knowledge is the most exciting thing.”

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

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

על קידוד דליל ולמה המוח חשוב

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

באביב 1958, דייויד האבל וטורסטן וויזל (David Hubel and Torsten Wiesel) עמדו אובדי עצות במעבדתם באוניברסיטת ג'ון הופקינס, מרילנד. לפניהם היה מונח חתול שהורדם מבעוד מועד, והם אימצו את שיכלם על מנת להבין מה גורם לניורונים שלו לירות. בראשו של החתול, מעל ה-Visual Cortex (איזור בעורפו של המוח), היה פעור חור ברוחב 3 מילימטרים, דרכו אלקטרודות הקליטו את הפעילות של כמה ניורונים, שהאבל ווויזל חשדו שעשויים לירות ברגע שיראו לחתול את הגירוי החזותי הנכון. לו רק ידעו מהו. במשך ימים הם הראו לחתול המסכן שלל אורים ותומים בצורות שונות, מכוונים אותם לאיזורים שונים של הרשתית, אך לא נרשמה כל תגובה. בספרם "מוח ותפיסה חזותית" האבל ווויזל חוזרים ליום המדובר ומשחזרים את מה שקרה בסופו:

"The break came one long day in which we held onto one cell for hour after hour. To find a region of retina from which our spots gave any hint of responses took many hours, but we finally found a place that gave vague hints of responses. We worked away, in shifts. Suddenly, just as we inserted one of our glass slides into the ophthalmoscope, the cell seemed to come to life and began to fire impulses like a machine gun. It took a while to discover that the firing had nothing to do with the small opaque spot – the cell was responding to the fine moving shadow cast by the edge of the glass slide as we inserted it into the slot. It took still more time and groping around to discover that the cell gave responses only when this faint line was swept slowly forward in a certain range of orientations.”

התא שגילו הוא הדוגמה הראשונה למה שהיום קרוי Orientation Selective Cell, או "תא מוכוון אוריינטציה", סוג של תא נפוץ מאוד בשכבה הראשונה ב-Visual Cortex. תאים מסוג זה יורים כאשר הם קולטים באיזור מסויים ברשתית קו בזווית מסויימת.

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

כדי לענות על שאלה זו, ברונו אולשהאוזן ודייויד פילד (Bruno Olshausen and David Field), שהיו אז חוקרים באוניברסיטת קורנל, החליטו למדל את הבעייה באופן מתמטי. הם אספו תמונות מ"סצנות טבעיות" (עצים, אגמים, עלים וכדומה), ויצרו בסיס נתונים שכלל אלפי "טלאים" שהם חילצו מהתמונה, כאשר כל טלאי הוא חלון בגודל 16 על 16 פיקסלים ונלקח ממקום אקראי מאחת התמונות. כדי לפשט את הדברים, הם השתמשו בגווני אפור בלבד עבור התמונות. כעת הם שאלו את השאלה הבאה: "נניח שמטרתנו היא להיות מסוגלים לבנות העתק של כל אחד מאלפי הטלאים שאספנו, אבל כל מה שמותר לנו להשתמש בו זה סט של 400 שקפים, כל אחד בגודל 16×16. מותר לנו לשים שקפים אחד על השני כדי ליצור קירוב לכל טלאי, אבל אסור להוסיף שום דבר אחר, מותר רק לשחק עם השקפים (מתמטית, הכוונה היא שהטלאי צריך להיות צירוף ליניארי של שקפים). לו היינו צריכים לבחור את סט 400 השקפים האופטימלי, אילו שקפים היינו בוחרים?"

מאחר שהמטרה היא ליצור טלאים בגודל 16×16 ומותר לנו לבחור 400 שקפים, יש תשובה אחת מאוד פשוטה לשאלה – בכל טלאי יש 256 פיקסלים? נמספר את מיקומיהם במספרים 1 עד 256. כעת נקצה שקף אחד לכל מיקום, כשבשקף מופיע פיקסל שחור בודד במיקום זה. כך, בשקף מספר 1 יופיע פיקסל אחד במיקום מספר 1 (והיתר שקוף), בשקף 2 יופיע פיקסל בודד במיקום מספר 2 וכן הלאה (144 שקפים יישארו ריקים). כעת, כשנקבל טלאי, נוכל לבנות לו העתק מדוייק אם נערום אחד על השני את כל השקפים שמתאימים למיקום הפיקסלים השחורים בטלאי.

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

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

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

מתוך הרצאה של אנדרו אנג ב-ECCV על Sparse Coding

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

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

כשאולשהאוזן ופילד פירסמו את מאמרם המפורסם ב-1996, מטרתם הייתה לתאר את הדרך שבה המוח עשוי לעבד אינפורמציה. הם לא שיערו שהמאמר הזה יוביל לגישה חדשה בבינה מלאכותית. ואומנם, עברו כמעט עשר שנים לפני שבקהילת הבינה המלאכותית אפילו שמו לב. אבל ב-2005 נפל דבר. אלגוריתם שהתבסס על שיטת ייצוג שכזו הצליח לנצח את כל האלגוריתמים האחרים על ה-benchmark הכי חשוב של Computer Vision באותו הזמן, ה-Caltech 101. קובץ תמונות זה הכיל תמונות מ-101 סוגים שונים של אובייקטים (כמו מטוסים, אופנועים, פילים וכו'), והאלגוריתם מבוסס-המוח הצליח לזהות נכונה את האובייקט המוצג ב-42% מהם. (האלגוריתמים של היום מצליחים לזהות נכונה כ-80% וה-benchmark הזה כבר נחשב "קל מדי", מה שמראה כמה התקדם תחום ה-Computer Vision בשנים האחרונות, אבל אז 42% היה השיא).

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

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

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

Tutorial על קידוד דליל:  http://ufldl.stanford.edu/wiki/index.php/Sparse_Coding

הרצאה של אנדרו אנג על המוח, קידוד דליל ולמידה עמוקה:
http://www.youtube.com/watch?v=ZmNOAtZIgIk

Brain and Visual Perception: The Story of a 25-Year Collaboration by David H. Hubel and Torsten N. Wiesel, Oxford University Press. 2004

B.A. Olshausen and D.J. Field. Emergence of Simple-Cell Receptive Field Properties by Learning a Sparse Code for Natural Images. Nature, 381: 607-609, 1996.

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

המכונית-ללא-נהג של גוגל

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

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

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

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

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

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

עדכון: גילית את ההרצאה הזאת מ-TED שפורסמה לפני חודשיים.

http://www.ted.com/talks/lang/heb/sebastian_thrun_google_s_driverless_car.html

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