Die wichtigsten Deep-Learning-Modelltypen, die KI-Ingenieure im Jahr 2022 lernen sollten
Veröffentlicht: 2021-01-01Inhaltsverzeichnis
Einführung
Deep Learning ist eine Technik des maschinellen Lernens, die verschiedene Ebenen der nichtlinearen Informationsverarbeitung für unbeaufsichtigte und überwachte Transformation, Merkmalsextraktion, Klassifizierung und Musteranalyse nutzt.
Wenn es um nichtlineare Informationsverarbeitung geht, besteht diese aus verschiedenen hierarchischen Schichten. Hier sind einige Konzepte auf niedriger Ebene in der Lage, Konzepte auf höherer Ebene zu definieren. Überwachtes Lernen ist eine Form des maschinellen Lernens eines Trainingssatzes, und eine Reihe von Beispielen wird während der Trainingsphase als Eingabe in das System übermittelt.
Da jede Eingabe mit einem Ausgabewert gekennzeichnet ist, kennt das System die Ausgabe, wenn eine Reihe von Eingaben bereitgestellt wird. Andererseits werden beim unüberwachten Lernen die Eingaben nicht mit der Klasse gekennzeichnet, zu der sie gehören. Daher ist es Sache des Systems, Daten zu entwickeln und zu organisieren, indem es nach gemeinsamen Merkmalen sucht und die notwendigen Änderungen auf der Grundlage des internen Wissens vornimmt.
Künstliche neuronale Netze sind oberflächlich. Daher können sie nicht mit komplexen Daten umgehen, wie sie in alltäglichen Anwendungen wie Bildern, natürlicher Sprache, Informationsabruf und menschenähnlichen Informationsverarbeitungsanwendungen zu finden sind. Für solche Anwendungen sind Deep-Learning-Modelle perfekt. Mit Hilfe von Deep Learning ist es möglich, Datenmuster für eine Maschine mit weniger Aufwand zu klassifizieren, zu erkennen und zu kategorisieren.
Verwandter Artikel: Die besten Deep-Learning-Techniken
Typen von Deep-Learning-Modellen
Deep-Learning-Modelle haben sich weiterentwickelt, und die meisten von ihnen basieren auf künstlichen neuronalen Netzen. Das bedeutendste unter ihnen sind die Convolutional Neural Networks (CNNs). Es enthält auch latente Variablen und Satzformeln, die in tiefen generativen Modellen schichtweise organisiert sind.

Autoencoder
Es ist ein künstliches neuronales Netz, das aus verschiedenen Codierungsmustern lernen kann. Ein Autoencoder ähnelt in seiner einfachsten Form einem mehrschichtigen Perzeptron mit einer Eingangsschicht, einer verborgenen Schicht oder einer Ausgangsschicht. Die Ausgabeschicht besitzt die gleiche Anzahl von Knoten wie eine Ausgabeschicht. Es sagt keine Zielwerte basierend auf dem Ausgangsvektor voraus; Stattdessen kann der Autoencoder seine Eingabe vorhersagen. Dieser Lernmechanismus lässt sich wie folgt skizzieren:
Für jede Eingabe x,
- Berechnen Sie die Aktivierung, indem Sie einen Feedforward an jeder verborgenen Schicht und jeder Ausgabeschicht passieren lassen
- Verwenden Sie geeignete Fehlerfunktionen zum Erkennen von Abweichungen zwischen den berechneten Werten
- Aktualisieren Sie die Gewichte, indem Sie den Fehler zurückpropagieren
- Wiederholen Sie die Aufgabe so lange, bis sie zufriedenstellende Ergebnisse liefert
Wenn die verborgene Schicht weniger Knoten als die Eingabe-Ausgabe-Knoten hat, dann wird die Aktivierung der letzten verborgenen Schicht als eine komprimierte Darstellung der Eingaben betrachtet. Wenn die Anzahl der Knoten der verborgenen Schicht größer ist, lernt ein Autoencoder die Identitätsfunktion und erweist sich in den meisten Fällen als nutzlos.
Tiefes Glaubensnetz
Es bietet eine Lösung für den Umgang mit lokalen Minima und nicht-konvexen Zielfunktionen, die ein typisches mehrschichtiges Perzeptron besitzen. Sie können es sich als eine alternative Art von Deep Learning vorstellen, das aus mehreren Schichten latenter Variablen besteht, die mit anderen Schichten verbunden sind. Es ist eine eingeschränkte Version von Boltzmann-Maschinen.
Hier dienen die verborgenen Schichten jedes Teilnetzwerks als sichtbare Eingabeschicht für die benachbarte Schicht des Netzwerks. Somit macht es die niedrigste sichtbare Schicht zu einem Trainingssatz für die benachbarte Schicht des Netzwerks. Daher kann jede Schicht des Netzwerks gierig und unabhängig trainiert werden. Jede Schicht der Tiefenstruktur verwendet verborgene Variablen als beobachtete Variablen zum Trainieren jeder Schicht der Tiefenstruktur. Der Algorithmus zum Trainieren eines Deep Belief Networks lautet wie folgt:

