Was ist Deep Learning?

Was ist Deep Learning?

Deep Learning ist ein Teilbereich des maschinellen Lernens, angetrieben von mehrschichtigen Neural Networks, deren Design an der Struktur des menschlichen Gehirns angelehnt ist. Deep-Learning-Modelle bilden heute die Grundlage für die meisten modernsten künstlichen Intelligenz (KI) heute, von Computer Vision und generativer KI bis hin zu selbstfahrenden Autos und Robotertechnik.

Im Gegensatz zur explizit definierten mathematischen Logik traditioneller Algorithmen des maschinellen Lernens bestehen die künstlichen neuronalen Netze von Deep-Learning-Modellen aus vielen miteinander verbundenen Schichten von „Neuronen“, die jeweils eine mathematische Operation ausführen. Durch den Einsatz von maschinellem Lernen zur Anpassung der Stärke der Verbindungen zwischen einzelnen Neuronen in benachbarten Schichten – mit anderen Worten durch die unterschiedlichen Modellgewichtungen und Verzerrungen– kann das Netzwerk optimiert werden, um genauere Ausgaben zu liefern. Obwohl neuronale Netze und Deep Learning untrennbar miteinander verbunden sind, sind sie nicht streng synonym: „Deep Learning“ bezieht sich auf das Training von Modellen mit mindestens 4 Schichten (obwohl moderne neuronale Netzarchitekturen oft viel „tiefer“ sind).

Es ist diese verteilte, hochflexible und anpassbare Struktur, die die unglaubliche Leistungsfähigkeit und Vielseitigkeit von Deep Learning erklärt. Stellen Sie sich vor, Sie trainieren Daten als Datenpunkte, die in einem zweidimensionalen Diagramm verstreut sind, und das Ziel des Modelltrainings besteht darin, eine Linie zu finden, die durch jeden dieser Datenpunkte verläuft. Im Wesentlichen zielt traditionelles maschinelles Lernen darauf ab, dies mithilfe einer einzigen mathematischen Funktion zu erreichen, die eine einzige Linie (oder Kurve) ergibt. Deep Learning hingegen kann eine beliebige Anzahl kleinerer, individuell anpassbarer Linien zu der gewünschten Form zusammenfügen. Tiefe neuronale Netze sind universelle Approximatoren: Es wurde theoretisch bewiesen, dass es für jede Funktion eine neuronale Netzvereinbarung gibt, die sie reproduzieren kann.1

Deep-Learning-Modelle werden am häufigsten durch überwachtes Lernen mit gekennzeichneten Daten trainiert, um Regressions- und Klassifizierungsaufgaben durchzuführen. Da groß angelegte neuronale Netze jedoch in der Regel eine enorme Menge an Trainingsdaten benötigen, um eine optimale Leistung zu erzielen, können die Kosten und der Aufwand für die Beschaffung ausreichend großer Datensätze mit annotierten Trainingsbeispielen sehr hoch sein. Dies hat zur Entwicklung von Techniken geführt, mit denen sich Aufgaben des überwachten Lernens mit nicht beschrifteten Daten replizieren lassen. Der Begriff selbstüberwachtes Lernen wurde Ende der 2010er Jahre von Yann LeCun geprägt, um solche Methoden vom traditionellen unüberwachten Lernen zu unterscheiden. Selbstüberwachtes Lernen hat sich seitdem zu einer wichtigen Methode für das Training neuronaler Netze entwickelt, insbesondere für die Foundation Models, die der generativen KI zugrunde liegen.

Obwohl neuronale Netzwerke (oder analoge Konzepte) zu Beginn der Geschichte des maschinellen Lernens von Data Scientists eingeführt wurden, begann ihr Durchbruch erst Ende der 2000er und Anfang der 2010er Jahre. Das Aufkommen von Deep-Learning-Netzwerken in den meisten Teilbereichen des maschinellen Lernens wurde teilweise durch Fortschritte bei der Leistung von Grafikprozessoren (GPUs) ermöglicht, die die parallele Verarbeitung großer Mengen von Rechenschritten ermöglichten. Da Deep Learning sowohl für das Training als auch für die Inferenz eine enorme Menge an Rechenleistung erfordert, haben diese Hardware-Fortschritte die Geschwindigkeit und Praktikabilität der Implementierung von Deep-Learning-Modellen in großem Maßstab erheblich erhöht.

So funktioniert Deep Learning

