סיקור מקיף

אז מה עושים שם באוניברסיטה? פרק 7: לאמן את פאקמן להבקיע גולים – על רובוטיקה אבולוציונית

נפגשתי עם שלומי ישראל כדי לשאול אותו מה עושים שם באוניברסיטה

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

שלומי, אז מה אתם עושים שם?

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

תמונה 1: רובוט עם הנעה דיפרנציאלית שפותח ב- Georgia Institute of Technology. המקור לתמונה: ויקיפדיה.
תמונה 1: רובוט עם הנעה דיפרנציאלית שפותח ב- Georgia Institute of Technology. המקור לתמונה: ויקיפדיה.

אז בוא נתחיל בשאלה מהם רובוטים?

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

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

תמונה 2: רומבה בנקודת העגינה. המקור לתמונה: ויקיפדיה.
תמונה 2: רומבה בנקודת העגינה. המקור לתמונה: ויקיפדיה.

אוקיי, אז מהי רובוטיקה אבולוציונית?

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

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

ומהי אופטימיזציה מרובת מטרות?

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

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

תמונה 3: צילום מסך של משחק פאקמן מהאתר הזה.
תמונה 3: צילום מסך של משחק פאקמן מהאתר הזה.

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

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

אז מה ניתן לחקור עם כל הרובוטים האלה?

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

בחירת הרובוטים להרכבת הדור הבא נעשתה במחקר באחת משתי דרכים: או לפי הצלחה של רובוטים בודדים או לפי הצלחה קבוצתית. תוצאות המחקר הצביעו על כך שבמקרים שההצלחה נשפטה לפי קבוצה, התפתחה בין הרובוטים היכולת לאותת “חבר’ה, בואו לפה, יש כאן אוכל!”. הרובוטים שפיתחו קשר בין איתות למיקום אוכל הם אלו שעברו לדורות הבאים. לעומת זאת, במקרים שבהם ההצלחה נשפטה לפי רובוטים בודדים, או שהאיתות לא התפתח למשהו בעל משמעות או שהוא התפתח לאות שמטרתו הולכת שולל, למשל איתות ליד הרעל, וזאת מכיוון שיש תחרות על משאבים.

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

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

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

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

————————————————————

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

זה הזמן לספר לכולם מה אתם עושים, אולי הפעם הם גם יבינו 🙂

7 תגובות

  1. הי איל,
    השאלה שלך מעניינת והעסיקה חוקרים רבים.
    התשובה הטובה ביותר בה נתקלתי היא זו של חוקר בשם Thomas Miconi שהקדיש לכך פרק בעבודת הדוקטורט שלו. מה שאני אוהב אצלו זו היכולת לאזן בין כתיבה מדעית רגורוזית לבין שמירת הטקסט קריא וקולח, כך שאם אתה באמת מתעניין בנושא תהנה לקרוא (ראה פרק 8):
    http://etheses.bham.ac.uk/148/

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

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

  3. טוב, שאלות שלא קשורות ישירות לנושא, אבל אני מנסה להבין את האבולוציה. ובבקשה בלי ההאשמות לגבי intelligent design, אני באמת פשוט מנסה להבין איך נוצרת מורכבות.

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

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

    מה אני מפספס? אולי כל מה שאני צריך זאת המלצה על ספר טוב…

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

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