top of page
חיפוש

איך מלמדים מחשב להיות סקרן?

  • תמונת הסופר/ת: אלון מלין
    אלון מלין
  • 20 ביוני 2023
  • זמן קריאה 2 דקות

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

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

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


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



צילום מהמשחק Montezuma’s Revenge


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

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



הרשמו לעדכונים כדי לקבל התראה כשיפורסם הפוסט הבא!


 

[1] Curiosity in Deep Reinforcement Learning

[2] Neural Network Learns to Play Snake

 
 
 

Comentarios


bottom of page