Künstliche neuronale Netze sind, vereinfacht gesagt, von der Funktionsweise der neuronalen Schaltkreise des menschlichen Gehirns abgeleitet, deren Funktion auf der komplexen Übertragung chemischer und elektrischer Signale über verteilte Netzwerke von Nervenzellen (Neuronen) basiert. Beim Deep Learning sind die analogen „Signale“ die gewichteten Ausgaben vieler verschachtelter mathematischer Operationen, die jeweils von einem künstlichen „Neuron“ (oder Knoten) ausgeführt werden und gemeinsam das neuronale Netz bilden.

Kurz gesagt: Ein Deep-Learning-Modell kann als eine komplizierte Reihe verschachtelter Gleichungen verstanden werden, die eine Eingabe einer Ausgabe zuordnen. Die Anpassung des relativen Einflusses einzelner Gleichungen innerhalb dieses Netzwerks durch spezielle Prozesse des maschinellen Lernens kann wiederum die Art und Weise verändern, wie das Netzwerk Eingaben und Ausgaben zuordnet.

Dieses Framework ist zwar sehr leistungsfähig und vielseitig, geht aber auf Kosten der Interpretierbarkeit.Für die Tatsache, dass die Werte der einzelnen Modellparameter, die von einem neuronalen Netz gelernt werden, die realen Eigenschaften der Daten widerspiegeln, gibt es oft nur eine intuitive, wenn überhaupt existierende Erklärung, die über eine rohe mathematische Erklärung hinausgeht. Aus diesem Grund werden Deep-Learning-Modelle oft als „Blackbox“ bezeichnet, insbesondere im Vergleich zu herkömmlichen Arten von maschinellem Lernen, die durch manuelles Funktion-Engineering informiert werden.

Im Vergleich zu klassischen maschinellen Lerntechniken benötigt Deep Learning extrem große Datenmengen und Rechenressourcen für das Training. Angesichts der Kosten und der Komplexität der Unternehmenshardware, die für die Entwicklung und Implementierung anspruchsvoller Deep-Learning-Anwendungen benötigt wird, sind Cloud-Computing-Services zu einem zunehmend integralen Bestandteil des Deep-Learning-Ökosystems geworden.

Neural Networks Struktur

Künstliche neuronale Netze bestehen aus miteinander verbundenen Schichten künstlicher „Neuronen“ (oder Knoten), von denen jeder seine eigene mathematische Operation ausführt (eine sogenannte „Aktivierungsfunktion“). Es gibt viele verschiedene Aktivierungen; ein neuronales Netzwerk wird oft mehrere Aktivierungen innerhalb seiner Struktur verwenden, aber typischerweise werden alle Neuronen in einer bestimmten Schicht des Netzwerks so eingestellt, dass sie dieselbe Aktivierung verwenden. In den meisten neuronalen Netzen ist jedes Neuron in der Eingabe -Schicht mit jedem der Neuronen in der folgenden Schicht verbunden, die ihrerseits wiederum mit den Neuronen der darüber liegenden Schicht verbunden sind, und so weiter.

Die Ausgabe der Aktivierungsfunktion eines jeden Knotens trägt einen Teil der Eingabe bei, die an jeden der Knoten der folgenden Schicht bereitgestellt wird. Wesentlich ist, dass die an jedem Knoten durchgeführten Aktivierungsfunktionen nichtlinear sind, sodass neuronale Netze komplexe Muster und Abhängigkeiten modellieren können. Es ist die Verwendung nichtlinearer Aktivierungen, die ein tiefes neuronales Netz von einem (sehr komplexen) linearen Regressionsmodell unterscheidet.

Während einige spezialisierte neuronale Netzwerkarchitekturen, wie beispielsweise Mixture-of-Experts-Modelle oder Convolutional Neural Networks, Abweichungen, Ergänzungen oder Ausnahmen von dieser Anordnung beinhalten, verwenden alle neuronalen Netzwerke eine Version dieser Kernstruktur. Die spezifische Anzahl der Schichten, die Anzahl der Knoten innerhalb jeder Schicht und die Aktivierungsfunktionen, die für die Knoten jeder Schicht ausgewählt wurden, sind Hyperparameter, die vor dem Training manuell bestimmt werden müssen.

Diagramm eines neuronalen Netzes mit drei verborgenen Schichten: Eingabeschicht, mehrere verborgene Schichten, Ausgabeschicht Ein standardmäßiges neuronales Feedforward-Netz mit 3 versteckten Schichten.

Jede dieser unzähligen Neuron-zu-Neuron-Verbindungen wird mit einer spezifischen Gewichtung multipliziert, die den Einfluss jeder Verbindung verstärkt (oder verringert). Die Eingabe für die Aktivierungsfunktion jedes Neurons kann als gewichtete Summe der Outputs jedes Neurons in der vorherigen Schicht verstanden werden. In der Regel wird jeder Aktivierungsfunktion auch ein eindeutiger Verzerrungs-Term hinzugefügt, der ähnlich wie der Verzerrungs-Term einer gängigen Regressionsfunktion funktioniert.

Während des Trainings „lernt“ das neuronale Netz durch Anpassungen der einzelnen Gewichtungen und Verzerrungstermini, die zu genaueren Ergebnissen führen. Dies sind die Parameter des Modells: Wenn Sie beispielsweise von einem großen Sprachmodell (Large Language Model, LLM) mit 8 Milliarden „Parametern“ lesen, spiegelt diese Zahl jede einzelne gewichtete Neuron-zu-Neuron-Verbindung und neuronenspezifische Verzerrung im neuronalen Netz des Modells wider.

In den Zwischenschichten, den sogenannten verborgenen Schichten des Netzwerks, findet der Großteil des Lernens statt. Es sind die mehreren verborgenen Schichten, die ein Deep-Learning-Modell von einem neuronalen Netz, das „nicht-deep“ ist, wie einer eingeschränkten Boltzmann-Maschine (RBN) oder einem Standard-Multilayer-Perzeptron (MLP) unterscheiden. Das Vorhandensein mehrerer verborgener Schichten ermöglicht es einem Deep-Learning-Modell, komplexe hierarchische Funktionen von Daten zu erlernen, wobei frühere Schichten umfassendere Muster erkennen und tiefere Schichten differenziertere Muster.

Um eine Inferenz durchzuführen, führt das Netz einen Vorwärtsdurchlauf durch: Die Eingabeschicht erhält Eingabedaten, in der Regel in Form von Einbetten mit Vektoren, wobei jedes Eingabeneuron eine einzelne Funktion des Eingabevektors verarbeitet. Beispielsweise hat ein Modell, das mit Graustufenbildern mit 10x10 Pixeln arbeitet, in der Regel 100 Neuronen in seiner Eingabeschicht, wobei jedes Eingabeneuron einem einzelnen Pixel entspricht. Neurale Netze erfordern daher in der Regel, dass die Eingaben auf eine bestimmte Größe festgelegt sind, wobei Vorverarbeitungstechniken wie Pooling oder Normalisierung eine gewisse Flexibilität hinsichtlich der Größe der ursprünglichen Eingabedaten selbst bieten können.

Die Daten werden schrittweise transformiert und an die Knoten der nachfolgenden Schicht weitergegeben, bis die letzte Schicht erreicht ist. Die Aktivierungsfunktionen der zugehörigen Neuronen in der Ausgabeschicht berechnen die endgültige Vorhersage des Netzwerks. Beispielsweise könnte jeder Ausgabeknoten eines tiefen Klassifizierungsmodells eine Softmax-Funktion ausführen, die im Wesentlichen eine numerische Eingabe verwendet und sie auf eine Wahrscheinlichkeit zwischen 0 und 1 skaliert, dass die Eingabe zu einer potenziellen Kategorie gehört. Das Modell würde dann die Kategorie ausgeben, die dem Ausgabeknoten entspricht, der die höchste Ausgabe liefert.

Training tiefer neuronaler Netze

Obwohl das theoretische Potenzial tiefer neuraler Netze immer offensichtlich war, wusste man zunächst nicht, wie man sie effizient schulen konnte. Das Ziel der Optimierung von Modellparametern durch Training besteht darin, den Fehler der endgültigen Ausgaben des Netzwerks zu reduzieren – es ist jedoch völlig unzweckmäßig, die Tausenden, wenn nicht Millionen oder Milliarden miteinander verbundener Gewichte eines neuronalen Netzwerks einzeln zu isolieren und zu berechnen, wie jedes einzelne zu diesem Gesamtfehler beigetragen hat.

Dieses Hindernis wurde durch die Einführung von zwei wesentlichen Algorithmen überwunden: Backpropagation und Gradientenabstieg.

Backpropagation

Backpropagation, kurz für „Backpropagation of Error“, ist eine gute Methode, um zu berechnen, wie sich Änderungen an einer individuellen Gewichtung oder Verzerrung in einem neuralen Netz auf die Genauigkeit von Modellvorhersagen auswirken.

Sie wissen bereits, dass ein künstliches neuronales Netz im Wesentlichen eine Reihe verschachtelter mathematischer Funktionen ist: Die Ausgabe der Neuronen einer Schicht dienen als Eingaben für die Neuronen der nächsten Schicht und so weiter. Während des Trainings werden diese miteinander verbundenen Gleichungen in eine weitere Funktion geschachtelt: eine sog. loss function , die durchschnittliche Differenz (oder „den Verlust“)zwischen der gewünschten Ausgabe (oder „ground truth“) für eine bestimmte Eingabe und der tatsächlichen Ausgabe des neuronalen Netzes misst für jeden Vorwärtsdurchlauf.

