Künstliche Intelligenz und Maschinelles Lernen. Vergleich der Deep Learning Frameworks TensorFlow, Keras, PyTorch, CNTK und MXNeT


Ausarbeitung, 2021

22 Seiten, Note: 1,3


Leseprobe

Inhaltsverzeichnis

ABBILDUNGSVERZEICHNIS

1. EINLEITUNG

2. DEFINITIONEN
2.1 KÜNSTLICHE INTELLIGENZ
2.2 MASCHINELLES LERNEN
2.3 DEEP LEARNING

3. GRUNDSÄTZLICHE FUNKTIONSWEISE VON DEEP LEARNING
3.1 KÜNSTLICHES NEURONALES NETZE
3.2 ANWENDUNGSGEBIETE VON DEEP LEARNING

4. DEEP LEARNING FRAMEWORKS
4.1 TENSORFLOW
4.2 KERAS
4.3 PYTORCH
4.4 CNTK
4.5 MXNET
4.6 THEANO
4.7 ÜBERSICHT UND BEWERTUNG

5. ZUSAMMENFASSUNG UND AUSBLICK

LITERATURVERZEICHNIS

Über den Autor:

Marco Nitschke, geboren 1985, leitet(e) auf Bundes und Landesebene sowie im kommunalen Bereich Softwareentwicklungs, Digitalisierungs sowie Reorganisationsprojekte. Seit jeher sucht er dabei passende Methoden und Instrumente, um gewinnbringend mit der Komplexität derartiger Vorgehen umgehen zu können.

Abbildungsverzeichnis

ABBILDUNG 1 EINORDNUNG DEEP LEARNING

ABBILDUNG 2 SCHEMA KÜNSTLICHES NEURONALES NETZ

ABBILDUNG 3 ÜBERSICHT DEEP LEARNING FRAMEWORK

1. Einleitung

„Alexa, wie wird das Wetter morgen?“ Wetteransagen von Amazon, Autopiloten bei Tesla oder Echtzeitsprachübersetzungen von Goolge, die Nutzung von intelligenten digitalen Diensten ist ein täglicher Bestandteil unseres Privat und Berufslebens.

Diese künstliche Intelligenz von Maschinen wird unter anderem durch das Deep Learning ermöglicht. In diesem Assignment sollen die bekannten Deep Learning Frameworks: TensorFlow, Keras, PyTorch, CNTK und MXNeT vorgestellt werden. Darüber hinaus soll geklärt werden, was ein Framework erfolgreich macht und welche Konsequenzen daraus folgen können. Dazu wird in der Folge auch das bereits eingestellte Framework Theano betrachtet.

Zunächst werden im Assignment grundlegende Begrifflichkeiten im Kontext von Deep Learning Frameworks definiert. Im Anschluss wird die grundsätzliche Funktionsweise von Deep Learning erläutert, danach werden die bekanntesten Deep Learning Frameworks vorgestellt und mögliche Erfolgskriterien bewertet. Abschließend findet eine Zusammenfassung der dargestellten Ergebnisse statt.

2. Definitionen

2.1 Künstliche Intelligenz

Künstliche Intelligenz ist ein Teilgebiet der Informatik, das sich mit der Imitation von menschlichen kognitiven Fähigkeiten befasst. Durch die Erkennung und Sortierung von Informationen aus Eingabedaten sollen menschliche Entscheidungsstrukturen nachgebildet und Problemlösungen generiert werden.1 Künstliche Intelligenz soll dabei logisch denken, planen, lernen sowie kommunizieren und Entscheidungen trotz Unsicherheiten treffen.2 Das Teilgebiet gliedert sich in zwei Bereiche, in Methoden und in Anwendungen der künstlichen Intelligenz.

2.2 Maschinelles Lernen

Maschinelles Lernen ist eine Methode der künstlichen Intelligenz. Ziel ist es, das menschliche Lernen zu simulieren, so dass sich ein System selbstständig an unerwartete Bedingungen anpassen kann. Hierbei analysiert ein Algorithmus große Datenmengen. Orientierung bei der Lösungsentwicklung geben dabei Muster und Gesetzmäßigkeiten der Daten. Das maschinelle Lernen unterscheidet sich von herkömmlichen Algorithmen darin, dass hierbei vorab kein Lösungsweg explizit modelliert wird. Vielmehr lernt der Algorithmus selbstständig die Struktur der Daten zu erkennen und leitet daraus Schlüsse und Aktionen ab. Er lernt also durch 3 Wiederholungen und menschliches Feedback auf erfolgreich ausgeführte Aktionen.3 Das maschinelle Lernen wird grundsätzlich in überwachtes, in unüberwachtes sowie in verstärkendes Lernen eingeteilt.4

2.3 Deep Learning

Deep Learning stellt ein Teilgebiet des maschinellen Lernens dar. Im Unterschied zum maschinellen Lernen ist das Deep Learning System nicht mehr beim Lernvorgang auf den Eingriff des Menschen angewiesen. Vielmehr ist es in der Lage Erlerntes mit neuen Daten zu verknüpfen, so dass der Lernvorgang durch das System betrieben wird. Dies gelingt durch die Analyse großer Datensätze durch künstliche neuronale Netze, die 5 durch die biologischen neuronalen Netze inspiriert sind.5 6

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 Einordnung Deep Learning6

3. Grundsätzliche Funktionsweise von Deep Learning

Wie bereits beschrieben, handelt es sich beim Deep Learning um einen Teilbereich des maschinellen Lernens. Dabei werden künstliche neuronale Netze genutzt, um große Datensätze zu analysieren. Die Generierung von künstlicher Intelligenz kann in seiner Funktionsweise mit dem Lernen des menschlichen Gehirns verglichen werden. Auf Grundlage von vorhandenen Informationen und eines neuronalen Netzwerkes kann das System Erlerntes kontinuierlich mit neuen Inhalten verbinden und dadurch sein Lernen vertiefen. In der Konsequenz ist die Maschine durch diese Trainingsmethode in der Lage Prognosen und Entscheidungen zur treffen, aber auch diese zu hinterfragen, d. h. diese zu bestätigen oder in einem weiteren Durchlauf zu ändern. Dies kann aufgrund des künstlichen neuronalen Netzes ohne Eingriff des Menschen erfolgen.

Das Teilgebiet Deep Learning im Kontext des maschinellen Lernens gibt es bereits seit mehreren Jahrzehnten.7 Aufgrund der erst in den letzten Jahren erschlossenen großen Datenmengen im Sinne von Big Data wurde Deep Learning ein Treiber im Bereich künstliche Intelligenz. Die Datenmengen werden für das Training des künstlichen neuronalen Netzes benötigt. Darüber hinaus konnten durch die künstlichen neuronalen Netze intellektuelle Prozesse des Menschen dargestellt werden, die bis dato als dem Menschen vorbehalten schienen.

Im Weiteren soll die Funktionsweise eines künstlichen neuronalen Netzes erklärt werden.

3.1 Künstliches neuronales Netze

Künstliche neuronale Netze bilden ein informationsverarbeitendes System, das in Struktur und Funktionsweise dem Gehirn abstrakt nachempfunden ist. Ein neuronales Netz besteht aus vielen Schichten linearer und nichtlinearer Verarbeitungseinheiten, den künstlichen Neuronen. Diese parallel arbeitenden Neuronen übermitteln sich 8 Informationen in Form von Aktivierungssignalen über gerichtete Verbindungen.8

Grundsätzlich verfügt das neuronale Netz über sogenannte Eingangs und Ausgangsneuronen.9 Dazwischen befinden sich mehrere Schichten an Zwischenneuronen. Die Eingangsneuronen können durch das Lernen auf unterschiedliche Arten über die Zwischenneuronen mit den Ausgangsneuronen verknüpft werden. Die versteckten Schichten (sog. Hidden Layer) zwischen der Eingangs und Ausgangsschicht sorgen für eine komplexe, tiefe Struktur, daher spricht 10 man auch vom „Deep Learning“.10 Die Hidden Neuronen liegen also zwischen der Eingangs und Ausgangsschicht und bilden innere Informationsmuster ab. Die Neuronen sind miteinander über sogenannte Kanten verbunden. Je stärker die Verbindung ist, desto größer die Einflussnahme auf das andere Neuron. Es wird dadurch ein individuelles Modell erzeugt, das die Erkennung von Mustern und die Vorhersagen bezüglich neuer Phänomene erlaubt. Umso mehr Neuronen und Schichten ein neuronales Netz umfasst, desto komplexere Sachverhalte können abgebildet werden.11

