במבט חטוף: AndroidEnv
AndroidEnv היא שכבה חדשה המאפשרת הכשרה של סוכני למידת חיזוק במערכת ההפעלה של Android, שפותחה על ידי Deepmind, ענף ה- AI המפורסם למדי מאלפבית. זה יושב בין Android ו- ADB מצד אחד לבין סוכן שמתאמן בצד השני. אם אינך יודע, "סוכן" מתייחס ליישום למידת מכונה שתוכל לקודד ולהריץ. AndroidEnv זמין כמאגר קוד פתוח ב- Github.
גישה מציאותית לאנדרואיד
AndroidEnv שואפת לספק סביבה מציאותית ככל האפשר לאימון, ולכן האילוצים המיושמים תואמים את אלה שאנו יכולים לצפות גם לבני אדם שמתקשרים עם אנדרואיד:
- סוכן יכול בעיקר לקרוא את הפיקסלים ש- Android מעבד; עבור תכונה זו, משמש ממשק המדמה מסך מגע
- מרחב הפעולה (סט האפשרויות הזמינות לאינטראקציה עם הסביבה) מורכב מכמה פעולות פשוטות, כגון מגע, הרמה או הסרה
המטרה של AndroidEnv היא לדחוף את הגבולות למידת חיזוק. בדומה לפלטפורמת "היקום" של OpenAI, שאפשרה לסוכנים לתקשר עם סצינות באמצעות ממשק לעכבר ולמקלדת, היצירה האחרונה של Deepmind מאפשרת למפתחים להכשיר את הדגמים שלהם באחת הסביבות המאתגרות שאפשר לדמיין.
כוונתי בכך היא שלמודלים קודמים הייתה גישה למטרות שלהם באמצעות ממשק מיוחד שפשט הרבה את האינטראקציה. כמו כן, AndroidEnv לא מספק מידע נוסף רב מלבד הפיקסלים של המסך (עוד על כך בהמשך), מה שהופך את השימוש בו למציאותי כל כך.
מבט מקרוב על האינטראקציה
כאמור, AndroidEnv מספק קבוצה של פעולות גולמיות שכולן מדמות תנועות בסיסיות שאדם ישתמש בהן גם בעת אינטראקציה עם מסך מגע. פעולות גולמיות אלה משלימות על ידי קבוצה של מחוות המאפשרות שליטה יעילה על ידי הסוכן, כגון החלקה או גלילה.
אינטראקציות עם AndroidEnv מתוות גם את אחד האתגרים הגדולים בפלטפורמה זו: בהתאם לאפליקציה הפתוחה (או למשימה בכלל), הם יכולים להיות שונים בצורה דרסטית מבחינת משמעותם. החלקה באפליקציה אחת עשויה לשמש בהקשר אחר לגמרי בתוך אפליקציה אחרת.
חשוב גם: סוכנים ב- AndroidEnv צריכים להתמודד עם האופי בזמן אמת של מערכת הפעלה בזמן אמת, כמו Android. המשמעות היא שאין המתנה מהיישום עד שהסוכן יגדיר את הפעולה הבאה - מערכת ההפעלה פשוט ממשיכה. זהו אתגר קשה במיוחד עבור סוכנים להתגבר עליו. AndroidEnv מספק כלי תאימות קטן כדי להימנע מתשומות חיוביות כוזבות למקרה שלסוכן לוקח יותר מדי זמן להגיב (כמו השארת ברז בזמן העיבוד, מה שמוביל ללחיצה ארוכה שמתפרשת על ידי Android).
הגדרת משימות שיש לבצע
משימה מגדירה בעיה ספציפית שצריך לפתור על ידי סוכן RL. כדי לאפשר הכשרה מתאימה של הסוכן שלך, המשימות לוכדות היבטים מסוימים של נתונים הרלוונטיים:
- "תנאי סיום פרק": מתי נעשתה המשימה או מתי בהחלט נכשלה
- "תגמולים": מתן משוב מספרי למטרות שהושגו
- יישומים אחרים שניתן לתקשר איתם למשימה
כדי לאפשר משוב משמעותי ורלוונטי, ל- AndroidEnv יש גישה ל- ADB, "גשר מכשירי האנדרואיד", שהוא זרם יומני המכשיר ולכן מאפשר למשימה להתבונן בו ולהפעיל אותות מוגדרים מראש במידת הצורך.
ים של אפשרויות
לא ניתן להפריז בהשפעה האפשרית של AndroidEnv על ההתפתחות הכוללת של AI ולמידת חיזוק בפרט. זה לא רק מאפשר לסוכנים ללמוד כיצד לתקשר עם אנדרואיד ("לפתוח מפות ולחפש מסעדת סושי קרובה"), אלא גם ליישם טכניקות שונות אחרות לפתרון בעיות, תלוי באפליקציה. לדוגמא, ניתן להכשיר סוכן לשחק במשחקים (כל המשחקים באנדרואיד זמינים!) לפיתוח אסטרטגיות זכייה לטווח ארוך.
AndroidEnv משמש כשער שנפתח לכל אחד לכתוב מודלים של ML שניתן לאמן אותם בכל משימה אפשרית. זה נפש!
מפליג
מכיוון שאני לא מהנדס למידת מכונה, הידע שלי הוא רק משטח. מאמר זה משמש כמבוא ל- AndroidEnv, אך למידע נוסף אנא עיינו בתוספת הכוללת את כל הקישורים הרלוונטיים, כולל מאגר Github.