Tensorflow

Tensorflow

Copyright ┬ę Shutterstock / graphicwithart

Was ist Tensorflow?

Tensorflow ist eine Open-Source-Softwarebibliothek f├╝r die Datenfluss-Programmierung f├╝r eine Vielzahl von Aufgaben. Es ist eine symbolische Mathematikbibliothek und wird auch f├╝r maschinelle Lernanwendungen, wie neuronale Netzwerke, verwendet. Es findet Verwendung sowohl f├╝r die Recherche als auch f├╝r die Produktion bei Google.

Tensorflow wurde vom Google Brain-Team f├╝r den internen Gebrauch von Google entwickelt. Am 9. November 2015 wurde es unter der Open-Source-Lizenz Apache 2.0 ver├Âffentlicht.

Entwicklung

Ab 2011 entwickelte Google Brain DistBelief als ein propriet├Ąres maschinelles Lernsystem, das auf tiefen lernenden neuronalen Netzwerken basiert. Seine Verwendung wuchs schnell in verschiedenen Alphabet-Unternehmen sowohl in der Forschung als auch in kommerziellen Anwendungen. Google beauftragte mehrere Computerwissenschaftlicher, darunter auch Jeff Dean, mit der Vereinfachung und Umgestaltung der Codebase von DistBelief in eine schnellere, robustere Bibliothek f├╝r Anwendungen, die zu Tensorflow wurde.

Im Jahr 2009 hatte das Team unter der Leitung von Geoffrey Hinton allgemeine Backpropagation und andere Verbesserungen implementiert, die die Erzeugung neuronaler Netze mit wesentlich h├Âherer Genauigkeit erm├Âglichten, z.┬áB. eine Verringerung von 25 % der Fehler bei der Spracherkennung.

Tensorflow

Es ist das System der zweiten Generation von Google Brain. Version 1.0.0 wurde am 11. Februar 2017 ver├Âffentlicht. W├Ąhrend die Referenzimplementierung auf einzelnen Ger├Ąten ausgef├╝hrt wird, kann Tensorflow auf mehreren CPUs und GPUs ausgef├╝hrt werden (mit optionalen Erweiterungen CUDA und SYCL f├╝r allgemeine Berechnungen auf Grafikverarbeitungseinheiten). Tensorflow ist f├╝r 64-Bit-Linus-, MacOS-, Windows- und Mobile-Computing-Plattformen, einschlie├člich Android und iOS, verf├╝gbar.

Die flexible Architektur erm├Âglicht die einfache Bereitstellung von Berechnungen auf einer Vielzahl von Plattformen (CPUs, GPUs, TPUs) und von Desktops ├╝ber Servercluster bis hin zu mobilen Ger├Ąten und Edge-Ger├Ąten.

Berechnungen von Tensorflow werden als zustandorientierte Datenflussdiagramme ausgedr├╝ckt. Der Name Tensorflow leitet sich von den Operationen ab, die solche neuronalen Netzwerke mit mehrdimensionalen Datenarrays ausf├╝hren, die als Tensoren bezeichnet werden. W├Ąhrend der Google I/O-Konferenz im Juni 2016 gab Jeff Dean an, dass 1.500 Repositorien auf GitHub Tensorflow erw├Ąhnt h├Ątten, von denen nur 5 von Google stammten.

Tensor Processing Unit (TPU)

Im Mai 2016 hat Google seine Tensor Processing Unit (TPU) vorgestellt, eine anwendungsspezifische integrierte Schaltung (ein sog. Hardware-Chip), die speziell f├╝r das maschinelle Lernen entwickelt und f├╝r Tensorflow erstellt wurde. TPU ist ein programmierbarer Al-Beschleuniger, der einen hohen Durchsatz an Arithmetik mit niedriger Genauigkeit (z.┬áB. 8-Bit) bereitstellt und auf die Verwendung oder Ausf├╝hrung von Modellen ausgerichtet ist, anstatt sie zu trainieren. Google gab bekannt, dass sie seit mehr als einem Jahr TPUs in ihren Rechenzentren betrieben haben und dass diese eine um eine Gr├Â├čenordnung besser optimierte Leistung pro Watt f├╝r maschinelles Lernen liefern.

Im Mai 2017 gab Google die zweite Generation sowie die Verf├╝gbarkeit der TPUs in Google Comopute Engine bekannt. Die TPUs der zweiten Generation bieten eine Leistung von bis zu 180 Teraflops – und wenn sie in Cluster von 64 TPUs organisiert sind – bis zu 11,5 Petaflops.

Im Februar 2018 ab Google bekannt, dass sie TPUs auf der Google Cloud-Plattform als Betaversion zur Verf├╝gung stellen w├╝rden.

Lite

Google k├╝ndigte im Mai 2017 mit Tensorflow Lite einen Software-Stack speziell f├╝r die Android-Entwicklung an, der mit Android Oreo beginnt.

Anwendungen

Am 26. Oktober 2015 wurde RankBrain offiziell von Google ver├Âffentlicht, unterst├╝tzt von Tensorflow.
Google hat auch Colaboratory ver├Âffentlicht, eine Tensorflow-Jupyter-Notebook-Umgebung, f├╝r die keine Einrichtung erforderlich ist.

Machine Lerning Crash Course (MLCC)

Am 1. M├Ąrz 2018 ver├Âffentlichte Google seinen Machine Learning Crash Course (MLCC). Urspr├╝nglich konzipiert, um Google-Angestellte mit praktischen Grundlagen f├╝r k├╝nstliche Intelligenz und maschinelles Lernen auszustatten, hat Google seine kostenlosen Tensorflow-Workshops in mehreren St├Ądten der Welt eingef├╝hrt, bevor der Kurs schlie├člich der ├ľffentlichkeit zug├Ąnglich gemacht wurde.

Merkmale

Tensorflow bietet stabile Python– und C-APIs – und ohne Abw├Ąrtskompatibilit├Ąt f├╝r die API: C ++, Go, Java, JavaScript und Swift (fr├╝hes Release). Drittanbieter-Pakete sind f├╝r C #, Haskell, Julia, R, Scala, Rust, OCaml und Crystal verf├╝gbar.

Anwendungen

Zu den Anwendungen, f├╝r die Tensorflow die Grundlage bildet, geh├Âren automatisierte Bildaufnahmesoftware wie DeepDream. RankBrain wickelt jetzt eine betr├Ąchtliche Anzahl von Suchanfragen ab und ersetzt und erg├Ąnzt herk├Âmmliche statische, auf Algorithmen basierende Suchergebnisse.

Maschinelles Lernen

Maschinelles Lernen ist die wissenschaftliche Untersuchung von Algorithmen und statistischen Modellen, die Computersysteme verwenden, um ihre Leistungen bei einer bestimmten Aufgabe schrittweise zu verbessern. Algorithmen f├╝r maschinelles Lernen bilden ein mathematisches Modell von Beispieldaten, die als “Trainingsdaten” bezeichnet werden, um Vorhersagen oder Entscheidungen zu treffen, ohne explizit f├╝r die Ausf├╝hrung der Aufgabe programmiert zu sein.

Algorithmen f├╝r maschinelles Lernen werden in den Anwendungen der E-Mail-Filterung, der Erkennung von Netzwerk-Eindringlingen und bei Computer Vision eingesetzt, wo es unm├Âglich ist, einen Algorithmus mit spezifischen Anweisungen zur Ausf├╝hrung der Aufgabe zu entwickeln. Maschinelles Lernen steht in engem Zusammenhang mit Computerstatistiken, bei denen Vorhersagen mithilfe von Computern getroffen werden.

Das Studium der mathematischen Optimierung liefert Methoden, Theorien und Anwendungen im Bereich des maschinellen Lernens. Data Mining ist ein Studienbereich und konzentriert sich auf explorative Datenanalyse durch un├╝berwachtes Lernen. Maschinelles Lernen wird in seiner Anwendung auf Gesch├Ąftsproblemen auch als Predictive Analytics bezeichnet.

Aufgaben des maschinellen Lernens (Beispiel)

Maschinelle Lernaufgaben werden in mehrere gro├če Kategorien eingeteilt. Beim beaufsichtigten Lernen baut der Algorithmus ein mathematisches Modell eines Datensatzes auf, der sowohl die Eingaben als auch die gew├╝nschten Ausgaben enth├Ąlt. Wenn die Aufgabe beispielsweise bestimmt, ob ein Bild ein bestimmtes Objekt enth├Ąlt, w├╝rden die Trainingsdaten f├╝r einen ├╝berwachten Lernalgorithmus Bilder mit und ohne dieses Objekt (Eingabe) enthalten und jedes Bild h├Ątte eine Bezeichnung (Ausgabe), die angibt, ob es das Objekt enthielt.

Tipp

In besonderen F├Ąllen ist die Eingabe m├Âglicherweise nur teilweise verf├╝gbar oder auf spezielle R├╝ckmeldungen beschr├Ąnkt. Halb├╝berwachte Lernalgorithmen entwickeln mathematische Modelle aus unvollst├Ąndigen Trainingsdaten, wobei einem Teil der Probeeingaben die gew├╝nschte Ausgabe fehlt.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte