Als Machine Learning werden verschiedene mathematische Methoden bezeichnet, mit deren Hilfe sich bestimmte Muster erkennen lassen. Computer erkennen diese Muster dadurch, dass die Daten in eine hierarchische Struktur, also in einen sogenannten Entscheidungsbaum, aufgteilt sind. Alternativ lassen sich Ähnlichkeiten in den Datensätzen auch über Vektoren ermitteln, sodass sich die Muster ganz automatisch erschließen.
Mittlerweile sind die dafür verwendeten Algorithmen sogar dazu in der Lage, nicht nur ganz alltägliche, sondern auch äußerst spezielle Probleme zu lösen. Vor Problemen stehen Entwickler lediglich, wenn das Datenmaterial zu dünn ist oder dieses in zu viele Dimensionen aufgeteilt ist. Der Grund dafür: Basieren die Algorithmen auf Vektorräumen stoßen sie durch zu viele Dimensionen an die Grenzen ihrer Leistungsfähigkeit. Lern-Algorithmen hingegen werden zu komplex, wenn sich die Daten in zu viele Dimensionen aufteilen. Weil diese dimensionalen Räume sehr groß sein können, sind die Algorithmen damit schlicht überfordert.
Mittels statistischer Methoden lässt sich die Zahl der Dimensionen aber so weit reduzieren, dass lediglich die nützlichsten relevant sind. Dieser Auswahlprozess wird auch als Feature Engineering bezeichnet. Die Auswahl der passenden Features nimmt auch den größten Teil der Arbeitszeit der Data Scientists in Anspruch.
Besonderheit beim Deep Learning – Neuronale Netze
Beim Deep Learning handelt es sich folglich nur um eine Unterdisziplin des maschinellen Lernens, bei welchem künstliche neuronale Netze in Einsatz kommen. Hierbei machen sich die Entwickler die Natur zum Vorbild, indem sie sich am Aufbau biologischer neuraler Netze orientieren. Die Neuronen der künstlichen Netzwerke werden dann dahingehend trainiert, dass sich durch ein bestimmtes Eingabemuster auch stets dasselbe Ausgabemuster ergibt.
Bei künstlichen neuronalen Netzwerken existiert der Vorteil, dass die Zusammenhänge zwischen den Daten der Eingabe und jenen der Ausgabe sehr stark abstrahieren lässt. Deshalb lässt Deep Learning auch genutzt, wenn sich mit Hilfe anderer maschineller Lernverfahren nicht die gewünschten Ergebnisse erzielen lassen oder auch wenn kein eigenes Feature Engineering in Verwendung ist.
Woraus bestehen künstliche neuronale Netze?
In den meisten Fällen handelt es sich bei den künstlichen neuronalen Netzen um ein Algorithmen-Modell, mit welchem das maschinelle Lernen überwacht oder unüberwacht stattfinden kann. Letztere werden auch als Deep Autoencoder bezeichnet. Diese Netze reduzieren eine Vielzahl an Eingabe-Dimensionen möglichst weit herunter, sodass diese den Feature-Vektor darstellen. Anschließend erfolgt eine Erweiterung der reduzierten Dimensionen und die ursprünglichen Eingabedimensionen lassen in Form eines abstrakten Modells darstellen. Der Sinn und Zweck des Ganzen besteht darin, mit Hilfe dieses Verfahrens ein abstraktes Ähnlichkeitsmodell zu erstellen. Zum Einsatz kommt dieses Verfahren vor allem, wenn ähnliche Bilder, akustische Signalmuster oder Texte maschinell erkannt werden sollen.
Um Bilddaten zu klassifizieren werden aber auch gern sogenannte Convolutional Neuronal Networks verwendet. Im Grunde handelt es sich dabei um ein klassisches neuronales Netz – mit einem kleinen Unterschied: In diesem Fall ist eine Pooling- sowie eine Faltungsschicht vorgeschaltet. Durch die Faltungsschicht werden die eingegebenen Daten mehrfach eingelesen, jedoch immer nur ein bestimmter Abschnitt. Erst dann beginnt das eigentliche neuronale Netz mit seiner Arbeit. Bei einem Convolutional Neuronal Network wird das Feature Engineering also wesentlich geschickter gehandhabt. Hierbei handelt es sich um einen ganz speziellen Aspekt des Machine Learnings.