פרויקטי גמר - הנדסת מחשבים - המעבדה לרשתות וחישוב תשפ"ב

601 Data-streams communication over a noisy channel

שידור מידע סטרימינג בערוץ תקשורת עם שגיאות

שם המנחה: ד״ר רן גלס
אחראי/ת אקדמי/ת: דר' רן גלס

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

שלבי הפרויקט יכילו:

  1. לימוד רקע תיאורטי על קידוד זרמי מידע
  2. מימוש בתוכנה של סכמת קידוד זרמי מידע בחלונות זמן (לפי מאמר מס׳ 1 במקורות הרצ״ב)
  3. ביצוע סימולציית רעש ומדידת איכות הקידוד המתקבל
  4. השוואה לסכמות קידוד נאיביות, למשל, קידוד המידע ע״י קוד Reed-Solomon בלבד.

המימוש יבוצע בשפה עילית (C, Java, Python) על גבי מחשב יחיד שידמה את שני המחשבים המתקשרים ואת ערוץ התקשורת ביניהם.

קורסי קדם:

מבוא לתורת הצפינה (ניתן לקחת במקביל)
מבני נתונים ואלגוריתמים

מקורות:

1. Efficient Error-Correcting Codes for Sliding Windows Ran Gelles, Rafail Ostrovsky, Alan Roytman SIAM Journal on Discrete Mathematics, 34(1), pages 904–937, 2020

2. Optimal Coding for Streaming Authentication and Interactive Communication Matthew Franklin, Ran Gelles, Rafail Ostrovsky, Leonard J. Schulman IEEE Trans. on Information Theory, 61(1), pages 133–145, 2015

602 Barrier Coverage using Duty Cycles of Static Sensors

כיסוי מחסום ע"י משמרות של חיישנים נייחים

שם המנחה: דרור רביץ
אחראי/ת אקדמי/ת: פרופ' דרור רביץ

הרקע לפרויקט:

הפרוייקט יעסוק בבעיה של תזמון חיישנים שממוקמים לאורך מחסום קווי שמיוצג ע"י הקטע [0,N]. החיישנים נייחים, ולכל אחד יש מקור אנרגיה מוגבל. אם חיישן i, שממוקם בנקודה x_i, מקבל רדיוס כיסוי r_i, אז הוא מכסה את הקטע [x_i-r_i,x_i+r_i]. צריכת האנרגיה של החיישן במקרה זה היא r_i^a לכל יחידת זמן, כאשר a >= 1, ולכן הוא יכול לעבוד במשך b_i/r_i^a זמן, כאשר יש לו בטריה שקיבולה b_i. החיישנים אמורים לכסות את המחסום במשמרות בגודל מוגבל, כאשר המטרה היא לכסות את המחסום לכמה שיותר זמן.

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

נדרשים ציונים גבוהים בקורסים מנו"א 2 (83224) ואוטומטים וחישוביות (83250).
יש לקחת במקביל לפרוייקט את הקורס תכנון וניתוח אלגוריתמים (83456).

מקורות:

Amotz Bar-Noy, Ben Baumer, and Dror Rawitz. Changing of the Guards: Strip Cover with Duty Cycling. Theoretical Computer Science 610:135-148, 2016.
Amotz Bar-Noy and Ben Baumer. Average Case Network Lifetime on an Interval with Adjustable Sensing Ranges. Algorithmica 72(1):148-166, 2015.

603 Comparing Between different genetic networks using SCC computation

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

שם המנחה: יוגדר בהמשך
אחראי/ת אקדמי/ת: פרופ' הלל קוגלר

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • 83691 Formal Verification and Synthesis (אפשר במקביל לפרויקט)
  • 83670 Biological Computation (אפשר במקביל לפרויקט)

מקורות:

  1. https://github.com/fsprojects/ReasoningEngine
  2. Cytoscape.js
  3. Roderick Bloem, Harold N. Gabow and Fabio Somenzi. An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps. Formal Methods in System Design volume 28, pages 37–56, 2006.
  4. B. Yordanov S-J Dunn, H. Kugler, A. Smith, G. Martello and S. Emmott. A method to identify and analyze biological programs through automated reasoning. Nature Systems Biology and Applications, 2016.
  5. Peter, I.S., Faure, E. and Davidson, E.H., 2012. Predictive computation of genomic logic processing functions in embryonic development. Proceedings of the National Academy of Sciences, 109(41), pp.16434-16442.

604 Software Development: Digital forms creation and tracking system

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

שם המנחה: ד״ר רן גלס וד״ר איציק כהן
אחראי/ת אקדמי/ת: דר' רן גלס

הרקע לפרויקט:

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

מטרת הפרויקט:

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

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

תכולת הפרויקט:

שלבי הפרויקט יכילו פיתוח מערכת תוכנה לניהול טפסים מקוונים: (1) הגדרת התוכנה ויכולותיה לפי הרעיון לעיל (2) הגדרת מודל עיסקי מתאים (3) פיתוח מלא של אתר המממש את המערכת, ובדיקתה (4) פיתוח עסקי של המערכת (5) סיכום ומסקנות: ניתוח ההצלחות והטעויות שנעשו, והסקת מסקנות לעתיד עבור סטרטאפ דומה.
הפיתוח יבוצע בשפה עילית/שפת פיתוח WEB לפי עקרונות Agile

קורסי קדם:

  • הנדסת תוכנה
  • קורס ביזמות - יתרון

מקורות:

  1. K. R. P. H. Leung and L. C. K. Hui, "Signature management in workflow systems," Proceedings. Twenty-Third Annual International Computer Software and Applications Conference, 1999, pp. 424-429, doi: 10.1109/CMPSAC.1999.814321.
  2. K. R. P. H. Leung and L. C. K. Hui, "Multiple signature handling in workflow systems," Proceedings of the 33rd Annual Hawaii International Conference on System Sciences, 2000, pp. 8 pp. vol.2-, doi: 10.1109/HICSS.2000.926854.
  3. Ries, Eric. The Lean Startup : How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses / Eric Ries. New York: Crown Business, 2014. Print.

605 Formal Verification and Statistical Analysis of NBC

אימות פורמלי של מעגלים ביולוגיים

שם המנחה: Hillel Kugler and Avraham Raviv
אחראי/ת אקדמי/ת: פרופ' הלל קוגלר

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • 83691 Formal Verification and Synthesis (במקביל לפרויקט)
  • 83670 Biological Computation (במקביל לפרויקט)

דרישות נוספות:

תכנות ב-python יתרון.

מקורות:

  1. Nicolau, Dan V., et al. "Parallel computation with molecular-motor-propelled agents in nanofabricated networks." Proceedings of the National Academy of Sciences, 2016.
  2. Michelle Aluf-Medina, Till Korten, Avraham Raviv, Dan V. Nicolau Jr. and Hillel Kugler. Formal Semantics and Verification of Network-Based Biocomputation Circuits, VMCAI’21. https://link.springer.com/chapter/10.1007/978-3-030-67067-2_21
  3. http://bio4comp.org/
  4. Manna, Zohar, and Amir Pnueli. "Temporal verification of reactive systems: safety." Springer (1995).

פרויקטים נוספים מומלצים

220 Efficient systolic array for Neural Networks

מימוש מערך סיסטולי יעיל לרשתות ניורונים

שם המנחה: אור מלטבשי
אחראי/ת אקדמי/ת: פרופ' אדם תימן

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

מעגלי ומערכות VLSI דיגיטליים

מקורות:

  1. Genc, Hasan, et al. "Gemmini: An agile systolic array generator enabling systematic evaluations of deep-learning architectures." arXiv preprint arXiv:1911.09925 (2019).
  2. Kung, Hsiang Tsung, and Charles E. Leiserson. Systolic Arrays for (VLSI). CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE, 1978.

221 Controlled placement of Systolic array

הצבה מבוקרת של מערך סיסטולי

שם המנחה: אור מלטבשי
אחראי/ת אקדמי/ת: פרופ' אדם תימן

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

מעגלי ומערכות VLSI דיגיטליים

מקורות:

  1. Genc, Hasan, et al. "Gemmini: An agile systolic array generator enabling systematic evaluations of deep-learning architectures." arXiv preprint arXiv:1911.09925 (2019)
  2. Kung, Hsiang Tsung, and Charles E. Leiserson. Systolic Arrays for (VLSI). CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE, 1978.

222 Efficient and custom layout for processing element

מימוש לייאוט מותאם ויעיל ליחידת חישוב

שם המנחה: אור מלטבשי
אחראי/ת אקדמי/ת: פרופ' אדם תימן

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

תכנון ומימוש יחידת חישוב PE אופטימלית בלייאוט וביצוע סימולציות.

קורסי קדם:

מעגלי ומערכות VLSI דיגיטליים

מקורות:

1) https://www.sciencedirect.com/topics/computer-science/processing-elements
2) Genc, Hasan, et al. "Gemmini: An agile systolic array generator enabling systematic evaluations of deep-learning architectures." arXiv preprint arXiv:1911.09925 (2019)

501 Process Mining

כריית תהליכים

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

הרקע לפרויקט:

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

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

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

הפרויקט משלב שיטות מתחומי Data Science.

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

מטרת הפרויקט:

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

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

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

תכולת הפרויקט:

שלבי הפרויקט יכילו:

  1. סקירת ספרות
  2. לימוד נושא כריית תהליכים (ניתן בפקולטה קורס + קיים קורס אונליין)
  3. ניתוח וטיוב בסיס הנתונים
  4. פעלת שיטות discovery
  5. conformance כתיבת וסיכום התוצאות

קורסי קדם:

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

דרישות נוספות:

ראייה מערכתית תהליכית

מקורות:

Van Der Aalst, W. (2016). Process Mining: Data science in action. Springer, Berlin, Heidelberg.

707 Hardware assisted Control Flow Integrity (CFI)

הגנה על מהלך וביצוע תקין של תוכנית הרצה על מעבד הנתון להתקפה זדונית

שם המנחה: אסנת קרן
אחראי/ת אקדמי/ת: פרופ' אסנת קרן

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • מבנים אלגבריים, מבנה מחשבים ספרתיים, Verilog, matlab
  • מבוא לתורת הצפינה (במקביל)

מקורות:

  1. R. de Clercq and I. Verbauwhede, “A survey of hardware-based control flow integrity (CFI),” CoRR, vol. abs/1706.07257, 2017.
  2. Gilad Dar, Giorgio Di Natale, Osnat Keren, “Nonlinear Code-based Low-Overhead Fine-Grained Control Flow Checking” IEEE Transactions on Computers, DOI: 10.1109/TC.2021.3057132
  3. A. Chaudhari, J. Park, and J. Abraham, “A framework for low overhead hardware based runtime control flow error detection and recovery,” in IEEE 31st VLSI Test Symposium (VTS), Berkeley, CA, pp. 1–5, IEEE, 2013.
  4. D. Arora, S. Ravi, A. Raghunathan, and N. K. Jha, “Hardware assisted run-time onitoring for secure program execution on embedded processors,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 14, pp. 1295–1308, Dec 2006.
  5. K.J.Kulikowski, M.G.Karpovsky and A.Taubin, Robust Codes for Fault Attack Resistant Cryptographic Hardware , http://mark.bu.edu/papers/185.pdf
  6. R. Cramer, Y. Dodis, S. Fehr, C. Padr ´o, and D. Wichs, “Detection of algebraic manipulation with applications to robust secret sharing and fuzzy extractors,” in Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 471–488, Springer, 2008.

708 Codes for protecting memory arrays from malicious data and address manipulations

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