Sobald die anfänglichen Hyperparameter des Modells bestimmt wurden, beginnt das Training in der Regel mit einer zufälligen Initialisierung der Modellparameter. Das Modell macht Vorhersagen für eine Reihe von Beispielen aus dem Trainingsdatensatz und die Verlustfunktion verfolgt den Fehler jeder Vorhersage. Das Ziel des Trainings besteht darin, die Parameter iterativ zu optimieren, bis der durchschnittliche Verlust unter einen angemessenen Schwellenwert gesenkt wurde.

Backpropagation beinhaltet einen einzigen End-to-End-Rückwärtsdurchlauf durch das Netzwerk, beginnend mit der Ausgabe der Verlustfunktion und zurück bis zur Eingabeschicht. Unter Verwendung der Kettenregel der Infinitesimalrechnung berechnet die Backpropagation den „Gradienten“ der Verlustfunktion: einen Vektor von partiellen Ableitungen der Verlustfunktion in Bezug auf jede Variable in jeder Gleichung, die letztendlich in die Berechnung der Verlustfunktion einfließt. Mit anderen Worten: Es beschreibt, wie sich die Erhöhung oder Verringerung der Aktivierungsfunktion eines einzelnen Neurons auf den Gesamtverlust auswirkt – was wiederum beschreibt, wie sich jede Änderung der Gewichte, mit denen diese Ausgaben multipliziert werden (oder der zu diesen Ausgaben hinzugefügten Verzerrungs-Terme) auf den Verlust auswirkt.

Gradientenabstieg

Der während der Backpropagation berechnete Gradient dient dann als Eingabe für einen Gradientenabstiegsalgorithmus.

Wenn Sie den Gradienten der Verlustfunktion nachunten verschieben, verringert sich der Verlust (und damit steigt die Genauigkeit). Da der während der Backpropagation berechnete Gradient die partiellen Ableitungen der Verlustfunktion in Bezug auf jeden Modellparameter enthält, wissen wir, in welche Richtung wir den Wert der einzelnen Parameter „einstufen“ müssen, um den Verlust zu reduzieren.

Jeder Schritt beinhaltet eine Aktualisierung der Parameter des Modells und spiegelt das „Lernen“ des Modells aus seinen Trainingsdaten wider. Unser Ziel ist es, die Gewichtungen iterativ zu aktualisieren, bis wir den minimalen Gradienten erreicht haben. Das Ziel von Gradientenabstiegsalgorithmen ist es, die spezifischen Parameteranpassungen zu finden, die uns am effizientesten den Gradienten hinunterbringen.

Implementierung von Deep-Learning-Modellen

Es gibt eine Reihe von Open-Source-Frameworks für die Entwicklung von Deep-Learning-Modellen, unabhängig davon, ob ein Modell von Grund auf neu trainiert oder ein vorab trainiertes Modell feinabgestimmt wird. Diese Bibliotheken für maschinelles Lernen bieten eine Vielzahl vorkonfigurierter Module und Workflows zum Erstellen, Trainieren und Auswerten neuronaler Netze, wodurch der Entwicklungsprozess vereinfacht und rationalisiert wird

Zu den beliebtesten Open-Source-Frameworks für die Arbeit mit Deep-Learning-Algorithmen gehören PyTorch, TensorFlow und (insbesondere für LLMs) die Bibliothek Hugging Face Transformers. Wir empfehlen, mehr über Python zu lernen, bevor Sie mit diesen Frameworks arbeiten.

Arten von Deep-Learning-Modellen

Trotz ihrer inhärenten Leistungsfähigkeit und ihres Potenzials bleibt eine angemessene Leistung bei bestimmten Aufgaben für herkömmliche („Vanilla“) tiefe neuronale Netze entweder unmöglich oder unpraktisch. In den letzten Jahrzehnten gab es mehrere Innovationen an der standardmäßigen neuralen Netz-Architektur, die jeweils auf eine verbesserte Leistung bei bestimmten Aufgaben und Datentypen abzielten.

Es ist erwähnenswert, dass eine bestimmte Art von neuronalem Netz für mehrere Arten von Deep-Learning-Modellen geeignet sein kann und umgekehrt. Beispielsweise könnte ein Autoencoder-Modell, das für Bildaufgaben verwendet wird, eine auf einem konvolutionalen neuronalen Netz basierende Architektur nutzen; Diffusionsmodelle können CNN-basierte oder Transformer-basierte Architekturen nutzen.

Convolutional Neural Networks (CNNs)

