ML.NET

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

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

ML.NET
Mldotnet.svg
מפתח .NET Foundation עריכת הנתון בוויקינתונים
מחזור חיים 7 במאי 2018 – הווה (4 שנים ו־19 שבועות) עריכת הנתון בוויקינתונים
נכתבה בשפות סי שארפ עריכת הנתון בוויקינתונים
סוג רישיון רישיון MIT עריכת הנתון בוויקינתונים
קוד מקור https://github.com/dotnet/machinelearning/ עריכת הנתון בוויקינתונים
dot.net/ml
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית OOjs UI icon info big.svg

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

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

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

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

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

ביצועיםעריכה

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

בונה דגמיםעריכה

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

Infer.NETעריכה

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

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

תמיכת NimbusML ב Pythonעריכה

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

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

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

לקריאה נוספתעריכה

  • Capellman, Jarred (2020). Hands-On Machine Learning with ML.NET: Getting started with Microsoft ML.NET to implement popular machine learning algorithms in C#. Packt Publishing. ISBN 978-1789801781.
  • Mukherjee, Sudipta (2020). ML.NET Revealed: Simple Tools for Applying Machine Learning to Your Applications. Apress. ISBN 978-1484265420.

הערות שולייםעריכה

  1. ^ David Ramel (2018-05-08). "Open Source, Cross-Platform ML.NET Simplifies Machine Learning -- Visual Studio Magazine". Visual Studio Magazine. נבדק ב-2018-05-10.
  2. ^ Kareem Anderson (2017-05-09). "Microsoft debuts ML.NET cross-platform machine learning framework". On MSFT. נבדק ב-2018-05-10.
  3. ^ Ankit Asthana (2018-08-07). "Announcing ML.NET 0.4". blogs.msdn.microsoft.com. נבדק ב-2018-08-08.
  4. ^ Gal Oshri (2018-05-06). "ML.NET 0.1 Release Notes". GitHub. נבדק ב-2018-05-10.
  5. ^ Tiwari, Aditya (2018-05-08). "Microsoft Launches ML.NET Open Source Machine Learning Framework". Fossbytes. נבדק ב-2018-05-10. Over time, it will enable other ML tasks like anomaly detection, recommendation system, and other approaches like deep learning using the benefits of added libraries.
  6. ^ "Machine learning tasks in ML.NET". Microsoft. נבדק ב-26 בדצמבר 2018. {{cite web}}: (עזרה)
  7. ^ James McCaffrey (2018-12-19). "ML.NET: The Machine Learning Framework for .NET Developers". MSDN Magazine Connect() Special Issue 2018. נבדק ב-2019-01-09. Even though the ML.NET library is new, its origins go back many years. Shortly after the introduction of the Microsoft .NET Framework in 2002, Microsoft Research began a project called TMSN (“text mining search and navigation”) to enable software developers to include ML code in Microsoft products and technologies. The project was very successful, and over the years grew in size and usage internally at Microsoft. Somewhere around 2011 the library was renamed to TLC (“the learning code”). TLC is widely used within Microsoft and is currently in version 3.10. The ML.NET library is a descendant of TLC, with Microsoft-specific features removed. I’ve used both libraries and, in many ways, the ML.NET child has surpassed its parent.
  8. ^ "Release Microsoft ML.NET v0.3". Github. 2018-07-03. נבדק ב-2018-07-03.
  9. ^ "Announcing ML.NET 0.7 (Machine Learning .NET)". Microsoft. 2018-11-08. נבדק ב-2018-11-14.
  10. ^ "The ML.NET Roadmap". Github. 2018-05-09. נבדק ב-2018-06-30.
  11. ^ "Announcing ML.NET 1.0". Microsoft. 2019-05-06. נבדק ב-2019-05-07.
  12. ^ "SciSharp/TensorFlow.NET". SciSharp STACK. 21 בפברואר 2020. {{cite web}}: (עזרה)
  13. ^ "ML.NET 1.4.0-preview2". Github. 2019-10-09. נבדק ב-2019-10-09.
  14. ^ Ahmed, Zeeshan; Amizadeh, Saeed; Bilenko, Mikhail; Carr, Rogan; Chin, Wei-Sheng; Dekel, Yael; Dupre, Xavier; Eksarevskiy, Vadim; Erhardt, Eric (2019-05-15). "arXiv 1905.05715: Machine Learning at Microsoft with ML .NET". Microsoft & Yandex. arXiv:1905.05715. doi:10.1145/3292500.3330667.
  15. ^ "dotnet/machinelearning-modelbuilder". .NET Platform. 17 בפברואר 2020. {{cite web}}: (עזרה)
  16. ^ "Announcing ML.NET 1.0". Microsoft. 2019-05-06. נבדק ב-2019-05-07.
  17. ^ "Microsoft open-sources Infer.NET AI code just in time for the weekend". The Register. 2018-10-05. נבדק ב-2018-10-31.
  18. ^ "Microsoft open sources Infer.NET, its popular model-based machine learning framework". Packt. 2018-10-08. נבדק ב-2018-10-31.
  19. ^ "Announcing ML.NET 0.7 (Machine Learning .NET)". Microsoft. 2018-11-08. נבדק ב-2018-11-14.
  20. ^ "ML.NET – Export Machine Learning.Net models to ONNX format". El Bruno. 2018-07-11. נבדק ב-2019-01-09.
  21. ^ "ONNX.js: Universal Deep Learning Models in The Browser". Will Badr. 2019-01-08. נבדק ב-2019-01-09.