Deep Learning - Königsdisziplin der Künstlichen Intelligenz

Alles dreht sich um Neuronen

von - 21.12.2018
DFF
Feed-Forward-Netze: Diese Form eines neuronalen Netzes besteht aus einer Input-Schicht, einem oder mehreren Hidden Layern und einer Output-Schicht.
(Quelle: Towardsdatascience.com)
Die Grundlagen von Deep Learning wurden bereits in den 1950er-Jahren mit der Entwicklung von künstlichen neuronalen Netzen gelegt. Diese versuchten, Prinzipien des Gehirns maschinell nachzubilden - ohne mit dem Anspruch anzutreten, ein Modell oder gar Abbild des Gehirns zu sein. Lediglich die Grundprinzipien des natürlichen und künstlichen Systems waren ähnlich: Viele einzelne „Recheneinheiten“ (Neuronen) verarbeiten durch Vernetzung Informationen.
Um neuronale Netze und Deep Learning ansatzweise zu verstehen, braucht man einiges an Hintergrundwissen. Die elementaren Bausteine und Knotenpunkte in einem neuronalen Netzwerk - natürlich wie künstlich - bilden Neuronen. An jedem einzelnen Neuron treffen ein oder mehrere Eingangssignale zusammen. Diese Eingangssignale sind numerische Daten und werden von jedem Neuron aufgenommen (Input), verarbeitet und in Form neuer Signale an die nächste Gruppe von Neuronen weitergegeben (Output). Die Signale, die ein Neuron empfängt, stammen - je nachdem an welcher Stelle sich das Neuron im Netzwerk befindet - entweder von vorhergehenden Neuronen oder direkt von den eingehenden Daten.
Jedes Neuron errechnet aus den Inputs der Neuronen oder der Eingangsdaten eine sogenannte Aktivierungsfunktion. Sie legt fest, ob das Neuron im nächsten Zeitschritt aktiv oder nicht aktiv ist. Ist es aktiv, „feuert“ das Neuron und gibt S­i­gnale weiter; ist es nicht aktiv, gibt es keine Information weiter. Die Verbindungen zwischen den künstlichen Neuronen können dabei wie im menschlichen Gehirn stärker oder schwächer sein und werden durch Gewichte ausgedrückt.
Diese Neuronen-Verknüpfungen sind der entscheidende Faktor in einem neuronalen Netz. Je stärker die Verbindung und je größer damit das Gewicht ist, desto größer ist auch der Einfluss eines Neurons auf ein anderes. Ein positives Gewicht übt auf ein anderes Neuron also einen erregenden, verstärkenden Einfluss auf, ein negatives einen hemmenden.
Entscheidend ist: In der Veränderung der Gewichte ist der Lernfortschritt begründet. Die Gewichte werden im Verlauf des Trainings so angepasst, dass der Fehler, den das neuronale Netz während des Trainings macht, immer kleiner wird. Dafür wird berechnet, wie sehr die Schätzung des Netzwerks von den tatsächlich beobachteten Datenpunkten abweicht. Nach der Ermittlung des Gesamtfehlers werden die Gewichte des Netzes rekursiv upgedatet. Dabei wird so aktualisiert, dass der Fehler im nächsten Durchlauf kleiner wird. Man kann sagen: Das Wissen eines neuronalen Netzes ist in den Gewichten gespeichert.

Mehrere Ebenen

Auf diesen Grundprinzipien basieren Deep-Learning-Netze. Sie können als spezielle neuronale Netze verstanden werden, die besonders „tief“ sind. Frühere Versionen neuronaler Netze bestanden lediglich aus einer Eingangs- und einer Ausgangsschicht und höchstens einer Neuronenschicht dazwischen, sie waren „flach“. Heute werden neuronale Netze mit zahlreichen Zwischenschichten zwischen Eingangs- und Ausgangsschicht modelliert - das können durchaus 150 und 200 Schichten sein. Diese Schichten werden als Hidden Layer bezeichnet  „Hidden“, weil sie von außen quasi unsichtbar sind. Durch diese Hidden -Layer fließen die Daten in einem mehrstufigen Prozess der Mustererkennung.
Das Spezielle an Deep Learning ist nun, dass die Neuronen in sehr viele solcher Schichten eingeteilt werden. Diese zahlreichen Hidden Layer verleihen Deep-Learning-Netzen eine komplexe innere Struktur - was sie zur Lösung anspruchsvoller Aufgaben prädestiniert: Je mehr Schichten und je mehr Knotenpunkte ein künstliches neuronales Netz enthält, desto komplexere Aufgaben können von ihm gelöst werden.
Jede Schicht erledigt beim Training des Netzes bestimmte Aufgaben und identifiziert Merkmale, die auf dem Output der vorherigen Schicht basieren. In jeder Neuronenschicht werden neue Informationen generiert, die anhand der Daten der vorherigen Schicht gewonnen werden. Das bedeutet: Je weiter man in das neuronale Netz vordringt, desto komplexer werden die Merkmale, die die Neuronen erkennen können, da sie Eigenschaften aus der vorherigen Schicht aggregieren und rekombinieren. Das Endergebnis wird im sichtbaren Output Layer, der letzten Schicht, ausgegeben.
Ein Beispiel veranschaulicht das Prinzip: Soll Deep Learning ein Bild erkennen, registrieren die Einheiten der ersten Schicht nur die Helligkeitswerte einzelner Pixel. Die nächste Ebene erkennt, dass einige Pixel miteinander zu Kanten verbunden sind. Die dritte unterscheidet zwischen horizontalen und vertikalen Linien und so weiter, bis in den hinteren Ebenen die Neuronen Augen auseinanderhalten und das System weiß, dass in einem Gesicht typischerweise zwei davon auftauchen. Diese aufsteigende Hie­rarchie mit zunehmender Komplexität und Abstraktion von Merkmalen heißt Feature-Hierarchie. Sie versetzt Deep-Learning-Netzwerke in die Lage, sehr große, hochdimensionale Datensätze mit Milliarden von Parametern zu verarbeiten.
Verwandte Themen