כתב: אאור שרף

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

עשו היסטוריה - אלפאגו מגיע

גוגל דיפמיינד הם לא חובבי גו, הם חוקרים אלגוריתמים גנריים ללמידה של דברים פרקטיים מהעולם האמיתי. אז מדי פעם הם בוחרים משחק ואומרים “תראו, הנה אלגוריתם שלא יודע שום דבר ספציפי על המשחק הזה, אבל הצליח ללמוד לשחק אותו ממש טוב מתוך רק להסתכל על התמונה על המסך \על מצב הלוח\לדעת מי ניצח” או משהו כזה
במיוחד הם אוהבים להגיד “תראו, הנה אלגוריתם שיודע ללמוד להיעשות טוב ב16 משחקים שונים שמאד שונים אחד מהשני”. הם בחרו לבנות אלגוריתם גו רק כי גו היה מפורסם בקהילת האינטליגנציה המלאכותית בתור המשחק הכי קשה. אז הם פרסמו “תראו, הנה אלגוריתם שנהיה אלוף העולם בגו בלי שלימדנו אותו כלום על גו חוץ מאשר מי מנצח במשחק שנגמר ולהראות לו תרשימי לוח של מקצוענים.” זה היה השוק של החיים שלי ושל חצי מעולם התוכנה
גו זה משחק ממש קשה והם עשו קפיצה של חמש שנים ביום אחד
  שעשה היסטוריה כשהביס את אלוף העולם לי סדול AlphaGo זה היה אלפאגו

מאלפאגו לאלפאזירו ולילה

ואז הדבר הבא שנראה להם חשוב לעשות זה להגיד “תראו, הנה אלגוריתם שקורע את האלגוריתם הקודם, לומד יותר מהר ממנו, ולא אמרנו לו כלום על החוקים של גו חוץ ממי מנצח במשחק שנגמר, והוא טוב גם בשחמט”. הרבה יותר היה חשוב להם “לימדנו אותו פחות על גו” ו”הוא טוב גם בשחמט” מאשר הוא טוב יותר בגו”
זה היה אלפאזירו (AlphaZero, או בקיצור AZ)
עוד הבדל גדול בין אלפאגו לאפלאזירו הוא שאלפאגו היה בעצם שתי מכונות שונות, אחת שיודעת להסתכל על מצב לוח ולחזות הסתברות ששחור ינצח, והשנייה שיודעת להסתכל על לוח ולהגיד כמה מעניין כל מהלך אפשרי. כל אחת מהן אומנה בנפרד והייתה צריכה, בנפרד, ללמוד ששתי עיניים זה טוב, שלהתחבר זה טוב, שחרויות זה טוב, שקרבות בדרך כלל מנוצחים על ידי למי יש יותר חרויות  ומקרים מיוחדים. הכל היא למדה פעמיים
אלפאזירו היא מכונה שיודעת לעשות גם את זה וגם את זה, מתוך חשיבה שהרבה מאד משלבי הביניים של לחשוב על בעיה אחת רלוונטיים גם לשנייה, ועדיף ללמוד אותם פעם אחת ולא פעמיים. ולכן היא משתפרת הרבה יותר מהר, ויכולה גם ללמוד מאפס לגמרי ולא צריכה שיתחילו ללמד אותה משחקים של בני אדם לפני שהיא טובה מספיק כדי ללמוד מהר ממשחקים נגד עצמה
(Leela או LeelaZero)
התוכנה היא מימוש חינמי של האלגוריתם הזה של גוגל שהרבה חובבי גו תרמו הרבה זמן עיבוד כדי לאמן אותו בתדירויות גבוהות ככל הניתן. אפשר להשתמש בה כדי לחקור משחקים וגם כדי לשחק מולה ישירות

בעיות במשחק של האלגוריתמים של גוגל

אחד הדברים המוזרים באלגוריתם של אלפאגו ואלפאזירו זה שהוא אומן רק על מי ניצח את המשחק, והוא אומן לנסות לנצח בהסתברות כמה שיותר גבוהה. אז אם הולך לו טוב מאד, יכול להיות שזה יגרום לו להיות שמרן כדי להגדיל את הסיכוי שהוא ינצח בנקודה אחת לפחות, ובכיף מקריב נקודות נוספות שמעבר לקו הנצחון. זה לפעמים גורם לו לשחק מהלכים גרועים, שזה תמוה ומבלבל ונראה רע. לדוגמא אם אתה בדרך לנצח ב30 נקודות, תמיד יהיו מהלכים שמקטינים את זה לנצחון ב10 נקודות אבל מקטינים את הסיכוי שהשחקן השני ימצא טסוג’י מדהים ויהרוג לך קבוצה, ולו בטיפ טיפ טיפה. אלפאזירו לוקח אותם, ואף שחקן אנושי לא היה לוקח אותם אם הוא בטוח מספיק בקריאה שלו. אלפאזירו גם לפעמים משחק מהלכים ממש גרועים כשהוא בטוח שהוא מפסיד כי מבחינתו אם יש לו 0% לנצח אז כל המהלכים בעלי אותו ערך בדיוק. בתמונה אפשר לראות דוגמא לזה בביקורת של לילה על משחק אבוד בבירור (99.9 אחוז ניצחון ללבן, 230 נקודות הפרש). לילה מחשבת 100% סיכוי להפסד בכל מהלך אפשרי, ולכן לא אכפת לה מה הוא יהיה

לילה מנתחת משחק אבוד

יש אלופה חדשה - קטהגו מנצחת את לילה

David J Wu lightvector עכשיו בא חוקר למידת מכונה שהוא כן חובב גו
ואמר “זה מאד נחמד שדיפמיינד מצאו אלגוריתם גו שנהיה ממש חזק בלי שאומרים לו כלום על גו, אבל זה קצת כמו לרכב על אופניים בלי ידיים – אפשר להגיד “תראי אימא, בלי ידיים” אבל זה לא עושה אותך רוכב יותר טוב
בוא ונבנה אלגוריתם דומה לאפלאזירו אבל שכן יודע דברים על גו, והוא יהיה פחות מרשים אבל ישחק גו יותר טוב. הוא בנה את קטהגו. ומסתבר שקטהגו משתפרת הרבה יותר מהר מלילהזירו. קטהגו אחרי 25 אלף משחקים ברמה של לילהזירו אחרי 150,000 משחקים, וקטהגו היום חזקה יותר מלילהזירו היום, שזה לא מאד מפתיע. היא גם נותנת ניתוח שקל יותר ללמוד ממנו, כי היא חוזה גם ניקוד ובעלות על שטח. בתמונה אפשר לראות השוואה בין לילהזירו לקאטהגו. הניקוד הוא ב ואפשר לראות שקטהגו כבר חזקה יותר Elo

השוואה בין לילהזירו לקאטהגו בElo rating.

אבל איך קטהגו עושה את זה

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

קטהגו מנתחת משחק אבוד

סיכום

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