צעד אחורה: בואו נדבר על בינה מלאכותית מאפס

מאת Yuval Avidani
זמן קריאה: 1 דק'

תוכן עניינים

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

נתחיל מההתחלה: מה זה בינה מלאכותית?

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

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

סוגים של למידת מכונה

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

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

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

    בלמידת מכונה לא מפוקחת אנו משתמשים למשימות כמו Clustering, חלוקה לקבוצות. למשל: אוסף גדול של ידיעות חדשותיות. המודל יבין לבד מה הנושאים שחוזרים על עצמם ויוכל למצוא קטגוריות משותפות כמו: ספורט, פוליטיקה, אקטואליה, בידור וכדומה.
  3. למידת מכונה מבוססת חיזוקים (Reinforcement Learning) - בה המכונה לומדת תוך קבלת ״שכר ועונש״ על בחירות ״נכונות״ או ״שגויות״. המכונה לומדת לבד איך להתנהל בסיטואציה מסוימת (למשל משחק מחשב שבו היא לומדת לבד איך לשחק מבלי שמגדירים לה את החוקים. היא מנסה, נפסלת, מבינה איפה הטעות, מתקנת, לומדת ומשתפרת. זה הסוג שמשתייך ללמידת מכונה שמנצחת משחקי שחמט). התהליך הוא למידת באמצעות חיזוקים. ניקוד חיובי על מהלך חיובי, ניקוד שלילי על מהלך שלילי. החיזוק הזה מתקבל באמצעות פידבק, הפידבק יכול להיות באמצעות אדם, משוב אנושי, או באמצעות בינה מלאכותית, משוב של AI. לכן השם המדויק נקרא:
    RLHF = Reinforcement Learning Human Feedback
    RLAIF = Reinforcement Learning AI Feedback
  4. למידת ״המרה״ (Transfer Learning) - בה לא מאמנים מודל מאפס, אלא ממירים את הידע שלו לכיוונים אחרים. נניח שמודל מסוים למד לזהות מכוניות בתמונות. במידה ונרצה מודל חדש שמזהה כלבים אין צורך לאמן מאפס, אלא אפשר להשתמשב מודל שלמד לזהות מכוניות כיוון שמן הסתם הוא למד גם לזהות את הרקע מאחורי המכוניות - עצים, שמיים, כבישים וכדומה. במצב כזה לא צריך לאמן מאפס מודל, אלא אפשר לקחת את המודל של המכונית ו״להמיר״ אותו ללמוד על כלבים. כך הוא ידע גם איך נראה כלב, ועדיין יזכור את כל מה שלמד לפני.
  5. שילובים בין כל מה שנאמר לעיל, למשל: למידת מכונה חצי מושגחת, או חצי לא מפוקחת וכדומה.

מה ההבדל בין בינה מלאכותית לבינה מלאכותית גנרטיבית (יוצרת)?

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

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

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

באיזה אלגוריתמים לבחור לאימון מודלים? (או: מה זה Scikit-Learn)

קיים אתר נפלא בשם Scikit Learn (שהוא למעשה גם ספריית למידת מכונה) שמכיל מידע עצום על כך. זו תורה שלמה כשלעצמה אך בגדול אם יש לנו דאטה מסודר בטבלה, מה שנקרא: Structured Data, נוכל להשתמש באלגוריתמים כמו XG-Boost או Catboost כדי לאמן מודל.

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

כך נראית מפת ההכוונה שיצרו עבורנו החבר'ה המוכשרים של Scikit-Learn:

האתר המדהים Sckit-Learn ומפת ההכוונה שלו לבחירת מודל לאימון

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

באתר המדהים הזה יש גם אוסף שלם של דוגמאות, למשל זיהוי פרצופים:

Faces from dataset
דוגמא לדאטה סט של פרצופים

בקיצור, Scikit-Learn זה כלי שחובה להכיר.

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

מקווה שקיבלתם ערך ונהניתם, נתראה בפוסטים הבאים.

יובל

עדכון אחרון יוני 09, 2024

אודות המחבר