Convolutional Neural Networks (CNNs) werden in erster Linie (aber nicht ausschließlich) mit Computer-Vision-Aufgaben wie Objekterkennung, Bilderkennung, Bildklassifizierungund Bildsegmentierung in Verbindung gebracht, da sie sich durch die Erkennung von „lokalen“ Mustern auszeichnen (z. B. die Beziehungen zwischen benachbarten Pixeln in einer Bild).

Die Idee hinter der Entwicklung von CNNs war, dass für bestimmte Aufgaben und Datenmodalitäten – wie die Klassifizierung hochauflösender Bilder mit Hunderten oder Tausenden von Pixeln – ausreichend große neuronale Netze, die nur aus standardmäßigen, vollständig verbundenen Schichten bestehen, viel zu viele Parameter hätten, um nach dem Training gut auf neue Daten verallgemeinert werden zu können. Mit anderen Worten: Sie wären rechnerisch ineffizient und neigen dazu, sich an die Trainingsdaten anzupassen, anstatt wirklich nützliche Muster aus der realen Welt zu lernen.

Theoretisch könnte ein neuronales Netz, das verschiedene Formen und andere aussagefähige Funktionen erkennen kann, Rechenleistung einsparen, indem es die genannten Funktionen zur weiteren Verarbeitung aus dem Rohbild extrahiert (und Informationen über Bereiche des Bildes ohne aussagefähige Funktionen verwirft). Eine Möglichkeit, dies zu tun, wäre die Verwendung von Filtern: kleine, 2-dimensionale Felder mit Zahlen, deren Werte der Form von nützlichen Funktionen entsprechen. Beispielsweise könnten die Werte eines Filters, der die Pixel eines Bildes nach den oberen linken Ecken durchsucht, wie folgt aussehen:

 [1010101010100000100000100000100000]


Stellen Sie sich nun vor, dass der 5x5-Filter mit einem 5x5-Pixelgitter in einem Eingabebild multipliziert wird. Im mathematischen Sprachgebrauch wird dies als Faltung bezeichnet: ein mathematischer Vorgang, bei dem eine Funktion eine zweite Funktion modifiziert (oder faltet). Wenn die Pixelwerte denen des Filters ähneln, ist das Produkt dieser Multiplikation (das Punktprodukt) groß und die Funktion, die diese Pixel darstellen, wird erfasst; wenn nicht, ist das Punktprodukt klein und die Pixel werden ignoriert.

 

Diagramm einer Faltung in einem neuronalen Netzwerk, bei dem ein kleiner Ausschnitt der Pixelwerte eines Bildes (links) mit einem Faltungsfilter (Mitte) multipliziert wird, was zu einer niedrigdimensionalen Darstellung der ursprünglichen Pixel (rechts) führt, die widerspiegelt, wie die ursprünglichen Pixel den durch den Filter dargestellten Informationen ähneln Ein kleiner Abschnitt der Pixelwerte eines Bildes (links) wird mit einem Faltungsfilter (Mitte) multipliziert. Dadurch erhält man eine niedrigere dimensionale Darstellung der ursprünglichen Pixel (rechts), die widerspiegelt, wie die ursprünglichen Pixel den durch den Filter dargestellten Informationen ähneln.

CNNs fügen Faltungsschichten hinzu, die weit weniger Knoten enthalten als herkömmliche voll verbundene Schichten, die als solche Filter fungieren. Anstatt einen eindeutigen Knoten (mit einer eindeutigen Gewichtung) zu benötigen, der jedem einzelnen Pixel im Bild entspricht, bewegt sich der Filter einer Konvolutionsschicht über das gesamte Bild und verarbeitet jeweils ein entsprechend großes Pixelgitter. Dadurch werden nicht nur nützliche Informationen extrahiert, sondern auch die Anzahl der eindeutigen Modellparameter, die für die Verarbeitung des gesamten Bildes erforderlich sind, erheblich reduziert.

CNNs sind in der Regel viel „tiefer“ (in Bezug auf die Anzahl der Schichten) als standardmäßige neuronale Netze, aber da die Faltungsschichten relativ wenige Neuronen enthalten, sind sie in Bezug auf die Gesamtparameteranzahl immer noch effizient. Während die Daten das CNN durchlaufen, extrahiert jede Faltungsschicht zunehmend detailliertere Merkmale und erstellt so eine „Merkmalskarte“. Die endgültige Funktionskarte wird schließlich an eine standardmäßige, vollständig verbundene Schicht weitergegeben, die endgültige Vorhersagen vornimmt. Beim Training lernt das Modell auf natürliche Weise Gewichtungen für die Faltungsschichten, die dazu führen, dass ihre Filter Funktionen erfassen, die für genaue Ergebnisse förderlich sind.

