Connect with us

KI 101

Was ist Deep Learning?

mm

Deep Learning ist eines der einflussreichsten und am schnellsten wachsenden Felder in der künstlichen Intelligenz. Es kann jedoch schwierig sein, ein intuitives Verständnis von Deep Learning zu erlangen, da der Begriff Deep Learning eine Vielzahl von verschiedenen Algorithmen und Techniken abdeckt. Deep Learning ist auch eine Teildisziplin des Machine Learning im Allgemeinen, daher ist es wichtig, zu verstehen, was Machine Learning ist, um Deep Learning zu verstehen.

Was ist Machine Learning?

Deep Learning ist eine Erweiterung einiger Konzepte, die aus dem Machine Learning stammen, daher erklären wir zunächst, was Machine Learning ist.

Einfach ausgedrückt ist Machine Learning eine Methode, um Computern die Ausführung spezifischer Aufgaben ohne explizite Codierung jeder Zeile der Algorithmen zu ermöglichen, die zur Erledigung dieser Aufgaben verwendet werden. Es gibt viele verschiedene Machine-Learning-Algorithmen, aber einer der am häufigsten verwendeten Algorithmen ist ein Multilayer-Perceptron. Ein Multilayer-Perceptron wird auch als neuronales Netzwerk bezeichnet und besteht aus einer Reihe von Knoten/Neuronen, die miteinander verbunden sind. Es gibt drei verschiedene Schichten in einem Multilayer-Perceptron: die Eingabeschicht, die versteckte Schicht und die Ausgabeschicht.

Die Eingabeschicht nimmt die Daten in das Netzwerk auf, wo sie von den Knoten in der mittleren/versteckten Schicht manipuliert werden. Die Knoten in der versteckten Schicht sind mathematische Funktionen, die die Daten aus der Eingabeschicht manipulieren und relevante Muster aus den Eingabedaten extrahieren können. So “lernt” das neuronale Netzwerk. Neuronale Netze erhalten ihren Namen von der Tatsache, dass sie von der Struktur und Funktion des menschlichen Gehirns inspiriert sind.

Die Verbindungen zwischen den Knoten im Netzwerk haben Werte, die als Gewichte bezeichnet werden. Diese Werte sind im Wesentlichen Annahmen darüber, wie die Daten in einer Schicht mit den Daten in der nächsten Schicht zusammenhängen. Wenn das Netzwerk trainiert wird, werden die Gewichte angepasst, und das Ziel ist, dass die Gewichte/Annahmen über die Daten schließlich Werte erreichen, die die bedeutungsvollen Muster innerhalb der Daten genau darstellen.

Aktivierungsfunktionen sind in den Knoten des Netzwerks vorhanden, und diese Aktivierungsfunktionen transformieren die Daten auf nicht-lineare Weise, sodass das Netzwerk komplexe Darstellungen der Daten erlernen kann. Aktivierungsfunktionen multiplizieren die Eingabewerte mit den Gewichtswerten und addieren einen Bias-Term.

Was ist Deep Learning?

Deep Learning ist der Begriff, der Machine-Learning-Architekturen gegeben wird, die viele Multilayer-Perceptrone verbinden, sodass es nicht nur eine versteckte Schicht, sondern viele versteckte Schichten gibt. Je “tiefer” das Deep-Neural-Netzwerk ist, desto komplexere Muster kann das Netzwerk erlernen.

Die tiefen Schichten aus Neuronen werden manchmal als vollständig verbundene Netze oder vollständig verbundene Schichten bezeichnet, was darauf hinweist, dass ein gegebenes Neuron eine Verbindung zu allen umgebenden Neuronen aufweist. Vollständig verbundene Netze können mit anderen Machine-Learning-Funktionen kombiniert werden, um verschiedene Deep-Learning-Architekturen zu erstellen.

Unterschiedliche Arten von Deep Learning

Es gibt eine Vielzahl von Deep-Learning-Architekturen, die von Forschern und Ingenieuren verwendet werden, und jede dieser Architekturen hat ihren eigenen speziellen Anwendungsfall.

Convolutional Neural Networks

Convolutional Neural Networks, oder CNNs, sind die neuronale Netzwerkarchitektur, die häufig bei der Erstellung von Computer-Vision-Systemen verwendet wird. Die Struktur von Convolutional Neural Networks ermöglicht es ihnen, Bilddaten zu interpretieren und in Zahlen umzuwandeln, die ein vollständig verbundenes Netzwerk interpretieren kann. Ein CNN hat vier Hauptkomponenten:

  • Convolutional-Schichten
  • Subsampling/Pool-Schichten
  • Aktivierungsfunktionen
  • Vollständig verbundene Schichten

Die Convolutional-Schichten nehmen die Bilder als Eingaben in das Netzwerk auf, analysieren die Bilder und erhalten die Werte der Pixel. Subsampling oder Pooling ist der Prozess, bei dem die Bildwerte in reduzierter Form umgewandelt werden, um die Darstellung der Bilder zu vereinfachen und die Empfindlichkeit der Bildfilter gegenüber Rauschen zu verringern. Die Aktivierungsfunktionen kontrollieren, wie die Daten von einer Schicht zur nächsten Schicht fließen, und die vollständig verbundenen Schichten analysieren die Werte, die die Bilder darstellen, und erlernen die Muster, die in diesen Werten enthalten sind.