שם המנחה: אסנת קרן
אחראי/ת אקדמי/ת: פרופ' אסנת קרן

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • מבנים אלגבריים, תכן לוגי, Verilog, matlab
  • מבוא לתורת הצפינה (במקביל)

מקורות:

  1. Gilad Dar, Avihay Grigiac, David Peled, Yagel Ashkenazi, Menachem Goldzweig, Yoav Weizman and Osnat Keren , “Compact Protection Codes for protecting memory arrays from malicious data and address manipulations”, IEEE European Test Symposium (ETS), Virtual, May 2021.
  2. H. Rabii, Y. Neumeier, and O. Keren, “High rate robust codes with low implementation complexity,” IEEE Transactions on Dependable and Secure Computing, 2018.
  3. J. Da Rolt, A. Das, G. Di Natale, M.-L. Flottes, B. Rouzeyre, and I. Ver-bauwhede, “Test versus security: past and present, ” IEEE Transactions on Emerging topics in Computing, vol. 2, no. 1, pp. 50–62, 2014.

902 Distributed Clock Synchronization on Grids

סנכרון שעונים מבוזר על גבי סבכות

שם המנחה: Moti Medina
אחראי/ת אקדמי/ת: ד"ר מוטי מדינה

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

  1. למידת המאמר המצורף.
  2. חילוץ אלגוריתם מבוזר "רציף".
  3. תכנון אלגוריתם מבוזר "בדיד".
  4. ניתוח תאורטי של האלגוריתם (ניתוח זמן התכנסות, הפרש שעונים לוקאלי וגלובלי מושג, וכו').
  5. מימוש האלגוריתם בתכן ספרתי.
  6. שחזור תוצאות המאמר.
  7. ריכוז וסיכום התומאות בפורמט של מאמר.

קורסי קדם:

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

  • 83681 חומרה מכילה מטסטביליות
  • 83612 מעגלי ומערכות VLSI דיגיטליים

מקורות:

S. Fairbanks and S. Moore, "Self-timed circuitry for global clocking," 11th IEEE International Symposium on Asynchronous Circuits and Systems, 2005, pp. 86-96, doi: 10.1109/ASYNC.2005.29. (https://www.cl.cam.ac.uk/~swm11/papers/async2005.pdf)

407 Online speech source separation and counting using deep neural networks

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

שם המנחה: מר ליאור פרנקל
אחראי/ת אקדמי/ת: פרופ' שרון גנות

הרקע לפרויקט:

Automatic meeting analysis comprises the tasks of speaker counting, speaker diarization, and the separation of overlapped speech, followed by automatic speech recognition. This all has to be carried out on arbitrarily long sessions and, ideally, in an online or block-online manner. While significant progress has been made on individual tasks, this work presents an all-neural approach to simultaneous speaker counting, diarization and source separation. The NN-based estimator operates in a block-online fashion and tracks speakers even if they remain silent for a number of time blocks, thus learning a stable output order for the separated sources. The neural network is recurrent over time as well as over the number of sources. The simulation experiments show that state of the art separation performance is achieved, while at the same time delivering good diarization and source counting results. It even generalizes well to an unseen large number of blocks.

מטרת הפרויקט:

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

תכולת הפרויקט:

  1. בניית מודל BiLSTM באמצעות הפלטפורמה של PyTorch והתאמתו למשימת ההפרדה וזיהוי מס' הדוברים.
  2. יצירת data מתאים למשימה, אימון המודל ובדיקת ביצועים.
  3. האלגוריתם יבחן על מערך מיקרופונים , כגון : https://www.eng.biu.ac.il/~pinit/r1/

קורסי קדם:

  • DSP1
  • DSP2
  • אותות אקראיים ורעש.
  • SSP1
  • מבוא ללמידת מכונה.

דרישות נוספות:

  • קורס למידה עמוקה (יתרון)

מקורות:

T. v. Neumann, K. Kinoshita, M. Delcroix, S. Araki, T. Nakatani and R. Haeb-Umbach, "All-neural Online Source Separation, Counting, and Diarization for Meeting Analysis," ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019, pp. 91-95, doi: 10.1109/ICASSP.2019.8682572.
https://arxiv.org/pdf/1902.07881.pdf

408 Audio-Visual Scene Analysis with Self-Supervised Multisensory Features

ניתוח סצנות אודיו-וידאו בגישת self-supervised-learning

שם המנחה: רננה אופוצ'ינסקי
אחראי/ת אקדמי/ת: פרופ' שרון גנות

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • עיבוד ספרתי 2
  • למידה עמוקה

(כולם במקביל, במהלך שנה ד')

דרישות נוספות:

  • קורס למידת מכונה
  • תכנות בpython – יתרון.

מקורות:

Andrew Owens,  Alexei A. Efros (2018) Audio-Visual Scene Analysis with Self-Supervised Multisensory Features. In: Ferrari V., Hebert M., Sminchisescu C., Weiss Y. (eds) Computer Vision – ECCV 2018. ECCV 2018. Lecture Notes in Computer Science, vol 11210.

409 Deep audio-visual modal-based sound-source localization and tracking

איכון ועקיבה בהתבסס על מודל אודיו-ויזואלי בשיטות למידה עמוקה

שם המנחה: רננה אופוצ'ינסקי
אחראי/ת אקדמי/ת: פרופ' שרון גנות

הרקע לפרויקט:

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • עיבוד ספרתי 2
  • למידה עמוקה

(כולם במקביל, במהלך שנה ד')

דרישות נוספות:

  • קורס למידת מכונה
  • תכנות בpython – יתרון.

מקורות:

Opochinsky, Renana, Bracha Laufer-Goldshtein, Sharon Gannot, and Gal Chechik. "Deep ranking-based sound source localization." In 2019 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), pp. 283-287. IEEE, 2019.

236 Memory efficient merging of BDDs

מיזוג יעיל של עצי החלטה

שם המנחה: רומן גולמן
אחראי/ת אקדמי/ת: פרופ' אדם תימן

הרקע לפרויקט:

In computer science, a binary decision diagram (BDD) or branching program is a data structure that is used to represent a Boolean function. On a more abstract level, BDDs can be considered as a compressed representation of sets or relations. Unlike other compressed representations, operations are performed directly on the compressed representation, i.e. without decompression.

BDDs are extensively used in CAD software to synthesize circuits (logic synthesis) and in formal verification. Every arbitrary BDD (even if it is not reduced or ordered) can be directly implemented in hardware by replacing each node with a 2 to 1 multiplexer.

מטרת הפרויקט:

The process of building a BDD tree is by recursively combining two BDD trees of sub-expressions. Typically, the memory required for the sub-trees is substantially larger than the memory required for the combined reduced tree, leading to a situation where a problem that can be solved with the reduced tree, is not solvable because the tree building process memory consumption is too high. In this project we will explore and develop memory efficient methodologies for construction of BDD trees.

תכולת הפרויקט:

The students are expected to learn the CUDD c++ library and expand or replace it to performing memory efficient operations (shift the performance optimizations to memory optimizations) based on the algorithms developed in the course of the project.

קורסי קדם:

  • Digital Integrated Circuits (83-313)
  • Data Structures and Algorithms I (83-119)

דרישות נוספות:

  • programming in c++

מקורות:

https://davidkebo.com/cudd#cudd8

415 Speech impairment

זיהוי לקויות דיבור באמצעות למידת מכונה.

שם המנחה: רועי גואטא , פיני טנדייטניק
אחראי/ת אקדמי/ת: פרופ' שרון גנות

הרקע לפרויקט:

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

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

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

מטרת הפרויקט:

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

תכולת הפרויקט:

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

קורסי קדם:

  • למידה עמוקה (במהלך שנה ד')

דרישות נוספות:

  • קורס למידת מכונה
  • תכנות ב-python – יתרון.

מקורות:

  1. Detection of Lateral Sigmatism using Support Vector Machine