Wikipedia · einfach zusammengefasst · Stand
Deep Learning
Deep Learning erlaubt die Verarbeitung und Analyse komplexer Datenmuster; dazu verwendet Deep Learning tiefe hierarchische neuronale Netze, die automatisch …
Inhalt6 Abschnitte
Grundidee und Bedeutung
Deep Learning oder tiefgehendes Lernen ist eine Methode des maschinellen Lernens. Sie verwendet künstliche neuronale Netze mit vielen Zwischenschichten, den hidden layers, zwischen Eingabeschicht und Ausgabeschicht. Dadurch entsteht eine umfangreiche innere Struktur, mit der komplexe Datenmuster verarbeitet und analysiert werden können.
Der Kern von Deep Learning ist, dass tiefe hierarchische neuronale Netze automatisch abstrakte Merkmale aus Daten extrahieren. Das bedeutet: Das System muss nicht für jede Aufgabe von Menschen mit festen Regeln programmiert werden, sondern lernt nützliche Muster aus Beispielen. Dadurch kann es komplexe Informationen verarbeiten und präzise Vorhersagen oder Entscheidungen in verschiedenen Anwendungen treffen.
Deep Learning ist besonders wichtig für Aufgaben, die Menschen intuitiv leicht lösen, die sich aber schwer als mathematische Regeln formulieren lassen. Dazu gehören zum Beispiel Sprach- und Gesichtserkennung oder Handschrifterkennung. Bei solchen Aufgaben liegen die Rohdaten zunächst oft in einer einfachen Form vor, etwa als Bildpunkte. Die eigentliche Schwierigkeit besteht darin, daraus bedeutungsvolle Muster wie Ziffern, Buchstaben oder Gesichter zu erkennen.
Aufbau neuronaler Netze
Ein künstliches neuronales Netz besteht aus mehreren Schichten. Die sichtbare Eingangsschicht verarbeitet die Rohdaten, zum Beispiel die einzelnen Pixel eines Bildes. Diese Eingabedaten enthalten beobachtbare Variablen, deshalb wird diese Schicht als sichtbar bezeichnet.
Die Eingangsschicht gibt ihre Ergebnisse an die nächste Schicht weiter. Diese zweite Schicht verarbeitet die Informationen erneut und reicht sie weiter. So setzt sich die Verarbeitung über alle Ebenen des Netzes fort. Die mittleren Schichten heißen versteckte Ebenen oder hidden layers, weil ihre Neuronen weder direkte Eingänge noch direkte Ausgänge des gesamten Netzes sind.
In diesen versteckten Schichten werden die Merkmale zunehmend abstrakt. Ihre Werte stehen nicht direkt in den ursprünglichen Daten. Das Modell muss selbst bestimmen, welche Konzepte hilfreich sind, um Beziehungen in den beobachteten Daten zu erklären. Ein Netz kann je nach Modell unterschiedlich aufgebaut sein. Die Anzahl der Neuronen pro Schicht definiert die Breite des Netzes. Operationen wie Convolutional Filter, Addition und Normalisierung können die Werte in einer Schicht beeinflussen.
Am Ende gibt die letzte, wieder sichtbare Schicht das Ergebnis aus. So wird eine schwierige Datenverarbeitung in viele einfache, verschachtelte Zuordnungen zerlegt. Jede Schicht beschreibt einen Teil dieser Verarbeitung. Die notwendige Anzahl von Ebenen, ab der man von Deep Learning spricht, ist nicht festgelegt.
Lernen durch Hierarchien
Deep Learning ist eine Teilmenge des maschinellen Lernens. Maschinelles Lernen wird im Artikel als selbstadaptiver Algorithmus beschrieben. Deep Learning nutzt dabei eine Reihe hierarchischer Schichten oder eine Hierarchie von Konzepten. Ein kompliziertes Konzept wird aus einfacheren Konzepten zusammengesetzt.
Diese Idee ist für künstliche Intelligenz wichtig, weil sie die vollständige manuelle Beschreibung des benötigten Wissens vermeidet. Menschen müssen dem Computer also nicht alle Regeln ausdrücklich vorgeben. Stattdessen sammelt das System Wissen aus Erfahrung und lernt, welche Merkmale in den Daten wichtig sind.
Der Begriff „Deep“ bezieht sich auf diese Tiefe der Struktur. Wenn man die Konzepte in einem Diagramm darstellt, liegen sie auf vielen Schichten übereinander. Ein Beispiel ist die Handschrifterkennung: Ein Text ist für den Computer zunächst nur eine Sammlung von Bildpunkten. Um daraus Buchstaben oder Ziffern zu machen, müssen komplexe Muster aus den Rohdaten extrahiert werden. Eine manuelle Programmierung dieser Zuordnung wäre sehr schwierig.
Entwicklung und Anwendungen
Frühe Formen von Deep-Learning-Systemen gab es bereits in den 1960er-Jahren. Die Group method of data handling-KNNs, kurz GMDH-ANN, von Oleksij Iwachnenko gelten als erste Deep-Learning-Systeme des Feedforward-Multilayer-Perzeptron-Typs. Karl Steinbuchs Lernmatrix war eines der ersten künstlichen neuronalen Netze mit mehreren Schichten von Lerneinheiten oder lernenden „Neuronen“.
Weitere wichtige Entwicklungen kamen aus dem maschinellen Sehen. Kunihiko Fukushima entwickelte 1980 das Neocognitron, eine Convolutional-Neural-Network-Architektur, kurz CNN. Alex Waibels TDNN von 1987 wurde durch Backpropagation trainiert und erzielte Bewegungsinvarianz. 1989 verwendeten Yann LeCun und Kollegen den Backpropagation-Algorithmus zum Training mehrschichtiger künstlicher neuronaler Netze, um handgeschriebene Postleitzahlen zu erkennen.
Der Begriff „Deep Learning“ wurde im Kontext des maschinellen Lernens erstmals 1986 von Rina Dechter verwendet, damals aber für ein anderes Verfahren zur Steuerung von Suchprozessen. Im heutigen Sinn, also im Zusammenhang mit künstlichen neuronalen Netzen, tauchte der Begriff erstmals im Jahr 2000 in einer Veröffentlichung von Igor Aizenberg und Kollegen auf.
Zwischen 2009 und 2012 gewann die Forschungsgruppe von Jürgen Schmidhuber am Schweizer KI-Labor IDSIA eine Reihe internationaler Wettbewerbe in Mustererkennung und maschinellem Lernen. Ihre rekurrenten LSTM-Netze gewannen drei Wettbewerbe zur verbundenen Handschrifterkennung bei der 2009 Intl. Conf. on Document Analysis and Recognition. Dabei lernten die Netze gleichzeitige Segmentierung und Erkennung.
Neuere Erfolge hängen auch mit schnellerer Hardware zusammen. Das Programm AlphaGo gewann ein Go-Turnier gegen weltbeste menschliche Spieler; Grundlage war unter anderem Deep Learning zum Training des verwendeten neuronalen Netzes. Seit 2020 gelang auch die Vorhersage von Proteinfaltungen. Für Beiträge zu neuronalen Netzwerken und Deep Learning erhielten Yann LeCun, Yoshua Bengio und Geoffrey Hinton 2018 den Turing Award; Geoffrey Hinton erhielt zusammen mit John Hopfield 2024 den Physik-Nobelpreis.
Grenzen und Erklärbarkeit
Tiefe neuronale Netze können sehr komplex sein. Der Artikel nennt bis zu hundert Millionen einzelne Parameter und zehn Milliarden Rechenoperationen pro Eingangsdatum. Dadurch ist es oft schwierig, die Bedeutung einzelner Parameter zu verstehen oder genau zu erklären, wie ein Ergebnis zustande gekommen ist.
Für solche Probleme gibt es spezielle Techniken, die unter Explainable Artificial Intelligence zusammengefasst werden. Ein weiterer Ansatz nutzt Methoden aus der Physik von Vielteilchensystemen, also der Statistischen Physik.
Ein Risiko von Deep Learning ist die Anfälligkeit für Falschberechnungen durch geringfügig veränderte Eingabesignale. Solche manipulierten Eingaben heißen Adversarial Examples. Ein Angreifer könnte zum Beispiel Bilddaten so verändern, dass eine Bilderkennung ein falsches Ergebnis liefert, obwohl das Bild für Menschen normal aussieht.
Zur Erklärbarkeit unterscheidet der Artikel transparente KI und opake KI. Transparente KI kann Informationen ausgeben, mit denen auch komplexe Entscheidungen für Menschen verständlich werden. Beispiele sind Entscheidungsbäume und Expertensysteme. Opake KI gibt solche verständlichen Informationen nicht aus. Beispiele sind neuronale Netze, Deep Learning und genetische Algorithmen.
Ein bekanntes Beispiel für Risiken opaker KI ist Microsofts Twitter-Chatbot Tay aus dem Jahr 2016. Microsoft musste ihn in weniger als 24 Stunden abschalten, weil er begann, anzügliche und beleidigende Tweets zu verfassen.
Softwarebibliotheken
Neuronale Netze können grundsätzlich selbst programmiert werden, etwa in Schulungsbeispielen, um ihre innere Struktur zu verstehen. In der Praxis gibt es aber viele Softwarebibliotheken, häufig Open Source. Sie laufen meist auf mehreren Betriebssystemen und sind in gängigen Programmiersprachen wie C, C++, Java oder Python geschrieben.
Einige dieser Bibliotheken unterstützen GPUs oder TPUs zur Rechenbeschleunigung. Manche bieten Tutorials zur Benutzung an. Mit ONNX können Modelle zwischen einigen dieser Werkzeuge ausgetauscht werden.
Zu den im Artikel genannten Programmbibliotheken gehören TensorFlow von Google, Keras, Caffe, PyTorch, Torch und Torchnet, Microsoft Cognitive Toolkit, PaddlePaddle von Baidu, OpenNN, Theano, Deeplearning4j und MXNet von der Apache Software Foundation. Diese Werkzeuge helfen dabei, Deep-Learning-Modelle zu entwickeln, zu trainieren und anzuwenden.
Lernvideos zu Deep Learning
8:28
KÜNSTLICHE INTELLIGENZ vs. MACHINE LEARNING vs. DEEP LEARNING
Florian Dalwigk · 185.692 Aufrufe
31:33
Data augmentation to address overfitting | Deep Learning Tutorial 26 (Tensorflow, Keras & Python)
codebasics · 184.284 Aufrufe
2:39
Forward Propagation in Neural Networks | Deep Learning
Satyajit Pattnaik · 69.578 Aufrufe
4:56
Deep Learning: Perzeptron 1 - Funktionsweise
profkipp · 13.283 Aufrufe