Q-learning

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה לניווט קפיצה לחיפוש

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

עבור כל תהליך החלטה מרקובי סופי, Q-learning מוצא מדיניות אופטימלית במובן של מקסום הערך הצפוי של התגמול הכולל על כל השלבים הבאים, החל מהמצב הנוכחי.[1] Q-learning יכול לזהות מדיניות בחירת פעולה אופטימלית עבור תהליך החלטה מרקובי, בהינתן זמן חיפוש אינסופי ומדיניות אקראית חלקית.[1] "Q" מציין את הפונקציה המחזירה את התגמול, כשהתגמול משמש לחיזוק ומציין את האיכות (quality) של ביצוע הפעולה במצב הנתון.[2]

למידת חיזוק[עריכת קוד מקור | עריכה]

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

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

דוגמה[עריכת קוד מקור | עריכה]

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

  • 0 שניות זמן המתנה + 15 שניות מאבק בין הנוסע העולה לנוסעים היורדים.

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

  • 5 המתנה + 0 שניות מאבק עם הנוסעים.

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

אלגוריתם[עריכת קוד מקור | עריכה]

טבלת Q-Learning של מצבים ופעולות שמתאוחלת באפס, ואז כל תא מתעדכן באמצעות אימון.

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

האלגוריתם מתבסס על פונקציה המחשבת את האיכות של שילוב מצב-פעולה:

לפני תחילת הלמידה, Q מאותחל לערך קבוע שרירותי. בכל זמן t, הסוכן בוחר פעולה ובעקבותיה מקבל תגמול ועובר למצב חדש (התלוי במצב הקודם ובפעולה שנבחרה) ו-Q מעודכן. האלגוריתם מבוסס על value iteration וממוצע משוקלל של הערך הישן והמידע החדש:

כאשר הוא התגמול המתקבל בביצוע המעבר ממצב למצב ו- הוא קצב הלמידה ().

הרצה של האלגוריתם מסתיימת כאשר הוא מצב סופי.

היסטוריה[עריכת קוד מקור | עריכה]

אלגוריתם Q-learning פורסם לראשונה על ידי ווטקינס (Watkins) ב-1989.[3] ב-1992 פורסמה הוכחת התכנסות של האלגוריתם על ידי ווטקינס ודיין,[4] וב-1994 בצורה מפורטת על יותר על ידי טסיטסיקיליס.[5]

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ 1.0 1.1 Melo, Francisco S. "Convergence of Q-learning: a simple proof". 
  2. ^ Matiisen, Tambet (19 בדצמבר 2015). "Demystifying Deep Reinforcement Learning". neuro.cs.ut.ee (באנגלית). Computational Neuroscience Lab. בדיקה אחרונה ב-6 באפריל 2018. 
  3. ^ Watkins, C.J.C.H. (1989), Learning from Delayed Rewards (Ph.D. thesis), Cambridge University 
  4. ^ Watkins and Dayan, C.J.C.H., (1992), 'Q-learning.Machine Learning'
  5. ^ Tsitsiklis, J., (1994), 'Asynchronous Stochastic Approximation and Q-learning. Machine Learning'