Rekurrentes neuronales Netz (RNN)

Rekurrente neuronale Netze (RNNs) werden für Aufgaben verwendet, die mit sequenziellen Daten in Verbindung stehen, wie z. B. Zeitreihenprognosen, Spracherkennung oder Verarbeitung natürlicher Sprache (Natural Language Processing, NLP).

Während übliche neuronale Netzwerke eine einzelne Eingabe auf eine einzelne Ausgabe abbilden, bilden RNNs eine Sequenz von Eingaben auf eine Ausgabe ab, indem sie in einer wiederkehrenden Schleife arbeiten, in der die Ausgabe für einen bestimmten Schritt in der Eingabesequenz als Eingabe für die Berechnung für den folgenden Schritt dient. Tatsächlich entsteht dadurch eine interne „Erinnerung“ an vergangene Eingaben, der sogenannte verborgene Zustand. Dieser ausgeblendete Zustand wird nach jedem Zeitschritt aktualisiert und ermöglicht es einem RNN, ein Verständnis von Kontext und Reihenfolge beizubehalten.

Während die Vorstellung einer einzelnen „aufgerollten“ Schicht für das Verständnis des Konzepts nützlich ist, kann diese Wiederholung auch als eine Reihe von Daten verstanden werden, die eine Reihe von Schichten mit Gewichtungen, die sie teilen, durchlaufen.

Diagramm eines rekurrenten neuronalen Netzes Ein RNN, das in „Rolled“- und „Unrolled“-Form angezeigt wird

Dies führt zu einigen grundlegenden Unzulänglichkeiten herkömmlicher RNNs, insbesondere im Hinblick auf das Training. Sie erinnern sich daran, dass Backpropagation den Gradienten der Verlustfunktion berechnet, der bestimmt, wie jeder einzelne Modellparameter entweder erhöht oder verringert werden soll? Wenn jede dieser Parameteraktualisierungen in zu vielen „identischen“ wiederkehrenden Schichten wiederholt wird, skalieren diese Aktualisierungen exponentiell: Eine Vergrößerung der Parameter kann zu einer Explosion des Gradienten führen, und die Minimierung der Parameter kann zu verschwindenden Gradienten führen. Beide Probleme können zu Instabilität im Training, langsamem Training oder sogar zum vollständigen Stopp des Trainings führen. Standard-RNNs sind daher auf die Verarbeitung relativ kurzer Sequenzen beschränkt.

Verschiedene Verbesserungen der grundlegenden RNN-Architektur, wie z. B. LSTM-Netzwerke (Long Short-Term Memory) oder Gated Recurrent Units (GRUs), verringern diese Probleme und erhöhen die Fähigkeit des Modells, langfristige Abhängigkeiten zu modellieren.

Autoencoder

Autoencoder sind so konzipiert, dass sie Eingabedaten komprimieren (oder kodieren) und anschließend die ursprüngliche Eingabe mithilfe dieser komprimierten Darstellung rekonstruieren (dekodieren). Beim Training werden sie optimiert, um den Rekonstruktionsverlust zu minimieren: die Divergenz zwischen dem rekonstruierten Datenpunkt und den ursprünglichen Eingabedaten. Obwohl diese Art von Deep Learning unbeschriftete, unstrukturierte Daten verwendet, gelten Autoencoder im Allgemeinen als das archetypische Beispiel für selbstüberwachtes Lernen.

Diagramm eines Autoencoders

Im Wesentlichen wird das Modell dadurch gezwungen, Gewichtungen zu lernen, die dazu führen, dass die komprimierte Darstellung nur die wichtigste und aussagekräftigste Teilmenge der Funktionen der Eingabedaten enthält. In der Terminologie des maschinellen Lernens modellieren Autoencoder den latenten Raum.

Für Autoencoder gibt es viele Anwendungsfälle, z. B. Datenkomprimierung, Dimensionsreduktion, Funktionsextraktion, Rauschunterdrückung beschädigter Daten und Betrugserkennung.

In den meisten Fällen dient das Decoder-Netzwerk nur zum Trainieren des Encoders und wird nach dem Training verworfen. Bei Variational Autoencodern (VAEs), einer Art generativen Modell, wird der Decoder beibehalten und zur Erzeugung neuer Datenpunkte verwendet, indem den latenten Repräsentationen, die der Encoder vor der Rekonstruktion gelernt hat, zufälliges Rauschen hinzugefügt wird.

Transformer-Modelle

Die Einführung von Transformer-Modellen, die erstmals in einem wegweisenden Artikel von Google DeepMind aus dem Jahr 2017 mit dem Titel „Attention is all you need“ (PDF) vorgestellt wurden, war ein Wendepunkt in der Deep Learning, der direkt zur aktuellen Ära der generativen KI führte.

