לא טכני

שאלת מתנה-ספרי לי על פרויקט שעשית

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Ayelet Sapirshtein

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

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

מה מראיינים מנסים לבחון דרך הצגת הפרויקט?

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

איך מתכוננים?

  1. כתבו תיאור מפורט של הפרויקט ומה עשיתם.
  2. vanishing gradient, עבר זמן ובטח יהיו פרטים ששכחתם. השלימו את הפרטים החסרים על ידי חזרה אל הקוד במידת האפשר. אם הקוד לא ברשותכם השלימו לפני ההיגיון. במה הייתם משתמשים אם הייתם צריכים לעשות את הפרוייקט היום.
  3. לטשו את הסיפור ופשטו את ההסברים. הסבירו את הסטינג של הבעייה, תארו את התהליך, מה הייתה המטרה, איך נגשתם לבעייה, מאיפה אספתם את הדאטה, מה הפתרונות הטריוויאלים שניסיתם בהתחלה ומדוע הם לא הספיקו או לא פתרו את הבעייה ? מה האתגרים בהם נתקלתם ? כיצד התמודדתם איתם? אחת הטעויות הנפוצות היא לחשוב שהמטרה היא להרשים ולכן מגיעים מהר מדי לפאנץ׳ – לפתרון המתוחכם שבניתם, התמקדו קודם להסביר את הקשיים והמטרה מדוע הפתרון שבחרת בו היה נחוץ.
  4. ספרו על הפרויקט לחברים שעובדים בתחום, תוודאו שהסיפור מוציא אותכם טוב. אם השתמשתם בשיטה לא יעילה, או הייתה לכם טעות, תתקנו.
  5. הסתכלו על דרישות המשרה שאתם מתראיינים אליה ונסו לחשוב אילו נקודות בסיפור שווה להדגיש כדי להראות שאתם עומדים בדרישות.
  6. טיפ למתקדמים: אנחנו רוצים ליחצן את היתרונות היחסיים שלנו, אבל לא רוצים להישמע שחצנים. במקום להגיד כל השיחה אני ואני ועשיתי ועשיתי ולדבר על עצמך יותר מידי באופן שיכול לגרום לנו להשמע שחצנים וקצת לא אמינים. בנוסף זה מחייב אותך גם לתת דוגמאות מדוע אני טוב בכל הדברים שאני אומר. אז מה פתרון הביניים?.אפשר לספר סיפור ולשזור בו נתונים על הרזומה והפעילויות שלנו, וכך המראיין יבין לבד. למשל “את הרעיון לפרויקט קיבלתי מהרצאה ששמעתי במיטאפ\כנס בחו”ל\ קורס מקוון שלקחתי\אהקטון שהשתתפתי בו\summer internship שעשיתי ב…, בתוכנית מצטיינים, קוד אופן סורס שאני תורם לו”. וכך אתם יכולים להעיד על עצמכם בעקיפין שאתם הולכים להרבה האקטונים, מיטאפים, תורמים לקוד פתוח, מצטיינים וכו’..
  7. ציירו שמש אסוציאציות וחשבו על כל השאלות שיכולים לשאול אתכם על הפרויקט למשל:

1. איזו בעייה ניסית לפתור?

2. באיזה דאטה השתמשת? איך היית מתמודד עם המשימה עם דאטא שונה ממה שהיה לך?

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

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

5. איך מדדת את הביצועים? מה היו היתרונות והחסרונות של שיטת המדידה?

6. וריאציות על הפרויקט, מה היה קורה אם במקום X היית עושה Y?

7. למה בחרת בגישה שבחרת?

8. מה היית עושה אם היינו מורידים אילוץ X ? או מוסיפים אילוץ Y?

9. מה הייתה עושה אם היה לה עוד כמה שבועות לעבוד על זה?

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

שווה לנסות לשלב את התשובות לשאלות האלו בתוך הסיפור, כל עוד זה לא מסורבל מידי.

  1. כתבו תשובות להכל, תשננו תתאמנו מול מצלמה, מול המראה או מול חברים, ויש לכם שאלת מתנה בכיס.

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

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

פרויקטי צד כדרך חיים

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

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

איך אתה מגדיר פרוייקט אישי?

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

 איך אתה בוחר על אילו פרויקטים לעבוד?

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

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

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

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

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

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

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

אילו פרויקטים עצמאיים יצא לך לעשות בינתיים בתחום?

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

היו מספר פרוייקטים בסיסים של ML מקאגל.

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

פרוייקטי סיווג אודיו באמצעים קלאסיים ולא קלאסיים.

על מה אתה עובד עכשיו?

קורס NLP של fastai וקורס reinforcement learning של david silver.

רעיונות לפרויקטים

      • לקחת את בעיית ה Object Detection ולאמן אותה על DB ייחודי כמו למשל זיהוי אמבות.
        וריאציה נוספת אפשרית, אם למשל משתמשים ב YOLO לעשות anchors שאינם בהכרח מלבנים אלא צורות אחרות. (כוכבים, אליפסות…)
      • לקחת הקלטות (voice) של משפטים שכוללים את המילה “קורנה” וכאלו שלא, ולסווג. פה היכולת לעשות אוגמנטציה חכמה כנראה תהיה מאתגרת.
      • לאמן רשת נוירונים שפותרת בעיה מתמטית. קל: מציאת צלע שלישית במשולש ישר זווית (מודל שמתאמן ללמוד את משפט פיתגרוס). קשה: פתרון למשוואה ממעלה 2,3,4,5… (מודל שמתאמן ללמוד את נוסחת השורשים)
      • לאמן רשת נוירונים שמבצעת קלסיפיקציה על נתונים מקוריים. לדוגמא Google’s Quickdraw
        דאטה סט של 50 מיליון ציורים מהירים מחולקים ל345 קטגוריות.
        קוד נחמד בפייתון שהופך את הדאטה סט הזה לפורמט של MNIST ומחלק אותו לנתוני אימון ונתוני בדיקה.
      • קלסיפיקציה של מאגרי נתונים איזוטריים כמו רגשות, תמרורים
      • פרוייקט Ai שמשחק במשחק הדינוזאור של chrome:
        בלוג פוסט שמסביר איך לעשות את זה
      • סיווג של תנוחות ידיים
        לקבוע את מחוות היד בזמן אמת באמצעות מצלמת רשת.
      • לממש style transfer (יצירתיות אפשרית פה לא חסר…)
      • סיווג ג’אנר מוזיקה
        רשת שמזהה ג’אנרים של מוזיקה
        מערך נתונים לסיווג זאנר מוסיקה
      • פרויקט נחמד לחג הפסח: מד שבוחן האם אתם מסבים לשמאל כמו שצריך בעזרת pose estimation
        https://github.com/Heladoo/HappyPassover

    https://www.facebook.com/elad.amira/videos/10158577390038470

 

יש לכם עוד רעיונות, או פרויקטים שעשיתם ?

רישמו בהערות פה או בפייסבוק ונשמח להוסיף לכתבה כדי לתת לאחרים השראה!

לקריאה נוספת

70 רעיונות לפרוייקטים ונתונים

Posted by Ayelet Sapirshtein in deep

מה זה XAI – הסבר פשוט לאנשים שאין להם תואר שני ב-Data Science

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי oren steinberg

בינה מלאכותית נתפסת כקופסא שחורה אבל יש מצבים בהם צריך להסביר את המודל כדי לאפשר אמון משתמשים. פוסט זה מסביר את Explainable AI בשפה נוחה לכל נפש וילד בן 5.

לך תסביר בינה מלאכותית

ביום שישי האחרון נתתי את ההרצאה הקשה בחיי. לך תסביר בינה מלאכותית ולמידת מכונה לקהל שאין לו תואר או אפילו בגרות 3 יחידות במתמטיקה, ומעולם לא שמע על מדעני מידע או מודלים סטטיסטיים. למזלי, כיתה ג’2 של בתי קיבלה אותי בזרועות פתוחות וספוגיות שאפשר למצוא היום רק אצל ילדים בני 8. אבל כאשר שבוע לאחר מכן בתגובה למייל ששלחתי, קולגות במשרד הציפו אותי בשאלות על מה זה Explainable AI  או בקיצור XAI, הבנתי שמשהו חסר. הסבר פשוט ושווה לכל נפש, גם אם הנפש הובילה את הבן אדם להיות מנהל מוצר, שיווק, מכירות ועוד אינסוף תארים שאין בהם Machine Learning Genius.

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