- Berücksichtigen Sie Eingabevektoren
- Verwenden Sie den Eingabevektor zum Trainieren einer Boltzmann-Maschine und erhalten Sie die Gewichtsmatrix
- Verwenden Sie die Gewichtsmatrix, um zwei untere Schichten des Netzwerks zu trainieren
- Verwenden Sie das Netzwerk-RBM zum Generieren eines neuen Eingabevektors durch mittlere Aktivierung und Abtastung der verborgenen Einheiten.
- Wiederholen Sie den Vorgang so lange, bis Sie die oberen beiden Schichten des Netzwerks erreicht haben.
Lesen Sie auch: Deep Learning vs. neuronale Netze
Convolutional Neural Networks (CNN)
Es ist eine weitere Variante des mehrschichtigen Perzeptrons, das auf Feedforward basiert. Es organisiert einzelne Neuronen so, dass sie auf alle überlappenden Regionen im Sehbereich reagieren. Es ist einer der Deep-Learning-Algorithmen, die in der Lage sind, ein Eingabebild zu nehmen und lernbaren Verzerrungen und Gewichtungen verschiedener Aspekte/Objekte im Bild Bedeutung zuzuweisen.
Es kann das eine vom anderen unterscheiden. Der Bedarf an Vorverarbeitung in CNN ist im Vergleich zu anderen Klassifizierungsalgorithmen recht gering. CNN besitzt die Fähigkeit, diese Eigenschaften und Filter zu lernen.
CNNs sind eine der Hauptkategorien für Folgendes:
Objekterkennungen
Bildklassifizierungen
Bilderkennung
Gesichtserkennung usw.
Dies sind einige der wenigen Bereiche, in denen CNN weit verbreitet sein kann.
Für die Bildklassifizierung akzeptiert CNN ein Eingabebild, verarbeitet es und führt die Klassifizierung in verschiedene Kategorien durch. Computer visualisieren Eingangsbilder als ein Array von Pixeln, und es ist eine Variable der Bildauflösung. Technisch gesehen werden CNN-Modelle jedes Eingabebild mehreren Faltungsschichten mit Filtern für Training und Tests unterziehen.
Die erste Schicht ist als Faltung bekannt, die dazu dient, Merkmale aus einem Eingabebild zu extrahieren. Die Faltung kann Beziehungen zwischen Pixeln bewahren, da sie Bildmerkmale durch die Verwendung kleiner Quadrate von Eingabedaten lernen kann. Es führt eine mathematische Operation aus, indem es zwei Eingaben nimmt: eine Bildmatrix und einen Filter oder Kernel.
Wenn eine Bildfaltung mit verschiedenen Filtern versehen wird, wird sie in der Lage sein, Operationen wie Kantenerkennung, Schärfen und Weichzeichnen durch Filter durchzuführen.
Der Bereich Computer Vision hat in den letzten Jahren erhebliche Fortschritte gemacht. Einer der größten Fortschritte ist CNN. Deep CNNs haben sich zu den begehrtesten Computer-Vision-Anwendungen entwickelt, die für die Gestenerkennung, selbstfahrende Autos, das automatische Markieren von Freunden in auf Facebook geposteten Bildern, Gesichtssicherheitsfunktionen und die automatische Nummernschilderkennung verwendet werden.

Wiederkehrende neuronale Netze
Es ist eine Art neuronales Netzwerk, bei dem die Ausgabe des vorherigen Schritts als Eingabe in den aktuellen Schritt eingespeist werden kann. Eingaben und Ausgaben in einem herkömmlichen neuronalen Netzwerk sind voneinander unabhängig. In Fällen, in denen es erforderlich ist, die aufeinanderfolgenden Wörter in einem Satz vorherzusagen, besteht jedoch die Notwendigkeit, sich an die vorherigen Wörter zu erinnern.
Die Entstehung von RNN verspricht, dieses Problem mit Hilfe einer verborgenen Schicht zu lösen. Eines der Hauptmerkmale von RNN ist der Hidden State, der in der Lage ist, sich einige Informationen in einer Sequenz zu merken.
RNN ist mit einem Speicher ausgestattet, der sich alle Informationen zu den Berechnungen merken kann. Es kann dieselben Parameter für jede Eingabe verwenden, um dieselben Aufgaben an allen Eingaben oder versteckten Schichten auszuführen, um die gewünschte Ausgabe zu erzeugen. Es wird die Komplexität der Parameter stark reduzieren, was in scharfem Gegensatz zu anderen neuronalen Netzen steht.
Abschließende Gedanken
Die Berechnung von Gradienten ist nicht nur vom aktuellen Schritt, sondern auch vom vorherigen Schritt abhängig. Es gibt eine Variante, die als bidirektionales rekurrentes neuronales Netzwerk bezeichnet wird und von mehreren Anwendungen verwendet wird. Dabei berücksichtigt das Netzwerk den bisherigen und den erwarteten zukünftigen Output. Durch die Einführung mehrerer verborgener Schichten kann tiefes Lernen in zweifachen, unkomplizierten, rekurrenten neuronalen Netzen erreicht werden.
Wenn Sie mehr über Deep-Learning-Techniken und maschinelles Lernen erfahren möchten, sehen Sie sich die PG-Zertifizierung von IIIT-B & upGrad für maschinelles Lernen und Deep Learning an, die für Berufstätige konzipiert ist und mehr als 240 Stunden strenge Schulungen und mehr als 5 Fallstudien bietet & Aufgaben, IIIT-B Alumni-Status & Jobassistenz bei Top-Firmen.