Wie RNNs sind auch Transformer von Grund auf für die Verarbeitung sequenzieller Daten ausgelegt. Das zentrale Merkmal von Transformatormodellen ist ihre Aufmerksamkeitsmechanismus, aus dem Transformatormodelle ihre beeindruckende Fähigkeit ableiten, die Beziehungen (oder Abhängigkeiten) zwischen den einzelnen Teilen einer Eingabesequenz zu erkennen. Noch wichtiger ist, dass dieser Aufmerksamkeitsmechanismus den Transformern die Möglichkeit gibt, sich selektiv auf die Teile einer Eingabesequenz zu konzentrieren (oder diese zu „beaufsichtigen“), die zu einem bestimmten Zeitpunkt am relevantesten sind.

Aufmerksamkeitsmechanismen wurden erstmals im Kontext von RNNs eingeführt, die für maschinelle Übersetzung verwendet werden. Aber im Gegensatz zu RNNs verwenden Transformatoren keine wiederkehrenden Schichten; eine Standard-Transformer-Architektur verwendet nur Aufmerksamkeits- und Standard-Feedforward-Ebenen und nutzt eine neuartige Struktur, die von der Logik relationaler Datenbanken inspiriert ist.

Transformator werden am häufigsten mit großen Sprachmodellen (LLMs) und damit auch von NLP-Anwendungsfällen wie Textgenerierung, Chatbot und Stimmungsanalyse in Verbindung gebracht. Aber es sind extrem vielseitige Modelle, die in der Lage sind, jede sequentielle Datenmodalität zu verarbeiten, einschließlich Audio- oder Zeitreihendaten. Sogar Datenmodalitäten wie Bilddaten können von Vision Transformern (ViTs) durch clevere Workarounds verarbeitet werden, um sie als Sequenz darzustellen.

Obwohl Transformer-Modelle in fast allen Bereichen des Deep Learning moderne Ergebnisse geliefert haben, sind sie nicht unbedingt die optimale Wahl für jeden Anwendungsfall. Während ViTs beispielsweise in allen Benchmarks für Computer-Vision-Aufgaben Spitzenwerte in der Leistung erreicht haben, sind CNNs deutlich schneller und rechnerisch effizienter. Bei Aufgaben wie Objekterkennung oder Bildsegmentierung kommt die Wahl zwischen einem Transformer oder CNN oft darauf an, ob eine bestimmte Deep-Learning-Anwendung maximale Genauigkeit oder Echtzeit-Feedback priorisieren muss.

Mamba-Modelle

Die Mamba-Modelle wurden erstmals 2023 eingeführt und sind eine neuartige Deep-Learning-Architektur für sequenzielle Daten. Mamba wurde von einer Variante von Zustandsraummodellen (SSMs) abgeleitet und hat interessante theoretische Verbindungen zu RNNs, CNNs und Transformatormodellen. Vor allem aber teilt Mamba mit den Transformern die Fähigkeit, frühere Informationen auf der Grundlage ihrer Relevanz zu einem bestimmten Zeitpunkt selektiv zu priorisieren (oder zu verwerfen) – wenn auch mit einem völlig einzigartigen Mechanismus dafür.

Bis heute ist Mamba vielleicht die einzige Architektur, die es mit Transformatoren im Bereich der LLMs deutlich aufnehmen kann. Sie bietet eine vergleichbare Leistung mit deutlich höherer Recheneffizienz aufgrund ihres viel weniger speicherintensiven Algorithmus.

Generative Adversarial Networks (GANs)

