10 Deep Learning Algorithmen, die Sie kennen sollten

Deep Learning hat in der wissenschaftlichen Datenverarbeitung große Popularität erlangt, und seine Algorithmen werden von vielen Branchen zur Lösung komplexer Probleme eingesetzt. Alle Deep-Learning-Algorithmen verwenden verschiedene Arten von neuronalen Netzen, um bestimmte Aufgaben zu erfüllen.

In diesem Artikel werden die wichtigsten künstlichen neuronalen Netze und die Funktionsweise von Deep-Learning-Algorithmen zur Nachahmung des menschlichen Gehirns untersucht.

Was ist Deep Learning?

Beim Deep Learning werden künstliche neuronale Netze verwendet, um anspruchsvolle Berechnungen mit großen Datenmengen durchzuführen. Es handelt sich um eine Art des maschinellen Lernens, das auf der Grundlage der Struktur und Funktion des menschlichen Gehirns funktioniert.

Deep-Learning-Algorithmen trainieren Maschinen, indem sie aus Beispielen lernen. In Branchen wie dem Gesundheitswesen, dem elektronischen Handel, der Unterhaltung und der Werbung wird Deep Learning häufig eingesetzt.

Neuronale Netze

Ein neuronales Netzwerk ist wie das menschliche Gehirn aufgebaut und besteht aus künstlichen Neuronen, die auch als Knoten bezeichnet werden. Diese Knoten sind in drei Schichten nebeneinander gestapelt:

  • The input layer (Eingabeschicht)
  • The hidden layer(s) (versteckte(n) Schicht(en))
  • The output layer (Ausgabeschicht)

Die Daten versorgen jeden Knoten mit Informationen in Form von Eingaben. Der Knoten multipliziert die Eingaben mit zufälligen Gewichten, berechnet sie und fügt eine Vorspannung hinzu. Schließlich werden nichtlineare Funktionen, die auch als Aktivierungsfunktionen bekannt sind, angewendet, um zu bestimmen, welches Neuron feuern soll.

Wie funktionieren Deep-Learning-Algorithmen?

Deep-Learning-Algorithmen verfügen über selbstlernende Darstellungen und sind von ANNs (‎Artificial Neural Network) abhängig, die die Art und Weise widerspiegeln, wie das Gehirn Informationen berechnet. Während des Trainingsprozesses verwenden die Algorithmen unbekannte Elemente in der Eingabeverteilung, um Merkmale zu extrahieren, Objekte zu gruppieren und nützliche Datenmuster zu entdecken. Ähnlich wie beim Training von Maschinen für das Selbstlernen geschieht dies auf mehreren Ebenen, wobei die Algorithmen zur Erstellung der Modelle verwendet werden.

Bei Deep-Learning-Modellen kommen mehrere Algorithmen zum Einsatz. Es gibt zwar kein perfektes Netzwerk, aber einige Algorithmen eignen sich besser für die Ausführung bestimmter Aufgaben. Um die richtigen auszuwählen, ist es gut, ein solides Verständnis aller primären Algorithmen zu erlangen.

Arten von Algorithmen, die beim Deep Learning verwendet werden

Hier ist die Liste der 10 beliebtesten Deep-Learning-Algorithmen:

  1. Convolutional Neural Networks (CNNs) (Faltungsneuronale Netze )
  2. Long Short Term Memory Networks (LSTMs) (Netze mit langem Kurzzeitgedächtnis)
  3. Recurrent Neural Networks (RNNs)
  4. Generative Adversarial Networks (GANs)
  5. Radial Basis Function Networks (RBFNs)
  6. Multilayer Perceptrons (MLPs)
  7. Self Organizing Maps (SOMs) (Selbstorganisierende Karten)
  8. Deep Belief Networks (DBNs)
  9. Restricted Boltzmann Machines( RBMs)
  10. Autoencoders

Deep-Learning-Algorithmen arbeiten mit fast allen Arten von Daten und benötigen große Mengen an Rechenleistung und Informationen, um komplizierte Probleme zu lösen. Lassen Sie uns nun tief in die Top 10 der Deep-Learning-Algorithmen eintauchen.

1. Convolutional Neural Networks (CNNs)

