טכנולוגיה "חמה" היא "למידה עמוקה" [1], שבה בונים באמצעות שילוב של חמרה ותכנה רשתות המדמות רשתות נוירונים (תאי העצבים במוח). רשתות אלו נמצאו יעילות לפתרון בעיות שנחשבו בעבר קשות למחשבים, כמו זיהוי וקטלוג תמונות, וגם משימות פשוטות יותר, כמו זיהוי ספרות המשורבטות בכתב יד. נסביר ונשווה את הטכנולוגיה לשיטות קלאסיות באינטליגנציה מלאכותית.
נניח שאנו רוצים ללמד מחשב לזהות ספרות ששורבטו בכתב יד (למשל לצורך סריקת חשבוניות מס או לבדיקה אוטומטית של מבחני מתמטיקה, מה שמתאים יותר...). בעיה שנתקל בה למשל: האם הספרה שתמונתה נתונה היא "1" או "7"? לעיתים, גם לנו קשה להחליט, אז כיצד מחשב יכול לעשות זאת? אחת האפשרויות היא לבקש מ"מומחים" שיגדירו סט של חוקים שניתן לקודד במחשב (למשל: אם יש זווית ישרה בין שני הקווים – כנראה זה "7" ולא "1"). טכנולוגיה זו, שנקראת "מערכת מומחה" יעילה בתחומים שונים כמו קידוד שיטות של רדיולוגים לבדיקת צילומי רנטגן, אולם קשה להשתמש בה לזיהוי תמונות.
שיטה מוצלחת יותר היא להגדיר תכונות מאפיינות, במקרה שלנו תכונות המבדילות בין ספרות שונות, ולתת למחשב למדוד אותן. המדידה מתבצעת על "נתוני אימון", הכוללים תמונות של הרבה ספרות שאנשים שונים שירבטו וערכן ידוע [2]. באמצעות המדידות, המחשב בונה משוואות שמנסות להעריך מה הספרות בתמונות הללו. בתום שלב האימון ובהינתן תמונה חדשה שלא שייכת לנתוני האימון, המחשב ישתמש במשוואות כדי לשער איזו ספרה מופיעה בה.
דוגמה פשטנית: כדי להבדיל בין "7" ל-״1" ניתן להשתמש בשיפוע של כל אחד משני הישרים שמרכיבים את הספרות. למשל, אם השיפוע של הקו העליון הוא אפס, כלומר הקו מאוזן, והשיפוע של הקו השני הוא 45 מעלות, ניתן להניח שהספרה היא 7. במהלך האימון המחשב ישתמש בזוג הזוויות עבור כל אחד מנתוני האימון המכילים "7" ו- "1", וינסה ליצור משוואה שיוצרת הפרדה אופטימלית ביניהם. שיטה נפוצה לחישוב משוואות כאלו נקראת SVM ([3]), אולם, החיסרון שלה הוא שצריך להחליט ידנית באילו משתנים כדאי להשתמש לצורך הלמידה (בדוגמה שלנו: שתי הזוויות). האם ניתן למצוא טכניקות בהן נוכל לתת למחשב את נתוני האימון (למשל: תמונות), והוא יאתר בעצמו מה הם הפרמטרים החשובים לצורך זיהוי (זוויות, מידת העקמומיות, וכולי), כלומר ילמד לבד את התמונות?
בפודקאסט "עושים היסטוריה" [4], ממשיל רן לוי "למידה עצמית" ללימוד רכיבה על אופניים. לא יעזרו עצות המומחים או ההורים שרצים אחרי הילד: צריך לתת לילד להתנסות, ולנוירונים במוחו להזרים זרמים בעוצמות מתאימות כדי לאזן את האופניים. הילד לומד לבד! ומה עם המחשב? מספר חוקרים פנו להתבונן כיצד תאי המוח שלנו (הנוירונים) עובדים. הנוירונים הם תאים עצביים המחוברים יחדיו ברשת מסועפת ומעבירים ביניהם מידע. לכל נוירון יש מספר כניסות, הוא מקבל אותות מנוירונים אחרים, ומחליט האם להוציא אות ביציאה. הרעיון: נבנה מערכת שתדמה את פעולת הנוירונים, ותוכל ללמוד לבד.
ניתן להמשיל "רשת עצבית מלאכותית" לקבוצת פקידים שיושבים במשרד בשורות [1] . כל פקיד (נוירון) מקבל מידע מספרי מכמה פקידים בשורות הקודמות, עושה ביניהם ממוצע משוקלל על ידי הכפלת כל נתון במספר קבוע המשויך אליו שנקרא "משקל" וחיבור המכפלות. בהתאם לתוצאה, הפקיד מחליט אם להוציא ביציאה ערך השונה מאפס. התוצאה מועברת לפקידים בשורות הבאות לצורך חישובים וכך הלאה. בסוף, הכל מתנקז ליציאה המייצרת את התשובה (בדוגמה: חישוב הסיכוי שהתמונה שהוכנסה לרשת מכילה "7") .
השיטה הוצעה כבר ב-1958, ושוכללה במהלך השנים, כולל פיתוח שיטה יעילה לתיקון המשקלים (Backpropagation). בשיטה זו, ניתן לתת בהתחלה ערך אקראי לכל המשקלים שהפקידים משתמשים בהם. כלומר, בהתחלה הפקידים הם הדיוטות וסתם מנחשים! בהמשך, מבצעים מספר סבבים שבהם נותנים לרשת (ל"משרד") לפעול על נתוני האימון ולנסות לזהות את הספרות. בסוף כל סבב בודקים את כמות הטעויות, ונותנים לכל פקיד משוב באיזו מידה עליו לעדכן את המשקלים לצורך הקטנת השגיאה. לבסוף, אם הכל עובד כשורה, לאחר מספר סבבים, השגיאה נהיית מספיק קטנה והמערכת מוכנה להפעלה לזיהוי ספרות חדשות.
בהתחלה, חוקרים רבים לא האמינו שהשיטה תצליח. אולם פריצת דרך התרחשה בשנת 2009, כאשר זוג חוקרים הפעיל את השיטה על מחשבים עם מאיצים גרפיים משוכללים שיודעים להכפיל ולחבר המון מספרים במקביל. הם גילו שהיא מצליחה לזהות ספרות תוך מספר קטן של טעויות. מה שסייע עוד הייתה כמות הנתונים העצומה הזמינה ברשת לאימון. למשל, לזיהוי ספרות משתמשים ב-60,000 נתוני אימון [2]!
מאז, יש התלהבות רבה בתחום זה של "למידה עמוקה", שמובילה להרבה פיתוחים וניסיונות להשתמש בה בשלל יישומים.
אולם כיצד זה עובד על תמונות שמכילות הרבה פיקסלים? נספר בפוסט המשך. בינתיים, אתם מוזמנים להשתעשע ולנסות את אחת ההדגמות ברשת: שרבטו בצורה חופשית ספרה ותנו לרשת לזהות אותה (למשל [5] - ראו ציור באתר)
מקורות וקריאה נוספת:
[1] פוסט של מדע גדול, בקטנה על למידה עמוקה
[2] מערך נתונים על ספרות
[3] גדר ההפרדה ו"למידת מכונה" SVM-
[[4למידה עמוקה- המחשב והמוח. פרק בפודקסט "עושים היסטוריה"
[5] הדגמה ללמידה עמוקה- האתר יזהה את הספרה שציירת! או שלא...