Konkret bedeutet es, dass die Eingangsschicht ihre verarbeiteten Daten an die folgende Schicht weiterleitet. Das Ergebnis dieser Berechnung wird an die Neuronen der nächsten Schicht weitergegeben, die Neuronen der folgenden Schicht werden aktiviert. Die Hidden Layer verarbeiten die Informationen der vorherigen Schicht und übermitteln das Verarbeitungsergebnis an die nächstfolgende Schicht. Je nach Anzahl der Schichten erfolgt somit eine tiefe Verarbeitung innerhalb der versteckten Schichten. Die Neuronen der Hidden Layer enthalten individuelle Gewichte und ordnen den verschiedenen Eingangssignalen ein OutputErgebnis zu. Die Merkmale der zu verarbeitenden Daten werden mit jeder Verarbeitung abstrakter. Die Datenverarbeitung erfolgt somit innerhalb einer Reihe von verschachtelten Zuordnungen im Rahmen einer jeweiligen Schicht des Netzes. Durch die Verarbeitung über mehrere Schichten erkennt die Maschine, welche Beziehungen in den verarbeitenden Daten für ein Ergebnis nützlich sind. Das Ergebnis wird in der wiederum sichtbaren Ausgangsschicht 12 berechnet und ausgegeben.12 Auftretende fehlerhafte Ergebnisse können dabei berechnet werden und das Gewicht der beteiligten Neuronen an dem Ergebnis entsprechend verändert werden. In einem weiteren Durchlauf wird dadurch die Fehlerwahrscheinlichkeit minimiert. Das neuronale Netz hat somit gelernt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 Schema künstliches neuronales Netz

3.2 Anwendungsgebiete von Deep Learning

Deep Learning wird in Bereichen eingesetzt, in denen sich große InputDatenmengen nach Mustern und Modellen performant untersuchen lassen. Dies ist klassischerweise der Fall bei der Gesichts, Objekt oder Spracherkennung.13

Durch Deep Learning kann ein Spracherkennungssystem seinen Wortschatz selbstständig mit neuen Wörtern und Redewendungen erweitern. Bekanntestes Beispiel hierfür ist der intelligente Sprachassistent von Apple „Siri“. Aber auch beim autonomen Fahren, im Personalwesen, in der Medizin sowie im Finanzwesen findet Deep Learning 14 bereits heute statt.14

Deep Learning Modelle können grundsätzlich komplett neu programmiert werden, jedoch bieten vorhandene Softwarebibliotheken, sog. Frameworks, den effizientesten Weg Deep Learning Modelle aufzubauen.

Nachdem also dargestellt wurde, wie Deep Learning grundsätzlich funktioniert und welche Anwendungsbereiche für Deep Learning geeignet sind, sollen in einem nächsten Schritt die bekanntesten Deep Learning Frameworks vorgestellt und miteinander verglichen werden.

4. Deep Learning Frameworks

4.1 TensorFlow

Das Deep Learning Framework TensorFlow ist ein durchgängiges Open Source Framework von Google Brain. Der Name leitet sich von Rechenoperationen ab, die von künstlichen neuronalen Netzen auf mehrdimensionalen Datenfeldern, sog. Arrays oder Tensoren, ausgeführt werden. Es wurde im Jahr 2015 erstveröffentlicht15 und findet unter anderem Einsatz bei den Unternehmen AirBnB, Spotify oder Paypal.16

Im Folgenden soll kurz die Technologie, die Funktionalität und Benutzerfreundlichkeit sowie das Anwendungsumfeld des Frameworks dargestellt werden.

4.1.1 Technologie

Grundsätzlich funktioniert das Framework TensorFlow über die Abbildung von mathematischen Operationen in einem Graphen. Dieser stellt die mathematischen 17 Operationen als Diagramm mit Kanten und Knoten dar.17 Durch das Verbinden der Knoten entwickelt sich ein Graph, der die Grundlage für die künstlichen neuronalen Netze bildet. Am jeweiligen Knotenpunkt werden Daten verarbeitet und zum 18 nächsten Knotenpunkt weitergeleitet.18 Tensorflow beruht also auf einem statischen "Computational Graph", während Pytorch auf einem dynamischen "Computational Graph" beruht. Je nach Anwendung, kann dies zu einfacherem Code führen.

TensorFlow wird derzeit auf der Open Source Softwarelizenz Apache 2.0 angeboten. Es läuft auf den Plattformen Linux, MacOS, Windows und Android, somit auch auf Mobilgeräten. Die Programmierung in TensorFlow unterstützt die Entwicklungssprachen C++; Python sowie CUDA. Weiterhin besitzt TensorFlow Interfaces zu Python (Keras), C/C++, Java, Go, JavaScript, R, Julia, Swift. Zusätzlich werden vorgeübte Modelle bereitgestellt sowie convolutional, recurrent 19 oder dense Layers abgebildet.19

4.1.2 Funktionalität und Benutzerfreundlichkeit

