מה הקשר בין Simulink ו-AI?
אנחנו מדברים הרבה על בינה מלאכותית (AI) – פיתוח מודלים מורכבים, שימוש בשכבות חדשות, שיפור המודלים שאומנו, תיוג דאטה, רכישת דאטה חדש, ביצוע בדיקות על המודלים, ועוד…
אבל מרוב שיח על מציאת מודל ה-AI המושלם והמתאים ביותר, לפעמים לא לוקחים בחשבון שמדובר בסופו של דבר, רק ברכיב אחד מהמערכת הכוללת שלנו, שסביר להניח בנויה מעוד הרבה רכיבים שונים, וחשוב לדעת איך כולם מתנהגים ביחד במערכת רב-תחומית השלמה.
כלומר היינו רוצים אחרי שהצלחנו לאמן מודל שאנחנו שלמים איתו, לשבץ את כל העבודה הקשה שעשינו תחת המערכת השלמה, לבצע סימולציות מערכתיות, לבצע בדיקות שונות על המערכת ממונעת ה- AI שלנו, ולראות כיצד כל תתי הרכיבים הנוספים של המערכת עובדים כולם ביחד, יחד עם רכיב ה-AI.
לדוגמא, על גבי רכב אוטונומי יושבת תוכנה שאחראית על כל מיני משימות שונות – כמו למשל בקרת שיוט אדפטיבית, היתוך חיישנים, עיבוד דאטה מחיישני Lidar ועוד ש– כל אלה, לצד מודלי AI למשימות ראייה ממוחשבת, כמו זיהוי נתיבים. ואלו הם כמובן רק חלק מהרכיבים.
אבל מה שמעניין כבר בשלב הזה היא השאלה: איך מבצעים אינטגרציה של כל החלקים הללו וגורמים להם לעבוד "ולנגן" ביחד, זאת תוך מזעור ההוצאות ומזעור זמני הפיתוח? (הרבה לפני הניסויים האמיתיים בשטח על הרכב עצמו לאחר שפותח – אלא בשלב הסימולציות על המחשב…)
כאן בדיוק נכנסת עבודה בגישת Model Based Design (MBD) משולבת AI ב-Simulink.
מודל Simulink שמיועד להיות מוטמע בסופו של דבר על מערכת Embedded בדרך כלל מורכב מאלגוריתמים שונים מעולמות הנדסיים רבים – בקרה, ראייה ממוחשבת, היתוך מידע מחיישנים, הדינמיקה של המערכת ועוד.
האיחוד של כל תתי-מערכות אלו על גבי מודל Simulink אחד אשר מקשר את כולן, מאפשר לנו להריץ סימולציות ולבצע בדיקות ווריפיקציה וולידציה (V&V), הרבה לפני שאנחנו מטמיעים אותם על חומרת היעד הנבחרת.
היכולות החשובות והעיקריות שמתאפשרות על ידי שילוב AI בתכנון מבוסס מודלים (MBD) עבור פיתוח אלגוריתמי Embedded הינן:
- היכולת לבצע ניסויים ולחקור מודלי AI רבים, ובמהירות להשוות בין ה-trade offs בין אם בדיוק שמתקבל מהמודלים או בביצועים על גבי החומרה הנבחרת.
- הערכת מודלי AI לצורך בדיקות תאימות עם דרישות המערכת, זאת לפני שהם מוטמעים על גבי החומרה.
- הרצת מודלי ה-AI לצד תתי-מערכות ומודולים אחרים של המערכת, כולל סימולציה של הסביבה בה המערכת פועלת, ברמת המערכת השלמה – על מנת למצוא בעיות באינטגרציה כבר בשלבים מוקדמים של תהליך הפיתוח.
- בדיקת תרחישים שקשה להביא לפועל בתנאי ניסוי שטח אמיתי – למשל במקרה והניסוי יקר מאוד, או מסוכן מאוד להפעלה בחומרה או בסביבה הפיזית.
החל מגרסת R2020b גם מודלי Deep Learning יכולים להיות חלק ממודל Simulink, וכך ניתן:
- לבצע אינטגרציה של מודלי ה-AI לתוך סימולציות מערכתיות ב-Simulink.
- לבצע בדיקות מערכתיות ולבדוק את הביצועים של המערכת השלמה מבוססת AI
- לייצר קוד ולהטמיע את המערכת (כולל רכיב ה-AI) על גבי חומרת ה-Embedded
- לאמן מודלי AI ב-MATLAB, או לייבא מודלים מאומנים מ-TensorFlow, Pytorch או מפלטפורמות קוד פתוח נוספות דרך ONNX.
במידה ותרצו לשמוע עוד, אתם מוזמנים ליצור אתנו קשר ונראה איך אנחנו יכולים להשתלב ולעזור!
מידע נוסף:
- סיפור לקוח – Integrating AI into Simulink for Simulation and Deployment
- פירוט בדוקומנטציה – Deep Learning with Simulink
- וובינר (32:23) – AI for Simulink users