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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

מודעות פרסומת
  1. 02/09/2012 בשעה 10:50 pm

    אני חדש פה – אבל כיף לי.

  2. 02/09/2012 בשעה 11:16 pm

    ברוך הבא, תודה 🙂

  1. No trackbacks yet.

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s

%d בלוגרים אהבו את זה: