Definition Was ist TensorFlow?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

TensorFlow ist ein von Google ursprünglich für den internen Gebrauch entwickeltes Framework für maschinelles Lernen und Künstliche Intelligenz. Es ist unter Open-Source-Lizenz veröffentlicht und kann beispielsweise im Umfeld der Spracherkennung oder Bildverarbeitung eingesetzt werden.

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

Bei TensorFlow handelt es sich um eine plattformunabhängige Programmbibliothek unter Open-Source-Lizenz, die sich für Aufgaben rund um maschinelles Lernen und Künstliche Intelligenz (KI) einsetzen lässt. Ursprünglich entwickelte Google die Software für den internen Bedarf. Das Framework bietet vielfältige Einsatzmöglichkeiten und gestattet es, lernende neuronale Netze zu erstellen. Es zeichnet sich durch seine gute Skalierbarkeit aus und ist auf unterschiedlichen Systemen vom Smartphone bis zu Clustern mit vielen Servern betreibbar.

Derzeit (Stand Anfang 2018) stellt es eines der wichtigsten Frameworks zur Programmierung von neuronalen Netzen, Algorithmen des maschinellen Lernens und Modellen des Deep Learnings dar. Die auf C++ basierende Software richtet sich an erfahrene KI-Anwender mit soliden Programmierkenntnissen. Über sogenannte Keras (High Level APIs) ist es möglich, die Implementierung von Standardmodellen zu vereinfachen. Mittlerweile hat sich TensorFlow zu einem Quasi-Standard für Deep Learning und die Programmierung neuronaler Netze entwickelt. Die Software steht in Konkurrenz zu anderen Frameworks für maschinelles Lernen wie Caffe, Torch, Microsoft Cognitive Toolkit oder PaddlePaddle. Google nutzt TensorFlow intensiv für interne Anwendungen wie die Google-Spracherkennung, Google-Fotos, die Google-Suche, Google Mail, Google Translate oder den Kartendienst Google Maps.

Die Vorteile von TensorFlow

Der Einsatz von TensorFlow für maschinelles Lernen und Künstliche Intelligenz bietet eine Vielzahl an Vorteilen. Die Software zeichnet sich durch ihre Leistungsfähigkeit und gute Skalierbarkeit aus. Im Gegensatz zu anderen Programmbibliotheken aus dem Bereich künstliche Intelligenz, die oft mit vordefinierten Modellen geliefert werden, ist TensorFlow in der Lage, eigene Modelle zu entwickeln und diese zu bearbeiten. Auch wenig getestete Modelle lassen sich mit dem Framework einfach trainieren.

TensorFlow ist auf vielen unterschiedlichen Plattformen wie Smartphones, Embedded Devices, Einzelrechnern, Server und großen verteilten Systeme lauffähig und erfordert keine Übersetzung des Codes in andere Programmiersprachen. Beliebige neuronale Netze kann TensorFlow mithilfe von gerichteten und zyklenfreien Graphen darstellen.

Die grundlegende Funktionsweise von TensorFlow

Für die Funktion von TensorFlow ist der sogenannte Graph das grundlegende Element. Es handelt sich beim Graphen um eine mithilfe eines gerichteten Diagramms abstrahierte Darstellung eines mathematischen Problems. Das Diagramm setzt sich aus Kanten und Knoten zusammen, die untereinander verbunden sind. Die Knoten repräsentieren in TensorFlow mathematische Operationen und Daten. Durch die Verbindung der Knoten entsteht ein Graph, der das mathematische Modell für das neuronale Netz bereitstellt.

TensorFlow Lite für mobile Devices

Seit der Veröffentlichung von TensorFlow Version 1.5 ist zusätzlich eine schlanke Variante des Open-Source-Frameworks verfügbar. Es nennt sich TensorFlow Lite und bringt Künstliche Intelligenz und Machine Learning auf mobile Geräte wie Smartphones und auf Embedded Devices. Unter anderem ist es für die mobilen Betriebssysteme iOS und Android geeignet. Mit TensorFlow Lite ist es nicht möglich, Modelle zu trainieren. Es ist für das Anwenden von bereits trainierten Modellen konzipiert. Auf Geräten mit dem Betriebssystem Android verwendet TensorFlow Lite die seit Android 8.1 integrierte Neural Network API (NNAPI). Sie stellt die Basisfunktionen für Berechnungen zur Verfügung und erlaubt die Nutzung der GPU.

Die Tensor Processing Unit (TPU)

Speziell für maschinelles Lernen und Künstliche Intelligenz mit TensorFlow hat Google Chips entwickelt. Die sogenannten TPUs (Tensor Processing Units) unterstützen und beschleunigen maschinelles Lernen, da sie die Algorithmen der Programmbibliothek von TensorFlow sehr effizient und schnell ausführen. Laut Aussagen von Google verwendet das Unternehmen die Tensor Processing Units in seinen eigenen Data Centern bereits seit einiger Zeit. Sie liefern bezogen auf den Energieverbrauch eine bessere Performance für maschinelles Lernen. Die zweite Generation der TPUs stellt bis zu 180 Teraflops Rechenleistung zur Verfügung. Im Clusterverbund mit 64 TPUs sind sogar bis zu 11,5 Petaflops möglich.

Anwendungsbereiche für TensorFlow

TensorFlow ist im Bereich des maschinellen Lernens und der Künstlichen Intelligenz für einen sehr breiten Anwendungsbereich geeignet. Neben der internen Verwendung bei Google selbst basieren bereits zahlreiche KI-Anwendungen in der Industrie, Wirtschaft, Medizin und dem Finanzsektor auf TensorFlow. Dank der Open-Source-Lizenz haben die Entwickler die Möglichkeit, das Framework für beliebige Zwecke einzusetzen. Die Bandbreite der Anwendungsmöglichkeiten reicht von der Suche nach Gesichtern über die Spracherkennung bis zur Früherkennung von Hautkrebs.

Sobald entsprechendes Know-how und Programmierkenntnisse vorhanden sind, ist TensorFlow für beliebige KI-Anwendungen einsetzbar. Google verwendet das Framework für Google Services wie Google Bilder, Google Maps, Google Translate und andere. Auch das KI-Projekt DeepMind greift auf die Bibliotheken von TensorFlow zurück.

(ID:45128621)