CNNs, auch ConvNets genannt, bestehen aus mehreren Schichten und werden hauptsächlich für die Bildverarbeitung und Objekterkennung verwendet. Yann LeCun entwickelte das erste CNN im Jahr 1988 unter dem Namen LeNet. Es wurde für die Erkennung von Zeichen wie Postleitzahlen und Ziffern verwendet.

CNNs werden häufig zur Identifizierung von Satellitenbildern, zur Verarbeitung medizinischer Bilder, zur Vorhersage von Zeitreihen und zur Erkennung von Anomalien eingesetzt.

Struktur eines typischen CNNs zur Bildklassifikation. Subsampling entspricht Pooling. Dieses Netz besitzt pro Convolutional Layer mehrere Filterkernel, sodass Schichten an Feature Maps entstehen, die jeweils die gleiche Eingabe bekommen, jedoch aufgrund unterschiedlicher Gewichtsmatrizen unterschiedliche Features extrahieren. (Quelle: Wikipedia)

Wie funktionieren CNNs?

CNNs haben mehrere Schichten, die Daten verarbeiten und Merkmale aus ihnen extrahieren:

Convolution Layer

CNN verfügt über eine Faltungsschicht mit mehreren Filtern, die die Faltungsoperation durchführen.

Rectified Linear Unit (ReLU)

CNNs haben eine ReLU-Schicht, um Operationen an Elementen durchzuführen. Die Ausgabe ist eine entzerrte Merkmalskarte.

Pooling Layer

Die entzerrte Merkmalskarte wird anschließend in eine Pooling-Ebene eingespeist. Pooling ist ein Down-Sampling-Vorgang, der die Dimensionen der Merkmalskarte reduziert.

Die Pooling-Ebene konvertiert dann die resultierenden zweidimensionalen Arrays aus der gepoolten Feature-Map in einen einzigen, langen, kontinuierlichen, linearen Vektor, indem sie ihn abflacht.

Fully Connected Layer

Eine voll verknüpfte Schicht entsteht, wenn die abgeflachte Matrix aus der Pooling-Schicht als Eingabe eingegeben wird, die die Bilder klassifiziert und identifiziert.

2. Long Short Term Memory Networks (LSTMs) (Netzwerke mit langem Kurzzeitgedächtnis)

LSTMs sind eine Art rekurrentes neuronales Netz (RNN), das langfristige Abhängigkeiten lernen und speichern kann. Das Abrufen vergangener Informationen über lange Zeiträume ist das Standardverhalten.

LSTMs behalten Informationen über einen längeren Zeitraum. Sie sind nützlich für die Vorhersage von Zeitreihen, da sie sich an frühere Eingaben erinnern. LSTMs haben eine kettenartige Struktur, bei der vier interagierende Schichten auf einzigartige Weise kommunizieren. Neben Zeitreihenvorhersagen werden LSTMs typischerweise für Spracherkennung, Musikkomposition und pharmazeutische Entwicklung eingesetzt.

Zur Abbildung: Im ersten Schritt wird vorwärts ein Signal erzeugt (roter Pfeil). Dann wird (grün) als Fehlerjustierung rückwärts die Gewichtung korrigiert. (Quelle: Wikipedia)

Wie funktionieren LSTMs?

  • Zunächst vergessen sie irrelevante Teile des vorherigen Zustands.
  • Als Nächstes aktualisieren sie selektiv die Werte des Zellzustands
  • Schließlich wird die Ausgabe von bestimmten Teilen des Zellzustands

3. Recurrent Neural Networks (RNNs)

RNNs haben Verbindungen, die gerichtete Zyklen bilden, die es ermöglichen, dass die Ausgaben des LSTM als Eingaben in die aktuelle Phase eingespeist werden.

Die Ausgabe des LSTM wird zu einer Eingabe für die aktuelle Phase und kann sich aufgrund seines internen Speichers an frühere Eingaben erinnern. RNNs werden häufig für Bildbeschriftungen, Zeitreihenanalysen, die Verarbeitung natürlicher Sprache, Handschrifterkennung und maschinelle Übersetzung verwendet.

Verschiedene Arten von Rückkopplungen: Die blaue Kante W(d) ist eine direkte, die grüne W(i) eine indirekte und die rote W(I) eine seitliche Rückkopplung. (Quelle: Wikipedia)

Wie funktionieren RNNs?

Die Ausgabe zum Zeitpunkt t-1 fließt in die Eingabe zum Zeitpunkt t ein.

  • In ähnlicher Weise fließt die Ausgabe zum Zeitpunkt t in die Eingabe zum Zeitpunkt t+1 ein.
  • RNNs können Eingaben von beliebiger Länge verarbeiten.
  • Bei der Berechnung werden historische Informationen berücksichtigt, und die Größe des Modells nimmt nicht mit der Größe der Eingabe zu.

4. Generative Adversarial Networks (GANs)

GANs sind generative Deep-Learning-Algorithmen, die neue Dateninstanzen erzeugen, die den Trainingsdaten ähneln. GANs haben zwei Komponenten: einen Generator, der lernt, gefälschte Daten zu erzeugen, und einen Diskriminator, der aus diesen falschen Informationen lernt.

Die Verwendung von GANs hat im Laufe der Zeit zugenommen. Sie können verwendet werden, um astronomische Bilder zu verbessern und Gravitationslinsen für die Erforschung dunkler Materie zu simulieren. Videospielentwickler verwenden GANs, um niedrig aufgelöste 2D-Texturen in alten Videospielen zu verbessern, indem sie sie durch Bildtraining in 4K oder höheren Auflösungen nachbilden.

GANs helfen dabei, realistische Bilder und Zeichentrickfiguren zu erzeugen, Fotos von menschlichen Gesichtern zu erstellen und 3D-Objekte zu rendern.

Wie funktionieren GANs?

  • Der Diskriminator lernt, zwischen den gefälschten Daten des Generators und den echten Beispieldaten zu unterscheiden.
  • Während des anfänglichen Trainings produziert der Generator gefälschte Daten, und der Diskriminator lernt schnell zu erkennen, dass es sich um falsche Daten handelt.
  • Das GAN sendet die Ergebnisse an den Generator und den Diskriminator, um das Modell zu aktualisieren.