השאלות שמתעוררות

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

בעולם של בינה מלאכותית השאלות האלו מתורגמות ל: האם אני מסכים עם הגדרת הבעיה? באיזו מידה פונקציית המטרה של המודל משקפת את הבעיה העסקית / מוצרית? האם אני מסכים עם ה-Ground Truth שבבסיס המודל? האם המידע שהמודל עושה בו שימוש מייצג נאמנה את קהל המטרה שלי? למה המודל המליץ כך בנסיבות האלו? מתי המודל מדייק ומתי לא? ואיך אני יכול לזהות זאת? ועוד.

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

  1. דרישה רגולטורית. לרוב נפוצה יותר בשווקי הפיננסים והבריאות.

  2. אמון המשתמשים. לרוב הדגש הוא על הוגנות ומניעת הטיות.

  3. בניית המודל. בדיקת שפיות, איתור באגים, שיפור הדאטה ואיתור דריפט.

כלי הסברה

מדעני מידע בעולם התגייסו להתמודד עם האתגר ופיתחו מספר כלים להתמודד עם מה שנקרא FAT (Fairness, Accountability, and Transparency). הנפוצים שבהם מתחלקים לשני סוגים:

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

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

 

  1. ניתוח התרומה של פיצ’רים כגון SHAP. כלים אלו עושים מעין Reverse engineering לרשתות הניורונים במטרה לזהות מה ההשפעה היחסית של כל פיצ’ר (נתון) על החיזוי (ראו תמונה ולינק):

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

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

כלים נוספים כוללים DeepLIFT, WIT (What If Tool), ELI5 (Explain it like I’m 5) ו- Grad-CAM שמסביר יפה תמונה ב-CNN ע”י הפרדת השכבה האחרונה.

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

סיכום – פרספקטיבה מוצרית

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

אז מה אפשר לעשות?

  1. משקפים למשתמש שמדובר במוצר/פיצ’ר מבוסס AI
  2. משלבים Human in the loop בהתאם לדיוק של המודל
  3. מאפשרים למשתמש גישה למידע שבבסיס המודל
  4. מייצרים שקיפות לגבי אופן בניית המודל וחישוב ההמלצות
  5. מתאמים ציפיות לגבי מגבלות וסיכוני המודל
  6. מאפשרים למשתמשים לתת משוב כדי לשפר את המודל
  7. מתאימים את כל אלו ככל שהאמון במודל משתנה

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

הפוסט פורסם לראשונה ב- https://orensteinberg.com/

הפוסט מייצג את דעתי האישית ולא את מעסיקיי בהווה או בעבר.

 

Posted by oren steinberg in deep

בינה מלאכותית בימי קורונה

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי tomer peled

איך חוקרי בינה מלאכותית נחלצים להציל את העולם

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

עתה כל תושבי העולם מוצאים את עצמם במלחמה על החיים, והפעם האויב הוא וירוס הקורונה: COVID-19 בעל הפוטנציאל לסכן את חיי  עשרות מיליוני אנשים ברחבי העולם כולו ראו טבלה השוואתית

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

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

החל במינוף המוטיבציה שיש בכל אחד מאיתנו כדי להרחיב את הידע והמיומנות שלנו בתחום הבינה המלאכותית

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

הבלוג החינוכי YouTube – 3 Blue 1 Brown מעביר בצורה אינטואיטיבית רעיונות מתמטיים, אם תרצו להבין למה COVID-19 מתפשט באופן אקספוננציאלי, למה זה בהכרח יגרום לכם להיות מופתעים או מבוהלים מהחדשות ומה זה אומר לשטח את העקומה אז במיוחד בשבילכם הוכן הפרק: גידול אקספוננציאלי ומגפות.

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

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

דוגמא לסימולציה של 3 מצבים בהם חולים מועברים לבידוד ב 0%, 80% ו 100% מהמקרים וההשפעה על גרף כמות הנדבקים מתוך :

3 Blue 1 Brown

ראו קישור ל:  YouTube  Simulating an epidemic / 3Blue 1 Brown    

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

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

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

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

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

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

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

Continue reading →

Posted by tomer peled in deep

כוחה של אתיקה בהנדסה

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Hisham ABDULHALIM

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

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

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

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

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

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

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

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

אתיקה ממלאת תפקיד מפתח בתהליך זה .כתוצאה מכך ,יש שטענו כי הקפדה על ויכולה גם להפחית את AI עקרונות אתיים יכולה להבטיח את היישום האתי של .(ועדות כאלה ואחרות בנו מסגרות אתיות Cowls & Floridi, 2018) הסיכונים שלה המלוות בשאלות תואמות שנועדו לספק הנחיות לאופן שבו ניתן ליישם עקרונות אלה .(יש להניח כי ניתן Machine Intelligence Garage Ethics Committee, 2018) בפועל להשתמש בשאלות אלה בישיבות תכנון פרויקטים לפני תחילת תהליך הפיתוח ,כדי להתמודד עם דילמות אתיות .אולם הנושא מורכב יותר ודורש תשובות חברתיות . לשיטור שמכוונת לגברים ממוצא מסוים AI ואתיות מהותיות .שקלו ,למשל ,מערכת גם אם מערכת כזו מוכיחה עצמה כיעילה מאוד בהפחתת הפשיעה ,היא מבוססת על הטיות שיש לטפל בהן מבחינה חברתית-אתית ולא רק מבחינת יעילות טכנולוגית.

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

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

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

 

המאמר פורסם לראשונה ב-Afeka Journal of Engineering and Science, בגיליון ספטמבר 2019

 

Posted by Hisham ABDULHALIM in deep

AI בעולם החינוך – סקירה וקישורים מעניינים

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Omri Ahouvi

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

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

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

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

AI שמצביעה על היכן קורסים ושיעורים יכולים להשתפר

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

תמיכה נוספת ממדריכים מלאכותיים

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

 

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

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

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

התחרות משתקת

טכנולוגיית AI יכול להפוך את תהליך הניסוי וטעייה שבלמידה לפחות מאיימת.

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

למידה גלובאלית

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

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

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

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

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

 

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

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

לסיכום

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

קישורים

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

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

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

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

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

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

 

Posted by Omri Ahouvi in deep

על החוויה שלי ב Amazon DeepRacer

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


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

התחרות

עוד לפני שבכלל עליתי על מטוס, כשעוד הייתי עסוק בלהזמין מקום בבית המלון, נרשמתי לתחרות המדוברת. לא ממש ידעתי על מה מדובר אבל השילוב בין תכנות, למידת מכונה, אמאזון ומכוניות מירוץ נשמע קורץ במיוחד. עודדו אותנו לקרוא את המבוא ולתרגל את ה-TUTORIAL כדי שכשנגיע נוכל מיד להשתלב בתחרות. לפרטים: https://aws.amazon.com/deepracer/

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

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

כאן בדיוק אנחנו אמורים לצלול עמוק למושג שצובר תאוצה בשנים האחרונות: למידה מתגמלת (או חיזוקית) :REINFORCEMENT LEARNING את מי שזה מעניין, הנה עמוד שמסביר בצורה לא רעה במה מדובר ולמעשה בבלוג הזה נכתבו כבר כמה כתבות בתחום (ביחרו מעלה את התגית Reinforcement Learning) ותראו את כולן.

קוד בקרה ולא קוד שליטה

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

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

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

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

האימון

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

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

כל מה שנשאר בשלב זה היה לדבר עם קולגות שהתלהבו גם הם מהדוכן של אמאזון והתנסו במירוץ אמיתי עם מכונית DEEPRACER אמיתית, לקבל קצת טיפים (סע לאט! אל תעודד נהיגה מהירה מדי, הסנסורים לא מספיק רגישים כדי לקלוט המון מידע במהירות גבוהה) ולצפות במתמודדים שונים מנסים את מזלם, לפני שאני מביא את ה-USB DRIVE שלי כדי לעלות על המסלול.

למעשה ה-“קופסה השחורה” של המודל נוירונים מתאמן באופן וירטואלי על בסיס משטר הניקוד שתיכנתנו אותו ולבסוף הוא מוכן לנהג את המכונית במירוץ האמיתי (בעולם הפיסי).

לסיכום

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

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

Posted by dudy margalit in כנסים

Case study – ניתוח נתוני Kickstarter בעזרת Power BI

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי יובל מרנין

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