RNNs/LSTMs

Recurrent Neural Networks, oder RNNs, sind beliebt für Aufgaben, bei denen die Reihenfolge der Daten wichtig ist, bei denen das Netzwerk Muster in einer Datenfolge erlernen muss. RNNs werden häufig auf Probleme wie die natürliche Sprachverarbeitung angewendet, da die Reihenfolge der Wörter wichtig ist, wenn der Sinn eines Satzes entschlüsselt wird. Der “rekursive” Teil des Begriffs Recurrent Neural Network kommt von der Tatsache, dass die Ausgabe für ein bestimmtes Element in einer Folge von der vorherigen Berechnung sowie der aktuellen Berechnung abhängt. Im Gegensatz zu anderen Formen von Deep-Neural-Netzwerken haben RNNs “Erinnerungen”, und die Informationen, die bei den verschiedenen Zeitpunkten in der Folge berechnet werden, werden verwendet, um die endgültigen Werte zu berechnen.

Es gibt mehrere Arten von RNNs, einschließlich bidirektionaler RNNs, die zukünftige Elemente in der Folge berücksichtigen, wenn sie den Wert eines Elements berechnen. Eine andere Art von RNN ist ein Long Short-Term Memory, oder LSTM, Netzwerk. LSTMs sind Arten von RNNs, die lange Ketten von Daten verarbeiten können. Reguläre RNNs können von einem Problem betroffen sein, das als “explodierendes Gradientenproblem” bezeichnet wird. Dieses Problem tritt auf, wenn die Kette der Eingabedaten sehr lang wird, aber LSTMs haben Techniken, um dieses Problem zu bekämpfen.

Autoencoders

Die meisten der bisher erwähnten Deep-Learning-Architekturen werden auf überwachte Lernprobleme und nicht auf unüberwachte Lernaufgaben angewendet. Autoencoders können unüberwachte Daten in ein überwachtes Format umwandeln, sodass neuronale Netze auf das Problem angewendet werden können.

Autoencoders werden häufig verwendet, um Anomalien in Datensätzen zu erkennen, ein Beispiel für unüberwachtes Lernen, da die Natur der Anomalie nicht bekannt ist. Ein Beispiel für die Anomalieerkennung ist die Betrugsbekämpfung für Finanzinstitute. In diesem Zusammenhang besteht der Zweck eines Autoencoders darin, eine Grundlinie von regulären Mustern in den Daten zu bestimmen und Anomalien oder Ausreißer zu identifizieren.

Die Struktur eines Autoencoders ist oft symmetrisch, mit versteckten Schichten, die so angeordnet sind, dass die Ausgabe des Netzwerks der Eingabe ähnelt. Die vier Arten von Autoencodern, die häufig verwendet werden, sind:

  • Reguläre/Autoencoders
  • Mehrschichtencodierer
  • Convolutional-Codierer
  • Regulierte Codierer

Reguläre/Autoencoders sind einfach neuronale Netze mit einer einzigen versteckten Schicht, während Mehrschichtencodierer tiefe Netze mit mehr als einer versteckten Schicht sind. Convolutional-Autoencoders verwenden Convolutional-Schichten anstelle von oder zusätzlich zu vollständig verbundenen Schichten. Regulierte Autoencoders verwenden eine bestimmte Art von Verlustfunktion, die es dem neuronalen Netzwerk ermöglicht, komplexere Funktionen auszuführen, Funktionen, die über das bloße Kopieren von Eingaben in Ausgaben hinausgehen.

Generative Adversarial Networks

Generative Adversarial Networks (GANs) sind tatsächlich mehrere Deep-Neural-Netzwerke anstelle eines einzelnen Netzwerks. Zwei Deep-Learning-Modelle werden gleichzeitig trainiert, und ihre Ausgaben werden an das andere Netzwerk gesendet. Die Netzwerke sind in Konkurrenz zueinander, und da sie Zugang zu den Ausgabedaten des anderen Netzwerks haben, lernen sie beide von diesen Daten und verbessern sich. Die beiden Netzwerke spielen im Wesentlichen ein Spiel von Fälschung und Erkennung, bei dem das generative Modell versucht, neue Instanzen zu erstellen, die das Detektionsmodell/den Diskriminator täuschen. GANs sind im Bereich der Computer-Vision beliebt geworden.

Deep-Learning-Zusammenfassung

Deep Learning erweitert die Prinzipien von neuronalen Netzwerken, um komplexe Modelle zu erstellen, die komplexe Muster erlernen und diese Muster auf zukünftige Datensätze verallgemeinern können. Convolutional Neural Networks werden verwendet, um Bilder zu interpretieren, während RNNs/LSTMs verwendet werden, um sequenzielle Daten zu interpretieren. Autoencoders können unüberwachte Lernaufgaben in überwachte Lernaufgaben umwandeln. Schließlich sind GANs mehrere Netzwerke, die gegeneinander antreten und besonders nützlich für Computer-Vision-Aufgaben sind.

Blogger und Programmierer mit Spezialisierungen in Machine Learning und Deep Learning Themen. Daniel hofft, anderen zu helfen, die Macht von KI für das soziale Wohl zu nutzen.