Deep Learning

Deep Learning ist ein Teilgebiet des maschinellen Lernens und befasst sich mit künstlichen neuronalen Netzen (engl. Neural Networks). Diese sind dem menschlichen Gehirn nachempfunden (viele Schichten aus Neuronen, die miteinander verbunden sind) und können sehr komplexe Sachverhalte und Problemstellungen abbilden bzw. lösen. Mehr zum Aufbau eines künstlichen Neurons ist im entsprechenden Wiki Eintrag beschrieben. Die Besonderheit von Neuronalen Netzen ist, dass für jede Klasse eine Reihe von Assoziationen bzw. Eigenschaften abgeleitet und gespeichert wird. Wenn bspw. ein Netz verschiedene Obstsorten klassifizieren soll, wird es etwa für Äpfel die Eigenschaften rot und rund ableiten. Durch diese Funktionsweise ist das Netz dann in der Lage, verschiedene Äpfel zu erkennen, auch wenn diese nicht immer genau gleich aussehen. Mit klassischen Machine Learning Algorithmen würde das nicht funktionieren.

Arten von Neuronalen Netzen #

Bei neuronalen Netzen gibt es verschiedene Kombinationen an Schichten (sogenannte Architekturen), die sich jeweils für eine bestimmte Art von Aufgabe sehr gut einsetzen lassen. In der folgenden Tabelle werden

ModelltypBeschreibung
Dense NetworkEin dichtes neuronales Netz besteht aus vielen Schichten mit beliebig vielen Neuronen pro Schicht. Der Name kommt zu Stande, da die Schichten vollständig miteinander verbunden sind, d.h. jedes Neuron einer Schicht ist mit allen der vorherigen Schicht vernetzt.
Anwendung: Dense Networks können unter anderem dazu verwendet werden generierte Features auszuwerten. Aufgrund der guten Skalierbarkeit können auch große Inputs problemlos verarbeitet werden. Ein Beispiel könnte eine Versicherung sein, die auf Basis einer Reihe von Eigenschaften über einen Kunden entscheidet, welche Beiträge er zahlen muss.
Convolutional Neural NetworkKern der Convolutional Networks (kurz CNN) sind die namensgebenden Convolutional Schichten, die aus den Eingabedaten eigenständig Muster und Eigenschaften ableiten. Die genaue Funktionsweise wird in einem eigenen Wiki Eintrag erläutert.
Anwendung: CNNs eignen sich extrem gut zur Bild- und Audioverarbeitung. Durch ihre Funktionsweise können sie aus Bildern die relevanten Eigenschaften ermitteln (bspw. Kanten und Form eines Autos) und auf neue Daten anwenden. Um das Beispiel vom Beginn aufzugreifen, könnte ein Netz mit verschiedenen Obstsorten trainert werden und diese dann in neuen Bildern wiedererkennen.
Recurrent Neural NetworkDie dritte bekannteste Art von Neuronalen Netzen sind die Rekurrenten Neuronalen Netze, bei denen innerhalb der Schichten eine Rückopplung erfolgt. So werden im Gegensatz zu CNNs bei der Verarbeitung einer Eingabe nicht nur die eingehenden Daten betrachtet, sondern auch vorherige Eingaben. So sind die Netze in der Lage, Zusammenhänge über die Zeit hinweg abzubilden.
Anwendung: RNNs werden meist verwendet, um Daten mit einem zeitlichen Zusammenhang zu verarbeiten. Das können zum Beispiel Kursverläufe von Aktien sein, die sich über die Zeit hinweg verändern. Weitere große Anwendungsfelder sind Übersetzungen und Spracherkennung.

Weiterführende Links:
Recurrent Neural Network Cheatsheet: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks
Zeitreihenprognosen: https://www.tensorflow.org/tutorials/structured_data/time_series
Predicting Stock Prices: https://towardsdatascience.com/tagged/stock-prediction

Schreibe einen Kommentar