Jericho ו-TextWorld
הגדרה
Jericho ו-TextWorld הן שתי סביבות-קוד-פתוח של Microsoft Research לאימון ולבדיקת סוכני בינה מלאכותית במשחקי-הרפתקה טקסטואליים: TextWorld (2018) מייצרת משחקים חדשים לפי מידה, ו-Jericho (2019) מריצה משחקים אמיתיים וותיקים, ובהם Zork, כמבחן-יכולת לסוכני למידת חיזוק.
💡 דוגמה
דמיינו שרוצים לבדוק אם תוכנת AI מבינה שפה, לא רק יודעת לזהות תמונות. Jericho נותן לה לשחק ב-Zork I המקורי מ-1980, ובודק כמה היא מתקדמת. TextWorld, לעומת זאת, מייצר אלפי משחקי-אימון קטנים בדיוק בגודל ובקושי שרוצים, כדי שהסוכן יתאמן בהדרגה לפני שהוא בכלל מגיע למשחק אמיתי.
שתי סביבות, אותם חוקרים, שאלה אחת
Jericho ו-TextWorld נולדו מתוך אותה קבוצת-מחקר בקירוב: חוקרי Microsoft Research, ובהם Marc-Alexandre Côté ו-Xingdi Yuan ממעבדת מונטריאול ו-Matthew Hausknecht, שחתומים על שני המאמרים. שתי הסביבות מתמודדות עם אותה שאלה: איך בודקים אם סוכן בינה מלאכותית באמת "מבין" שפה, ולא רק פועל נכון בעולם חזותי כמו משחקי מסך? אבל הן פותרות אותה בכיוונים הפוכים. TextWorld, שהחוקרים פרסמו ב-2018, מייצרת משחקי-הרפתקה חדשים לגמרי, בקושי ובהיקף שהחוקר בוחר. Jericho, שהאוסקנכט ושותפיו פרסמו ב-2019 — ביניהם Prithviraj Ammanabrolu מהמכון הטכנולוגי של ג'ורג'יה — מריצה משחקים אמיתיים שאנשים כתבו בעבר, ובהם Zork עצמו.
TextWorld: מפעל למשחקים בהתאמה אישית
TextWorld הוצגה ב-2018 בסדנת Computer Games Workshop של כנס IJCAI בשטוקהולם. היא ספריית Python שמריצה משחקי-טקסט, עוקבת אחרי מצב המשחק ומחליטה מתי לתת תגמול לסוכן שמשחק בו. היא מגיעה עם רשימה קבועה של משחקים שהחוקרים ניתחו, אבל היתרון המרכזי שלה הוא אחר: אפשר לכתוב משחק ביד, ואפשר גם לייצר משחקים אוטומטית. היצירה האוטומטית מאפשרת שליטה מדויקת ברמת הקושי, בהיקף ובשפה של המשחק — כלומר אפשר, למשל, לייצר אלף משחקים קטנים שכולם דומים אבל לא זהים, כדי לבדוק אם סוכן שלמד על חלקם מצליח גם בחלקים שלא ראה, ולא רק זוכר משחק בודד בעל-פה. TextWorld גם ממסגרת את המשחקים האלה בשפה הפורמלית של למידת חיזוק, ומגיעה עם קבוצת משחקי-ייחוס שהחוקרים בנו בעצמם. משחק שנוצר אוטומטית נבנה כקוד מקור בשפת Inform 7, ואז מתורגם לקובץ הרצה בפורמט Glulx; שמות החפצים, תיאורי החדרים וההוראות נשענים על דקדוק חסר-הקשר (CFG) בשתי ערכות-נושא, "בית" ו"בסיסי". החוקרים גם מבטיחים שכל משחק שנוצר אוטומטית פתיר: ידוע מראש מסלול-ניצחון מהמצב ההתחלתי אל המטרה. הרשימה הקבועה שמגיעה עם TextWorld כוללת 50 משחקים שאנשים כתבו, שנבחרו בעקבות עבודה קודמת של Fulda ועמיתיה מ-2017.
Jericho: להריץ את Zork I המקורי
Jericho פותרת בעיה הפוכה: היא לא מייצרת משחקים, אלא מריצה משחקי-הרפתקה טקסטואליים אמיתיים שאנשים כתבו בעשורים הקודמים, ובהם Zork I עצמו — קובץ בפורמט Z-machine. היא ממשק Python פתוח-קוד עם סגנון דומה ל-OpenAI Gym, כך שסוכן למידה יכול להתחבר אליה בלי להתעסק בפרטים הטכניים של כל משחק. המאמר שהציג אותה, Interactive Fiction Games: A Colossal Adventure, הוצג בכנס AAAI-20, ונכתב בידי חוקרים מ-Microsoft Research ומהמכון הטכנולוגי של ג'ורג'יה. המחברים טענו שמשחקי-הרפתקה טקסטואליים הם שדה-מבחן מצוין לסוכני-שפה, בדיוק בגלל שהם משלבים שלושה אתגרים בבת אחת: מרחב-פעולות עצום, הבנת שפה, והיגיון של שכל-ישר. הכנס עצמו, AAAI-20, היה הכנס ה-34 של Association for the Advancement of Artificial Intelligence, והתקיים בפברואר 2020 — כמה חודשים אחרי שהמאמר פורסם לראשונה כ-preprint ב-arXiv. הקוד של Jericho עצמו פתוח ברישיון GPL-2.0, ומתפרסם במאגר github.com/microsoft/jericho.
איך Jericho מקטין מרחב-פעולות של מיליארדים
סוכן שבוחר פקודה של עד ארבע מילים מתוך אוצר-מילים של כ-700 מילים עומד, תיאורטית, בפני כ-240 מיליארד אפשרויות. Jericho מצמצם את זה דרך "תבניות-פעולה": תבנית כמו "שים את החפץ ב-" כבר קובעת מבנה, וצריך רק להשלים את החסר ממילון המשחק. במשחק עם כ-200 תבניות ואוצר-מילים של כ-700 מילים, זה מוריד את המרחב לכ-98 מיליון אפשרויות — שלושה סדרי-גודל פחות. Jericho גם מזהה אילו פעולות באמת תקפות, על ידי ביצוע ניסיוני שלהן ובדיקה אם מצב-העולם השתנה בעקבותיהן, ושומרת על "עץ-אובייקטים של העולם": תיאור של מי נמצא בתוך מי ומי נמצא לצד מי, שמסייע לזהות היכן השחקן נמצא ואילו חפצים קרובים אליו.
מה קרה כשסוכני AI באמת שיחקו: Zork כמבחן
החוקרים הרצו ארבעה סוכנים שונים על 32 משחקים שנתמכים ב-Jericho, ובהם Zork I: סוכן אקראי לגמרי, סוכן היוריסטי בשם NAIL שניצח בעבר בתחרות, וסוכני-למידה בשם TDQN ו-DRRN. התוצאה נמדדה כאחוז-ההתקדמות הממוצע במשחק, מתוך הניקוד המקסימלי האפשרי. הסוכן האקראי הגיע בממוצע ל-1.8% מהניקוד האפשרי, NAIL ל-4.9%, TDQN ל-6.1%, והטוב מכולם, DRRN, רק ל-10.7%. בבלוג של Microsoft Research כתבו המחברים שנדרש "שיפור רב" לפני שהאלגוריתמים האלה ואחרים יוכלו להתחרות בשחקנים אנושיים מיומנים. המספרים האלה ממחישים פער עצום: משחקים שנכתבו עשרות שנים קודם, עם מנתח-פקודות שמתאים מילים לרשימה סגורה, נשארו ב-2019 מבחן שסוכני-שפה לומדים עדיין נכשלו בו ברובו. בחמישה מתוך 32 המשחקים לא הצליח אף סוכן, מהאקראי ועד DRRN, לצבור ניקוד כלשהו.
מה הקשר להיסטוריה של משחקי הטקסט
שתי הסביבות האלה הן ההמשך הישיר של השאלה שעמדה במרכז הרפתקאות-הטקסט המוקדמות: איך יודעים אם מחשב באמת "מבין" את מה שהקלדתם? המנתח של שתי מילים ב-Colossal Cave Adventure מאמצע שנות ה-70, והמנתח המורכב יותר של Zork מ-1977, נתנו תשובה ברורה: הם לא הבינו, הם התאימו מילים לרשימה סגורה. TextWorld ו-Jericho הן הכלים שבהם חוקרי AI של היום בודקים אם סוכני-למידה — שלא מקבלים רשימת-מילים סגורה אלא לומדים משפה חופשית — מתקרבים בכלל להבנה אמיתית. התוצאות של 2019 מראות שהתשובה היתה, באותה תקופה, עדיין לא: אפילו הסוכן הטוב ביותר שנבדק לא התקרב לרמת שחקן אנושי.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
| Jericho (2019) | TextWorld (2018) | |
|---|---|---|
| סוג המשחקים | משחקים אמיתיים שאנשים כתבו בעבר, בפורמט Z-machine | משחקים מיוצרים לפי מידה, אוטומטית או ביד |
| מטרה מרכזית | למדוד כמה סוכן-למידה מתקדם במשחק קיים ומאתגר | לאמן סוכן בהדרגה, עם שליטה בקושי ובהיקף |
| ארגון ושנה | Microsoft Research והמכון הטכנולוגי של ג'ורג'יה, 2019 | Microsoft Research מונטריאול, 2018 |
| ממשק טכני | ספריית Python בסגנון OpenAI Gym, שמריצה קובצי Z-machine | ספריית Python שמייצרת ומריצה משחקים מותאמים |
שאלות נפוצות ❓
מה ההבדל בין Jericho ל-TextWorld?
TextWorld מייצרת משחקי-הרפתקה טקסטואליים חדשים, בקושי ובהיקף שהחוקר קובע, כדי לאמן סוכנים בהדרגה. Jericho, לעומתה, מריצה משחקים אמיתיים שאנשים כתבו בעבר — ובהם Zork I עצמו — ובודקת כמה סוכן-למידה מתקדם בהם.
למה סוכן AI לא יכול פשוט לבחור כל פקודה אפשרית במשחק כמו Zork?
כי מרחב הפקודות האפשריות עצום: פקודה של ארבע מילים מתוך אוצר-מילים של כ-700 מילים נותן כ-240 מיליארד צירופים. Jericho מצמצם את זה לכ-98 מיליון אפשרויות, בעזרת תבניות-פעולה מובנות, אבל זה עדיין מרחב-חיפוש גדול מאוד.
כמה טוב הצליחו סוכני AI לשחק במשחקים של Jericho?
לא מרשים בכלל, לפחות בבדיקה המקורית מ-2019. על 32 משחקים, ובהם Zork I, הסוכן הטוב ביותר שנבדק (DRRN) הגיע בממוצע רק ל-10.7% מהניקוד האפשרי. סוכן אקראי לגמרי הגיע ל-1.8%.
מי עומד מאחורי Jericho ו-TextWorld?
שתיהן פרויקטים של Microsoft Research, בחלקן מאותם חוקרים: Matthew Hausknecht, Marc-Alexandre Côté ו-Xingdi Yuan. TextWorld, מ-2018, פותחה בעיקר במעבדת Microsoft Research במונטריאול; Jericho, מ-2019, נכתבה בשיתוף עם Prithviraj Ammanabrolu מהמכון הטכנולוגי של ג'ורג'יה.