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

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

בינה מלאכותית כאן כדי שכולם יוכלו להשתמש בדרך זו או אחרת. באשר ל-OpenAI Gym, ישנם מגרשי אימונים רבים שניתן לחקור כדי להאכיל את סוכני הלמידה לחיזוק.

מהו OpenAI Gym, איך הוא עובד ומה אתה יכול לבנות באמצעותו?

מהו OpenAI Gym?

OpenAI Gym הוא API Pythonic המספק סביבות אימון מדומה לסוכני למידת חיזוק לפעול על סמך תצפיות סביבתיות; כל פעולה מגיעה עם תגמול חיובי או שלילי, המצטבר בכל שלב בזמן. בעוד הסוכן שואף למקסם את התגמולים, הוא מקבל עונש על כל החלטה בלתי צפויה.

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

כיצד פועל חדר כושר OpenAI?

סביבות ה-OpenAI Gym מבוססות על תהליך ההחלטה של ​​Markov (MDP), מודל דינמי של קבלת החלטות המשמש ללימוד חיזוק. לפיכך, נובע שתגמול מגיע רק כאשר הסביבה משנה מצב. והאירועים במצב הבא תלויים רק במצב הנוכחי, מכיוון ש-MDP לא מתייחס לאירועי העבר.

לפני שנמשיך, בואו נצלול לתוך דוגמה להבנה מהירה של היישום של OpenAI Gym בלימוד חיזוק.

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

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

למשל, יזמנו את FrozenLake-v1 סביבה, שבה סוכן מקבל עונש על נפילה לתוך חורי קרח אבל מתוגמל על שחזור קופסת מתנה.

הריצה הראשונה שלנו יצרה פחות עונשים ללא תגמולים:

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

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

רכיבי הכושר של OpenAI

ה-API של OpenAI Gym סובב סביב הרכיבים הבאים:

  • ה סביבות שבו אתה מכשיר סוכן. אתה יכול ליזום אחד באמצעות gym.make שיטה. OpenAI Gym תומך גם בסביבות מרובות סוכנים.
  • ה עטיפות לשינוי סביבה קיימת. למרות שכל סביבת בסיס עטופה מראש כברירת מחדל, אתה יכול לשנות את קנה המידה שלה עם פרמטרים כמו max_actions, min_actions ו-max rewards.
  • א פעולה; מגדיר מה הסוכן עושה כשהוא צופה בשינויים בסביבתו. כל פעולה בסביבה היא שלב המגדיר את תגובתו של סוכן לתצפיות. השלמת שלב מחזירה תצפית, תגמול, מידע וערך לקטוע או לסיים.
  • ה תַצְפִּית; מגדיר את החוויה של סוכן בסביבה. ברגע שיש תצפית, תופיע פעולה עם המידע שלה. פרמטר המידע הוא יומן ביצוע שימושי לניפוי באגים. ברגע ששלב מסתיים, הסביבה מתאפסת n פעמים, בהתאם למספר האיטרציות שצוינו.

מה אתה יכול לעשות עם OpenAI Gym?

מכיוון ש-OpenAI Gym מאפשר לך ליצור סביבות למידה מותאמות אישית, הנה כמה דרכים להשתמש בו בתרחיש אמיתי.

1. סימולציית משחק

אתה יכול למנף את סביבות המשחקים של OpenAI Gym כדי לתגמל התנהגויות רצויות, ליצור תגמולים למשחקים ולהגדיל את המורכבות לכל רמת משחק.

2. זיהוי תמונה

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

3. אימון רובוטים

OpenAI Gym מציעה גם מודלים של סביבה אינטואיטיבית עבור הדמיות תלת-ממד ו-2D, בהן ניתן ליישם התנהגויות רצויות ברובוטים. רובוסקול הוא דוגמה לתוכנת הדמיית רובוט מוקטנת שנבנתה באמצעות OpenAI Gym.

4. שיווק

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

5. עיבוד שפה טבעית

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

כיצד להתחיל עם OpenAI Gym

OpenAI Gym תומך ב-Python 3.7 ואילך. כדי להגדיר סביבת OpenAI Gym, תתקין גִימנַסִיָה, גרסת חדר הכושר הנתמכת ברציפות עם מזלג:

מכון כושר להתקין pip

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

הקוד שלהלן מגבש את FrozenLake-v1. ה env.reset השיטה מתעדת את התצפית הראשונית:

יְבוּא גִימנַסִיָה כפי ש חדר כושר
env = gym.make('FrozenLake-v1', render_mode="בן אנוש")

observation, info = env.reset()

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

לדוגמה, תתקין ספרייה נוספת (חדר כושר [טקסט של צעצוע]) כדי להפעיל את FrozenLake-v1 סביבה.

בנו על הכוח של OpenAI Gym

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