TensorFlow – Einfach erklärt

Mit der Open-Source-Software TensorFlow bietet Google eine Möglichkeit für Jedermann, Künstliche Intelligenz in Form von Machine Learning zu nutzen:

„Wir hoffen, dass TensorFlow die gesamte Community des maschinellen Lernens, von der wissenschaftlichen Forschung über Ingenieure bis hin zu privaten Nutzern, dazu befähigt, in kürzerer Zeit Ideen per Programm-Code miteinander auszutauschen“ — Sundar Pichai, CEO von Google

Maschinelles Lernen mit TensorFlow

Google TensorFlow ermöglicht es, neuronale Netze zu erstellen, die dazu in der Lage sind, selbstständig zu lernen. Künstliche neuronale Netzwerke funktionieren nach dem Vorbild des menschlichen Gehirns und bestehen aus verschiedenen Ebenen. Innerhalb dieser Ebenen gibt es Neuronen, die in der Lage sind, Muster zu erkennen. Im Falle der Bilderkennung werden in der ersten Ebene beispielsweise eher einfache Formen, z.B. gerade Linien, erkannt, während die Formen in späteren Layern komplexer sein können. Die hintereinander geschalteten Ebenen bilden ein neuronales Netz und verarbeiten die vorangegangenen Informationen, um so Vorhersagen treffen zu können.

TensorFlow bietet Entwicklern die Möglichkeit, neuronale Netze zu programmieren. Mithilfe der Programmiersprache Python werden Berechnungen mit sogenannten Tensoren definiert. Tensoren sind eine Verallgemeinerung von Matrizen und Vektoren mit beliebig vielen Dimensionen. Durch die Verknüpfung mehrerer solcher Berechnungen entsteht ein neuronales Netz. Mathematische Operationen, wie die Bibliotheken von Transformationen, werden mit C++ oder Cuda (Compute Unified Device Architecture) realisiert. Mit Keras bietet TensorFlow eine Abstraktion dieser Tensorberechnungen.

Dabei werden dann nicht mehr einzelne Tensoren, sondern bereits ganze Ebenen des neuronalen Netzes definiert. Das TensorBoard bietet eine Reihe von Möglichkeiten der Visualisierung: Zum Beispiel können erstellte neuronale Netze in einem Diagramm dargestellt werden. Das Training und die Trainingsergebnisse lassen sich mit verschiedensten Metriken überwachen. Tensor Processing Units (TPUs) bieten für Unternehmen zudem eine günstige und leistungsstarke Möglichkeit, Geschäftsprozesse zu optimieren, da sie speziell für die benötigten Matrixmultiplikationen gedacht sind.

 

TensorFlow ist eine Programmbibliothek, die Google als Open-Source-Framework für maschinelles Lernen und Künstliche Intelligenz entwickelt hat. Die Software ermöglicht es, lernende, neuronale Netzwerke zu erstellen.

Tensor Processing Units (TPUs) sind von Google entwickelte Chips, die das maschinelle Lernen beschleunigen, indem die Algorithmen von TensorFlow besonders effizient und schnell ausgeführt werden.

Wie funktioniert TensorFlow?

Die einzelnen neuronalen Netzwerke werden durch gerichtete zyklenfreie Graphen dargestellt. Der Graph stellt das mathematische Problem mithilfe eines Diagramms dar, das sich aus Knoten und Kanten zusammensetzt, die miteinander verbunden sind. Die Graphenknoten zeigen die einzelnen mathematischen Operationen. Der Graph entsteht schließlich durch die Verbindung der einzelnen Knoten und stellt das mathematische Modell für ein neuronales Netzwerk bereit.

Um aussagekräftige Ergebnisse zu erzielen, müssen die neuronalen Netze zunächst trainiert werden: Relevante Daten (Trainingsdaten) werden mehrmals iterativ zugeführt und der Output berechnet beispielsweise die Wahrscheinlichkeit für ein bestimmtes Objekt auf einem Bild. Mithilfe des gewünschten Outputs – in unserem Fall das tatsächliche Objekt auf dem Bild – werden die Gewichtungen innerhalb des Graphen variiert. Der vorhergesagte Output wird dann immer weiter optimiert, indem TensorFlow auf Basis dieser bestehenden Daten verschiedene Gesetzmäßigkeiten und Muster erkennt, die für eine Problemlösung oder Analyse genutzt werden können.

Neuronen erkennen Linien, Formen oder Texturen, sodass anhand der erlernten Merkmale eine Datenklassifizierung möglich wird – je nach Modell können auch andere Informationen erlernt werden. Dabei wird das Netz im Laufe der Zeit immer weiter iterativ verbessert, um die Vorhersage genauer zu machen und Vorhersagefehler zu minimieren.

 

Tensoren sind die In- und Outputs, die in den Knoten liegen, z.B. liegt in einem Knoten ein Tensor. In der Kante erfolgt die Berechnung mit dem Tensor – in dem nächsten Knoten liegt das Ergebnis dieser Berechnung, sprich: wieder ein Tensor.

Neuronale Netzwerke sind Modelle, die trainiert werden können, um bestimmte Muster zu erkennen. Die einzelnen Netze bestehen aus Ein- und Ausgabeebenen sowie mindestens einer inneren Ebene.

Wide and Deep Learning mit TensorFlow

TensorFlow lernt nach den Prinizipien des überwachten Lernens und nutzt dazu das sogenannte Wide and Deep Learning – eine Kombination aus Erinnern und Verallgemeinern, die der des menschlichen Lernens sehr nahe kommt. Lineare Modelle sorgen dabei für die Erinnerung, indem bekannte Muster gelernt werden. Durch die Verallgemeinerung (Deep Learning) können diese Erkenntnisse anschließend auf Dinge übertragen werden, die noch unbekannt sind. Auf diese Weise werden Objekte oder Probleme klassifiziert.

Breitgefasste und tiefgehende Modelle nutzen eine Kombination aus Deep Neural Networks (DNN) und simpleren Machine Learning Modellen. Die neuronalen Netze dienen dabei dem Erlernen von allgemeinen Mustern mithilfe von Abstraktionen oder Interaktionen zwischen komplexen Funktionen. Diese werden mit einer linearen Regression, die auf einfachen Funktionen basiert, kombiniert. Auf diese Weise wird ein Gleichgewicht zwischen Leistung und Geschwindigkeit hergestellt. Tensorflow kann so Vorhersagen treffen, die durch Wide Learning bestimmte Regeln in den vorhandenen Daten berücksichtigen und diese durch Deep Learning verallgemeinern.

Dies ist nur eine der vielen möglichen Architekturen. Weitere sind:

  • DNNClassifier
  • LinearClassifier
  • CNN
  • RNN

 

Wide Learning
In TensorFlow wird ein lineares Modell trainiert, um bestimmte Regeln zu erlernen, an die sich das System erinnern kann.

Deep Learning
Ein tiefes neuronales Netzwerk wird trainiert, damit Verallgemeinerungen getroffen werden können.

TensorFlow – Ihre Vorteile

  • Flexibel und leistungsfähig: Selbst kaum getestete Modelle können einfach trainiert werden
  • Mit Tensor Flow können eigene Modelle entwickelt und editiert werden
  • Keine Übersetzung des Codes in eine andere Programmiersprache notwendig
  • Gute Skalierbarkeit (plattformunabhängig): TensorFlow ist auf vielen Plattformen lauffähig, selbst auf Smartphones oder einzelnen Rechnern
  • Trainierte Modelle können exportiert / importiert werden
  • TensorFlow kann selbst gehostet werden (auf PC/Server)

    Wenn auch Sie neue Business Potentiale für Ihr Unternehmen erschließen wollen kontaktieren Sie uns gerne!

    business-solutions-sales@twt.de

     +49 211 601 601  5991

    News

    Online Marketing für KMU: Google verschenkt Guthaben

    18.05.2020 Besonders kleine und mittelständische Unternehmen (KMU) sind derzeit schwer von den aktuellen Corona Umständen betroffen. Google möchte sie mit Guthaben für Google Ads unterstützen, um Engpässe zu… read more

    Google Meet: Videokonferenz und Streaming-Lösung

    08.04.2020 In Zeiten von Home-Office und mobilen Arbeitsplätzen sind Videobesprechungen hoch im Kurs. Sie wollen mit Kollegen sprechen, die nicht im Büro sind, Bewerberinterviews online führen oder eine neue… read more

    Weihnachtsshopping: Die wichtigsten Tipps von Google

    10.12.2019 Google hat analysiert, welche Shopping-Begriffe speziell in Deutschland auf mobilen Geräten verstärkt nachgefragt werden. Mit den folgenden Tipps können Sie Kunden auf dem Smartphone am besten… read more

    Das “Beste” ist für Verbraucher in der Google-Suche entscheidend

    08.05.2019 Aus den Google Daten der weltweit wichtigsten Suchmaschine ging hervor, dass die mobile Suche nach "best" in den letzten zwei Jahren um über 80 Prozent gewachsen ist. Erstaunlich: Selbst für die… read more