Scikit-learn, TensorFlow ו-PyTorch הן שלוש ספריות מרכזיות בעבודה המעשית בלמידת מכונה, ושלושתן נלמדות במסלול ה-AI של מכללת רמון. קורס machine learning טוב לא מלמד רק להפעיל אותן. הוא מלמד להכין נתונים, לבחור מודל, לבדוק אם הוא באמת עובד ולהסביר את התוצאה למי שלא כתב את הקוד.

machine learning במשפט אחד

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

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

למידת מכונה ביומיום

למידת מכונה כבר נמצאת בהרבה מוצרים ושירותים מוכרים, גם כשלא רואים אותה:

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

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

3 סוגים של למידה

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

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

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

תהליך העבודה על מודל

אימון המודל עצמו הוא רק שלב אחד מתוך כמה. העבודה המלאה נראית כך:

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

הכנת הנתונים, השלב שלוקח הכי הרבה זמן

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

התאמת יתר, הטעות הקלאסית

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

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

למידה עמוקה, השלב הבא

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

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

הכלים שלומדים במסלול

במסלול ה-AI לומדים את הכלים לפי הסדר שבו משתמשים בהם בעבודה, מהשפה ועד לספריות המתקדמות:

כלי למה הוא משמש
Python שפת העבודה, שבה כותבים את הקוד ומעבדים את הנתונים
Scikit-learn אלגוריתמים של למידת מכונה, כמו סיווג, חיזוי וקיבוץ, ובדיקת הביצועים שלהם
TensorFlow בנייה ואימון של רשתות נוירונים ולמידה עמוקה
PyTorch ספרייה נוספת לרשתות נוירונים ולמידה עמוקה
NLTK עיבוד טקסט ועבודה עם שפה טבעית

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

הבסיס לפני שמתחילים

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

בחירת קורס machine learning

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

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

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

שאלות נפוצות על קורס machine learning

מה ההבדל בין machine learning לבינה מלאכותית?

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

אילו ספריות לומדים במסלול?

Scikit-learn ללמידת מכונה, TensorFlow ו-PyTorch לרשתות נוירונים ולמידה עמוקה, ו-NLTK לעיבוד טקסט. כולן נלמדות ב-Python.

האם צריך לדעת Python לפני שמתחילים?

לא. Python נלמדת במסלול מהיסודות, כך שגם מי שלא כתב קוד יכול להתחיל, בכפוף לבדיקת התאמה ולמסלול ההכנה.