top of page
  • תמונת הסופר/תlior samuel

אסף מבין על מה אתם מדברים!


אסף מושקין, מחזור י״ב, הנדסת תוכנה, טכניון

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

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

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



אז מושקין, איך נראה המסלול שלך בתוכנית?

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

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


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

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


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

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

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

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


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

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


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

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


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


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


רגע, לא למדת את התואר השני שלך תוך כדי השירות?

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

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


ומה נושא המחקר שלך עכשיו?

המטרה שלי בגדול היא לתמלל דיבור (automatic speech recognition או speech to text). זה דבר שנמצא בכל מקום מסביבנו. רק תחשבו על העוזרים הדיגיטליים שבפלאפונים או במחשב.

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


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


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


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



המטרה הסופית: ערוץ ישיר מהמיקרופון למסמך


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

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

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

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

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

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


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

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


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

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


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

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


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

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


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

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


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

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

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

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

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


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


יש הרבה דרכים למדוד את ההצלחה שלנו בתמלול. המטריקה הכי פשוטה מביניהם היא word-error-rate, יענו בכמה מילים טעינו.

בינתיים אנחנו מצליחים להגיע לפחות מ20% שגיאה.


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

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

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

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

בתמונה: אדם חולם על תמלול עם פחות מ20% שגיאה

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

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


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

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



מה המסר שלך לדורות הבאים?

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

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

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


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

348 צפיות0 תגובות

פוסטים אחרונים

הצג הכול

Comentários


bottom of page