Wie VAEs sind Generative Adversarial Networks (GANs) neuronale Netze, die verwendet werden, um neue Daten zu erzeugen, die den ursprünglichen Trainingsdaten ähneln. GANs sind eine gemeinsame Architektur, die zwei Deep-Learning-Netzwerke kombiniert, die in einem Nullsummenspiel gegensätzlich trainiert wurden.

  • Das Generatornetzwerk erstellt neue Datenpunkte, wie z. B. Originalbilder. Für ein GAN-Generator-Netzwerk kann jede generative Architektur verwendet werden, die in der Lage ist, die gewünschte Ausgabe zu erzeugen. Sein einziges definierendes Merkmal ist, wie er mit dem Diskriminator interagiert, und seine einzige Voraussetzung ist, dass der Algorithmus differenzierbar ist (und somit durch Backpropagation und Gradientenabstieg optimiert werden kann).

  • Der Diskriminator erhält sowohl „echte“ Bilder aus dem Datensatz als auch „gefälschte“ Bilder, die vom Generator als Ausgabe ausgegeben werden, und hat die Aufgabe, zu bestimmen, ob ein bestimmtes Bild echt oder gefälscht ist. Wie der Generator kann auch der Diskriminator die Form einer beliebigen geeigneten Architektur annehmen. 

  • Zunächst wird der Diskriminator trainiert, gefälschte Bilder korrekt zu klassifizieren. Während dieser Zeit werden die Gewichte des Generators eingefroren.

  • Als Nächstes werden die Gewichte des Diskriminators eingefroren und das Feedback des Diskriminators wird verwendet, um den Generator zu schulen. Die Gewichtungen des Generators sind so optimiert, dass Bilder mit größerer Wahrscheinlichkeit den Diskriminator täuschen. 

  • Der Prozess wiederholt sich: Der Diskriminator erhält eine weitere Auswahl „echter“ Bilder aus den Trainingsdaten und „gefälschte“ Bilder vom Generator, die jetzt vermutlich überzeugender sind. Der Diskriminator sagt erneut voraus, ob jedes Bild echt oder gefälscht ist, und wird erneut aktualisiert.

  • Auch hier wird das Feedback des Diskriminators (vermutlich schwerer zu täuschen) verwendet, um den Generator weiter zu schulen.

  • Der Prozess wird iterativ fortgeführt, bis der Diskriminator nicht mehr zwischen echten und gefälschten Proben unterscheiden kann.

GANs sind in der Lage, zu lernen, unglaublich genaue Beispiele zu produzieren, aber die kontradiktorische Natur des Prozesses macht das Training von Natur aus knifflig und instabil.

Diffusionsmodelle

Diffusionsmodelle gehören zu den bekanntesten neuronalen Netzarchitekturen in der generativen KI. Sie sind sowohl praktisch als auch leistungsstark, bieten die Trainingsstabilität von VAEs und die Ausgabetreue von GANs. Sie werden am häufigsten zur Generierung von Bildern verwendet, können aber auch Text-, Video- und Audiodaten generieren.

Wie Autoencoder werden Diffusionsmodelle im Wesentlichen darauf trainiert, ein Bild zu zerstören und es dann genau zu rekonstruieren, wenn auch auf ganz andere Weise. Im Training lernen Diffusionsmodelle, einen Datenpunkt schrittweise mit Gaußschem Rauschen zu zerstreuen und diesen Prozess dann umzukehren, um die ursprüngliche Eingabe zu rekonstruieren. Auf diese Weise erhalten sie die Möglichkeit, neue Samples (die den ursprünglichen Trainingsdaten ähneln) zu generieren, indem sie ein Sample mit zufälligem Rauschen „entrauschen”.

Latente Diffusionsmodelle sind im Wesentlichen Hybride aus VAEs und Diffusionsmodellen: Sie komprimieren (kodieren) zunächst die Eingabedaten auf den latenten Bereich, führen dann den Diffusionsprozess durch und speisen das Ergebnis dann in einen Decoder ein, der es auf die gewünschte Bildgröße hochrechnet.

Während Diffusionsmodelle in der Regel eine CNN-basierte Architektur verwenden – insbesondere die U-Net-Architektur,die vor allem für die Segmentierung in der medizinischen Bildgebung verwendet wird –, nutzen einige stattdessen eine Transformer-basierte Architektur.

Graph Neural Networks

Graph Neural Networks (GNNs) sind für Aufgaben konzipiert, die die Modellierung komplexerer Beziehungen zwischen verschiedenen Entitäten erfordern, als es für die meisten Datenmodalitäten typisch ist.

Betrachten Sie Bilddaten, bei denen die Pixel eines Bildes in einem 2-dimensionalen Raster angeordnet sind: Jedes Pixel ist direkt mit maximal 8 benachbarten Pixeln verbunden. Ein Standard-CNN eignet sich gut zur Modellierung solcher Beziehungen. Diese Funktion reicht jedoch nur unzureichend für die Modellierung der Beziehungen innerhalb eines Social-Media-Netzwerks aus, in dem ein bestimmter Benutzer direkt mit Tausenden von anderen Nutzern und indirekt mit vielen Tausend weiteren verbunden sein kann.

Die Struktur von Neural Networks ermöglicht komplexere und unregelmäßigere Darstellungen von Daten, als dies bei dem unidirektionalen Datenfluss möglich ist, der anderen neuronalen Netzarchitekturen inhärent ist.

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Weitere Lösungen
IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

watsonx.ai erkunden Live-Demo buchen
Fußnoten

1 Leshno, M., Lin, V.Y., Pinkus, A. and Schocken, S. “Multilayer feedforward networks with a nonpolynomial activation function can approximate any function” (PDF). Universität New York, März 1992.