Microsofts ML-Lösung für .NET

ML.NET 0.3 veröffentlicht: ONNX-Export und neue Learner für das Machine Learning Framework
Keine Kommentare

Microsofts Open-Source-Lösung für .NET-Machine-Learning bekommt ein Update – der monatliche Updatezyklus des auf der Build-Konferenz vorgestellten Previews geht weiter. Besonderer Fokus liegt diesmal auf mehreren neuen Learnern für die Regression und für die binäre bzw. multiple Klassifizierung sowie auf dem Export von ML.NET-Modellen in das ML-Standardformat ONNX.

In schnellen Schritten und mit viel Feedback aus der Community bewegt sich ML.NET vorwärts. Während das Grundgerüst in Version 0.2 primär um Clustering Tasks und Model Training, also um sortierende und erzeugende Elemente, erweitert wurde, stehen in Version 0.3 sowohl Weiterverarbeitung als auch Lernverhalten im Mittelpunkt. Dabei wird nicht nur auf ONNX, sondern im Falle der Learner auch auf Field-Aware Factorization Machines (FFM), LightGBM, LightLDA, Ensemble und One-Versus-All (OVA) gesetzt.

Klassifizierung, Regression und Transformation

Field-Aware Factorization Machines (FFM) sind Learner zur binären Klassifizierung („Ist etwas ‚A‘ oder ‚B‘?“). Als sogenannte Streaming Learner eignen sie sich besonders für große Daten, da die gesamten Daten nicht gleichzeitig in den Speicher geladen werden müssen. In der Praxis kommen sie meist im Kontext von Empfehlungen (Recommendations) oder im Werbekontext, dank guter CTR-Vorhersagen („Click-Through-Rates“), zum Einsatz.

LightGBM ist eine Learner-Art für Regressionsanalysen und zur binären und multiplen Klassifizierung (multiple Klassifizierung: „Ist etwas ‚A‘, ‚B‘, ‚C‘ oder ‚D‘?). Obwohl der Evaluator für das Ranking in ML.NET noch nicht zur Verfügung steht, kann LightGBM auch für Rankings genutzt werden. Der Learner des Distributed-Machine-Learning-Toolkits (DMTK) hat sich diesbezüglich wohl in etlichen Tests durch seine Genauigkeit und Geschwindigkeit hervorgetan.

Durch die Anwendung der Ensemble-Learning-Methode lassen sich ab der aktuellen Version mehrere Learner nebeneinander verwenden, sodass letztlich ein gemitteltes und damit stabileres Endergebnis erreicht werden kann. Darüber hinaus lassen sich durch den One-Versus-All-Learner (OVA) alle binären Klassifizierer jetzt auch zur multiplen Klassifizierung verwenden.

Und last but not least: Der LightLDA-Klasse ist eine Implementierung der Latent-Dirichlet-Allocation (LDA) spendiert worden. Anhand der gefundenen Wörter in einer Textdatei können hier einzelne Themen und Unterthemen herausgefunden und im Verhältnis zueinander dargestellt werden.

ML.NET und ONNX-ML

ML.NET ist ein zunächst intern entwickeltes Machine-Learning-Framework von Microsoft, das bereits u.a. in Windows, Azure und Bing Einsatz findet. Seit dem Beta-Release auf der //Build 2018 soll es allerdings die ML-Tür für alle .NET-Entwickler öffnen. Konkret geht es darum, eigene ML-Modelle entwerfen und in die eigenen Projekte integrieren zu können. Laut Microsoft soll das ohne vorherige Erfahrungen in Sachen ML möglich sein. Primär handle es sich jedoch um ein Framework, das sich problemlos durch andere, bekannte und beliebte ML-Bibliotheken wie Accord.NET oder CNTK erweitern lasse.

Um die Arbeit mit Machine Learning auch für unerfahrene .NET-Entwickler so einfach wie möglich zu gestalten, kommt ONNX-ML ins Spiel: Über das verbreitete ONNX-Standardformat für Deep Learning und Machine Learning lassen sich die Modelle auf beliebige Toolkit Runtimes wie CoreML, TensorFlow oder WinML übertragen und nativ ausführen.

ML.NET steht Open Source für alle Plattformen zur Verfügung. Für weitere Informationen empfiehlt sich GitHub oder der Microsoft Blog.

Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -