תוספות
cover image

חדו"א 1
יד ביד

על שיטת הלמידה המיטבית

למידה מפוקחת ולמידה לא מפוקחת

רוב הבעיות הפופולריות בתחום למידת המכונה1 (Machine Learning) מחולקות לשני סוגים:

  1. למידה מפוקחת – Supervised Learning
  2. למידה לא מפוקחת – Unsupervised Learning

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

בעיות הלמידה הלא מפוקחות פחות מוכרות, אך דוגמה רלוונטית נמצאת בתחום מערכות המלצה (Recommender Systems). תפקידה של מערכת המלצה הוא לעזור לנותן שירות מסויים (למשל Netflix או Spotify) להמליץ לכם על תוכן שסביר שתאהבו. דרך אחת לבנות מערכת כזו היא בעזרת אלגוריתם של למידה לא מפוקחת. אלגוריתם כזה יקבל למשל מידע על אלפי משתמשי נטפליקס (אילו סרטים וסדרות הם ראו בחודש האחרון, מאיפה הם בעולם, ועוד…), ויחלק את המשתמשים לקבוצות שלפי דעתו חולקות טעם משותף בסרטים ובסדרות שהם רואים. לאחר שהאלגוריתם מחלק את המשתמשים לקבוצות הוא יכול לתת לחברי כל קבוצה המלצות על סמך מה שחברים אחרים מאותה קבוצה ראו.

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

ואם כבר בחדו”א עסקינן, כדאי ללמוד בצורה מפוקחת או לא מפוקחת?

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

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

אז מה עדיף? למידה מפוקחת או לא מפוקחת?

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

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

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

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

השיטה המנצחת(שיטת Win-Win)

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

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

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

השיטה

1. הכנה

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

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

2. חשבון נפש

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

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

3. השוואה מושכלת

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

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

4. למידה משמעותית

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

5. ווידוא הריגה

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

לבסוף תעברו לתרגיל הבא ותחזרו לשלב 1.

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

בואו נדבר על שלושה קשיים שסביר להניח שתתקלו בהם עם שיטה זו.

יש לי פחד מטיימרים

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

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

הפתרון הרשמי כולל כשפים ולחשים סודיים

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

“ומה אם זה יקרה בעוד שאלות?”

זה אכן יכול לקרות. אבל ככל שתתקדמו בשאלות יקרו שני דברים:

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

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

פתרתי אחרת לגמרי, מה עושים?

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

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

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

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

יש על מה להתווכח, אבל דבר אחד בטוח

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

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

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

המשיכו לחלק הבא


  1. למי שלא מכיר: זהו אוסף שיטות לפתרון בעיות בבינה מלאכותית (Artificial Intelligence) בהן המחשב מזהה תבניות באופן עצמאי מתוך מידע. 

  2. גם לתמונות יש משקל כבד מאוד בהצלחה של האלגוריתם, אבל די, זה אתר על חדֹו”א. 

  3. בהנחה שאורך המבחן הוא שלוש שעות ויש חמש שאלות. 

החכמתם? נהנתם? מוזמנים להזמין לי כוס קפה :)