Libraries mit erhöhter Interoperabilität

ML.NET 0.10 erschienen: Meilenstein für Microsofts Machine-Learning-Framework
Keine Kommentare

Microsoft hat mit ML.NET 0.10 die neueste Version seines Machine-Learning-Frameworks veröffentlicht. Im Release werden einige wichtige Weichenstellungen vorgenommen, insbesondere soll IDataView den Datenaustausch von Libraries vereinfachen.

Microsoft hat ML.NET 0.10 veröffentlicht. Das Open-Source-Framework für Machine Learning erhält einige Neuerungen, darunter auch Breaking Changes: Die Daten-Komponente IDataView wurde aufgeteilt und soll dadurch den Datenaustausch zwischen verschiedenen Libraries vereinfachen. Außerdem wurde an der Stabilität des Frameworks und an API-Verfeinerungen gearbeitet.

Neuerungen bei IDataView

IDataView ist ein Set aus Interfaces und Komponenten zur Verarbeitung tabellarischer Daten, die für Machine Learning und fortgeschrittene analytische Anwendungen erstellt wurden. Es kann mit großen Datenmengen und hochdimensionalen Daten umgehen. Auch für Single Node Processing von Datenpartitionen aus größeren verteilten Datensätzen ist es geeignet. Die IDataView Design Principles bieten eine umfangreiche Beschreibung der Komponente.

In ML.NET 0.10 wurde die IDataView-Komponente in eine neue und separate Assembly unter dem Namespace Microsoft.Data.DataView ausgelagert. Darin steht sie als NuGet Package zur Verfügung. Das bildet einen Breaking Change im Vergleich zur Vorversion 0.9 und wird von Microsoft als Meilenstein bezeichnet: Die Auslagerung soll die Interoperabilität zwischen multiplen Frameworks und Libraries von Microsoft und Drittherstellern unterstützen. Verschiedene Libraries sollen nun im Stande sein, IDataView mit ihren jeweiligen APIs anzusprechen und große Datenmengen untereinander auszutauschen.

IDataView wird zum standardisierten Daten-Austauschformat im .NET-Ökosystem. Bild: Microsoft

Weitere Features in ML.NET 0.10

Bei Verwendung des Trainingsalgorithmus für die Field-aware Factorization Machine war bisher nur eine einzige Feature-Spalte möglich. In ML.NET 0.10 werden nun auch Multiple Feature Columns unterstützt, wie im unteren Code-Snippet vom MSDN-Blog gezeigt:

var ffmArgs = new FieldAwareFactorizationMachineTrainer.Options();

// Create the multiple field names.
ffmArgs.FeatureColumn = nameof(MyObservationClass.MyField1); // First field.
ffmArgs.ExtraFeatureColumns = new[]{ nameof(MyObservationClass.MyField2), nameof(MyObservationClass.MyField3) }; // Additional fields.

var pipeline = mlContext.BinaryClassification.Trainers.FieldAwareFactorizationMachine(ffmArgs);

var model = pipeline.Fit(dataView);

Ebenfalls hinzugefügt wurde die Möglichkeit, mehrere Predicted Labels auszugeben. Etwa in einem eCommerce-Szenario sei es von Vorteil, ein Produkt klassifizieren und mehreren Produktkategorien zuweisen zu können.

Was ist ML.NET?

ML.NET ist ein quelloffenes Framework, mit dem sich ohne fortgeschrittene Machine-Learning-Kenntnisse KI-Modelle entwickeln und in eigene Anwendungen integrieren lassen. Entstanden in der Microsoft-Research-Abteilung, wird die Bibliothek mittlerweile in zahlreichen Microsoft-Projekten wie Bing oder der Office-Suite eingesetzt. Mit ML.NET lassen sich Aufgaben wie Klassifizierung, Sentimentanalysen oder auch das Entwickeln von Vorhersagemodellen lösen.

ML.NET kann lokal verwendet werden und bildet im .NET-Umfeld somit eine Alternative zu den Azure Cognitive Services. Unser Autor Kevin Gerndt (Lead Consultant im Bereich Microsoft .NET Client und Web Technologies) schätzt die Technologie folgendermaßen ein:

Kevin Gerndt

Die Integration von KI in neue oder bestehende Softwarelösungen ist eine immer häufiger aufkommende Anforderung. Als Entwickler muss man jedoch kein studierter Mathematiker sein, um solche Lösungen zu schaffen. Vielmehr kommt es, wie so häufig, darauf an, die richtigen Werkzeuge zu kennen und diese optimal einzusetzen. Dank einfach zu verwendender Frameworks wie etwa ML.NET oder der Cloud-Lösung Microsoft Azure Cognitive Services steht der Integration nichts mehr im Wege. Kevin Gerndt

Weitere Informationen zu allen Neuerungen in ML.NET 0.10 und den Breaking Changes im Vergleich zu Version 0.9 gibt es auf dem .NET-Blog. Eigene ML.NET-Projekte können in den Community Samples auf GitHub vorgestellt werden.

ML Conference 2019

Deep learning advances for signal processing

with Oleksandr Honchar (Mawi Solutions)

Towards meaningful AI

with Imola Fodor (Electrolux)

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -