ML.NET

ML.NET היא ספריית תוכנה חינמית לאפליקציות המשלבות למידת מכונה עבור שפות התכנות #C ו- #F. הספרייה תומכת במודלים של Python, יחד עם NimbusML.

מהדורת התצוגה המקדימה של ML.NET כללה טרנספורמציות להנדסת תכונות (feature engineering) כמו יצירת n-gram, ו"למדנים" להתמודדות עם משימות סיווג בינארי, סיווג רב-מעמדי ומשימות רגרסיה. מאז נוספו משימות ML נוספות כמו איתור חריגות ומערכות המלצה, וגישות אחרות כמו למידה עמוקה ייכללו בגרסאות עתידיות.

למידת מכונה 
ML.NET כוללת יכולות אנליטיות וחיזוי מבוססות מודלים של למידת מכונה, ובשימוש בעיקר על ידי מפתחים בעלי ניסיון עם מוצרי דוט NET. המסגרת בנויה על NET Core. ו-NET Standard, ומסוגלת לרוץ באופן חוצה פלטפורמות במערכות ההפעלה Linux, Windows ו-macOS. למרות ש-ML.NET נוסדה בשנת 2018, מקורותיה החלו כבר בשנת 2002 כפרויקט מחקר של מיקרוסופט בשם TMSN (חיפוש וניווט של כריית טקסט) לשימוש פנימי בתוך מוצרי מיקרוסופט. מאוחר יותר שונה שמו ל-TLC (קוד הלמידה) בסביבות 2011. ML.NET נגזרה לאחר מכן מספריית TLC ועלתה במידה רבה על ספריית המקור לפי ד"ר ג'יימס מקפרי, מ-Microsoft Research.

מפתחים יכולים לאמן מודל למידת מכונה או לעשות שימוש חוזר במודל קיים על ידי צד שלישי ולהפעיל אותו בכל סביבה במצב לא מקוון. המשמעות היא שמפתחים לא צריכים להיות בעלי רקע ב-Data Science כדי להשתמש במסגרת. תמיכה בפורמט מודל למידה עמוקה בקוד פתוח Open Neural Network Exchange (או ONNX) הוצגה מ-build 0.3 ב-ML.NET. המהדורה כללה שיפורים בולטים אחרים כגון מכונות פקטוריזציה, LightGBM, אנסמבלים, LightLDA transform ו-OVA. שילוב TensorFlow ב ML.NET אפשרי מגרסה 0.5. תמיכה עבור יישומי x86 ו-x64 נוספה ל-Build 0.7 כולל יכולות המלצות משופרות עם Matrix Factorization. מפת דרכים מלאה של תכונות מתוכננות זמינה ב-Repo הרשמי של GitHub.

המהדורה היציבה הראשונה 1.0 של המסגרת הוכרזה ב-Build (כנס מפתחים) 2019. היא כלל תוספת של כלי בונה מודלים ויכולות AutoML (למידת מכונה אוטומטית). Build 1.3.1 הציג תצוגה מקדימה של אימון Deep Neural Network באמצעות כריכות #C עבור Tensorflow ומטען מסד נתונים המאפשר אימון מודלים על מסדי נתונים. התצוגה המקדימה של 1.4.0 הוסיפה ניקוד ML.NET על מעבדי ARM ואימון רשתות עצביות עמוקות עם GPUs עבור Windows ו-Linux.

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

בונה דגמים 
ה-ML.NET CLI הוא ממשק שורת פקודה המשתמש ב-ML.NET AutoML כדי לבצע אימון מודלים ולבחור את האלגוריתם הטוב ביותר עבור הנתונים. ה-Model Builder preview של ML.NET היא הרחבה עבור Visual Studio המשתמשת ב-ML. NET CLI ו-ML.NET AutoML כדי להפיק את המודל ה-ML.NET הטוב ביותר באמצעות GUI.

Infer.NET 
Microsoft Research הכריזה על ארכיטקטורת המודלים Infer.NET הפופולרית ללמידת מכונה המשמשת למחקר במוסדות אקדמיים מאז 2008, שוחררה בקוד פתוח, וכעת היא חלק מה-ML.NET.

Infer.NET framework משתמש בתכנות הסתברותי כדי לתאר מודלים הסתברותיים שיש להם יתרון נוסף של יכולת פרשנות. מרחב השמות של Infer.NET שונה מאז ל-Microsoft.ML.Probabilistic. התואם את מרחבי השמות של ML.NET.

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

למידת מכונה בדפדפן 
ML. NET מאפשרת למשתמשים לייצא מודלים מאומנים לפורמט Open Neural Network Exchange (ONNX). זה מייצר אפשרות להשתמש במודלים בסביבות שונות שאינן משתמשות ב-ML.NET. ניתן יהיה להפעיל את המודלים הללו בצד הלקוח של הדפדפן באמצעות ONNX.js, מסגרת צד הלקוח של javascript עבור מודלים של למידה עמוקה שנוצרו בפורמט Onnx.

לקריאה נוספת

הערות שוליים 

ערכים שבהם תבנית אתר רשמי אינה מתאימה להוספה אוטומטית
תוכנות שהושקו ב-2018
תוכנות בינה מלאכותית
.NET
תוכנה מבית מיקרוסופט