Machine Learning mit TensorFlow

Neulich habe ich über ein Rechnercluster geschrieben, das man einsetzen kann, um darauf Big Data Szenarien auszuprobieren, und Machine Learning Algorithmen zu testen.

TensorFlow™ von Google ist eine der möglichen Bibliotheken für das Machine Learning, die man auf diesem Cluster einsetzen könnte. Daneben ist die TensorFlow Dokumentation eingängig geschrieben, und kann damit auch Einsteigern helfen, die verstehen wollen, wie solche Szenarien aussehen.

TensorFlow

TensorFlow™ von Google ist eine quelloffene, große Machine Learning Bibliothek, und wird auf der Homepage wie folgt eingeführt:

„TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them“.

Die Bibliothek läuft auf unterschiedlichen Rechnerplattformen und Betriebssystemen, und, was für das Machine Learning wichtig ist, kann auch mit Hilfe von GPUs rechnen, d.h. die Mehrkern-Grafikkarten einsetzen, die notwendig sind, um mit den hohen Leistungsanforderungen dieses Rechenverfahrens umzugehen.

Darüberhinaus bietet Google mit der Research Cloud Services an, die sich an Forscher richten.

Bemerkenswert (verglichen mit anderen Machine Learning Bibliotheken) ist, daß auch Bibliotheken zur Verfügung stehen, um Daten zu visualisieren. Dies ist besonders in den ersten Anfängen eines Entwicklungsprojekts sinnvoll, da es dann darum geht, die Daten und die Rechenergebnisse zu verstehen, und zu analysieren.

Dokumentation

Die Dokumentation ist meiner Meinung nach sehr gut geschrieben (Link weiter unten). Es geht dort neben den technischen Aspekten, wie z.B. der Installation auch um algorithmischen Fragen (siehe hierfür den Tab „Develop“).

Besonders interessant, auch für Einsteiger, sind die Tutorials, die komplette Machine Learning Projekte zeigen. Um eines herauszugreifen, in dem „TensorFlow Linear Model Tutorial“ wird ein bestimmtes Verfahren dargestellt, um Daten zu klassifizieren. Wer Coding versteht, kann hier zeilenweise sehen, wie ein solches Modell aufgebaut ist. Auch die Mathematik kommt nicht zu kurz.

Ein weiteres Highlight ist die Nutzbarkeit für mathematische Modelle. Viele Algorithmen, die im Rahmen „intelligenter“ Programme eingesetzt werden, gehen auf mathematische Modelle zurück, die z.B. aus dem Operations Research stammen. Der Artikel „Partial Differential Equations“ beschreibt, wie TensorFlow auch für solche Rechnungen eingesetzt werden kann.

Fazit

Die Bibliothek ist sehr interessant. Ob die Algorithmen mehr oder weniger können, als die Algorithmen in Apache Spark ML muss man im Detail analysieren. Auch ist noch nicht klar, welche der Bibliotheken den größten Leistungsumfang liefert.

Weiterführende Informationen

Das Original dieses Artikels ist auf Der Produktmanager erschienen (©Andreas Rudolph). Folgeartikel zum Thema gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen.

In der Online Version des Artikels finden Sie hier die versprochenen weiterführenden Links:

Comments are closed.