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 umfasst. Deep Learning ist auch eine Teildisziplin des maschinellen Lernens im Allgemeinen, daher ist es wichtig, zu verstehen, was maschineller Lernen ist, um Deep Learning zu verstehen.

Was ist Machine Learning?

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

Maschineller Lernen ist eine Methode, um Computern bestimmte Aufgaben auszuführen, ohne jeden Algorithmus, der zur Ausführung dieser Aufgaben verwendet wird, explizit zu programmieren. Es gibt viele verschiedene maschinelle Lernalgorithmen, aber einer der am häufigsten verwendeten Algorithmen ist ein Multilayer-Perzeptron. Ein Multilayer-Perzeptron wird auch als neuronales Netzwerk bezeichnet und besteht aus einer Reihe von miteinander verbundenen Knoten/Neuronen. Es gibt drei verschiedene Schichten in einem Multilayer-Perzeptron: 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 können, um relevante Muster aus den Eingabedaten zu extrahieren. 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 letztendlich auf Werte konvergieren, die die bedeutungsvollen Muster in den 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 maschinellen Lernalgorithmen gegeben wird, die viele Multilayer-Perzeptrone zusammenfügen, sodass es nicht nur eine versteckte Schicht gibt, sondern viele versteckte Schichten. Je “tiefer” das Deep-Learning-Netzwerk ist, desto komplexere Muster kann das Netzwerk erlernen.

Die tiefen Netzwerke, die aus Neuronen bestehen, 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 maschinellen Lernalgorithmen 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 Spezialfall.

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-/Pooling-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 umgewandelt/reduziert werden, um die Darstellung der Bilder zu vereinfachen und die Empfindlichkeit der Bildfilter gegenüber Rauschen zu verringern. Die Aktivierungsfunktionen steuern, 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 eine Sequenz von Daten erlernen muss. RNNs werden häufig auf Probleme wie die natürliche Sprachverarbeitung angewendet, da die Reihenfolge der Wörter wichtig ist, wenn die Bedeutung eines Satzes entschlüsselt wird. Der “rekurrente” Teil des Begriffs Recurrent Neural Network kommt von der Tatsache, dass die Ausgabe für ein bestimmtes Element in einer Sequenz von der vorherigen Berechnung sowie der aktuellen Berechnung abhängt. Im Gegensatz zu anderen Formen von Deep-Learning-Netzwerken haben RNNs “Erinnerungen”, und die Informationen, die bei den verschiedenen Zeitpunkten in der Sequenz berechnet werden, werden verwendet, um die endgültigen Werte zu berechnen.

Es gibt mehrere Arten von RNNs, darunter bidirektionale RNNs, die zukünftige Elemente in der Sequenz berücksichtigen, zusätzlich zu den vorherigen Elementen, 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 Opfer des sogenannten “explodierenden Gradientenproblems” werden. 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 Lernalgorithmen angewendet, anstatt auf unüberwachte Lernalgorithmen. 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 Kontext besteht der Zweck eines Autoencoders darin, eine Grundlinie von regelmäßigen 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
  • Multilayer-Encoder
  • Convolutional-Encoder
  • Regularisierte Encoder

Reguläre/Autoencoders sind einfach neuronale Netze mit einer einzigen versteckten Schicht, während Multilayer-Autoencoders tiefe Netze mit mehr als einer versteckten Schicht sind. Convolutional-Autoencoders verwenden Convolutional-Schichten anstelle von oder zusätzlich zu vollständig verbundenen Schichten. Regularisierte 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-Learning-Netzwerke anstelle eines einzigen 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 Ausgaben 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 Netzen, 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 Lernalgorithmen in überwachte Lernalgorithmen umwandeln. Schließlich sind GANs mehrere Netzwerke, die gegeneinander ausgetragen werden, und sie sind besonders nützlich für Computer-Vision-Aufgaben.

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.