הורד את הקובץ (mp3) | קרא
הרשמה לפודקאסט: רשימת תפוצה במייל | iTunes | אפליקציית 'עושים היסטוריה' לאנדרואיד | RSS Link | פייסבוק | טוויטר
האם ניתן ללמד מחשב…ללמוד?
צמד המילים 'למידה עמוקה' מלווה כמעט כל פריצת דרך טכנולוגית בשלוש השנים האחרונות – מטכנולוגיית זיהוי הפרצופים של פייסבוק ועד המכונית האוטונומית של גוגל. בפרק זה נשמע על ההיסטוריה של רשתות נוירונים מלאכותיים, ונבין את העקרונות שמאחורי למידה עמוקה.
למידה עמוקה (Deep Learning) – המחשב והמוח
כתב: רן לוי
ניסיתם פעם ללמד את הילד שלכם לרכוב על אופניים? אם כן, אז אתם ודאי יודעים שמדובר במשימה מתסכלת ביותר. יש לי שלושה ילדים, ואני מחשיב את עצמי כמומחה בעל שם בכל השיטות המסורתיות ללימוד רכיבה על אופניים: שיטת ה'ריצה עם מקל מטאטא', שיטת 'משוך בחבל עד שהילד מתרסק', ושיטת 'מחיאות כפיים וקריאות עידוד מרחוק כי אבא באפיסת כוחות.' שימו לב ששאלתי במפורש אם ניסיתם ללמד את 'הילד שלכם' – כי השיטה היחידה שעובדת, מניסיוני, היא שיטת 'תן לשכן ללמד את הילד.' השכן יגיע, ייתן לילד טפיחה ידידותית על השכם ויגיד לו – 'קדימה, סע.' בעוד שלאבא אפשר לקטר ולהתלונן, לשכן, אתם יודעים – לא נעים. אז הילד יישב על הכסא, ידחוף את הפדלים – וייסע. זה הכול.
מה שאני מנסה לומר הוא שאיננו מלמדים את הילדים שלנו לנסוע על האופניים. גם השכן אינו מלמד אותם. ילדים לומדים לנסוע על אופניים לבד: מקל מטאטא, חבל או מחיאות כפיים אינם מסבירים להם איך שומרים על שיווי משקל כשרוכבים במהירות על גוש מתכת עם שני גלגלי גומי: זה משהו שהמוח, בסופו של דבר, מבין לבד. הורים מנוסים יודעים שלפעמים ההפך הוא הנכון: אם אתה מחזיק את הילד ועוזר לו לשמור על שיווי משקל – אתה עשוי דווקא להפריע לו ללמוד לשמור על שיווי משקל בעצמו.
השאלה שתעמוד במרכז פרק זה היא כיצד אפשר לגרום למחשב ללמוד לבד. דהיינו, האם ניתן לתת למחשב משימה כלשהי ואת המידע הדרוש כדי לבצע אותה, והמחשב יילמד בכוחות עצמו איך לבצע אותה – באותו אופן שילד לומד לבד לרכב על אופניים?
לשאלה זו יש חשיבות מעשית אדירה. יש משימות שקל יחסית לתכנת מחשבים לבצען: למשל, כל מה שצריך לעשות כדי להשמיע שיר זה לבצע סדרה של פעולות ברורות ומוגדרות היטב כגון לפתוח את הקובץ, לקרוא את המידע האגור בתוכו ולנגן או להפסיק את ההשמעה בתגובה ללחיצת כפתור של המשתמש. אבל יש משימות מורכבות בהרבה, שעבורן קשה הרבה יותר לנסח עבור המחשב כללים ופקודות שמגדירים לו במפורש מה הוא צריך לעשות בכל רגע נתון. למשל, אם נרצה שמחשב יוכל להזריק באופן עצמאי תרופות לחולים – למשל, לאדם מבוגר שמתקשה לעשות זאת בכוחות עצמו – נצטרך לקחת בחשבון גורמים רבים שעשויים להשפיע על פעילות המחשב. למשל: האם מצבו הרפואי של המטופל מתאים לתרופה מסוימת אבל לא לתרופה אחרת? האם משהו שאכל המטופל בארוחת הצהריים ישפיע על התגובה שלו לתרופה? אולי יש לו חבורה כואבת בזרוע וכדאי להזריק במקום אחר? האינטראקציה בין המוני הגורמים הללו מורכבת כל כך, ולכן בדרך כלל איננו מסוגלים 'להסביר' למחשב מה אנחנו מצפים שיעשה בכל רגע נתון. במקרה כזה, אין לנו ברירה אלא להשאיר את תהליך קבלת ההחלטות בידיהם של בני אדם שהוכשרו לשם כך. מחשב שיוכל ללמוד – או במילים אחרות, מחשב שיוכל לנסח בעצמו את הכללים לביצוע משימה על סמך דוגמות שיציגו בפניו – יוכל לסייע לנו באינספור תחומים שעד כה היו חסומים בפני המחשב, מרפואה ונהיגה ועד חקר החלל. לימוד באמצעות דוגמות עשוי להתאים מאוד לפתרון בעיות שקשה לפתור באמצעות הגדרת רצף של צעדים. למשל, קל להגדיר בתוכנה סדרת צעדים לפתרון משוואה מתמטית – אבל קשה הרבה יותר להגדיר סט של כללים שמאפשר לזהות פרצוף של אדם: לימוד באמצעות מתן מספר רב של דוגמאות לפרצופים אנושים שונים ומשונים עשוי להיות פיתרון נוח יותר.
המוח כמכונה
לפני שאגע בשאלה כיצד ניתן לגרום למחשב ללמוד, תרשו לי לפתוח בשאלה בסיסית אפילו יותר: האם מחשב בכלל מסוגל לחקות משהו מתוך מה שאנחנו רואים כ'מחשבה אנושית'? למשל, היכולת להסיק מסקנות, להעלות רעיונות וכו'.
הפילוסוף הצרפתי רנה דקארט (Descartes), בן המאה השבע עשרה, היה מהוגי הדעות הראשונים שניסו לעמוד על ההבדל העקרוני בין בני אדם ומכונות. דקארט טען שבאופן עקרוני, אפשר להסביר כל הבט מפעולתו של הגוף האנושי במונחים מכניים: הלב כמשאבה, הריאות כמפוח וכדומה. דהיינו, הגוף הוא מעין מכונה מתוחכמת ולא יותר. את המוח לעומת זאת, טען דקארט, אי אפשר להסביר במונחים מכניים שכאלה. המחשבה שלנו, הדיבור והיכולת להסיק מסקנות – אלו תופעות שונות כל כך מאלו שמכונות מסוגלות לבצע, עד שאי אפשר להסביר אותן במונחים הנדסיים, וחובה עלינו להשתמש במונחים כמו 'נשמה', 'שכל' או כל מונח ערטילאי דומה שנבחר בו.
המצאת המחשב בשלהי המחצית הראשונה של המאה העשרים הטילה צל כבד על השערה זו. המחשב, נזכור, הוא בבסיסו מכונה שמבצעת סדרה ארוכה של פעולות מתמטיות. המתכנת מגדיר למחשב מהו רצף הפעולות שעליו לבצע כדי לבצע משימה כלשהי – למשל, פתרון משוואה מתמטית או לצייר תמונה על המסך – והמעבד מבצע את הפקודות בזריזות. ברור שהמחשב אינו 'חושב' במובן האנושי של המילה: הוא אינו פותר את המשוואה ואינו מצייר את תמונה – הוא בסך הכל מכונה שמבצעת רצף פקודות. אבל כלפי חוץ, זה בהחלט נראה כאילו המחשב פתר את המשוואה וצייר את התמונה. אם היינו מראים את המחשב לבן שבט שיצא זה עכשיו מיערות האמזונס בפעם הראשונה בחייו, יכול להיות שהוא היה מנסה לפתוח את הקופסה של המחשב כדי לחפש את הגמד הקטן שמפעיל אותה!
המצאת המחשב גרמה למדענים רבים להטיל ספק ברעיון של 'שכל' או 'נשמה' נפרדים, באופן כלשהו, מהרקמה האפורה שמסתתרת לנו בין האוזניים. אם מכונה פשוטה יחסית כמו מחשב יכולה להיראות כאילו היא פותרת בעיה – האם לא ייתכן שהמוח שלנו הוא בעצמו סוג של מכונה שמבצעת חישובים? במילים אחרות, האם ייתכן שמוחנו אינו יותר מאשר מכונה מורכבת מאוד, ושכל המחשבות והרעיונות שלנו הם בסך הכל תוצאה של החישובים הללו? אם השערה זו תתברר כנכונה, אזי ייתכן מאד שהתשובה לשאלה שהעליתי קודם היא: כן, ניתן לבנות מחשב שיבצע את החישובים הנדרשים ובכך יחקה את פעולתו של המוח האנושי.
הנוירונים
כדי לנסות ולבנות מכונה שכזו, האינסטינקט הראשוני של החוקרים היה לפנות אל הביולוגיה ואל מדעי המוח. התקדמויות בתחום הנויורולוגיה והפיזיולוגיה של המוח סיפקו להם השראה למכביר. לאורך המאה העשרים חשפו חוקרי המוח מנגנונים ביולוגיים רבים שעומדים בבסיס פעילותו של המוח. עם הזמן החלו המדענים להבין את חשיבות הנוירונים, תאי העצב שמהם עשוי המוח.
איך עובדים הנוירונים? הנוירונים הם תאים זעירים בעלי זרועות ארוכות שמתחברים זה לזה ומעבירים ביניהם מידע באמצעות זרמים חשמליים. לכל נוירון יש מספר כניסות, והוא מקבל 'פולסים' חשמליים מנוירונים אחרים. בתגובה לפולסים אלה, הנוירון מפיק פולס חשמלי משלו ביציאה. אפשר לדמות זאת לאב עייף שיושב על הספה וקורא עיתון. שלושת ילדיו המשועממים מציקים לו, וצובטים אותו מדי פעם: אלו הם הפולסים החשמלים שנכנסים לנוירון. אם הצביטות חזקות מספיק, הם גורמות לאב לצעוק 'נו, די!' – באנלוגיה שלנו זהו הפולס החשמלי שהנוירון יורה במוצאו. טריליוני החיבורים שבין מיליארדי תאי העצב והפולסים שהם מעבירים ביניהם מהווים, בדרך נסתרת כלשהי, את התשתית לכל הפעילות המוחית שלנו – מרכיבה על אופניים ועד דיבור.
בשנת 1949 חשף חוקר בשם דונלד הב (Hebb) את אחד מעקרונות היסוד החשובים ביותר של המוח: הדרך שבה מתחוללת למידה. הב גילה שאם נוירון א' ונוירון ב' מחוברים ביניהם, ונוירון א' יורה פולסים חשמליים לאורך זמן – נוירון ב' יתחיל לירות פולסים ביעילות גבוהה יותר. דהיינו – מתרחש כאן תהליך שבו ירי הפולסים הבלתי פוסק של נוירון א' יגרום לכך שנוירון ב' ילמד שהמידע שמגיע מנוירון א' הוא מידע חשוב ויש להגיב עליו באמצעות ירי של פולס משלך בתגובה. באנלוגיה שלנו, יכול להיות שהאב ילמד שהצביטות של הבן האמצעי שלו, שלא גזר ציפורניים מאז הברית, פחות או יותר, כואבות הרבה יותר מהצביטות של שאר הילדים – ולכן יצעק לו 'נו, די' כשהילד רק נכנס לסלון.
הפרספטרון
התובנה הזו העניקה השראה לפסיכולוג בשם פרנק רוזנבלט (Rosenblatt), מומחה לקוגניציה מאוניברסיטת קורנל שבארצות הברית. בשנת 1958 הגה רוזנבלט רכיב חשמלי מסוג חדש שכונה 'פרספטרון' (Perceptron, מלשון 'Perception', תפיסה).
הפרספטרון של רוזנבלט היה מעין 'נוירון מלאכותי': מודל מופשט של הנוירון האנושי. היו לו מספר כניסות שקיבלו ערכים בינאריים – 0 או 1 – ויציאה אחת שיכולה גם היא להפיק 0 או 1. אם מספיק כניסות לפרספטרון קיבלו את הערך '1' – או בהמשך לאנלוגיה הקודמת שלנו, אם מספיק ילדים צבטו את אבא – הפרספטרון הפיק '1' במוצאו.
הפרט המעניין הוא שרוזנבלט מצא דרך לדמות את תהליך הלמידה שתיאר הנוירולוג הב.
דמיינו לעצמכם את הפרספטרון כקופסא שחורה ואטומה, עם מספר כניסות ויציאה אחת – ושלכל כניסה יש חוגה שאפשר לסובב, ובכך לקבוע שלכניסה זו יש משקל גבוה יותר בהחלטה של הפרספטרון אם להוציא 1 או לא. סובבו את החוגה עד הסוף ימינה – ועכשיו כל 'פיפס' קטן בכניסה גורם לפרספטרון לפעול. זה כאילו שלימדנו את הפרספטרון שהכניסה הזו חשובה מאוד, ואסור להתעלם ממנה. סובבו אותה עד הסוף שמאלה – ועכשיו הפרספטרון למד שהכניסה הזו לא חשובה כלל: לא משנה מה מתרחש בה, הפרפסטרון לא יגיב. המשקלים בכניסות הפרספטרון מדמים את עוצמת הקשרים שנוצרים בין נוירונים ביולוגיים במוח.
רוזנבלט הקים במעבדתו מכשיר שהכיל כמה פרספטרונים שכאלה מחוברים זה לזה במעין רשת של 'נוירונים מלאכותיים', וחיבר את הכניסות שלהם לארבע מאות קולטני אור. רוזנבלט הציב מול קולטני האור אותיות, ספרות וצורות גאומטריות – ובאמצעות כיוונון עדין של המשקולות בכניסות הפרספטרונים הצליח רוזנבלט 'ללמד' אותם לזהות את הצורות ובתגובה להפיק במוצאם אותות שאומרים – 'זו האות A' או 'זה מרובע'.
כיצד עשה זאת? באמצעות חיזוק או החלשת הקשרים שבין הפרספטרונים: בכל פעם שהפרספטרונים לא זיהו נכון צורה כלשהי, הוא שינה מעט את המשקולות בכניסה – אם תרצו, שיחק קצת עם החוגות – עד שכל פרספטרון 'למד' שצירוף מסוים של כניסות הוא A, צירוף אחר הוא B וכדומה. המשחק עם המשקולות הוא דרך לתקן את השגיאות של המערכת, לומר לה – 'מה שעשית עכשיו היה לא נכון. הנה הדרך הנכונה לעשות זאת."
למידה מתוך דוגמאות
כדי להבין את חשיבות הניסוי של רוזנבלט, עלינו לחדד את ההבחנה העקרונית שבין אופן פעולת הפרספטרונים של רוזנבלט לבין תכנת מחשב 'רגילה'. תכנה היא רצף של פקודות שהוגה המתכנת האנושי: אם המתכנת רוצה לגרום למחשב לזהות מרובע, למשל, עליו לנסח עבורו כללים שמגדירים לו במפורש כיצד נראית צורה בעלת ארבע צלעות.
הלמידה של הפרספטרונים, לעומת זאת, לא התרחשה באמצעות הגדרה של כללים – כי אם באמצעות הצגה של מגוון דוגמות לריבועים, וחיזוק או החלשת הקשרים בין הפרספטרונים עד שנמצא צירוף ערכי המשקולות בכניסה לכל פרספטרון שמאפשר למערכת כולה לזהות מרובע.
אלו שתי גישות שונות לחלוטין לפתרון בעיית זיהוי צורות: בראשונה אנחנו מכתיבים למחשב כללים לפתרון הבעיה, למשל – "אם לצורה יש ארבע צלעות, אז היא מרובע." בשניה, אנחנו מספקים לו דוגמאות של מרובעים וסדרה של צעדים פשוטים שאם יבצע אותם, ילמד לזהות מרובעים. שימו לב שבאף שלב לא הגדיר רוזנבלט לפרספטרונים כמה צלעות יש למרובע. הוא רק שיחק עם החוגות ימינה-שמאלה-ימינה-שמאלה, עד שהמערכת 'למדה' להכיר מרובעים. גישה זו, של לימוד מתוך דוגמאות, קרובה מאד לדרך שבה בני אדם רוכשים כישורים רבים: למשל, הורים מלמדים את ילדיהם לזהות מרובע על ידי כך שהם שמצביעים להם על מרובע ואומרים 'מרובע' שוב ושוב ושוב, או מצביעים על צורה ושואלים אותו 'מה זה?'. אם הילד טועה, ההורה מתקן אותו: לא – זה מרובע. כך, עד שהילד – ורשת הנוירונים המלאכותיים – תופסים את העניין.
התלהבות
ההצלחה המדהימה של רוזנבלט היכתה גלים בעולם המחקר הצעיר של הבינה המלאכותית: הייתה זו הדגמה ראשונה מסוגה לרעיון העקרוני שלפיו ניתן לבנות מכונה שמסוגלת ללמוד מתוך מתן דוגמאות. רוזנבלט גם הדגים שפרספטרונים מסוגלים לבצע פעולות לוגיות כגון AND, OR ו-NOT, שנמצאות בבסיס חישובים לוגיים רבים. אמנם אב הטיפוס שבנה רוזנבלט היה גדול, מסורבל מאד ומורכב ביותר – אבל הוא עבד, ולא היה כל ספק שניתן יהיה לשפר אותו ולשכלל אותו בעתיד כדי שיכיל פרספטרונים נוספים שיבצעו משימות מורכבות הרבה יותר.
התלהבות אחזה בחוקרים רבים שהאמינו שמכאן קצרה הדרך עד שנצליח לבנות מחשבים בעלי בינה מלאכותית. הרי אם יש לנו אבני הבניין עקרוניות, הנוירונים המלאכותיים – אזי זו רק שאלה של זמן עד שנצליח לבנות בעזרתם מחשבים שיהיו מסוגלים ללמוד לבצע פעולות מורכבות ומסובכות כמו אלו שמבצעים בני אדם! כותרות העיתונים שבישרו על ההצלחה הזו שיקפו את ההתלהבות הזו. ביולי 1958, סיפר ה"ניו-יורק טיימס" לקוראיו על המחקר של רוזנבלט, שנערך במימון הצי, במילים הבאות –
"מכשיר חדש של הצי לומד באמצעות עשייה! הצי חשף היום את אב הטיפוס הראשוני של מחשב אלקטרוני שעל פי הציפיות יהיו מסוגל ללכת, לדבר, לראות, לכתוב, לשכפל את עצמו ולהיות מודע לעצם קיומו."
רוזנבלט עצמו אמר באותו הראיון כי הוא מאמין שבעתיד יוכלו מכונות אלה לטוס במרחבי מערכת השמש ולבצע פעולות שונות בכוחות עצמן. חוקרים אחרים שיערו שהמחשבים בעלי הבינה המלאכותית יוכלו בעוד מספר שנים לתרגם באופן מיידי מרוסית לאנגלית ולהפך, ובכך יתרמו לסיום המלחמה הקרה. ההייפ לגבי הבינה המלאכותית היה בשיאו, ואלפי מחקרים ומאמרים אקדמיים הוקדשו לפרספטרונים ולפוטנציאל הטמון בהם.
מרווין מינסקי
אבל היו חוקרים שלא נסחפו בהתלהבות הכללית. כאן המקום לקחת צעד אחורנית ולהתבונן בתמונה הרחבה יותר של המחקר בתחום הבינה המלאכותית. לאורך השנים פותחו כמה וכמה גישות שונות לפתרון השאלה – כיצד ניתן לגרום למחשב להפגין התנהגות אינטליגנטית. יש חוקרים המעדיפים שיטות המבוססות על לוגיקה, אחרים מעדיפות שיטות המבוססות על חישובים סטטיסטיים וישנן עוד כמה וכמה גישות נוספות. לא נסקור את כל הגישות הללו לעומקן במסגרת הפרק הזה, אך אציין רק שאין תמימות דעים בין החוקרים לגבי איזו גישה עדיפה באופן מוחלט על גבי האחרות. ספציפית לענייננו, בשנות השישים והשבעים חוקרים לא מעטים האמינו שהניסיון לחקות את המנגנון הביולוגי של המוח לא יביא אותנו למחשבים בעלי בינה מלאכותית. מדוע? מאותה הסיבה שמהנדסי מטוסים לא מנסים לחקות את דרך תעופת הציפורים. אם יש יותר מדרך אחת לפתור בעיה מסוימת, הדרך הביולוגית היא לאו דווקא הדרך הפשוטה והקלה ביותר, מבחינה הנדסית.
אחד מאותם חוקרים ספקנים היה מרווין מינסקי (Minsky), מתמטיקאי אמריקני שנחשב לאחד החלוצים הגדולים בתחום הבינה המלאכותית. הוא למד באוניברסיטת פרינסטון היוקרתית לצד אלברט איינשטיין וג'ון פון ניומן, אבי המחשב המודרני, הוא שיתף פעולה עם ג'וזף ליקליידר הוגה האינטרנט, והקים באוניברסיטת MIT את המעבדה לבינה מלאכותית שנחשבת לאחת המעבדות היוקרתיות בעולם הטכנולוגיה.
מינסקי לא האמין בפרספטרון. הוא ורוזנבלט ניהלו ביניהם ויכוחים מרים שבהם טען מינסקי בעקשנות שרוזנבלט מפריז בהערכתו לגבי יכולותיו של הפרספטרון, ושיהיה זה בלתי אפשרי לבנות בעזרתו בינה מלאכותית שתוכל לבצע את כל הניסים והנפלאות שמילאו את כותרות העיתונים.
התנגדותו של מינסקי נבעה מהעובדה שלפרספטרון של רוזנבלט לא היה בסיס תאורטי איתן, או במילים אחרות – לא הייתה תאוריה מתמטית שהסבירה איך צריך לכוון את המשקולות בכניסות לפרספטרון כדי לגרום לו לבצע משימה כלשהי. רוזנבלט, נזכור, היה פסיכולוג ולא מתמטיקאי, אבל חוסר ההכשרה הפורמלית לא מנעה ממנו לנבא באופן גורף שלא משנה מה יהיה הקלט לפרספטרון – תמיד נוכל למצוא צירוף משקולות שיאפשר לו לזהות את הקלט ולהגיב בהתאם. מינסקי המתטיקאי לא היה מוכן לקבל הצהרות גורפות שכאלה ללא הוכחה. הצלחתה של המערכת שבנה רוזנבלט בזיהוי צורות לא הרשימה אותו: הוא טען שהצורות והאותיות שבהן השתמש רוזנבלט כדי להדגים את יכולותיו של הפרספטרון היו פשטניות מדי ולא היוו אתגר אמתי.
בשנת 1969, עשר שנים לאחר שהדגים רוזנבלט לראשונה את אב-הטיפוס של הפרספטרון, חבר מרווין מינסקי למתמטיקאי מוכשר נוסף בשם סימור פאפרט (Papert), ויחדיו פרסמו ספר בשם Perceptrons. בספר ניתחו ניתוח תאורטי מעמיק את הרכיב שהמציא רוזנבלט – והגיעו למסקנה שיהיה זה בלתי אפשרי לפתח בעזרתו מערכות בעלות בינה מלאכותית. מדוע? הפרספטרון, כתבו מינסקי ופאפרט, הוא רכיב אלגנטי ובעל יכולות מרשימות ביחס לפשטותו – אבל כדי לבנות בעזרתו מערכות מורכבות שמסוגלות לבצע משימות מסובכות, יש לחבר המון פרסטפטרונים זה לזה. דמיינו לעצמכם עוגה עשוייה שכבות שכבות: בכל שכבה יש מספר פרספטרונים שהכניסות שלהם מחוברות לפרספטרונים בשכבה מעל – והיציאות שלהם לפרספטרונים בשכבה מתחת.
בעיית השכבות העמוקות
הבעיה שזיהו מינסקי ופאפרט נעוצה בשכבות הפנימיות של העוגה. המערכת שהדגים רוזנבלט הייתה מורכבת משתי שכבות: שכבה שלתוכה נכנסו האותות בכניסה, ושכבה שהוציאה את תוצאת החישוב. כשיש לך שתי שכבות של פרספטרונים קל יחסית למצוא את הכיוונון הנכון של המשקולות בחיבורים ביניהם כדי להגיע לתוצאה הרצויה. אבל אם יש לך שכבה 'פנימית' – דהיינו, פרספטרונים שנמצאים בין שכבת הכניסה ושכבת המוצא – הרבה יותר קשה לכוון את המשקולות שלהם.
כדי להבין זאת, בואו נדמיין קבוצה של ילדים שמשחקים ב'טלפון שבור': אתה אומר לילד הראשון משפט כלשהו, והוא לוחש אותו לילד שלידו וכך הלאה עד שמגיעים לילד האחרון שאומר בקול את המשפט ששמע. הילד הראשון בשורה הוא, באנלוגיה שלנו, פרספטרון בשכבת הכניסה. הילד האחרון – פרספטרון בשכבת המוצא. כל הילדים שביניהם הם פרספטרונים בשכבות פנימיות.
עכשיו, נניח שיש לנו רק שני ילדים במשחק: אתה אומר לילד הראשון את המשפט, הוא אומר לילד השני, שאומר אותו בקול רם. אם משהו השתבש בדרך והמשפט לא יצא נכון – קל למצוא איפה הייתה הבעיה: או שהילד הראשון העביר אותו לא נכון, או שהילד השני הבין אותו לא נכון. אתה מוצא את הילד הבעייתי, מסביר לו מה צריך לעשות, והוא לומד להעביר את המשפט כמו שצריך.
עכשיו נניח שיש לנו עשרה ילדים במשחק. אם המשפט השתבש בדרך, איך נדע היכן התרחש השיבוש? איך נדע איזה ילד טעה בהעברת המידע? זה כבר הרבה יותר קשה, ובלי הידע הזה לא נוכל לתקן את הטלפון השבור ולהדריך את הילדים איך להעביר את המסר ביניהם טוב יותר.
אותו הדבר תקף, עקרונית, גם בשכבות הפרספטרונים. אם יש לנו רק שתי שכבות – כניסה ויציאה – קל למצוא את כיוונון המשקולות הרצוי. אם יש לנו שכבות פנימיות ו'חבויות' של פרספטרונים, קשה מאד לדעת איך צריך 'לשחק עם החוגות'. ללא שכבות פנימיות, קבעו מינסקי ופאפרט, רשתות נוירונים מלאכותיים מוגבלות לביצוע משימות פשוטות כגון זיהוי צורות בסיסיות ולעולם לא נוכל להעזר בהן כדי לבצע משימות תובעניות יותר, כגון זיהוי פרצופים למשל. במילים אחרות – נוירונים מלאכותיים הם מבוי סתום. אין טעם להמשיך ולעסוק בהם, ועדיף לחוקרים שינסו לממש את חלום הבינה המלאכותית בדרכים אחרות.
'החורף' של הבינה המלאכותית
פרנק רוזנבלט הלך לעולמו בשנת 1971. הוא נהרג בתאונת שייט והוא בן 43 בלבד. מותו הטרגי של רוזנבלט חסך ממנו שברון לב, שכן בעקבות ספרם של מינסקי ופאפרט הפנה עולם המדע עורף לפרספטרון: חקר רשתות הנוירונים המלאכותיים העסיק חוקרים רבים בשנות השישים, אך נזנח לחלוטין בשנות השבעים. המגזינים המדעיים לא הסכימו לפרסם מאמרים אודות הפרספטרון, מדענים שביקשו להמשיך ולעסוק בו לא זכו לקבל מענקי מחקר – וכתוצאה מכך, חוקרים מעטים המשיכו לעסוק בתחום.
למען ההגינות, ראוי לציין שמינסקי ופאפרט לא היו הגורמים היחידים ל'חורף הקפוא' שפקד את תחום המחקר ברשתות נוירונים מלאכותיים בשנות השבעים: אחראית לכך גם ההתקדמות האטית במחקר בתחום במהלך שנות השישים. אחרי ההתלהבות הראשונית בעקבות הצלחתו של רוזנבלט, גילו החוקרים שקשה מאד לבנות על גילוייו ולהתקדם למערכות מורכבות ומשוכללות יותר. סיבה אחת לכך היא העדר התשתית התאורטית שעליה קונן מינסקי. סיבה אחרת היא שהאלקטרוניקה באותם הימים לא הייתה מתקדמת מספיק כדי שניתן יהיה לבנות מערכות שכאלה בצורה נוחה ואמינה.
נוסף על כך, בעוד המחקר על רשתות נוירונים מלאכותיים לא התקדם לשום מקום – כיווני מחקר אחרים בתחום הבינה המלאכותית הראו התקדמות מבטיחה יותר. למשל, אחת הגישות המקובלות בחקר הבינה המלאכותית היא זו המכונה 'מערכות מומחה' (Expert Systems). בגישה זו, מספקים למחשב בסיס ידע נרחב על עולם הבעיה – למשל, עובדות ונתונים אודות מחלה כלשהי – וכללים שמגדירים כיצד לעשות שימוש בידע זה. השימוש במערכות מומחה הביא לתוצאות טובות יותר, במישור המעשי, מאשר מערכות המבוססות על רשתות נוירונים מלאכותיים ולא מעט מערכות מומחה נכנסו לשימוש בתחומים כגון רפואה, הנדסה כימית ועוד. כך קרה שלכל אורך שנות השבעים וחלק משנות השמונים, הניסיון לחקות את פעולתו של המוח באמצעות מודלים פשוטים של הנוירונים – כדוגמת הפרספטרונים – נדחק לקרן זווית.
אך פה ושם עוד נותרו כמה מדענים עיקשים שהלכו 'עם הראש בקיר' ולא הסכימו לזנוח את הנוירונים המלאכותיים. אחד מהם היה דוקטורנט בשם פול וורבוס (Werbos), שבשנת 1974 מצא פתרון לבעיית השכבות הפנימיות שהטרידה כל כך את מינסקי ופאפרט. הבעיה הייתה, נזכיר, מציאת ערכי המשקולות בחיבורים שבין הפרספטרונים הפנימיים. וורבוס גילה שיטה יעילה ופשוטה לקבוע את הערכים הנכונים על סמך התבוננות בשכבת המוצא. בהמשך לאנלוגיה של משחק הטלפון השבור, וורבוס מצא דרך לזהות איזה ילד אחראי לשיבוש במשפט המועבר – על סמך המשפט שקיבל מהילד האחרון בשרשרת. השיטה כונתה 'Backpropogration' ('חלחול לאחור', בתרגום חופשי).
אבל פול וורבוס היה דוקטורנט צעיר, אלמוני וחסר ניסיון – וכולם ידעו שרשתות נוירונים מלאכותיים הן מבוי סתום. על כן איש לא היה מוכן לשמוע על ה-Backpropogation.
"הפסימיות [כלפי רשתות נוירונים מלאכותייים] באותה התקופה הייתה סופנית ממש. בתחילת שנות השבעים ביקרתי את מרווין מינסקי ב-MIT. הצעתי לו שנכתוב מאמר משותף שבו נראה ש[שיטת החישוב שלי] מסוגלת להתגבר על הבעיות המוקדמות…אבל מינסקי לא היה מעוניין. למעשה, אף אחד ב-MIT או בהארוורד או בכל מקום אחר לא התעניין בזה באותה התקופה."
ויכוח על שפה
חלפו עוד יותר מעשר שנים עד שהרעיון ה-Backpropogation של וורבוס נתגלה מחדש, באופן עצמאי, על ידי מספר חוקרים שונים במקביל. אחד מהם היה חוקר בשם ג'פרי הינטון – שלא ארחיב עליו עכשיו, אבל הוא עתיד לשחק תפקיד חשוב מאד בחלקו השני של הפרק הזה – ושניים אחרים היו דיוויד רומלהארט (Rumelhart) וג'יימס מק'לילנד (McClelland).
רומלהארט ומק'לילנד היו פסיכולוגים בהכשרתם, והגיעו אל תחום רשתות הנוירונים המלאכותיים מכיוון שונה לגמרי ממדעי המחשב, והוא – חקר השפה האנושית. רומלהארט ומק'לילנד לקחו חלק בויכוח שהתנהל בקהילה האקדמית בשאלה – כיצד לומדים ילדים לדבר? השפה היא יכולת אנושית מובהקת שמבדילה אותנו משאר בעלי החיים, ולכן ניתן להסיק שמשהו במבנה המוח האנושי ייחודי בעולם הטבע מבחינה זו. השאלה היא – מה?
רוב החוקרים דגלו בהשערה שכללי השפה והדיבור 'מקודדים' בתוך המוח באופן כלשהו. דהיינו – אי שם במוחנו ישנם כללים וחוקים שהמוח מיישם כדי להבין את השפה. אמנם אנחנו עדיין לא יודעים היכן הכללים הללו כתובים – אבל הנקודה היא שישנם כללים מוגדרים. אם תרצו, ישנה תכנה חבויה אי שם בתוך הראש. רומלהארט ומק'לילנד דגלו בהשקפה שונה. הם האמינו שאין באף מקום במוח 'כללים' פורמליים ללימוד שפה, אלא שהיכולת שלנו ללמוד שפה מופיעה מאליה כתוצאה מהאופן שבו הנוירונים מחוברים זה לזה. במילים אחרות – אין כללים, יש רק חיבורים.
כדי להוכיח את טענתם פנו שני הפסיכולוגים אל תחום רשתות הנוירונים המלאכותיים. ב-1986 הם בנו מודל ממוחשב של רשת נוירונים בעלת מספר שכבות, הפעילו עליה את תהליך ה-Backpropogation ולימדו אותה איך להטות פעלים באנגלית בעבר – למשל, work/worked, begin/began וכן הלאה. הרשת קיבלה פועל בהווה, והייתה צריכה לנחש כיצד מהי צורת העבר שלו.
כפי שיודע כל מי שלמד אנגלית, הטיית פעלים לעבר אינה משימה קלה: יש פעלים שכדי להטות אותם יש להוסיף להם סיומת של ed בסוף – למשל, work/worked, carry/carried – ויש פעלים שצורת העבר שלהם היא ייחודית – sing/sang, begin/began וכדומה.
כשילדים קטנים לומדים לדבר אנגלית, יש תופעה שחוזרת על עצמה בכמעט כל המקרים. בהתחלה הילד לומד בעל פה את צורת העבר של כמה וכמה פעלים ואומר אותם כמו שצריך. אבל אז הילד מגלה את החוקיות של הוספת ed בסוף, ומרוב התלהבות על החוקיות החדשה מתחיל להוסיף ed לפעלים גם היכן שלא צריך להוסיף: למשל, singed, begined וטעויות דומות. רק לאחר מכן, כשמתקנים את הילד, הוא מבין את טעותו ולומד מתי צריך להוסיף ed ומתי לא.
למרבה ההפתעה, רשת הנוירונים המלאכותיים של רומלהארט ומק'קלילנד עשתה את אותו מסלול הלימוד כמו זה של הילדים. בתחילת תהליך הלימוד המערכת ניבאה נכון את צורת העבר של פעלים – אבל אז, ככל שהזינו לתוכה יותר ויותר דוגמאות, רשת הנוירונים זיהתה את החוקיות של הוספת ed לפעלים – ואז, ממש כמו אצל ילדים, היא החלה לטעות ולהוסיף ed איפה שלא צריך. רק כשהזינו החוקרים לתוכה עוד ועוד דוגמאות של הטיית פעלים למדה המערכת מתי צריך להוסיף ed ומתי לא – ויכולת הניבוי שלה השתפרה בהתאם.
במילים אחרות, רומלהארט ומק'לילנד הדגימו איך יכולה רשת נוירונים ללמוד מאפיין של שפה אנושית אך ורק מתוך דוגמאות ולא בעזרת ניסוח פורמלי של כללים. ולא זו בלבד, אלא שרשת הנוירונים המלאכותית הפגינה תהליך לימוד כמו-אנושי להפליא שחיקה לא רק את ההצלחות האנושיות, אלא גם את אותו סוג של טעויות שעושים בני אדם!
הניסוי של רומלהארט ומק'קלילנד נחשב לאבן דרך בחקר השפה האנושית – אבל חשוב יותר לענייננו, הוא הצית מחדש את העניין של החוקרים בפוטנציאל של רשתות נוירונים מלאכותיים. הניסוי היה הדגמה פנטסטית מעשית לעוצמתה של שיטת ה-backpropogation: סוף סוף הייתה בנמצא שיטה אמינה וברורה לאמן רשתות נוירונים וללמד אותם לבצע משימות מורכבות הרבה יותר ממשימת זיהוי הצורות של רוזנבלט בשנות השישים. התרגשות מחודשת אחזה בחוקרים.
על סיפו של עידן חדש
אבל הדרך אל יישומים מעשיים של רשתות נוירונים מלאכותיים בעולם האמיתי הייתה עדיין רחוקה מאד. חלק מהבעיות שהעיקו על תחום המחקר הזה בשנות השבעים עדיין נותרו בעינן: למשל, המחשבים היו עדיין חלשים מדי מכדי לאפשר עבודה יעילה עם רשתות נוירונים מלאכותיים, והביצועים של מערכות אלה עדיין היו נחותים ביחס לביצועיהן של מערכות אחרת של בינה מלאכותית, כמו 'מערכות מומחה' שהזכרתי קודם. במילים אחרות, רשתות נוירונים מלאכותיים עדיין היו אפרוח שהיה לו המון פוטנציאל להפוך לציפור – אבל לא הצליח לשבור את דופן הביצה ולבקוע ממנה. לכל אורך שנות השמונים, התשעים וחלק משנות האלפיים היו עדיין המון חוקרים ספקנים שהעריכו שרשתות נוירונים מלאכותיים לעולם לא יצליחו למצוא לעצמן מקום בעולם האמיתי, ותמיד יישארו בגדר פוטנציאל בלתי ממומש.
אבל רשתות הנוירונים המלאכותיים הצליחו, לבסוף, לבקוע מהביצה – וכשעזבו סוף סוף את הקן, הם חוללו את אחת המהפכות הטכנולוגיות המדהימות והדרמטיות ביותר של השנים האחרונות, מהפכה שאת תוצאותיה אנחנו מתחילים להרגיש ממש לאחרונה.
Preceptron מלשון Preception?! בטח התכוונת ל- Perceptron מלשון Perception.
ראה כאן: https://en.wikipedia.org/wiki/Perceptron
רן, בהמון פרקים (הורדתי והקשבתי לכולם במשך השנים) אתה טועה בהקראה של מושג לועזי כלשהו, בדרך כלל משהו ממש מרכזי לפרק!
דוגמאות לא חסר: Anigma במקום Enigma
Passimi במקום Pessimi
Pestigal במקום Festigal
Porsche
Trieste
Medici
Tulkin במקום Tolkien
ועוד ועוד…
אולי זה בגלל שהם רשומים לך בעברית ללא ניקוד? איך זה ייתכן שאף אחד בהגהה לא מתקן אותך?
זה צורם כל כך וזועק חוסר מקצועיות. חבל, כי זה הרושם שנשאר בסוף, לפחות אצלי.
לא יודע אם תפרסם את מה שכתבתי, אבל אם קראת זאת, דע לך שהביקורת היא ברוח טובה, בתקווה שתקפיד יותר בעתיד.
תודה.
הפתיחה על לימוד רכיבה על אופניים, הזכיר לי סרטון מרתק על אדם שניסה ללמוד לרכוב על אופנים עם היגוי הפוך (מסובבים את הכידון לימין והגלגל פונה לשמאל). מה שקרה לו מתקשר להסבר בהמשך הפרק איך המוח לומד.
הסרטון (יש כתוביות בעברית):
https://www.youtube.com/watch?v=MFzDaBzBlL0
תודה תומר סרטון מצויין 🙂 בדיוק הראו את זה השבוע באחד מערוצי המדע בטלוויזיה. יש ניסוי דומה שבו אנשים מרכיבים למשך שבוע או שבועיים משקפיים שהופכים את התמונה הנכנסת לעיניים ב 180 מעלות (למעלה הופך למטה) והמוח לומד לאחר זמן מסויים להפוך את התמונה חזרה, כפי שקורה אצל תינוק שנולד ורואה בתחילה את העולם הפוך 🙂
מה שמוזר לי רק זה למה המוח לא מחווט את עצמו מראש כדי לראות תמונה ישרה? למה הוא מתחיל עם תמונה הפוכה, ואז צריך להפוך אותה…? בטח זו איזו שארית אבולוציונית מהעבר.
הסיבה לתמונה ההפוכה היא שהעין היא סוג של קמרה אובסקורה https://he.wikipedia.org/wiki/%D7%A7%D7%9E%D7%A8%D7%94_%D7%90%D7%95%D7%91%D7%A1%D7%A7%D7%95%D7%A8%D7%94#.D7.A7.D7.9E.D7.A8.D7.94_.D7.90.D7.95.D7.91.D7.A1.D7.A7.D7.95.D7.A8.D7.94_.D7.95.D7.94.D7.A2.D7.99.D7.9F_.D7.94.D7.90.D7.A0.D7.95.D7.A9.D7.99.D7.AA
לכן מה שבאמת מתקבל בקולטנים של העין היא תמונה הפוכה.
למרות ההסבר הזה עדין השאלה שלך בתוקף, למה לא "חיברו הפוך" את העצבים. התשובה לדעתי היא שזה אכן כמו שרמזת, שריד מהעבר שבו לחיות לא היו עדשות ולכן לא היו צריכים להפוך את התמונה.
היי רן,
1. כן היא כבר יודעת לשחק בתלת מימד (מירוץ מכוניות, אפשר לראות ביוטיוב) וההישג שלה באלפא-גו גם כן מדהים לחלוטין כמובן. בנוסף היא למדה לשחק בעצמה ב 50 משחקי אטארי, והגיעה ב 95% מהם לרמה של שחקן מקצועי והכל באופן עצמאי תוך מבט על הפיקסלים שעל המסך ממש כמו אדם!
והנה משהו לא פחות מדהים, תוך שנה הם מתכוונים ליצור רשת עצבית שרמת האינטיליגנציה שלה תגיע לרמת האינטיליגנציה של חולדה! ולמי שלא מבין זה דבר מדהים מפני שחולדה זו חיה ממש ממש אינטיליגנטית, ראה כאן:
https://www.youtube.com/watch?v=MAMuNUixKJ8
2. אם תלחץ על הקישור בשם שלי תגיע להרצאה ממש מרתקת שמציגה עוד גישה מעניינת בדרך לבינה מלאכותית.
3. לא ענית, מתי צפוי לעלות החלק השני?… זה בטח יהיה פרק ממש מעניין.
בהחלט מרתק – אני עוקב אחרי DeepMind כל הזמן, לראות מה הם עושים… 🙂
החלק השני אמור לעלות לאוויר השבוע, אחרי מפגש המאזינים,
רן
תודה על תגובתך, ממתין בקוצר רוח לחלק השני 🙂
(ממליץ לך לבדוק גם את הקישור בשם שלי, הרצאה טובה בנושא)
פרק מרתק! מתי חלק 2 ?
דרך אגב רשת הנוירונים של חברת DeepMind כבר יודעת לשחק גם במשחקי תלת מימד (מירוצי מכוניות ומשחקים אחרים) והכל בלימוד עצמי תוך מבט על הפיסקלים על המסך והניקוד בלבד, בטח תדבר על כך בחלק 2.
תודה, אורן! שמח שאהבת 🙂 אכן, אני אדבר על DeepMind (למעשה, יותר על AlphaGo – יישום ספציפי שלה) בפרק הבא, אם כי לא ידעתי שהיא כבר יודעת
לשחק במשחקי תלת מימד!
רן
רן, לאן נעלמת? יצא לך להציץ בלינקים?
לוקח לי זמן להגיב לכל התגובות.. 🙂
רן