Kickstarter פרסמה באתר Kaggleנתונים על כל הפרויקטים שעלו בפלטפורמה שלה בין השנים 2009 ל- אמצע 2018, וב-case study שלפניכם אנסה לתאר בקווים כללים את הסיפור שהנתונים מספרים.

הניתוח בוצע בעזרת הכלי –Power BI שהוא כלי אנליטי מצוין ל- Visual Analytics מבית מיקרוסופט.

ניתוח  קטגוריות

תודה ל Kickstater

בין מאי 2009 ל מרץ 2018 עלו בקיקסארטר 375 אלף פרויקטים, כאשר שיעור ההצלחה הממוצע למימון פרויקט הוא 36%. הקטגוריה הפופולרית ביותר היא סרטים ולה שיעור הצלחה של 38% בדומה לממוצע של כלל הפרויקטים.

לקטגוריות תאטרון, קומיקס וריקוד יש שיעור הצלחה ממוצע של 55% אך כמות הפרויקטים נמוכה (רק 25 אלף מתוך 375 אלף כ- 6% מכלל הפרויקטים).

תודה ל Kickstarter

קטגוריות מעניינות נוספות:

  • מוסיקה– ישנם הרבה פרויקטים בקטגוריה של מוסיקה (52 אלף) ולהם שיעור הצלחה של כ-47%. זהו שיעור הגבוה בכ-11% מהממוצע.
  • טכנולוגיה– גם בקטגורית הטכנולוגיה יש פרויקטים רבים, אך שיעורי ההצלחה נמוכים משמעותית – 21%. כנראה שהסיבה לכך נובעת מכך שהסכום החציוני המבוקש של פרויקטים בתחום הטכנולוגיה עומד על 20 אלף דולר בעוד שהסכום הכללי לפרויקט הוא רק 5,000 דולר.

תודה ל Kickstarter

ניתוח מגמות

תודה ל Kickstarter

בהסתכלות על כמות הפרויקטים שנפתחו ב-  Kickstarter לאורך השנים, ישנה צמיחה הדרגתית שהגיע לשיאה ב- 2014 ו- 2015. יחד עם המגמה הזאת בשנות השיא ניכרת גם ירידה תלולה בשיעור ההצלחה במימון הפרויקטים מ- 43% ל- 27%.

בעזרת גרף מסוגWaterfall Chart  נוכל לבצע חקירה מעמיקה יותר ולהבין לאיזה קטגוריות ניתן ליחס את השינוי:

תודה ל Kickstarter

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

אם נפלטר את גרף המגמה רק לפרויקטים בקטגורית טכנולוגיה ניתן לראות ביתר שאת את המגמה שראינו בגרף הקודם:

תודה ל Kickstarter

אפשר לראות את השינוי מזווית נוספת בעזרת תרשים סרט – Ribbon Chart

תודה ל Kickstarter

ה “סרט” של קטגורית טכנולוגיה הוא בצבע טורקיז והוא קופץ מכ- 1,600 ב 2013 ל- 6,000 פרויקטים ב-2014 וכ- 10,000 פרויקטים ב- 2015.

תתי קטגוריות

אפשר להעמיק בניתוח גם לרמה של תתי קטגוריות.

למשל: לתת הקטגוריה של משחקי לוח,שהיא הרביעית בגודלה מכלל הקטגוריות, יש שיעור הצלחה של – 56% וכמות חציונית של 96 תומכים בפרויקט לעומת כמות חציונית של 12 תומכים בפרויקט.

תודה ל Kickstarter

סיכום

  • שיעור ההצלחה של מימון פרויקט ב- Kickstarter הוא 36% כאשר הסכום החציוני המבוקש לפרויקט עומד על 5,000 דולר (החציון חושב רק עבור פרויקטים במימון מטבע דולרי).
  • ליזם שרוצה לממן פרויקט בקטגוריה של מוסיקה או קטגוריות נוספות של אומנות כדאי לשוקל לפנות ל- Kickstarter לצורך מימון היות ושיעורי ההצלחה בקטגוריות האלה גבוהים מ-55%. לעומת זאת, פרויקטים טכנולוגים פחות מתאימים לפלטפורמה.
  • בשנים 2014 ו- 2015 היתה עלייה בכמות הפרויקטים שביקשו מימון בפלטפורמה. עלייה זאת התרחשה במרבית הקטגוריות ובעיקר בפרויקטים טכנולוגים.
  • ניתן להעמיק את הניתוח ולבחון האם לסכום הגיוס או למדינת המוצא יש השפעה על שיעור ההצלחה של הפרויקט.

 

לצפיה בדו”ח Power BI המלא – לחץ על הקישור:
Kickstarter dashboard

 

יובל מרנין

פרילאנס דאטה אנליסט

כל הזכויות למאמר זה שמורות לכותב. לפרסום מחדש של קטעים ממאמר זה או כולו נא לפנות לכתובת: yuval.marnin@gmail.com

Posted by יובל מרנין in deep

מה עוד צריכה המכונה חוץ ממודל טוב?

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי oren steinberg

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

איגור הניח, כמו רבים לפניו, שאם גוף מוביל בתחום מזהה בעיה, נותן לו דאטה ואפילו עוזר ב-Labeling, אז הכל בסדר. שמספיק לתת פרדיקציות טובות וזה יתפוס. שמזמין העבודה, אותה מחלקת TTU ואותו פרופ’ מפורסם וכל מי שחתום על החוזה כבר ידאגו לאימוץ המודל. אז זהו שלא! בלי לצלול לעומק ה-Work Flow של המשתמש אי אפשר להצליח. לא משנה כמה טובים הביצועים של המודל. בסופו של כל מודל עומד בן אדם שצריך להשתמש בו. ואם זה לא בא לו בטוב, זה כנראה לא יקרה.

משתמשים

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

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

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

עיתוי

אומרים ש-Timing is everything אז במודל חיזוי העיתוי הוא ההבדל בין הכל ל-כלום. הכוונה היא לא רק לחיזוי שמגיע אחרי הזמן, כשהמציאות כבר מתגלה לנו. אלא לחיזוי שמגיע מתי שהמשתמש זקוק לו, ופתוח לקבל אותו. תארו לכם רופא במיון שבדק את החולה, עבר על הממצאים וקיבל החלטה. חמש דקות לאחר מכן הוא מקבל התרעה ממערכת AI שמשנה את ההחלטה שלו. עד כמה רופא זה יאמץ את המוצר בעתיד, גם אם לא נגרם נזק רפואי וניתן לשנות את ההחלטה במקרה הזה?

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

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

הקשר

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

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

מודל טוב משתלב נכון בקונטקסט המנטלי של המשתמש. הקונטקסט מושפע מהרקע של המשתמש, והעיתוי ב-Flow ביחס לתוכן ההתרעה.

שחיקה

אי אפשר לדבר על התרעות בלי להתייחס ל-Alert Fatigue. ובהקשר של מודל AI זה נוגע ישר בעצב החשוף של מידת האמון שהמשתמש נותן בחיזוי. היום עדיין מרבית המשתמשים (מחוץ לקהילת מדעני המידע) מגלים חשדנות רבה כלפי AI. לעיתים הנסיונות להכשיל את המודל מונעים מרצון כן לגלות את ‘גבולות הגזרה’ של המודל כדי לדעת מתי ניתן לסמוך עליו. הרבה תלוי בציפיות. מה נאמר למשתמשים. מה הנסיון הקודם שלהם. מה ההטיות (Bias) איתן הם מגיעים.

לאורך זמן ככל שהמודל יציג פחות תוצאות חיוביות שגויות (False Positives) ופחות תוצאות שליליות שגויות (False Negatives) הוא יקנה את מקומו בלבבות המשתמשים. האתגר הוא איך להגדיר נכון את ה-Threshold בין Recall ל-Precision לאורך זמן. רק הכירות אינטימית עם המשתמשים וה-Work Flows שלהם תוכל לסייע בהשגת איזון נכון לאורך זמן. ולענות על השאלה: האם להתחיל עם מעט התרעות ‘בטוחות’ (והרבה פספוסים חשובים) או להפך. מתי לשנות.

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

מדידה

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

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

מודל טוב מתבסס על תכנון נכון של מדידת אימוץ. ומדידה מגיעה מהעולם האמיתי.

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


הפוסט פורסם לראשונה ב- https://orensteinberg.com/

Posted by oren steinberg in deep

