לדלג לתוכן

שיטות מתמטיות בבינה מלאכותית - פתח דבר

מתוך Math-Wiki
על מה הספר הזה, ואיך לקרוא אותו
פתח הדבר של הקורס שיטות מתמטיות בבינה מלאכותית (ד"ר ארז שיינר).

המסלול של הספר

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

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

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

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

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

יחידות 7 עד 9 מחליפות את השאלה. במקום "האם המודל טעה" שואלים "כמה סביר מה שראינו", ובוחרים את המודל שתחתיו מה שראינו סביר ביותר; לזה קוראים נראות. השינוי הזה הוא שמאפשר לעבוד עם מילים, ומשם, ביחידה 10, מגיעים למודל השפה של ימינו: ייצוג של מילה שתלוי במשפט שהיא בתוכו.

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

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

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


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

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

מה כבר למדתם

אלגברה לינארית: וקטורים, מטריצות, מכפלה פנימית, וקטורים וערכים עצמיים; מיחידה 3 גם המשפט הספקטרלי ודרגה של מטריצה. חדו"א: נגזרת, נגזרת חלקית וכלל השרשרת (מיחידה 5), ואינטגרל (יחידות 1 ו־11). הסתברות: הסתברות מותנית, תוחלת והתפלגות נורמלית (מיחידה 7), וביחידה 11 גם צפיפות של וקטור מקרי. על בינה מלאכותית ועל למידת מכונה לא מניחים דבר: כל מושג מוגדר במקום שבו הוא נחוץ לראשונה.

מה הבינה המלאכותית צריכה ללמוד

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

דוגמה ותווית. דוגמה היא פריט אחד של נתונים אחרי שהפך לווקטור: תמונה, הקלטה, מסמך, מצב במשחק. תווית היא התשובה הנכונה לדוגמה, כשיש כזאת: הספרה שבתמונה, שם השיר, הספר שהפרק שייך לו. ביחידות 2, 5, 7 ו־8 התוויות נתונות (למידה מפוקחת); ביחידה 6 אין תוויות כלל, וביחידה 12 במקום תווית יש תוצאה של משחק.

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

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

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

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

איך עובדים בקורס

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

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

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

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

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

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

מה קורה בכל שיעור

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

בשיעור. מהתופעה אל הניסוי, באותם שלבים שתעברו בעצמכם בכל משימה:

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

כל פרק בספר עובר את אותו המהלך, מהתופעה ועד הניסוי.