Aufgrund seiner Portierbarkeit in verschiedene Betriebssysteme sowie Hardwareplattformen bietet TensorFlow eine breite Plattform für unterschiedliche Nutzer und Nutzungsformen. TensorFlow besitzt u. a. daher die aktivste Community sowie den aktivsten Support. Dies hat Auswirkungen auf die sich stetig weiterentwickelnden Funktionalitäten, die Benutzerfreundlichkeit sowie die 20 vorliegenden Dokumentationen und Richtlinien.20

Trotz allem muss festgestellt werden, dass die Einstiegsschwelle zur Nutzung von TensorFlow, vor allem ohne Vorerfahrung mit Python und Nutzung von Keras, höher als bei anderen Frameworks liegt. Auch schneidet das Framework bei einem PerformanceBenchmarkTest schlechter ab als andere Frameworks. Zusätzlich 21 gestaltet sich das Debugging bei TensorFlow als herausfordernd.21

4.1.3 Anwendungsumfeld

Das Framework findet vor allem im kommerziellen Umfeld von Sprach und Bildverarbeitung Anwendung, beispielhaft seien hier „Google Translate“ oder 22 „Google Street View“ genannt.22 Es eignet sich somit optimal für Deep Learning Anwendungen mit mehrschichtigen neuronalen Netzen.23

4.2 Keras

Keras ist eine von Francois Chollet im Jahre 2015 veröffentlichte Deep Learning Bibliothek auf Basis von Python. Keras unterstützt viele standardisierte neuronale Netzwerkschichten, wie z. B. convolutional, recurrent oder dense Layers.24 Die Keras Bibliothek bot bis zur Version 2.3 im Backend eine einheitliche Schnittstelle für Frameworks, wie z. B. TensorFlow oder Microsoft Cognitiv Toolkit, an.25 Ab Version 2.4 wird nur noch TensorFlow unterstützt.26

4.2.1 Technologie

Das in Python geschriebene Keras wird über eine MITLizenz als Open Source Produkt angeboten. Es läuft auf den Plattformen Linux, MacOS sowie Windows.

[...]


1 Vgl. Gablers Wirtschaftslexikon (2021).

2 Vgl. Frochte (2019), S. 14.

3 Vgl. Wuttke (2021).

4 Vgl. Goodfellow et al (2016), S. 96 f.

5 Vgl. Nguyen et al (2019), S. 82 f.

6 Vgl. Aunkhofer (2017).

7 Vgl. Wick (2017), S. 103.

8 Vgl. Kruse et al (2011), S. 7.

9 Vgl. Goodfellow et al (2016), S. 164 f.

10 Vgl. Goodfellow et al (2016), S. 165.

11 Vgl. Ronsdorf (2020).

12 Vgl. Goodfellow et al (2016), S. 164 ff.

13 Vgl. Aunkhofer (2017).

14 Vgl. Tiedemann (2020).

15 Vgl. MengeSonnentag (2016).

16 Vgl. TensorFlow.org/Casestudies (2021).

17 Vgl. Betram (2019).

18 Vgl. Mishra (2021).

19 Vgl. TensorFlow.org/API (2021).

20 Vgl. Shivanandhan (2020).

21 Vgl. Opala (2019).

22 Vgl. Ablavatski/Dukhan (2021).

23 Vgl. Opala (2019).

24 Vgl. Opala (2019).

25 Vgl. Mishra (2021).

26 Vgl. Keras.io/API (2021)

Ende der Leseprobe aus 22 Seiten

Details

Titel
Künstliche Intelligenz und Maschinelles Lernen. Vergleich der Deep Learning Frameworks TensorFlow, Keras, PyTorch, CNTK und MXNeT
Hochschule
AKAD University, ehem. AKAD Fachhochschule Stuttgart  (Wirtschaftsinformatik)
Note
1,3
Autor
Jahr
2021
Seiten
22
Katalognummer
V1043196
ISBN (eBook)
9783346464767
ISBN (Buch)
9783346464774
Sprache
Deutsch
Schlagworte
Deep Learning, Machine Learning, Maschinelles Lernen, TensorFlow, Keras, PyTorch
Arbeit zitieren
Marco Nitschke (Autor:in), 2021, Künstliche Intelligenz und Maschinelles Lernen. Vergleich der Deep Learning Frameworks TensorFlow, Keras, PyTorch, CNTK und MXNeT, München, GRIN Verlag, https://www.grin.com/document/1043196

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Künstliche Intelligenz und Maschinelles Lernen. Vergleich der Deep Learning Frameworks TensorFlow, Keras, PyTorch, CNTK und MXNeT



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden