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

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

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

רשת עצבית מלאכותית

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

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

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

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

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

כיתוב: ירידה חדה בשיעור הטעויות. תוצאות תחרות ImageNet בשנים 2016-2011 | מקור: Gkrusze, ויקיפדיה
ירידה חדה בשיעור הטעויות. תוצאות תחרות ImageNet בשנים 2016-2011 | מקור: Gkrusze, ויקיפדיה

לרמות את הרשת המלאכותית

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

כיתוב: אחרי החלפת פיקסלים אחדים אנו עדיין רואים פנדה, אבל הבינה המלאכותית מזהה מימין גיבון | מקור: מאמר המחקר Szegedy et al
אחרי החלפת פיקסלים אחדים אנו עדיין רואים פנדה, אבל הבינה המלאכותית מזהה מימין גיבון | מקור: מאמר המחקר Szegedy et al

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

כיתוב: ירידה חדה בשיעור הטעויות. תוצאות תחרות ImageNet בשנים 2016-2011 | מקור: Gkrusze, ויקיפדיה
בתמונות שעין אדם לא תראה דבר, הבינה המלאכותית יכולה למצוא כוכב ים (מימין) או פינגווין (משמאל) | מקור: מאמר המחקר, Nguyen et al

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

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

כיתוב: עיוותים קלים משנים את התמונה עבור הבינה המלאכותית. התמרור המעוות נתפס כמשקולת (במרכז) או מחבט (מימין) | מקור: nature
עיוותים קלים משנים את התמונה עבור הבינה המלאכותית. התמרור המעוות נתפס כמשקולת (במרכז) או מחבט (מימין) | מקור: nature

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

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

הוספת פיקסל יחיד עלולה למנוע מהבינה המלאכותית לנצח במשחק. מסך של Space Invaders | מקור: Varlamova Lydmila, Shutterstock
הוספת פיקסל יחיד עלולה למנוע מהבינה המלאכותית לנצח במשחק. מסך של Space Invaders | מקור: Varlamova Lydmila, Shutterstock

אז מה עושים?

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

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

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

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

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

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

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