Künstliche Intelligenz: Microsofts ML.NET 0.9 gibt mehr Einblick in die Modelle

Das auf .NET-Entwickler ausgerichtete Machine-Learning-Framework hat außerdem Vorlagen für Visual Studio an Bord.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Künstliche Intelligenz: ML.NET 0.9 gibt mehr Einblick in die Modelle

(Bild: Can Stock Photo)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Microsoft hat Version 0.9 von ML.NET herausgegeben. Das Open-Source-Framework, richtet sich an Entwickler, die Machine-Learning-Anwendungen (ML) mit .NET erstellen. Microsoft hatte es erstmals im Rahmen der Build 2018 vorgestellt. Das jüngste Release bringt vor allem Funktionen, die bei der Erklärbarkeit von ML-Modellen helfen. Außerdem gibt es nun Vorlagen für Visual Studio und eine Anbindung an CUDA 10 für die Transformation von ONNX-Modellen (Open Neural Network Exchange).

Das aktuelle Release bietet mit Feature Contribution Calculation (FCC) eine Methode zum Bewerten, welche Features, also messbare Eigenschaften beziehungsweise Charakteristika, den größten Einfluss auf die Vorhersagen mit einem ML-Modell haben. Entwickler und Data Scientists können die Information verwenden, um anhand historischer Daten die wichtigsten Features auszuwählen und so die Performance und Genauigkeit für künftige Berechnungen verbessern.

Ein Beispiel für den Einsatz von FCC findet sich auf GitHub. Darüber hinaus hat Microsoft die bereits im vorherigen Release eingeführten Methoden zur Erklärbarkeit durch Permutation Feature Importance (PFI) und Generalized Additive Models (GAM) erweitert. Zu PFI haben die Macher ebenfalls ein Beispiel auf GitHub veröffentlicht.

Transformationen von Modellen im ONNX-Format lassen sich nun über die ONNX-Runtime-Bibliothek mit CUDA 10 durchführen. Derzeit funktioniert die Anbindung nur für Windows 64-bit, für Linux und Mac soll sie in Kürze folgen.

Außerdem existieren neuerdings zwei Visual-Studio-Vorlagen für ML.NET: Mit ML.NET Console Application lässt sich eine Beispielanwendung erstellen, und die ML.NET Model Library ist die Basis für eine Modellbibliothek, die Entwickler in ihre Anwendung einbinden können. Beide Vorlagen sind derzeit als Preview gekennzeichnet.

Die Visual-Studio-Vorlagen haben noch Preview-Status.

(Bild: Microsoft)

Darüber hinaus gibt es einige Erweiterungen der API. So lassen sich nun für die TextLoader-Klasse die Attribute und Spalten optional über eine separate Klasse definieren, die das Datenmodell beschreibt, wie folgendes Codebeispiel aus dem MSDN-Blog zeigt:

//... Your code in your class...
var mlContext = new MLContext();

// Read the data into a data view.
var dataView =
mlContext.Data.ReadFromTextFile<InspectedRow>(dataPath,
hasHeader: true);

// The data model. This type will be used from multiple code.
private class InspectedRow
{
[LoadColumn(0)]
public bool IsOver50K { get; set; }
[LoadColumn(1)]
public string Workclass { get; set; }
}

Weitere Neuerungen wie der Einsatz von ML.NET in Windows-Nano-Containern lassen sich dem MSDN-Blog entnehmen. Der Sourcecode zu ML.NET ist auf GitHub zu finden. Ein Tutorial hilft beim Einstieg in das Framework. (rme)