איך להנגיש בינה מלאכותית לילדים ולנוער (ריכוז קישורים מומלצים)

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי tomer peled

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

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

מה שהעלה שאלות כמו:

למה לילדים ובני נוער כדאי ללמוד בינה מלאכותית?

איך להנגיש להם את הנושא ולהגביר את המעורבות והעניין שלהם בנושא לא מוכר?

איזה תכנים זמינים יעזרו להשיג את המטרה ?

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

למה לילדים ולבני נוער כדאי ללמוד בינה מלאכותית?

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

בעוד 20 שנה העולם שלנו יהיה שונה בדרכים שאי אפשר לדמיין,

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

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

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

כללי הזהב להנגשת הנושא לילדים ולנוער

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

 מה אתם יכולים לעשות יחד עם ילדיכם

 בכתבה זו תוכלו למצוא ריכוז של קישורים בכל אחת מהקטגוריות הנ”ל.

טיפ:  ניתן להוסיף כתוביות בעברית כמעט לכל סרט YouTube ע”י:

← hebrew    ← autotranslate  ←  subtitle    

איפה זה נמצא ?

המחשב יודע לדבר ולהקשיב – עוזרות קוליות

המחשב יודע לראות – זיהוי עצמים

המחשב מבין במוסיקה – Shazam

המחשב יודע מה אתם אוהבים – Netflix, Spotify, Amazon

באפליקציות הטלפון שלכם – SnapChat, FaceApp, SwiftKey-keyboard

המחשב ידע לנהוג – נהיגה אוטונומית

המחשב ידע לבשל – רובוט שף

רובוטים מדהימים – בוסטון דינמיקס

איך זה עובד ?

מבוא פשוט בעברית בשפה מובנת גם לילדים ונוער תוכלו למצוא באוסף הרצאות YouTube – “עתידנות וחדשנות”  (כ-7 דקות לפרק)

כלים להתנסות ?

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

היכנסו ל – Google experiments AI

כל הדגמה כוללת התנסות כיפית וסרטון הדרכה.

פירוט על כמה דוגמאות:

המשחק

פירוט

חשוב לדעת

הערות

TEACHABLE MACHINE

למדו את המחשב לראות – להבחין בין עצמים,  תנועות ידיים פרצופים ועוד

מומלץ על מחשב עם מצלמה כגון לפטופ

 

QUICK, DRAW!

נראה אתכם מציירים כך שהמחשב יצליח לזהות

מחשב או סמארטפון – עדיף מסך מדע

ממכר !

SEMI-CONDUCTOR

נצחו על תזמורת בעזרת תנועות ידיים.

מחשב או סמארטפון עם מצלמה – עימדו רחוק מהמצלמה

רגיש לתנאי תאורה

 

BODY, MOVEMENT, LANGUAGE: AI SKETCHES

צרו אומנות ע”י מניפולציה של מילים (שאתם אומירים)  בעזרת תנועות

מומלץ על מחשב עם מצלמה כגון לפטופ  – עימדו רחוק מהמצלמה

 

אפקט מרשים

לאומן שבכם

Emoji Scavenger Hunt

מצאו במציאות  את העצם המוצג  כ- Emoji

לסמארטפון

הוצאת אנרגיה שלא נגמרת !

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

שאלו את עצמכם איך זה עובד.

  • FaceApp
  • Shazam
  • Dango – Emoji Finder
  • Replica – chat with an AI

עשו אמנות מבוססת בינה מלאכותית

  • תמונה שלכם ע”י ואן-גוך? גילוף עץ של הכלב שלכם? תנו למחשב לנסות לצייר בסגנון שתבחרו את מה שתרצו. בעזרת Style-transfer
  • על מה חולם המחשב בלילות? – או יותר מדוייק מה הוא מדמיין כשהוא רואה תמונה מסויימת. נסו את Deep-dream

נושאים לדיון ?

עבור בני נוער – תנו להם לבחור כתבה בנושא (לקריאה או בוידאו). אחרי 10-15 דקות קריאה ניתן לדון בכתבה ולפתח את הנושא לכיוונים שונים. נושא טעון ומאוד מומלץ הינו שאלות אתיות לגבי העתיד וההווה של בינה מלאכותית.

נושאים נוספים:

פופולריים

מעוררי דיון ומחשבה

סקירות וידאו

צפו יחד בסרט או טריילר

Ex Machina (2014) – Trailer

Odyseey 2001 Trailer

A.I. Artificial Intelligence – Trailer

7 ימים של בינה מלאכותית – סרט קצר

שיהיה לכולנו חופשת קיץ מעשירה !

Posted by tomer peled in deep

הסבר למתחילים על העברת לימוד -Transfer Learning

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Ron Jacobson

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

  • בניית מודל מאפס
  • שימוש במודל קיים ומאומן כדי להיעזר במשקלים שלו. (Transfer Learning)

במאמר זה נתמקד באפשרות השניה.

ישנם מספר מודלים אשר יכולים לעזור לנו לבצע העברת לימוד (Transfer Learning) או כיוונון סופי (Fine-Tuning) בצורה טובה ויעילה.

מהי העברת למידה?

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

איך זה עובד?

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

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

המודל למעשה יהיה בארכיטקטורה הבאה:

 

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

מדוע משתמשים בהעברת למידה?

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

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

כלומר, למעשה נחסוך בשתי דרכים:

1: הקטנת הדאטה הנדרש – לא יהיה צורך במערך אימונים גדול במיוחד.

2: הקטנת הכוח החישובי הנדרש. היות ואנו משתמשים במשקולות אשר אומנו מראש ונותר רק ללמוד את המשקולות של השכבות האחרונות.

מתי כדאי להשתמש בהעברת למידה?

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

בדרך כלל כדאי להשתמש בהעברת למידה כאשר:

(א) אין ברשותך מספיק נתוני אימון מתוייגים כדי לאמן את הרשת שלך מאפס

(ב) כבר קיימת רשת אשר אומנה מראש על משימה דומה, ובד”כ על כמויות אדירות של נתונים.

(ג) מקרה נוסף שבו השימוש יהיה מתאים הוא כאשר למשימה 1 ולמשימה 2 יש את אותו קלט. (למשל תמונה באותו הגודל)

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

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

אילו מודלים יעזרו לנו בהעברת הלמידה?

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

מודל VGG16

VGG16 פורסם בשנת 2014 והוא אחד מסוגי הרשתות הפשוטות ביותר (בין ארכיטקטורות ה – CNN האחרות שהיו בתחרות Imagenet). רשת זו מכילה סה”כ 16 שכבות מתוכם 13 שכבות קונבלוציה ו 3 שכבות Dense לצורך הסיווג. מספר הפילטרים בשכבות בקונבלוציה הולכים וגדלים  בעוד המימדים הגיאומטריים הולכים וקטנים.

החסרונות של ארכיטקטורה זו הינם:

  1. שלב האימון הינו איטי יחסית
  2. התהליך מייצר מודל גדול מאוד.

הארכיטקטורה של VGG16 ניראת כך:

https://www.semanticscholar.org/paper/Face-Recognition-across-Time-Lapse-Using-Neural-Khiyari-Wechsler/1c147261f5ab1b8ee0a54021a3168fa191096df8

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

  • נייבא את האפליקיישן של VGG16 מ- applications
  • נוסיף את המשקולות השמורים לארכיטקטורה (weights = ‘ImageNet’)
  • נשתמש במודל כדי לבצע תחזיות
  • אציין כי קיימת רשת דומה מאוד בשם VGG19 אשר מכילה מאפיינים דומים למה שתואר לעיל.

מודל InceptionNets

רשת הידועה גם בשם “GoogleNet“. המורכבת מסה”כ 22 שכבות והייתה המודל המנצח בתחרות ImageNet של שנת 2014.

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

מודלים אלו משתמשים בקונבלוציות בגדלים שונים כדי ליצור Feature-Map מגוון.

בנוסף, הם גם מכילים קונבלוציה של 1X1 כדי לבצע הפחתת מימדים.

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

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

https://arxiv.org/pdf/1409.4842.pdf

והארכיטקטורה השלמה ניראת כך:

https://arxiv.org/pdf/1409.4842.pdf

 

 

מודל Resnets

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

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

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

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

כפי שמופיע באיור להלן:

https://towardsdatascience.com/an-overview-of-resnet-and-its-variants-5281e2f56035

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

באמצעות בלוקים שיוריים ברשת, ניתן לבנות רשתות בכל עומק שהוא תחת ההבנה כי שכבות חדשות למעשה מסייעות ללמוד תבניות חדשות בנתוני הקלט. מחברי המאמר יצרו ארכיטקטורת רשת עצבית עם 152 שכבות. הסוגים השונים של Resnets כגון Resnet34, Resnet50, Resnet101 הפיקו את הפתרונות עם דיוק גבוה מאוד בתחרויות Imagenet.

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

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

לסיכום

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

Posted by Ron Jacobson in deep

סקירה על הנעשה בהבנת שפה טבעית

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי guy.gbloch

הגדרה

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

המשימה העיקרית של “הבנת שפה טבעית” היא לייצר מערכות המסוגלות ל”קרוא” ול”הבין” טקסט של שפה מדוברת באיכות שאנשים מסוגלים. התחום כולל משימות מגוונות, למשל “מענה על שאלות (Question Answering)”,”סיכום מסמכים (Text Summarization)”, “תרגום מכונה (Machine Translation)”.התחום קשור באופן עמוק למספר רב של יישומים, למשל, בוטים ועוזרים חכמים (סירי, אלקסה וכו’).

https://labs.eleks.com/2018/02/how-to-build-nlp-engine-that-wont-screw-up.html

קצת היסטוריה

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

בשנות ה-60 נעשו ניסויים שהתבססו על מציאת תבניות (Pattern matching) באמצעות קבוצות קטנות של חוקים, למשל ELIZA.

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

תודה ל https://www.topbots.com/4-different-approaches-natural-language-processing-understanding/

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

בשנות ה-90 החלה המהפכה הסטטיסטית בתחום עיבוד השפה שהובילה לירידה בניסיונות לייצר מערכות להבנה איכותית של שפה טבעית.

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

מורכבות הבנת שפה טבעית

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

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

גישות מחקריות

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

ניתן לסווג את הגישות השונות להבנת שפה למספר קטגוריות:

  • סטטיסטיקה ולמידת מכונה
  • ייצוג ידע מובנה
  • המרת שפה לתוכניות הרצה
  • לימוד שפה באופן אינטראקטיבי

סטטיסטיקה ולמידת מכונה

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

בשנים האחרונות, עם התפתחות טכניקות למידה עמוקה, פורסמו מספר מודלים מבוססי למידה עמוקה הנקראים “מודלי שפה מאומנים מראש (Pre-Trained Language Models)” שמספקים תוצאות איכות במגוון משימות של הבנת שפה. מודלים אלו מאומנים מראש באמצעות קורפוסים, דוגמת ויקיפדיה, ועושים שימוש ביכולות העברת למידה (Transfer learning) כדי לאפשר התאמה קלה ומהירה של המודל למשימות הבנת שפה ספציפיות. המודלים המובילים במשפחה זו הם  ULMFiT, ELMo ו BERT.

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

ייצוג ידע מובנה

גישה זו מסתמכת על הפקת משמעות של שפה באמצעות

  • ייצוג ידע על העולם באופן מובנה
  • מיפוי השפה אל מבני המידע
  • ביצוע חישובים והיסקים על בסיס המידע המובנה

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

הדרך המקובלת להגדרת יידע מובנה היא שימוש באונטולוגיות. אונטולוגיה היא מודל היררכי פורמלי המכיל הגדרות של מושגים (Concepts), תכונות של מושגים, וקשרים בין מושגים. לדוגמא, המושג “פיצה” הוא בעל קשר של ירושה (“Is a”) למושג “מזון/אוכל” וקשר ‘has Topping’ למושג “תוספת”.

https://www.researchgate.net/publication/236842047_Efficient_Regression_Testing_of_Ontology-Driven_Systems

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

  • אונטולוגיות עיליות ((Upper Level Ontologies – מכילות מושגים כלליים המשמשים תחומי ידע רבים, למשל SUMO
  • אונטולוגיות התמחות (Domain Ontologies) – מכילות הגדרות שלמושגים בתחום ידע ספציפי, למשל אונטולוגיות בתחום הפארמה.

 

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

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

תודה ל https://www.topbots.com/4-different-approaches-natural-language-processing-understanding/

 

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

המרת שפה לתוכניות הרצה

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

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

תודה ל https://www.topbots.com/4-different-approaches-natural-language-processing-understanding/

הרכיב המרכזי בגישה זו הוא המנתח סמנטי (Semantic Parser) הממיר את השפה הטבעית לייצוג סמנטי, למשל,ביטויים לוגיים, ביטויים המייצגים משמעות בשפה פורמלית (meaning representations) או לתוכניות מחשב בשפות כמו SQL אוJAVA . לאחר שלב ההמרה,מתבצע שלב ההרצה במסגרת סביבה נתונה, למשל בסיס נתונים רלציוני, כדי להגיע אל התוצאה הרצויה, למשל מענה לשאלה.

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

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

לימוד אינטראקטיבי

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

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

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

לסיכום

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

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

קישורים

 

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

 

Posted by guy.gbloch in deep

פאנל בריאות מכנס Future of AI

בפאנל הראשון שבכנס Future of AI ניהלו דיון ער לגבי השילוב של בינה מלאכותית בתחום הרפואי.  את הפאנל הנחה יואב אבנשטיין מחברת Evenovate ואוניברסיטת תל אביב.

ישבו בפאנל צבי לב, מנכל NEC ישראל, קון ונדקייב, שמנהל אקוסיסטם של AI בלונדון, לירון אופרנד-סידון, שמנהלת את קשרי המפתחים באנבינדיה ישראל ואבי ויידמן, מנכ”ל Nuclei

איפה AI תורמת לתחום המדיקל ?

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

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

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

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

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

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

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

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

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

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

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

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

Posted by LeaP in כנסים

פאנל מכנס :Future of AI מרכזי פיתוח בישראל

בפאנל השני שבכנס Future of AI התכנסו חמישה אישים ממובילי התעשייה בארץ לדון בסיבת המשיכה שיש לחברות גלובליות רבות בפתיחת מרכזי פיתוח בארץ. מייקרוסופט, גוגל, IBM, פייסבוק. נראה שכולם פה.  את הפאנל הנחה אורי אלבייב, מייסד קהילת Machine and Deep Learning Israel.

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

אורי פתח ושאל את השאלה הבסיסית:

מדוע הרבה חברות גלובליות בתחום ה AI פותחות מרכזים בישראל ?

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

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

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

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

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

אורי: האם זה טוב לישראל שיש כל כך הרבה מרכזי R&D בישראל?

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

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

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

אורי: האם לדעתך עדיף לחברות גלובליות לקנות חברה ישראלית או לגייס עובדים?

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

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

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

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

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

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

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

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

 

Posted by LeaP in כנסים

תחרות הסטארטאפים של 2019 Future of AI

ביום רביעי האחרון (27/3) התקיים במתחם האירועים LAGO בראשל”צ הכנס הבינלאומי Future Of AI 2019. במסגרת הכנס נערך שלב הגמר של תחרות הסטארט אפים Future of AI למיזמים פורצי דרך בתחום ה – AI, עם פרסים בחסות Google Cloud for startups , Nielsen Innovate ומכון MI, ופאנל שופטים מחברות טכנולוגיה מובילות.

כתבה זו אסכם את הפיץ’ בן שבע דקות של כמה מחברות הסטארטאפ שהשתתפו:

  • Gong.io – Conference Intelligence
  • eToro – Social Trading Network
  • Deloitte Israel – An Artificial Financial Brain
  • Change Labs – Autonomous Financial Services
  • Zeekit – Fashion
  • Jeeng – Personalized Notification Platform
  • AudioBurst – Voice & Audio AI
  • Anodot – Autonomous Analytics
  • PowToon – Create Awesome Videos & Presentations
  • Dataloop – Generate AI Datasets
  • Prinysyst – Automatic 3D Printing

והזוכה בתחרות הסטארט אפים –

  • Senecio Robotics – AI Technologies To Automate  Biological Mosquito Control

Gong.io – Conference Intelligence

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

פלטפורמת האינטליגנציה האינטראקטיבית מס ‘1, ממנפת את האינטליגנציה המלאכותית כדי לשנות את ה- CRM ולשדרג צוותי מכירות. בתחילת פברואר 2019 גייסו 40 מיליון דולר במימון סיבוב שני, והביא את סך המימון של החברה ל -68 מיליון דולר.

eToro – Social Trading Network

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

Deloitte Israel – An Artificial Financial Brain

השלישית הייתה Deloitte , פשוט רעיון גאוני ומדהים, כל כך מתבקש ומובן מאליו. דלויט מספקת שירותי ביקורת, מסים, ייעוץ, סיכונים ארגוניים וייעוץ פיננסי עם למעלה מ -286,200 אנשי מקצוע ברחבי העולם. בשנת 2018 רשמה הרשת הכנסות שיא בסך 43.2 מיליארד דולר. וגם במקביל מקדמים ומפתחים טכנולוגיות חכמות, מנתחים את התנהגות הלקוח – נותנים המלצה פיננסית ו(לפי הבטחותיהם!) מורידים לחץ.

Change Labs – Autonomous Financial Services

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

Zeekit – Fashion

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

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

Jeeng – Personalized Notification Platform

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

AudioBurst – Voice & Audio AI

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

Anodot – Autonomous Analytics

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

PowToon – Create Awesome Videos & Presentations

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

Senecio Robotics – AI Technologies To Automate  Biological Mosquito Control

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

Dataloop – Generate AI Datasets

במקום השני זכתה חברת Dataloop אשר פיתחה פלטפורמה שהיא למעשה סביבה מלאה ליצירת AI data sets מנתונים חזותיים גולמיים – היא כוללת סביבת ניהול נתונים חזקה, כלי ביאור אינטראקטיבי חדשני עם יכולות ביאור וסיווג ע”מ לבצע תיוג אוטומטי ע”י אלוגריתם למידה עמוקה.  Dataloop מספקת תהליך מהיר פי 10 ובהפחתת עלויות של 90%.

Prinysyst – Automatic 3D Printing

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

Posted by raya_belinsky in כנסים

למידה לא מונחית לשערוך עומק לתמונה – Unsupervised Learning for Depth Estimation

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי TzviLederer

תחומים במערכות לומדות

נהוג לחלק את עולם ה-machine learning לשלושה תחומים – למידה מונחית (supervised learning), למידה לא-מונחית (unsupervised learning) ולמידה בעזרת חיזוקים (reinforcement learning). ההבדל הבסיסי בין התחומים הוא סוג המידע בו משתמשים. בלמידה מונחית יש לנו גישה למידע מתוייג, למשל במטלה של זיהוי וסיווג אובייקטים בדרך כלל אנו מחזיקים בתמונות מתוייגות (בין אם מדובר בתיוג של כל התמונה, Bounding box, תמונות סגמנטציה וכדו’). למידה לא מונחית היא למידה בעזרת מידע ללא תיוג, הוצאת תובנות או מידע שלא נגיש לנו בעזרת הרבה מידע אך ללא ידע מקדים עליו. דוגמה קלאסית לזה היא אישכול (clustering) של וקטורים, כלומר חלוקה של דגימות לקבוצות בעלות משמעות (למשל חלוקה של כתבות באתר חדשות לפי נושאים בצורה אוטומטית). למידה באמצעות חיזוקים היא למידה של קבלת החלטות נכונה כאשר המשוב יכול להגיע גם באיחור, כלומר יכול להיות שיעבור זמן עד שנדע האם צדקנו בקבלת ההחלטות שלנו או לא. דוגמאות קלאסיות לאתגרים בתחום זה הם אלגוריתם המשחק במשחק מחשב, בו השחקן יכול לבחור בכל שלב איך לפעול אך לעיתים הוא ידע אם קבלת ההחלטות שלו הייתה נכונה רק בשלב מאוחר יותר (אם ינצח את השלב או יפסיד בו).

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

תמונות סטריאו

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

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

לקוח מ https://stackoverflow.com/questions/17607312/difference-between-disparity-map-and-disparity-image-in-stereo-matching

רשת בלתי מונחית (Unsupervised) לחישוב עומק

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

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

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

סיכום

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

מאמר בנושא:

https://arxiv.org/pdf/1609.03677.pdf

Posted by TzviLederer

כשהאלגוריתם גזען או שוביניסט: על תחום ההוגנות בבינה מלאכותית

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Vered Shwartz

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

בעיות בפונקצית המטרה ובחומר האימון

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

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

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

זליגה של הטיות אנושיות (bias) לתוך האלגוריתמים

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

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

כדי להמחיש, נטען וקטורי מילים מאומנים מראש (GloVe) ונתמקד במילים מתוך רשימת מקצועות. נטיל את הוקטורים למימד 2 ונראה שהכיוון של זוגות מילים כמו doctor/nurse דומה לכיוון של he/she.

מודלי “קופסה שחורה”

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

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

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

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

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

קריאה נוספת:

אתיקה בלמידת מכונה, מהבלוג שלי (אנגלית)

פרק על הוגנות בפודקאסט “Unsupervised”

Posted by Vered Shwartz in deep

Transfer Learning – הכללת ידע

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי tomer peled

מוטיבציה

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

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

הגדרה

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

Transfer Learning

בשני מאמרים פורצי דרך [5], [4] הוכח שרשת שלמדה לפתור בעייה מסוימת – למשל סיווג תמונות מ 1000 קטגוריות המצויות ב ImageNet, יכולה בתהליך פשוט של Fine Tuning לעבור התאמה  לפתרון בעיה אחרת כגון סיווג אנשים (שלא מופיעים כקטגוריה ב ImageNet), מוצרים מחנות מכוונת או סיווג סצינות.

למעשה רוב העבודה שנעשית היום בלמידה עמוקה מבוססת על Tranfer-Learning ומאפשרת לחסוך לימוד על חומרה מרובת GPU במשך שבועות כמו שנעשה על ImageNet.

למה זה עובד ?

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

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

אז איך עושים את זה ?

תהליך ה Transfer Learning כולל לימוד מחדש של שכבת ההחלטה (סיווג או רגרסיה), תוך הקפאת (Trainable= 0, Freeze)  הלימוד בשאר השכבות. ולעיתים לאחר מכן גם לימוד של השכבות העליונות בקצב לימוד (Learning Rate) נמוך.

  • הדרך הפשוטה ביותר – ולעיתים זה כל מה שנידרש היא להשתמש ברשת מאומנת מראש על בעיה אחרת כגון ImageNet כ feature-extractor (מחלץ תכונות) ולאמן מסווג למשל Linear-SVM או SoftMax התכונות שחולצו מהתמונות שלנו.
  • הרחבה אפשרית לשיפור ביצועים נקראת כוונון עדין fine-tuning. כלומר התאמה קטנה של המשקלות בשאר הרשת.
    • מקובל להקפיא את הלימוד בשכבות הנמוכות של הרשת. מאחר שההכללה בלימוד על בסיס נתונים גדול כ Image-Net טובה מההכללה שתתקבל על סט תמונות קטן ומגוון פחות וכן ה features בשכבות אלו מבטאים אבסטרקציה כגילוי שפות וכתמים המשותפים לכלל הבעיות.
    • את השכבות העליונות ברשת מאמנים בקצב לימוד (Learning-rate) נמוך על מנת לשמור על השפעה קטנה.
    • לעיתים מאמנים בו זמנית את השכבות העליונות ברשת בקצב נמוך ואת המסווג בקצב גבוה יותר.

מקורות


Posted by tomer peled in deep

טעויות נפוצות בהסקת מסקנות מנתונים

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי יובל מרנין

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

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

דגימה לא מאוזנת של האוכלוסיה – איך לא להסיק נכון מהנתונים

בשנת 1936 ביצע המגזין Liberty Digest  סקר עצום בגודלו כדי לנסות לחזות את תוצאות הבחירות הקרובות בארצות הברית. המגזין שלח ל- 10 מיליון אנשים סקר בחירות וקיבל בחזרה תשובות מ- 2.5 מיליון אנשים. ניתוח התשובות ניבא שאלפרד לנדון ינצח את פרנקלין רוזוולט בתוצאה של 57% לעומת 43%. להפתעתם של עורכי הסקר והקוראים, רוזוולט ניצח וקיבל 62% מהקולות.

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

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

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

מה אפשר ללמוד מזה?

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

משתנים מתערבים – הסברים חלופיים למסקנות

“האם לזרע של גברים יש תכונות אנטי דיכאוניות אצל נשים?”

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

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

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

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

מה אפשר ללמוד מזה?

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

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

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

Hawthorne Effect  – ממה להיזהר כשעושים A/B testing

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

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

מה אפשר ללמוד מזה?

לפי Hawthorne Effect עלינו לחשוד בהשפעות המידיות שנגרמות בעקבות שינויים. למשל, אחת הטכניקות הפופולריות והיעילות למדידת אפקטיביות של שינוי נקראת AB Testing. בטכניקה זאת מוצג לחלק מהגולשים שנבחרו לניסוי וריאציה שונה של האתר ונמדדים הביצועים שלהם אל מול קבוצת הגולשים הרגילים באתר. למשל, באתר E-Commerce  שונה צבע הכפתור בעמוד הרכישה ונבדקה השפעה של השינוי לעומת העמוד המקורי.

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

לסיכום

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

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

רוצים לדעת עוד?

צריכים עזרה בניתוח הנתונים שלכם?

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

Posted by יובל מרנין in deep

איך דאטה אנליסט יכול לעזור לחברה שלך לצמוח

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי יובל מרנין

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

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

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

המדדים העסקיים להצלחה

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

מה ה-Key performance indicators ובקיצור KPI’s

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

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

ניתוחים

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

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

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

ניסויי AB Testing

ישנם אנליזות שבודקות את האפקטיביות של המוצר עצמו. לדוגמה: חברת סטאראט-אפ בנתה אפליקציה מושקעת עם הרבה פיצ’רים מגניבים אבל מנהל המוצר שם לב שרוב הלקוחות משתמשים רק בפיצ’ר אחד. כדי לבחון האם הבעיה היא בפיצ’רים האחרים או בעיה בסדר הצגתם באפליקציה בעיה ב-UI מנהל המוצר יכול לבקש מהאנליסט לתכנן ניסוי מבוקר שבו יוצגו לשתי קבוצות שונות של משתמשים פיצ’רים בסדר שונה. בתום הניסוי, האנליסט ינתח את הנתונים ויקבע האם אופן הצגת הפיצ’רים השפיע על השימוש בהם או שהבעיה היא בפיצ’רים עצמם. ניסויים מסוג זה נקראים A/B testing.

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

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

Posted by יובל מרנין in deep

המירוץ אחר הבינה המלאכותית: סין או ארה”ב ?

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Ronen

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

הרבה מדברים על מה בינה מלאכותית עשתה ואיך היא השפיעה בשנים האחרונות על התעשייה. אבל לא פחות מעניין מה יקרה עוד 5-10 שנים? איזו מעצמה תוביל את המהפכה בעוד 10 שנים? ברור לכולם שזה יהיה ארה”ב או סין. אבל מי?

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

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

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

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

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

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

באירופה (EU), שמאז שנות ה 90 לא היו עדכון לחוקים בתחום הגנת המידע, שקדו ב 7 שנים האחרונות על חוק GDPR – General Data Protection Regulation שנכנס לתוקף במאי 2018. מי שעובר על החוק צפוי לקבל קנס של מעל 20 מיליון יורו.

 מידע אישי הינו כל דבר שיכול להתקשר עם אדם פרטי כלשהו (תמונות שלו, IP, מייל, מס’ טלפון וכו’), נקודות משמעותיות מה GDPR לגבי מידע אישי:

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

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

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

מי לדעתכם תוביל את תחום הבינה המלאכותית עוד 10 שנים ולמה?

Posted by Ronen in deep

AI בענן, האומנם ?

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Ronen

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

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

 אבל איפה? איפה חברות בוחרות לשים את ה”מוח” שלהם?

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

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

השיפור המתמיד ביכולות מחשוב של מכשירי הנייד כתוצאה מחומרה מתקדמת ביותר מעלה את השאלה – האם AI יכול להתבצע על המכשיר ולא בשרת מרוחק?

היום, המגבלה הטכנית של הרצת רשתות AI על הנייד בירידה מתמדת. כלים כמו CoreML ו ARCore מאפל וגוגל בהתאמה הופכים את הבעיה לקלה הרבה יותר.

  

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

 

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

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

האומנם ענן ?

לאחרונה התרחשו דברים שמערערים על העליונות של הענן:

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

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

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

 

https://www.slideshare.net/anirudhkoul/squeezing-deep-learning-into-mobile-phones

 

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

מה אתם חושבים?

Posted by Ronen in deep

כיצד לייצג מילים כמספרים בעלי משמעות? על הבסיס לאלגוריתמי NLP

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי Vered Shwartz

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

מספרים במקום מילים

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

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

ייצוג לפי אינדקס (One-hot Vector)

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

כל מילה יושבת באינדקס נומרי מסוים ב-V, למשל יכול להיות ש”חתול” יהיה באינדקס 1242 ו”מחשב” באינדקס 1587. בניגוד למילון שבו כל מילה מופיעה בצורתה הבסיסית ובלי הטיות, באוצר המילים שלנו מופיעה כל צורה כמילה נפרדת. למשל, יכול להיות ש”חתולים” יהיה באינדקס 454. 

בייצוג one-hot-vector אנחנו מייצגים כל מילה באמצעות האינדקס שלה ב-V. מילה w באינדקס i מיוצגת ע”י וקטור שאורכו כגודל אוצר המילים – |V|, וכל ערכיו 0 פרט לאינדקס i שערכו 1. ככה ייראו וקטורים של כמה מילים לדוגמה:

nlp

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

בהקשר של משימת הקצה של סיווג טקסטים, מקובל לייצג מסמך ע”י קבוצת כל המילים שהופיעו בו (שאמורות להעיד על הנושא שלו). כלומר, מרחב הפיצ’רים הוא כל המילים הקיימות בשפה, וערך הפיצ’ר של מילה מסוימת w במסמך d יהיה פרופורציונלי למס’ ההופעות של המילה w במסמך d. ייצוג של מסמך ע”י סכימה של כל ווקטורי ה-one-hot של המילים המופיעות בו ייתן לנו בדיוק את זה. עכשיו נניח שבזמן האימון המסווג שלנו ראה הרבה מסמכים מתויגים לנושא “טכנולוגיה” שהכילו את המילה “מחשב”. הוא לומד שהמילה “מחשב” היא פיצ’ר חזק עבור הנושא “טכנולוגיה”. כעת נראה למסווג מסמך שמדבר על מחשבים ניידים והוא יכיל הופעות רבות של המילה “לפטופ”. אם המסווג לא נתקל בזמן האימון (מספיק פעמים) במילה “לפטופ” במסמכים בנושא טכנולוגיה, הוא לא ידע להשלים את המידע החסר הזה מהדמיון למילה “מחשב”. שתי המילים האלה הן פיצ’רים נפרדים לחלוטין עבור המסווג. זה לא מצב טוב.

ייצוג מבוסס שכנים (Distributional Vectors)

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

הרעיון הוא שווקטור של מילה w יהיה כעת עדיין באורך |V|, אבל המשמעות של כל כניסה בווקטור תהיה שונה. הערך של כניסה u בווקטור של w יהיה פרופורציונלי למס’ הפעמים ש-w ו-u הופיעו ביחד בקורפוס האימון. ההגדרה של “הופיעו יחד” גמישה, אבל באופן הפשוט נניח הופעה של u בחלון של k מילים (למשל k=5) סביב w. הערך עצמו יכול להיות מספר ההופעות המשותפות, מספר מנורמל (הסתברות), או מדד כמו PMI, המפחית את ההשפעה של השכיחות של כל מילה בפני עצמה.

שיטות ספירה (Count-based Vectors)

הדבר הפשוט ביותר לעשות יהיה לעבור על קורפוס האימון, ולבנות את מטריצת ההופעות המשותפות (בגודל |V|x|V|) של כל מילה w עם מילה u בחלון בגודל k. השורות של המטריצה משמשות בתור ווקטורי מילים, ואותן אפשר לנרמל (למשל באמצעות PMI). ככה יראו עכשיו הווקטורים של המילים לדוגמה. נראה יותר טוב, לא?

nlp

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

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

שיכוני מילים (Word Embeddings)

אז איך אפשר להשיג ווקטורים דחוסים ממימד נמוך ששומרים על התכונה הטובה של הייצוג מבוסס השכנים? נקפוץ כמה שנים קדימה (ונדלג על פתרון הביניים – הפעלת אלגוריתם להורדת מימדים כגון SVD על מטריצת ההופעות המשותפות). במקום לספור הופעות משותפות, אפשר להחליט מראש על מימד קטן כלשהו D (בדר”כ 50-1000, הכי נפוץ 300) ולחזות ווקטורים באורך D שישמרו על התכונה הזו – כלומר, שלמילים שמופיעות באותם ההקשרים יהיו ווקטורים דומים. למרות שהרעיון הזה כבר הוצע ב-2003 עי בנגיו וקולגות, הוא זכה לפופולריות רק ב-2013 כשמיקולוב וקולגות פרסמו את word2vec (שהמימוש שלו היה יעיל, והתוצאות מרשימות). ככה ייראו הווקטורים, קטני מימדים ודחוסים, ועדיין שומרים על תכונת הדמיון:

nlp

הרעיון של word2vec הוא ללמוד מטריצה בגודל |V| על D, שכל שורה בה מייצגת מילה. זאת המטריצה של מילות היעד (target). כעזר, מחזיקים מטריצה נוספת באותם המימדים שמייצגת מילה כמילת הקשר (context). שתי המטריצות מאותחלות אקראית. בזמן האימון, האלגוריתם עובר על כל הקורפוס, מילה-מילה, כאשר בכל פעם מילה אחת נחשבת ליעד והמילים המקיפות אותה בחלון נחשבות למילות ההקשר. יש שתי גרסאות לאלגוריתם: באחת (CBOW = continuous bag of words), מנסים לחזות את מילת היעד ממילות ההקשר, ובשנייה (skip-gram), מנסים באמצעות מילת היעד לחזות את מילות ההקשר. כפועל יוצא של החיזוי הזה, הווקטור של מילת היעד (ממטריצת היעד) מתקרב לווקטורים של מילות ההקשר (ממטריצת ההקשר). נוסף על כך, ווקטור היעד צריך להתרחק מווקטורי ההקשר של המילים שלא הופיעו בחלון. בגרסה היעילה יותר (negative sampling), דוגמים k מילים אקראיות כלשהן (שכנראה לא הופיעו בחלון) ומוסיפים לפונקציית המטרה גורם דומה לחיזוי של מילות ההקשר אבל עם המילים האקראיות ומוכפל במינוס 1.

חוץ מ-word2vec יש עוד לא מעט אלגוריתמים שונים ללמידה של word embeddings ע”י חיזוי, הנפוצים מביניהם GloVe של סטנפורד ו-FastText של פייסבוק. בשנים האחרונות הם משמשים כקלט לכל אלגוריתם למידה בתחום עיבוד שפה, בין אם בשימוש בווקטורים המאומנים שפורסמו עם השיטות האלה או באימון מחדש על קורפוס אחר. בהקשר של משימת סיווג הטקסטים שלנו, נוכל עדיין לייצג מסמך ע”י סכום או ממוצע וקטורי המילים. וקטור מסמך יהיה כעת באורך D והפיצ’רים שלו יהיו חבויים, אבל מסמכים עם מילים דומות עדיין יקבלו ייצוג דומה ויסווגו לאותו הנושא, ובמחיר חישובי נמוך יותר. המטרה הושגה!

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

nlp

תודה ל https://www.kdnuggets.com/2016/05/amazing-power-word-vectors.html

בתור מדד איכותי, נהוג לחשב הטלה של הווקטורים למימד 2 ע”י t-SNE או PCA ולצייר גרף מילים שממנו ניתן לראות שמילים דומות סמנטית ממוקמות זו לצד זו ב(הטלה למימד 2 של ה)מרחב הווקטורי. הנה דוגמת קוד לחישוב הזה, וכך למשל נראה חלק קטן מהגרף המתקבל כשמפעילים t-SNE על GloVe (מאומן מראש, בגודל 50):

nlp

העתיד של ייצוגי מילים

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

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

Posted by Vered Shwartz in deep

בעיית הידיות הגונבות Multi-Armed Bandit

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי תמיר נווה

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

בעולם ה Reinforcement Learning (למידה חיזוקית) ישנו סוכן Agent שחי בסביבה כלשהיא Environment ויש לו אוסף כלשהוא של פעולות Actions שיכול לעשות בסביבה. הסוכן מקבל תגמול Reward מהסביבה בהתאם לפעולותיו ובכל רגע נתון הסוכן נמצא במצב State כלשהוא. מצב (state) הינו כל האינפורמציה הידועה לסוכן (זה שמקבל את ההחלטות בכל רגע).

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

בכתבה זו אסקור בעיה בסיסית ופשוטה Multi-Armed bandit (אם טעיתי בתרגום בכותרת אנא תקנו אותי…) עם מצב state בודד ומספר קטן של אפשרויות פעולה action בכל תור (כמספר הידיות).

איך להרוויח הכי מהר שאפשר בקזינו ?

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

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

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

בעיית הפשרה בין מחקר ופיתוח

אז במה להשקיע את הניסיונות משחק שלך (שעולות לך 5$ לכל ניסיון) ?

בלשחק במכונה מוכרת או בלחקור ולהכיר עוד מכונות ? (נקראת דילמת ה –  exploration\exploitation)

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

2,5,3 אז הממוצע בינתיים הינו 3.333, ואם נשחק במכונה זו עוד הממוצע כנראה ישתנה, וככל שנשחק במכונה יותר כך “נאמין” לממוצע שיוצא לנו יותר (כי הרי אמרנו שהמכונות מכווננות על ממוצע מסוים)

הפתרון

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

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

Multi-Armed Bandit

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

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

Posted by תמיר נווה in deep

מהי קלאסיפיקציה ? דוגמא מהעולם העסקי: סגמנטציה של לקוחות

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי יובל מרנין

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

בגרף הבא מוצגים הרכישות ומספר הקניות של לקוח בחודש בסופר של רכישות מזון on-line. כל נקודה בגרף מייצגת לקוח כאשר ציר ה-X מציין את סך הרכישות וציר ה-Y את כמות הרכישות.

קלאסיפיקציה

באופן גס ניתן לומר שמסתתרים בנתונים שלושה סוגים של לקוחות או במילים אחרות שלושה סגמנטים:

קלאסיפיקציה

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

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

מכיוון שכל לקוח שייך לסגמנט שונה אפשר להתייחס בצורה פרסונלית לפי מאפייני הסגמנט אליו הוא משתייך:

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

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

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

Posted by יובל מרנין in deep

החוליה שהייתה חסרה לניווט רובוטים (SLAM)

מיועד ל- כל אחד (כתבה לא טכנית)

נכתב על ידי תמיר נווה

כל פעם מדהים אותי מחדש איך deep learning משדרג ביצועים באופן דרמטי בתחומים נוספים!

הפעם אכתוב סקירה כללית על SLAM=Simultaneously Localization and Mapping ואספר על החידושים בתחום שנובעים מלמידה עמוקה.

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

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

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

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

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

האופציה הנוספת נקראת Visual-Slam (או בקיצור VSLAM) והיא מתבססת על מצלמה פשוטה ומתוך ניתוח התמונות העוקבות המתקבלות האלגוריתם משערך את מיקומו במרחב ואיך נראה המרחב בו זמנית.

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

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

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

מציאת נקודות עניין והתאמתן בין פריימים עוקבים נעשה באמצעות כלים קלאסיים של עיבוד תמונה כמוOrb,Fast, Harris, Sift, Surf .

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

אז איפה קפיצת המדרגה עקב למידה עמוקה (ובפרט Convolutional Neural Networks=CNN) ?

אלגוריתם CNN-SLAM מחדש באופן שהוא משלב בין השלשה הבאה: אלגוריתם SLAM רגיל, אלגוריתם מבוסס CNN שנותן מפת עומק (Depth Map Prediction), ואלגוריתם מבוסס CNN שמחלק את התמונה לאזורים (Semantic Segmentation) כמו ריצפה, תקרה, ריהוט, קירות וחפצים.

האלגוריתם (המשולב) הורץ על שני מאגרי נתונים מקובלים בתחוםICL-NUIM, TUM RGB-D SLAM  שמכילים מפות עומק ומסלולי תנועה של מצלמה. המאגרים נבנו או באופן סינתטי או באמצעות חיישני עומק כמו Kinect.

בהשוואת ביצועים בין CNN-SLAM לבין האלגוריתמים הטובים ביותר שיש ב SLAM המבוסס על מצלמה בודדת (Monocular SLAM): בין השאר ORB-SLAM, LSD-SLAM שעושים שיערוך מסלול וREMODE  שעושה שיערוך עומק. האלגוריתם מבוסס CNN (כתוב Ours בתרשים מהמאמר) מוביל בביצועים:

תודה ל CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction

Posted by תמיר נווה in deep