ML.NET - ML.NET
![]() | |
Původní autoři | Microsoft |
---|---|
Vývojáři | .NET Foundation |
První vydání | 7. května 2018[1] |
Stabilní uvolnění | 1.5.2 / 11. září 2020 |
Úložiště | github |
Napsáno | C# a C ++ |
Operační systém | Linux, Operační Systém Mac, Okna[2] |
Plošina | .NET Core, .NET Framework |
Typ | Strojové učení knihovna |
Licence | Licence MIT[3] |
webová stránka | tečka |
ML.NET je svobodný software strojové učení knihovna pro C# a F# programovací jazyky.[4][5][6] Podporuje také Krajta modely při použití společně s NimbusML. Verze Preview ML.NET zahrnovala transformace pro funkce inženýrství jako n-gram tvorba a studenti, kteří zvládnou binární klasifikaci, klasifikaci více tříd a regresní úkoly.[7] Od té doby byly přidány další úkoly ML, jako jsou systémy detekce a doporučení anomálií, a v budoucích verzích budou zahrnuty další přístupy, jako je hluboké učení.[8][9]
Strojové učení
ML.NET přináší stávajícím vývojářům .NET modelové analytické a predikční schopnosti založené na strojovém učení. Rámec je postaven na .NET Core a .NET Standard dědí schopnost běžet na různých platformách Linux, Okna a Operační Systém Mac. Ačkoli je rámec ML.NET nový, jeho počátky začaly v roce 2002 jako projekt Microsoft Research s názvem TMSN (vyhledávání a navigace v textové těžbě) pro interní použití v produktech Microsoft. Později byl přejmenován na TLC (výukový kód) kolem roku 2011. ML.NET byl odvozen z knihovny TLC a do značné míry předčil svého rodiče, který říká Dr. James McCaffrey, Microsoft Research.[10]
Vývojáři mohou trénovat model strojového učení nebo znovu použít existující model třetí stranou a spustit jej v jakémkoli prostředí offline. To znamená, že vývojáři nepotřebují mít pozadí v Data Science, aby mohli používat framework. Podpora pro open-source Otevřená výměna neuronových sítí (ONNX ) Hluboké učení formát modelu byl zaveden od verze 0.3 v ML.NET. Tato verze obsahovala další významná vylepšení, jako jsou Factorization Machines, LightGBM, Soubory, LightLDA transformace a OVA.[11] ML.NET integrace TensorFlow je povoleno od verze 0.5. Byla přidána podpora pro aplikace x86 a x64 pro sestavení 0,7, včetně vylepšených schopností doporučení pomocí Matrix Factorization.[12] V oficiálním repo GitHubu byl zpřístupněn úplný plán plánovaných funkcí.[13]
První stabilní vydání verze 1.0 rámce bylo oznámeno na Build (konference pro vývojáře) 2019. Zahrnovalo přidání nástroje Model Builder a funkcí AutoML (Automated Machine Learning).[14] Sestavení 1.3.1 představilo náhled tréninku Deep Neural Network pomocí vazeb C #[15] pro Tensorflow a databázový zavaděč, který umožňuje modelové školení v databázích. Verze 1.4.0 přidala bodování ML.NET na procesorech ARM a trénink Deep Neural Network s GPU pro Windows a Linux.[16]
Výkon
Dokument společnosti Microsoft o strojovém učení s ML.NET prokázal, že je schopen trénovat modely analýzy sentimentu s využitím velkých datových sad při dosažení vysoké přesnosti. Jeho výsledky ukázaly 95% přesnost na 9GB datovém souboru recenzí Amazonu.[17]
Tvůrce modelů
ML.NET CLI je Rozhraní příkazového řádku který používá ML.NET AutoML k provádění tréninku modelu a výběru nejlepšího algoritmu pro data. Náhled nástroje pro tvorbu modelu ML.NET[18] je rozšíření pro Vizuální studio , který používá ML.NET CLI a ML.NET AutoML k výstupu nejlepšího modelu ML.NET pomocí a GUI.[14]
Vysvětlení modelu
Spravedlivost a vysvětlitelnost AI byla v posledních letech předmětem diskuse etiků AI.[19] Hlavním problémem pro aplikace Machine Learning je efekt černé skříňky, kdy si koncoví uživatelé a vývojáři aplikace nejsou jisti, jak algoritmus dospěl k rozhodnutí nebo zda datová sada obsahuje zkreslení.[20] Sestavte 0,8 zahrnutá rozhraní API pro vysvětlení modelu, která byla interně použita v Microsoftu. Přidalo schopnost porozumět důležitosti funkcí modelů přidáním funkcí „Celkový význam funkcí“ a „Obecné modely doplňků“.[21]
Pokud existuje několik proměnných, které přispívají k celkovému skóre, je možné vidět rozpis jednotlivých proměnných a které funkce měly největší dopad na konečné skóre. Oficiální dokumentace ukazuje, že metriky hodnocení lze vydat pro účely ladění. Během školení a ladění modelu mohou vývojáři zobrazit náhled a zkontrolovat živá filtrovaná data. To je možné pomocí Vizuální studio Nástroje DataView.[22]
Infer.NET
Společnost Microsoft Research oznámila, že populární rámec strojového učení založený na modelech Infer.NET používaný pro výzkum v akademických institucích od roku 2008 byl vydán jako otevřený zdroj a je nyní součástí rámce ML.NET.[23] Rámec Infer.NET využívá pravděpodobnostní programování popsat pravděpodobnostní modely což má další výhodu interpretovatelnosti. Obor názvů Infer.NET byl od té doby změněn na Microsoft.ML.Probabilistic v souladu s obory názvů ML.NET.[24]
Podpora NimbusML Pythonu
Microsoft uznal, že Krajta programovací jazyk je oblíbený u Data Scientists, proto zavedl NimbusML experimentální vazby Pythonu pro ML.NET. To umožňuje uživatelům trénovat a používat modely strojového učení v Pythonu. Byl vytvořen jako open source podobný Infer.NET.[12]
Strojové učení v prohlížeči
ML.NET umožňuje uživatelům exportovat trénované modely do Otevřete burzu neuronových sítí (ONNX) formát.[25] To vytváří příležitost používat modely v různých prostředích, která nepoužívají ML.NET. Bylo by možné spouštět tyto modely na straně klienta prohlížeče pomocí ONNX.js, rámce na straně klienta javascript pro modely hlubokého učení vytvořené ve formátu Onnx.[26]
AI School Machine Learning Course
Spolu s vydáním náhledu ML.NET společnost Microsoft zavedla bezplatné výukové programy a kurzy AI, které vývojářům pomohou porozumět technikám potřebným pro práci s frameworkem.[27][28][29]
Viz také
- Scikit-učit se
- Accord.NET
- NimbusML
- LightGBM
- TensorFlow
- Microsoft Cognitive Toolkit
- Seznam softwaru pro numerickou analýzu
- Seznam numerických knihoven pro .NET framework
Reference
- ^ Ankit Asthana (07.05.2017). „Představujeme ML.NET: Cross-platform, osvědčený a otevřený rámec pro strojové učení“. blogs.msdn.microsoft.com. Citováno 2018-05-10.
- ^ „ML.NET: Machine Learning made for .NET“. Microsoft. Citováno 11. května 2018.
- ^ ve společnosti master · DotNet / MachineLearning
- ^ David Ramel (08.05.2018). „Open Source, Cross-Platform ML.NET Simplifies Machine Learning - Visual Studio Magazine“. Časopis Visual Studio. Citováno 2018-05-10.
- ^ Kareem Anderson (09.05.2017). „Microsoft představuje platformu strojového učení pro více platforem ML.NET“. Na MSFT. Citováno 2018-05-10.
- ^ Ankit Asthana (07.08.2018). „Oznámení ML.NET 0.4“. blogs.msdn.microsoft.com. Citováno 2018-08-08.
- ^ Gal Oshri (06.05.2018). „Poznámky k verzi ML.NET 0.1“. GitHub. Citováno 2018-05-10.
- ^ Tiwari, Aditya (08.05.2018). „Microsoft uvádí ML.NET Open Source Machine Learning Framework“. Fosbajtů. Citováno 2018-05-10.
Postupem času umožní další úkoly ML, jako je detekce anomálií, systém doporučení a další přístupy, jako je hluboké učení, s využitím výhod přidaných knihoven.
- ^ „Úkoly strojového učení v ML.NET“. Microsoft. Citováno 26. prosince 2018.
- ^ James McCaffrey (19. 12. 2018). „ML.NET: Rámec strojového učení pro vývojáře .NET“. MSDN Magazine Connect () Speciální vydání 2018. Citováno 2019-01-09.
I když je knihovna ML.NET nová, její počátky sahají mnoho let zpět. Krátce po zavedení rozhraní Microsoft .NET Framework v roce 2002 zahájila společnost Microsoft Research projekt s názvem TMSN („vyhledávání a navigace při těžbě textu“), který vývojářům softwaru umožňuje zahrnout kód ML do produktů a technologií společnosti Microsoft. Projekt byl velmi úspěšný a v průběhu let interně rostl ve velikosti a interním využití v Microsoftu. Někdy kolem roku 2011 byla knihovna přejmenována na TLC („výukový kód“). TLC je široce používán v Microsoftu a je aktuálně ve verzi 3.10. Knihovna ML.NET je potomkem TLC s odstraněnými funkcemi specifickými pro Microsoft. Použil jsem obě knihovny a v mnoha ohledech dítě ML.NET předčilo svého rodiče.
- ^ „Vydání Microsoft ML.NET v0.3“. Github. 2018-07-03. Citováno 2018-07-03.
- ^ A b „Oznámení ML.NET 0.7 (Machine Learning .NET)“. Microsoft. 2018-11-08. Citováno 2018-11-14.
- ^ „Plán ML.NET“. Github. 2018-05-09. Citováno 2018-06-30.
- ^ A b „Oznámení ML.NET 1.0“. Microsoft. 2019-05-06. Citováno 2019-05-07.
- ^ „SciSharp / TensorFlow.NET“. SciSharp STACK. 21. února 2020.
- ^ „ML.NET 1.4.0-preview2“. Github. 2019-10-09. Citováno 2019-10-09.
- ^ Ahmed, Zeeshan; Amizadeh, Saeed; Bilenko, Michail; Carr, Rogan; Chin, Wei-Sheng; Dekel, Yael; Dupre, Xavier; Eksarevskij, Vadim; Erhardt, Eric; Eseanu, Costin; Filipi, Senja; Finley, Tom; Goswami, Abhishek; Hoover, Monte; Inglis, Scott; Interlandi, Matteo; Katzenberger, Shon; Kazmi, Najeeb; Krivosheev, Gleb; Luferenko, Pete; Matantsev, Ivan; Matusevych, Sergiy; Moradi, Shahab; Nazirov, Gani; Ormont, Justin; Oshri, Gal; Pagnoni, Artidoro; Parmar, Jignesh; Roy, Prabhat; et al. (2019-05-15). "arXiv 1905.05715: Machine Learning ve společnosti Microsoft s ML .NET". Microsoft a Yandex. arXiv:1905.05715. doi:10.1145/3292500.3330667.
- ^ „dotnet / machinelearning-modelbuilder“. Platforma .NET. 17. února 2020.
- ^ „Umělá inteligence může posílit zkreslení, cloudoví giganti ohlašují nástroje pro spravedlnost AI“. Forbes. 2018-09-24. Citováno 2018-12-05.
- ^ „Co to znamená otevřít černou skříňku AI“. PwC. 2018-05-15. Citováno 2018-12-05.
- ^ Hastie, Trevor J. (1. listopadu 2017). "Zobecněné aditivní modely". Statistické modely v S. 249–307. doi:10.1201/9780203738535-7. ISBN 9780203738535.
- ^ „Oznámení ML.NET 0.8 - Machine Learning for .NET“. Microsoft. 2018-12-04. Citováno 2018-12-05.
- ^ „Microsoft open-source Infer.NET AI kód právě včas na víkend“. Registrace. 2018-10-05. Citováno 2018-10-31.
- ^ „Microsoft open source Infer.NET, jeho populární modelový rámec strojového učení založený na modelu“. Packt. 2018-10-08. Citováno 2018-10-31.
- ^ „ML.NET - Export Machine Learning.Net models to ONNX format“. El Bruno. 2018-07-11. Citováno 2019-01-09.
- ^ „ONNX.js: Universal Deep Learning Models in the Browser“. Will Badr. 2019-01-08. Citováno 2019-01-09.
- ^ "Škola AI". Microsoft AI. 2018-05-07. Citováno 2018-06-29.
- ^ "Průvodce ML.NET". Microsoft. 2018-05-07. Citováno 2018-06-29.
- ^ „Uživatelská příručka Infer.NET“. Infer.NET. 2018-10-05. Citováno 2018-10-31.
externí odkazy
- Repo GitHub: strojové učení na GitHub
- Repo GitHub: NimbusML na GitHub