למידת חיזוק (RL) כוללת כיתה של טכניקות למידת מכונה (ML) שניתן להשתמש בהן כדי לפתור בעיות רציפות של קבלת החלטות. טכניקות RL מצאו יישומים נרחבים בתחומים רבים, כולל שירותים פיננסיים, ניווט אוטונומי, בקרה תעשייתית ומסחר אלקטרוני. המטרה של בעיית RL היא להכשיר סוכן שבהינתן תצפית מהסביבה שלו, יבחר בפעולה האופטימלית שממקסמת את התגמול המצטבר. פתרון בעיה עסקית עם RL כרוך בציון סביבת הסוכן, מרחב הפעולות, מבנה התצפיות ופונקציית התגמול הנכונה עבור התוצאה העסקית היעד. בשיטות RL מבוססות מדיניות, התוצאה של אימון מודלים היא לעתים קרובות מדיניות, המגדירה התפלגות הסתברות על פני הפעולות שניתנו בתצפית. הפוליסה האופטימלית תמקסם את התשואות המצטברות שיקבל הסוכן.
בבעיות קבלת החלטות מוגבלות, הסוכן מוטל לבחור את הפעולות האופטימליות תחת אילוצים. קיים סוג מובהק של בעיות כאלה שבהן, בהתאם למדינה, ייתכן שהסוכן יורשה לבחור רק מתוך תת-קבוצה של כל הפעולות. יתר התביעות אינן קבילות.
לדוגמה, קחו בחשבון מכונית אוטונומית שיש לה 10 רמות מהירות אפשריות. מכונית זו רשאית לבחור רק מתוך תת-קבוצה של רמות המהירות שלה כאשר היא חוצה שכונת מגורים. כאן, ההגבלה על רמות המהירות נקבעת לפי מיקום המכונית. אילוצים עם פרמטרים כאלה על הפעולות נפוצים בבעיות רבות בעולם האמיתי. פתרון בעיות כאלה עם RL דורש שילוב האילוצים בתהליך ההכשרה. מיסוך פעולה היא גישה לפתרון בעיות RL הכרוכות באילוצי אי קבילות בצורה יעילה לדוגמה. כפי שהשם מרמז, זה כרוך במיסוך כל פעולה בלתי קבילה על ידי קביעת הסתברות הדגימה שלהן לאפס. האיור הבא מתאר את מחזור RL עם מיסוך פעולה. הוא מורכב מסוכן, האילוצים שקובעים את מסכות הפעולה, המסכות, מעברי המדינה והתגמולים הנצפים.
בפוסט זה, אנו מתארים כיצד ליישם מיסוך פעולה עם אמזון SageMaker RL שימוש במרחבי פעולה פרמטריים ב ריי RLlib. אנו מתארים בעיה לדוגמה הכרוכה במרחבי פעולה רב-ממדיים בדידים ובאילוצים מרובים. כדי לגשת למחברת המלאה עבור פוסט זה, עיין ב- דוגמה למחברת SageMaker ב- GitHub.
השתמש בסקירת המקרים
אנו רואים דוגמה לבעיית אופטימיזציה של תיקים שבה משקיע סוחר במספר סוגי נכסים כדי למקסם את ערך התיק הכולל שלהם. התיק מורכב משלושה סוגי נכסים שונים, ויתרת מזומנים שמתייחסת פשוט לכסף שיש לך בחשבון הבנק שלך. במהלך כל תקופת השקעה, על הסוכן לבחור את הכמות של כל סוג נכס שהוא קונה או מוכר. הסוכן משתמש ביתרת המזומנים הזמינה כדי לממן כל רכישת נכסים. יש גם עלויות עסקאות הקשורות לכל פעולת קנייה/מכירה של נכס. ההנחה היא שמחיר השוק של כל נכס ישתנה לאורך זמן. המחירים נדגמים באופן אקראי אך מעוצבים כדי להראות התנהגות מובחנת עם רמות שונות של תנודתיות. טווחי המחירים עבור שלושת סוגי הנכסים מוצגים באיור הבא.
מערך הפעולות הקבילות עבור הסוכן נקבע על פי פרמטרים כגון שווי התיק הכולל הנוכחי, יתרת המזומנים הנוכחית, מספר כל סוגי הנכסים המוחזקים ושווי השוק הנוכחי שלהם. עבור בעיה זו, אנו אוכפים את האילוצים הבאים על פעולות אפשריות:
- C1 – הסוכן לא יכול למכור יותר יחידות מכל סוג נכס ממה שבבעלותו כרגע. לדוגמה, אם לסוכן יש 100 יחידות של נכס 3 בזמן k בתיק שלו, אז הוא לא יכול למכור 120 יחידות מהנכס באותו זמן.
- C2 - נכס 3 נחשב לתנודתי מאוד על ידי המשקיעים. הסוכן אינו רשאי לקנות נכס 3 אם הערך הכולל של אחזקותיו בנכס 3 הוא מעל שליש משווי התיק הכולל שלהם.
- C3 – לצרכנים של מודל RL יש העדפת סיכון מתונה והם רואים בנכס 2 קנייה שמרנית. כתוצאה מכך, הסוכן אינו רשאי לקנות נכס 2 כאשר השווי הכולל של אחזקות נכס 2 חוצה שני שלישים משווי התיק הכולל.
- C4 – הסוכן לא יכול לקנות נכסים כלשהם אם יתרת המזומנים הנוכחית שלו נמוכה מ-$1 USD.
הגדר את הסביבה
כדי להתחיל, אספקת מופע מחברת SageMaker באמצעות סטודיו SageMaker של אמזון. לקבלת מידע נוסף, ראה השתמש במופעים של Amazon SageMaker Notebook.
לאחר מכן, אנו מיישמים את בעיית המסחר בתיק בהתאמה אישית פתח AI Gym סביבה והכשרת סוכן RL באמצעות SageMaker RL. סביבת חדר כושר מספקת ממשק לסוכן RL לאינטראקציה עם הסביבה שלו, ולייצר תגמולים ותצפיות. הסביבה למסחר בתיק ממוקמת ב trading.py
מודול. אנו משתמשים ב- __init__
שיטה להגדיר ולאתחל כמה פרמטרים של הסביבה. זה כולל עלויות עסקה הקשורות לפעולות קנייה/מכירה של נכסים, ערך ממוצע של מחירי הנכס, סטיות מחיר ועוד. אנו מגדירים גם את מרחבי ההתבוננות והפעולה ב- __init__
שיטה. ראה את הקוד הבא:
מכיוון שהסוכן סוחר בשלושה נכסים בכל זמן נתון, הפעולות שמבצע הסוכן מיוצגות באמצעות וקטור פעולה תלת מימדי. שלוש הפעולות הבדידות המרכיבות את וקטור הפעולה מייצגות את העסקאות בכל סוג נכס וכל אחת יכולה לקחת 11 ערכים אפשריים. 11 הערכים הבדידים מקודדים פעולות מכירה, קנייה והחזקה שונות, כפי שמוצג באיור הבא. לדוגמה, בחירת א1=3 מתורגם לסוכן שמוכר 20 יחידות מסוג נכס 1. נכסים קונים ונמכרים בכפולות של 10.
למרחב התצפית מבנה מילוני עם שני אלמנטים. אלה מייצגים את מצב המסחר הנוכחי ואת ערכי מסכת הפעולה הנוכחית. מצב המסחר הוא וקטור 7×1 המורכב מהכמויות של כל נכס המוחזק כיום על ידי הסוכן, יתרת המזומנים הנוכחית ושווי השוק הנוכחי של כל אחד משלושת הנכסים. מסכת הפעולה היא מטריצה 3×11 עם ערכי מסיכה התואמים לכל פעולה אפשרית. הסביבה מחשבת את ערכי המסכה בכל פעם באמצעות an update_mask()
שיטה. לפעולות שמפרות כל אחד מהאילוצים C1:C4 מוקצית מסיכת אפס. הערך של מסכה מוגדר להיות 1 עבור פעולות קבילות. ראה את הקוד הבא:
בתחילת כל פרק, א reset()
השיטה נקראת לאתחל מחדש את מצב המסחר, תצפיות ופרמטרים אחרים. הסוכן מתחיל כל פרק אימון עם יתרת מזומנים של $1,000 דולר ואפס החזקות בנכסים. כל פרק מורכב מ-20 תקופות השקעה.
בתחילת כל תקופת השקעה, הסוכן דוגם פעולה על סמך התצפיות האחרונות שרשם ומעדכן את תיק ההשקעות שלו. זה מעוצב באמצעות א step()
שיטה. לאחר עדכון התיק, אנו מחשבים מחדש את המצב. מסכת הפעולה מתעדכנת גם על ידי קריאה ל- update_mask()
שִׁיטָה.
פונקציית התגמול מוגדרת כערך התיק הכולל הסופי ומחושבת בסוף כל פרק, מה שקורה לאחר 20 תקופות השקעה.
דגם מסיכה
בכל שלב בזמן, הסביבה מחזירה את מצב המילון ואת מודל ה-ML המייצג את דוגמיות המדיניות פעולה המבוססת על מצב זה. מודל פעולה פרמטרי מקל על דגימה רק של הפעולות הלא-מסוכות (מסיכה ≠ 0). כאן אנו מתארים את מודל הפעולות הפרמטריות המאפשר מיסוך פעולה:
פעולות נדגמות על ידי המודל באמצעות פונקציית Softmax תוך שימוש בלוגיטים שניתנו על ידי מודל הטמעת פעולה. מודל זה מוגדר ב- __init__
שיטה. התנהגות המיסוך עצמה מיושמת ב- forward()
שיטה. כאן אנו מפרידים את מסכות הפעולות ומצב המסחר ממצב המילון שנשלף מהסביבה. הטמעות הפעולה מתקבלות לאחר מכן על ידי העברת מצב המסחר לרשת הטבעת הפעולה. לאחר מכן, אנו משנים את ערך ההטמעות של כל פעולה על ידי הוספה logit_mod
ללוגיטים. שים לב ש logit_mod
הוא פונקציה של הלוגריתם של מסכת הפעולה. עבור פעולות עם מסיכה =1, הלוגריתם של המסכה יהיה אפס, מה שמותיר את ההטבעות שלהן ללא הפרעה. מצד שני, כאשר mask=0, הלוגריתם של mask → −∞. כי Softmax(x)
→0 כ-x→ −∞, זה מוודא שפעולות מוסיכות לא יידגמו על ידי הסוכן.
בואו נבדוק אם המסכה עובדת כמצופה. אנו יוזמים אובייקט של מאמן קרן ומסווים חלק מהפעולות ובודקים אם המאמן דוגם רק את הפעולות הבלתי-מסוכות:
הפלט בצילום המסך הבא מציג את מערך מסכת הפעולה הראשונית.
כעת אנו משנים את וקטורי המסכה כך שעבור a1, כל האפשרויות מלבד פעולה 8 (קנה 30 יחידות של נכס 1); למשך2 הכל מלבד פעולה 5 (החזק את נכס 2 במספרים הנוכחיים); ועבור א3, כל דבר מלבד פעולות 1 ו-2 (מכירת 40 או 30 יחידות של נכס 3) מוסווה:
כעת, לאחר ששינינו את מערך מסיכת הפעולה, אנו מנסים לדגום פעולה חדשה.
הסוכן דוגם רק את הפעולות שהן חשופות. זה מוודא שמיסוך הפעולה פועל כצפוי.
תוצאות
כעת, לאחר שהוגדרו מודל הסביבה והפעולות הפרמטריות, אנו מאמנים סוכן לפתור את בעיית אופטימיזציית התיק באמצעות SageMaker RL. אנו מאמנים סוכן RL ללמוד את המדיניות האופטימלית כדי למקסם את התגמול תחת האילוצים C1:C4. אנו משתמשים באלגוריתם אופטימיזציית המדיניות הפרוקסימלית (PPO) ב- SageMaker RL כדי להכשיר את סוכן ה-RL עבור 500,000 פרקים. תצורת ההדרכה הבאה מראה כיצד אנו מציינים את הסוכן שישתמש ב- trading_mask
בתור custom_model
להשתמש:
הסוכן מתחיל עם $1,000 דולר ביתרת מזומנים ראשונית. התגמול הממוצע לפרק משורטט כפונקציה של זמן האימון, כפי שמוצג בתרשים הבא. זכור שאנו משתמשים בערך התיק הסופי כפרס. בתום 20 תקופות השקעה, אנו רואים שהערך הממוצע של תיק הסוכן הוא מעל $3,000 דולר.
לנקות את
לא סיפקנו שום תשתית מעבר לשימוש במופע מחברת SageMaker. אם אתה משתמש במופע מחברת SageMaker דרך Studio, אתה יכול לכבות אותו על ידי ביצוע ההוראות ב סגור מחברת פתוחה.
סיכום
בפוסט זה, דנו כיצד ניתן ליישם מיסוך פעולה כדי לאכוף אילוצים באימון מודל RL. על ידי מיסוך פעולות בלתי קבילות, אנו מאפשרים לסוכן לדגום רק פעולות תקפות וללמוד את המדיניות האופטימלית בצורה יעילה לדוגמה. הצגנו בעיית אופטימיזציה של תיקים שבה הסוכן מופקד למקסם את ערך התיק שלו על ידי מסחר בשלושה סוגי נכסים תחת מגבלות מרובות. הדגמנו כיצד ליישם מיסוך פעולה רב מימדי עבור בעיה זו באמצעות Ray RLlib. הכשרנו סוכן RL לפתרון בעיית אופטימיזציה של תיקים מוגבלים באמצעות SageMaker RL.
כעת, כשאתה יודע לבצע מיסוך פעולות באמצעות SageMaker RL ו-Ray RLlib על אופטימיזציה של תיקים, אתה יכול לנסות זאת על בעיות RL אחרות הכרוכות בפעולות בלתי קבילות. אתה יכול גם להתאים את קוד מיסוך הפעולה שפותח בפוסט זה לבעיות פשוטות יותר הכוללות מרחב פעולה חד מימדי. אנו ממליצים לך ליישם את הגישה שפותחה כאן על מקרי השימוש שלך ב-RL וליידע אותנו אם יש לך שאלות או משוב.
הפניות נוספות
למידע נוסף ותוכן קשור, עיין במשאבים הבאים:
על הכותבים
דילש"ד ריחן עכו"ם ויתיל הוא מדען נתונים עם שירותים מקצועיים של AWS, שם הוא מתקשר עם לקוחות בכל תעשיות כדי לפתור את האתגרים העסקיים שלהם באמצעות שימוש בלמידת מכונה ומחשוב ענן. הוא בעל תואר דוקטור בהנדסת תעופה וחלל מאוניברסיטת טקסס A&M, College Station. בשעות הפנאי הוא נהנה לראות כדורגל ולקרוא.
פול בודנריין הוא מדען יישומי בקבוצת מערכות חיזוי המלאי (IFS) של אמזון, והוא מבוסס מלוס אנג'לס, קליפורניה.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/portfolio-optimization-through-multidimensional-action-optimization-using-amazon-sagemaker-rl/
- :הוא
- $3
- $ למעלה
- 000
- 1
- 10
- 100
- 11
- 500k
- 7
- 8
- a
- מֵעַל
- גישה
- חֶשְׁבּוֹן
- לרוחב
- פעולה
- פעולות
- להסתגל
- נוסף
- מידע נוסף
- אווירי
- לאחר
- סוֹכֵן
- סוכנים
- AI
- אַלגוֹרִיתְם
- תעשיות
- אמזון בעברית
- אמזון SageMaker
- ו
- אנג'לס
- יישומים
- יישומית
- החל
- גישה
- ARE
- מערך
- AS
- נכס
- נכסים
- שהוקצה
- המשויך
- להניח
- At
- אוטונומי
- זמין
- AWS
- שירותים מקצועיים של AWS
- איזון
- בנק
- חשבון בנק
- מבוסס
- BE
- כי
- ההתחלה
- מעבר
- קנה
- עסקים
- לִקְנוֹת
- by
- מחושב
- מחשב
- קליפורניה
- נקרא
- קוראים
- CAN
- מכונית
- מקרה
- מקרים
- מזומנים
- האתגרים
- תרשים
- בחירות
- בחרו
- בחירה
- בכיתה
- כיתות
- ענן
- ענן מחשוב
- קוד
- מִכלָלָה
- Common
- להשלים
- מחשוב
- מצב
- תְצוּרָה
- שמרני
- לשקול
- נחשב
- מורכב
- אילוצים
- צרכנים
- תוכן
- להמשיך
- לִשְׁלוֹט
- תוֹאֵם
- עלות
- עלויות
- לַחֲצוֹת
- נוֹכְחִי
- כיום
- מנהג
- לקוחות
- מחזור
- נתונים
- מדען נתונים
- קבלת החלטות
- מוגדר
- מגדיר
- מופגן
- תלוי
- לתאר
- לקבוע
- נחוש
- מפותח
- אחר
- נָדוֹן
- מובהק
- הפצה
- תחומים
- מטה
- בְּמַהֲלָך
- מסחר אלקטרוני
- כל אחד
- יעיל
- אלמנטים
- לאפשר
- מאפשר
- מקיף
- לעודד
- הנדסה
- סביבה
- כל
- הכל
- דוגמה
- אלא
- קיים
- צפוי
- לחקור
- מקל
- מָשׁוֹב
- תרשים
- סופי
- לממן
- כספי
- שירותים פיננסיים
- הבא
- כדורגל
- בעד
- מצא
- החל מ-
- פונקציה
- ליצור
- GitHub
- נתן
- קְבוּצָה
- חדר כושר
- יד
- קורה
- יש
- הוחזק
- כאן
- גָבוֹהַ
- מאוד
- להחזיק
- אחזקות
- מחזיק
- איך
- איך
- HTML
- HTTPS
- ליישם
- יושם
- לייבא
- in
- כולל
- כולל
- שילוב
- מדד
- התעשייה
- תעשיות
- מידע
- תשתית
- בתחילה
- ליזום
- למשל
- הוראות
- אינטראקציה
- מִמְשָׁק
- הציג
- מלאי
- השקעה
- משקיע
- משקיעים
- לערב
- IT
- שֶׁלָה
- עצמו
- jpg
- לדעת
- האחרון
- לִלמוֹד
- למידה
- אורך
- רמות
- ממוקם
- מיקום
- ה
- לוס אנג'לס
- נמוך
- מכונה
- למידת מכונה
- לעשות
- עושה
- דרך
- רב
- שוק
- מחירי שוק
- מסכה
- מבחר המסיכות
- מתמטיקה
- מַטרִיצָה
- מקסימום
- לְהַגדִיל
- מעלה
- מקסימום
- שיטה
- שיטות
- מינימום
- ML
- מודל
- שונים
- לשנות
- מודול
- כסף
- צג
- יותר
- מספר
- שם
- ניווט
- רשת
- חדש
- הבא
- מחברה
- מספר
- מספרים
- רב
- קהות
- אובייקט
- מטרה
- להתבונן
- מושג
- of
- on
- לפתוח
- אופטימלי
- אופטימיזציה
- אחר
- תוֹצָאָה
- תפוקה
- שֶׁלוֹ
- בבעלות
- פרמטרים
- חולף
- לְבַצֵעַ
- תקופה
- תקופות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- מדיניות
- תיק עבודות
- אפשרי
- הודעה
- מחיר
- מחירים
- בעיה
- בעיות
- תהליך
- מקצועי
- מספק
- אַספָּקָה
- רכישות
- כמות
- שאלות
- אקראי
- RAY
- קריאה
- עולם אמיתי
- מוקלט
- מתייחס
- רישום
- קָשׁוּר
- נותר
- לייצג
- מיוצג
- המייצג
- דורש
- מגורים
- משאבים
- תוצאה
- לַחֲזוֹר
- החזרות
- לגמול
- תגמולים
- הסיכון
- הפעלה
- בעל חכמים
- SALE
- מַדְעָן
- עצמי
- למכור
- מכירת
- נפרד
- שירותים
- סט
- הצבה
- לְהַצִיג
- הראה
- הופעות
- בפשטות
- So
- נמכרים
- לפתור
- פותר
- כמה
- מֶרחָב
- רווחים
- מְהִירוּת
- התחלה
- התחלות
- מדינה
- תחנה
- שלב
- עצור
- מִבְנֶה
- סטודיו
- כזה
- מציע
- מערכות
- לקחת
- יעד
- טכניקות
- מבחן
- טקסס
- זֶה
- השמיים
- המדינה
- שֶׁלָהֶם
- אלה
- שְׁלִישִׁי
- שְׁלוֹשָׁה
- תלת-ממדי
- דרך
- זמן
- ל
- סה"כ
- עסקות
- מסחר
- רכבת
- מְאוּמָן
- הדרכה
- עסקה
- עלויות העברה
- עסקות
- מעברים
- נָכוֹן
- שני שליש
- סוגים
- תחת
- יחידה
- יחידות
- אוניברסיטה
- עדכון
- מְעוּדכָּן
- עדכונים
- עדכון
- us
- ש״ח
- להשתמש
- ערך
- ערכים
- באמצעות
- נדיף
- נדיפות
- צופה
- מה
- אשר
- נָפוֹץ
- יצטרך
- עם
- עובד
- X
- אתה
- זפירנט
- אפס