4.2 KiB
אימון מכונית הרים
OpenAI Gym תוכנן כך שכל הסביבות מספקות את אותו API - כלומר, אותן שיטות reset
, step
ו-render
, ואותן הפשטות של מרחב הפעולה ומרחב התצפית. לכן, אמור להיות אפשרי להתאים את אותם אלגוריתמים של למידת חיזוק לסביבות שונות עם שינויים מינימליים בקוד.
סביבת מכונית הרים
סביבת מכונית הרים כוללת מכונית שנתקעה בעמק:
המטרה היא לצאת מהעמק ולתפוס את הדגל, על ידי ביצוע אחת מהפעולות הבאות בכל שלב:
ערך | משמעות |
---|---|
0 | להאיץ שמאלה |
1 | לא להאיץ |
2 | להאיץ ימינה |
הטריק המרכזי בבעיה זו הוא שהמנוע של המכונית אינו חזק מספיק כדי לטפס על ההר במעבר אחד. לכן, הדרך היחידה להצליח היא לנסוע קדימה ואחורה כדי לצבור מומנטום.
מרחב התצפית מורכב משני ערכים בלבד:
מספר | תצפית | מינימום | מקסימום |
---|---|---|---|
0 | מיקום המכונית | -1.2 | 0.6 |
1 | מהירות המכונית | -0.07 | 0.07 |
מערכת התגמולים עבור מכונית ההרים די מורכבת:
- תגמול של 0 מוענק אם הסוכן הגיע לדגל (מיקום = 0.5) בראש ההר.
- תגמול של -1 מוענק אם המיקום של הסוכן קטן מ-0.5.
הפרק מסתיים אם מיקום המכונית גדול מ-0.5, או אם אורך הפרק עולה על 200.
הוראות
התאם את אלגוריתם למידת החיזוק שלנו כדי לפתור את בעיית מכונית ההרים. התחל עם הקוד הקיים ב-notebook.ipynb, החלף את הסביבה, שנה את פונקציות הדיסקרטיזציה של המצב, ונסה לגרום לאלגוריתם הקיים להתאמן עם שינויים מינימליים בקוד. בצע אופטימיזציה לתוצאה על ידי התאמת היפר-פרמטרים.
Note: ייתכן שיהיה צורך בהתאמת היפר-פרמטרים כדי לגרום לאלגוריתם להתכנס.
קריטריונים להערכה
קריטריון | מצטיין | מספק | דורש שיפור |
---|---|---|---|
אלגוריתם Q-Learning הותאם בהצלחה מדוגמת CartPole עם שינויים מינימליים בקוד, ומסוגל לפתור את הבעיה של תפיסת הדגל בפחות מ-200 צעדים. | אלגוריתם Q-Learning חדש אומץ מהאינטרנט, אך מתועד היטב; או אלגוריתם קיים אומץ אך אינו מגיע לתוצאות הרצויות. | הסטודנט לא הצליח לאמץ אלגוריתם כלשהו בהצלחה, אך עשה צעדים משמעותיים לקראת פתרון (מימש דיסקרטיזציה של מצב, מבנה נתונים של Q-Table וכו'). |
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.