Vergleich des Originalbildes (links) mit dem hochskalierten GAN-Bild (rechts)(Quelle: Wikipedia) / (Urheber: Von PantheraLeo1359531 – Eigenes Werk, CC-BY 4.0, https://commons.wikimedia.org/w/index.php?curid=108770715)

5. Radial Basis Function Networks (RBFNs)

RBFNs sind spezielle Typen von neuronalen Feedforward-Netzwerken, die radiale Basisfunktionen als Aktivierungsfunktionen verwenden. Sie haben eine Eingabeschicht, eine verborgene Schicht und eine Ausgabeschicht und werden hauptsächlich für Klassifizierung, Regression und Zeitreihenvorhersage verwendet.

Wie funktionieren RBFNs?

  • RBFNs führen eine Klassifizierung durch, indem sie die Ähnlichkeit der Eingabe mit Beispielen aus dem Trainingssatz messen.
  • RBFNs haben einen Eingabevektor, der in die Eingabeschicht eingespeist wird. Sie haben eine Schicht von RBF-Neuronen.
  • Die Funktion findet die gewichtete Summe der Eingaben, und die Ausgabeschicht hat einen Knoten pro Kategorie oder Klasse von Daten.
  • Die Neuronen in der verborgenen Schicht enthalten die Gaußschen Übertragungsfunktionen, deren Ausgänge umgekehrt proportional zum Abstand vom Zentrum des Neurons sind.
  • Die Ausgabe des Netzes ist eine lineare Kombination aus den Radialbasisfunktionen der Eingabe und den Parametern des Neurons.

6. Multilayer Perceptrons (MLPs)

MLPs sind ein hervorragender Ausgangspunkt für das Erlernen der Deep Learning-Technologie.

MLPs gehören zur Klasse der neuronalen Feedforward-Netzwerke mit mehreren Schichten von Perceptrons, die über Aktivierungsfunktionen verfügen. MLPs bestehen aus einer Eingabeschicht und einer Ausgabeschicht, die vollständig verbunden sind. Sie haben die gleiche Anzahl von Eingabe- und Ausgabeschichten, können aber mehrere verborgene Schichten haben und können zum Aufbau von Spracherkennungs-, Bilderkennungs- und Maschinenübersetzungssoftware verwendet werden.

Wie funktionieren MLPs?

  • MLPs speisen die Daten in die Eingabeschicht des Netzwerks ein. Die Neuronenschichten sind in einem Graphen miteinander verbunden, so dass das Signal nur in eine Richtung fließt.
  • MLPs berechnen die Eingabe mit den Gewichten, die zwischen der Eingabeschicht und den versteckten Schichten liegen.
  • MLPs verwenden Aktivierungsfunktionen, um zu bestimmen, welche Knoten zu aktivieren sind. Zu den Aktivierungsfunktionen gehören ReLUs, Sigmoid-Funktionen und tanh.
  • MLPs trainieren das Modell, um die Korrelation zu verstehen und die Abhängigkeiten zwischen den unabhängigen und den Zielvariablen aus einem Trainingsdatensatz zu lernen.

7. Self Organizing Maps (SOMs)

Ein Adaptionsschritt: Der Reiz 𝑣 zieht an dem Gewichtsvektor 𝑤 des am besten angepassten Neurons. Dieser Zug wird mit zunehmendem Abstand, gemessen im Competitive Layer vom besten Neuron, zunehmend schwächer. Einfach ausgedrückt, beult sich die Karte in Richtung des Reizes 𝑣 aus. (Quelle: Wikipedia)

Professor Teuvo Kohonen hat die SOMs erfunden, die es der Datenvisualisierung ermöglichen, die Dimensionen von Daten durch selbstorganisierende künstliche neuronale Netze zu reduzieren.

Mit der Datenvisualisierung wird versucht, das Problem zu lösen, dass Menschen hochdimensionale Daten nicht einfach visualisieren können. SOMs wurden entwickelt, um den Benutzern zu helfen, diese hochdimensionalen Informationen zu verstehen.

Wie funktionieren SOMs?

  • SOMs initialisieren die Gewichte für jeden Knoten und wählen einen Zufallsvektor aus den Trainingsdaten.
  • SOMs untersuchen jeden Knoten, um herauszufinden, welche Gewichte den wahrscheinlichsten Eingabevektor darstellen. Der siegreiche Knoten wird als Best Matching Unit (BMU) bezeichnet.
  • SOMs entdecken die Nachbarschaft der BMU, und die Anzahl der Nachbarn nimmt mit der Zeit ab.
  • SOMs weisen dem Beispielvektor ein Gewinnergewicht zu. Je näher ein Knoten an einer BMU liegt, desto mehr ändert sich sein Gewicht.
  • Je weiter der Nachbar von der BMU entfernt ist, desto weniger lernt er. SOMs wiederholen Schritt zwei für N Iterationen.

8. Deep Belief Networks (DBNs)

Schematischer Überblick über ein tiefes Glaubensnetz. Die Pfeile stellen gerichtete Verbindungen in dem grafischen Modell dar, das das Netz repräsentiert. (Quelle: Wikipedia)
Eine beschränkte Boltzmann-Maschine (RBM) mit vollständig verbundenen sichtbaren und verborgenen Einheiten. Es gibt keine Verbindungen zwischen versteckten und sichtbaren Einheiten oder zwischen sichtbaren und sichtbaren Einheiten. (Quelle: Wikipedia)

DBNs sind generative Modelle, die aus mehreren Schichten stochastischer, latenter Variablen bestehen. Die latenten Variablen haben binäre Werte und werden oft als versteckte Einheiten bezeichnet.

DBNs sind ein Stapel von Boltzmann-Maschinen mit Verbindungen zwischen den Schichten, und jede RBM-Schicht kommuniziert sowohl mit der vorherigen als auch mit der nachfolgenden Schicht. Deep Belief Networks (DBNs) werden für die Bilderkennung, die Videoerkennung und die Erfassung von Bewegungsdaten verwendet.

Wie funktionieren DBNs?

  • Greedy-Lernalgorithmen trainieren DBNs. Der Greedy-Lernalgorithmus verwendet einen schichtweisen Ansatz zum Lernen der generativen Gewichte von oben nach unten.
  • DBNs führen die Schritte des Gibbs-Samplings auf den oberen beiden verborgenen Schichten durch. In dieser Phase wird eine Stichprobe aus dem RBM gezogen, das von den oberen beiden verborgenen Schichten gebildet wird.
  • DBNs ziehen eine Stichprobe aus den sichtbaren Einheiten, indem sie einen einzigen Durchgang des Ahnensamplings durch den Rest des Modells durchführen.
  • DBNs lernen, dass die Werte der latenten Variablen in jeder Schicht durch einen einzigen Durchgang von unten nach oben abgeleitet werden können.

9. Restricted Boltzmann Machines (RBMs)

RBMs wurden von Geoffrey Hinton entwickelt und sind stochastische neuronale Netze, die aus einer Wahrscheinlichkeitsverteilung über eine Reihe von Eingaben lernen können.

Dieser Deep-Learning-Algorithmus wird für Dimensionalitätsreduktion, Klassifizierung, Regression, kollaboratives Filtern, Merkmalslernen und Themenmodellierung verwendet. RBMs sind die Bausteine von DBNs.

RBMs bestehen aus zwei Schichten:

  • Sichtbare Einheiten
  • Versteckte Einheiten

Jede sichtbare Einheit ist mit allen verborgenen Einheiten verbunden. RBMs haben eine Bias-Einheit, die mit allen sichtbaren Einheiten und den versteckten Einheiten verbunden ist, und sie haben keine Ausgabeknoten.

Wie funktionieren RBMs?

  • RBMs haben zwei Phasen: Vorwärtspass und Rückwärtspass.

10. Autoencoders

Autoencoder sind ein spezieller Typ eines neuronalen Feedforward-Netzwerks, bei dem Eingabe und Ausgabe identisch sind. Geoffrey Hinton entwickelte Autoencoder in den 1980er Jahren, um Probleme des unüberwachten Lernens zu lösen. Es handelt sich um trainierte neuronale Netze, die die Daten von der Eingabeschicht zur Ausgabeschicht replizieren. Autoencoder werden u. a. bei der Entdeckung von Arzneimitteln, der Vorhersage von Beliebtheit und der Bildverarbeitung eingesetzt.

Wie funktionieren Autoencoder?

  • Ein Autoencoder besteht aus drei Hauptkomponenten: dem Encoder, dem Code und dem Decoder.
  • Autoencoder sind so aufgebaut, dass sie eine Eingabe erhalten und diese in eine andere Darstellung umwandeln. Anschließend versuchen sie, die ursprüngliche Eingabe so genau wie möglich zu rekonstruieren.
  • Wenn das Bild einer Ziffer nicht klar erkennbar ist, wird es in ein neuronales Netz des Autoencoders eingespeist.
  • Autoencoder kodieren zunächst das Bild und reduzieren dann die Größe der Eingabe in eine kleinere Darstellung.
  • Schließlich dekodiert der Autoencoder das Bild, um das rekonstruierte Bild zu erzeugen.
  • RBMs akzeptieren die Eingaben und übersetzen sie in eine Reihe von Zahlen, die die Eingaben im Vorwärtsdurchlauf kodieren.
  • RBMs kombinieren jede Eingabe mit einer individuellen Gewichtung und einer Gesamtverzerrung. Der Algorithmus leitet die Ausgabe an die versteckte Schicht weiter.
  • Im Rückwärtsdurchlauf nehmen RBMs diesen Satz von Zahlen und übersetzen sie, um die rekonstruierten Eingaben zu bilden.
  • RBMs kombinieren jede Aktivierung mit einer individuellen Gewichtung und einer Gesamtvorspannung und geben die Ausgabe zur Rekonstruktion an die sichtbare Schicht weiter.
  • In der sichtbaren Schicht vergleicht das RBM die Rekonstruktion mit der ursprünglichen Eingabe, um die Qualität des Ergebnisses zu analysieren.

Zusammenfassung

Deep Learning hat sich in den letzten fünf Jahren weiterentwickelt, und Deep-Learning-Algorithmen sind in vielen Branchen sehr beliebt geworden. Wenn Sie eine aufregende Karriere in der Datenwissenschaft anstreben und lernen möchten, wie man mit Deep-Learning-Algorithmen arbeitet, sollten Sie sich noch heute unsere KI- und ML-Kurse ansehen.

Erforschen Sie die häufig gestellten Deep-Learning-Interview-Fragen und machen Sie Ihre Karriere als Datenwissenschaftler möglich!

Wenn Sie nach der Lektüre dieses Artikels noch Fragen zu Deep Learning Algorithmen haben, hinterlassen Sie diese bitte in den Kommentaren, und das Expertenteam von Simplilearn wird Ihnen in Kürze Antworten geben.