Deep Learning kann unter den richtigen Voraussetzungen komplexe Probleme lösen. Das müssen Sie zum Thema wissen. [...]
Mit Hilfe von Deep Learning lassen sich komplexe Problemstellungen auflösen – allerdings braucht es dazu sowohl eine Menge Rechenpower als auch riesige Datenmengen.
Deep-Learning-Definition
Deep Learning (DL) ist eine Unterkategorie von Machine Learning (ML), die Datenmuster als komplexe, mehrschichtige Netzwerke modelliert. Deep Learning hat das Potenzial, komplexe Problemstellungen zu lösen, für die weder konventionelle Programmierarbeit noch andere Machine-Learning-Techniken geeignet sind.
Darüber hinaus lassen sich mit Hilfe von Deep Learning auch wesentlich akkuratere Modelle ausbilden als mit anderen Methoden. Der Zeitrahmen, um ein nutzwertiges Modell auf die Beine zu stellen, lässt sich so unter Umständen drastisch reduzieren. Allerdings erfordert das Training von Deep-Learning-Modellen enorme Rechenkraft und die Modelle zu interpretieren, ist ein schwieriges Unterfangen.
Das entscheidende Merkmal von Deep Learning ist, dass die trainierten Modelle mehr als einen versteckten Layer zwischen Input und Output aufweisen. In den meisten Fällen handelt es sich dabei um Künstliche Neuronale Netze – es gibt aber auch einige wenige Algorithmen, die Deep Learning mit anderen versteckten Layern implementieren.
Deep Learning vs. Machine Learning
Ganz allgemein laufen klassische Machine-Learning-Algorithmen wesentlich schneller als ihre Deep-Learning-Pendants. Um ein klassisches ML-Modell zu trainieren reicht normalerweise eine beziehungsweise mehrere CPUs aus.
DL-Modelle benötigen hingegen in vielen Fällen Hardware-Beschleunigung, etwa in Form von GPUs, TPUs oder FPGAs. Kommen diese nicht zum Einsatz, kann das Training von Deep-Learning-Modellen Monate in Anspruch nehmen.
Deep Learning – Use Cases
Für Deep Learning im Praxiseinsatz gibt es einige Beispiele:
Natural Language Processing
Im Herbst 2016 verbesserte sich die Performance von Google Translate drastisch: Was vorher Wortsalat war, kam plötzlich einer professionellen Übersetzung erstaunlich nahe. Der Grund: Google hatte sein Tool von einem phrasenbasierten, statistischen Machine-Learning-Algorithmus auf ein Künstliches Neuronales Netz umgestellt. Dazu war eine Vielzahl von Datenwissenschaftlern über Monate damit beschäftigt, Modelle aufzuabuen und entsprechend zu trainieren.
Computer Vision
Ein weiteres gutes Beispiel ist die Klassifizierung von Bildern, beziehungsweise Computer Vision. Der Durchbruch in Sachen neuronale Netze gelang auf diesem Gebiet 1998 mit LeNet-5. Heutzutage können Bildklassifizierungsmodelle auf Deep-Learning-Basis eine Vielzahl von Objekten in HD und Farbe erkennen.
Deep-Learning-Frameworks
Der effizienteste Weg Deep-Learning-Modelle aufzubauen, besteht darin, auf Frameworks zurückzugreifen – insbesondere deshalb, weil diese für die Nutzung mit GPUs und anderen Hardware-Beschleunigern konzipiert sind.
- Das derzeit vorherrschende Framework ist Googles TensorFlow, die beliebteste High-Level-API Keras (diese lässt sich auch mit anderen Backend Frameworks nutzen).
- PyTorch ist eine gute Alternative zu TensorFlow und unterstützt auch dynamische neuronale Netze, in denen sich die Netzwerktopologie verändern kann. Eine High-Level-Drittanbeiter-API die PyTorch als Backend nutzt ist Fastai.
- MXNet ist eine weitere TensorFlow-Alternative, die sich besser skalieren lassen soll. Die bevorzugte High-Level-API ist Gluon.
- Chainer war in gewisser Weise die Inspiration für PyTorch
- Das Apache-Projekt Deeplearning4j basiert im Gegensatz zu den vorgenannten Frameworks auf Java und Scala und ist kompatibel mit Apache Spark und Hadoop.
- ONNX sollte ursprünglich ein offenes Ökosystem für KI-Modelle werden. Inziwcshen besitzt ONNX auch eine Laufzeitumgebung.
- TensorRT ist eine weitere Laufzeitumgebung für KI-Modelle – allerdings ist sie speziell für GPUs von NVidia konzipiert. TensorRT kann auch als Plugin für die ONNX Laufzeitumgebung zum Eisnatz kommen.
Deep-Learning-Ressourcen
Sie können jede Menge Deep-Learning-Erfahrung sammeln, indem Sie einfach eines der genannten Frameworks installieren und experimentieren. Sollten Sie noch etwas mehr Tiefgang benötigen, empfehlen sich folgende Anlaufstellen im Netz (fm):
- Neural Networks and Deep Learning
- A Brief Introduction to Neural Networks
- Deep Learning
- A Course in Machine Learning
- TensorFlow Playground
- CS231n: Convolutional Neural Networks
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.
*Martin Heller ist Redakteur der Computerwoche.
Be the first to comment