Neuronale Netze und Deep Learning

Juni 13, 2018
Sohrob Kazerounian
Distinguished AI Researcher
Neuronale Netze und Deep Learning

Was ist Deep Learning?

Deep Learning bezieht sich auf eine Familie von Algorithmen für maschinelles Lernen, die für überwachtes, unbeaufsichtigtes und verstärkendes Lernen verwendet werden können. Diese Algorithmen werden nach vielen Jahren in der Wildnis immer beliebter. Der Name rührt von der Erkenntnis her, dass ein neuronales Netz durch Hinzufügen einer zunehmenden Anzahl von Schichten immer komplexere Darstellungen der Daten erlernen kann. Inspiriert von der biologischen Struktur und Funktion der Neuronen im Gehirn, stützt sich das Deep Learning auf große, miteinander verbundene Netzwerke künstlicher Neuronen.

Was sind neuronale Netze?

Die Modelle künstlicher neuronaler Netze orientieren sich an den biologischen Schaltkreisen, aus denen das menschliche Gehirn besteht. Künstliche neuronale Netze wurden zunächst geschaffen, um zu zeigen, wie biologische Schaltkreise die Wahrheitswerte von Aussagen in der Logik erster Ordnung berechnen oder bestimmen können. Neuronale Netze lernen relevante Merkmale aus einem Datensatz und bauen immer komplexere Darstellungen dieser Merkmale auf, wenn Daten in höhere Netzschichten fließen.

Warren S. McCullough und Walter Pitts' Verständnis von neuronalen Netzen

Warren S. McCullough und Walter Pitts zeigten, wie man eine Reihe von Logikgattern konstruiert, die die binären Wahrheitswerte berechnen können. Die Neuronen in ihrem Modell sind individuelle Einheiten, die die Aktivität anderer Neuronen integrieren. Jede Verbindung zwischen Neuronen wird gewichtet, um die synaptische Wirksamkeit zu simulieren - die Fähigkeit eines präsynaptischen Neurons, ein postsynaptisches Neuron zu aktivieren.

Obwohl sie die zeitliche Abfolge der Verarbeitung berücksichtigten und Rückkopplungsschleifen einbeziehen wollten, waren ihre Modelle nicht in der Lage, zu lernen oder sich anzupassen.

Neuronen und ihre Verschaltungen & Neuronennetze
Links: Eine Zeichnung von Neuronen und ihren Verbindungen durch den frühen Neuroanatomen Ramon y Cajal.
Rechts: Zeichnungen von "Neuronennetzen" von McCullough und Pitts, die logische Aussagen verarbeiten sollen

Lernen mit neuronalen Netzen erklärt

Obwohl es verschiedene Lernregeln für das Training eines neuronalen Netzes gibt, kann man sich das Lernen im Grunde wie folgt vorstellen: Ein neuronales Netz erhält eine Eingabe, und die Aktivität breitet sich über eine Reihe miteinander verbundener Neuronen aus, bis sie einen Satz von Ausgangsneuronen erreicht.‍

Diese Ausgangsneuronen bestimmen die Art der Vorhersage, die das Netz trifft. Um zum Beispiel handgeschriebene Ziffern zu erkennen, könnten wir 10 Ausgangsneuronen im Netz haben, eines für jede der Ziffern zwischen 0-9. Zu Beginn werden die Gewichte zwischen den Neuronen auf zufällige Werte gesetzt, und die ersten Vorhersagen darüber, welche Ziffer in einem Bild zu sehen ist, sind zufällig. Bei jedem neuen Bild können die Gewichte so angepasst werden, dass die Wahrscheinlichkeit steigt, dass das Neuron beim nächsten Mal, wenn es ein ähnliches Bild sieht, die richtige Antwort ausgibt.‍

Durch die Anpassung der Gewichte auf diese Weise kann ein neuronales Netz lernen, welche Merkmale und Darstellungen für die korrekte Vorhersage der Klasse des Bildes relevant sind, anstatt dass dieses Wissen von Hand vorgegeben werden muss.‍

Obwohl jedes beliebige Verfahren zur Aktualisierung der Gewichte auf diese Weise ausreichen kann, z. B. biologische Lerngesetze, evolutionäre Algorithmen und simuliertes Annealing, wird heute hauptsächlich die Methode der Backpropagation verwendet.

Der Backprop-Algorithmus, der seit den 1960er Jahren mehrfach von verschiedenen Forschern entdeckt wurde, wendet die Kettenregel an, um mathematisch abzuleiten, wie sich der Output eines Netzes in Abhängigkeit von Änderungen seiner Gewichte verändert. Auf diese Weise kann ein Netz seine Gewichte gemäß einer auf dem Gradientenabstieg basierenden Aktualisierungsregel anpassen.‍

Obwohl die Regeln für den Betrieb und das effektive Lernen neuronaler Netze vorhanden sind, waren einige weitere mathematische Tricks erforderlich, um Deep Learning wirklich auf den neuesten Stand zu bringen.‍

Einer der Gründe, der das Lernen in neuronalen Netzen erschwerte, insbesondere in tiefen oder mehrschichtigen Netzen, wurde 1991 von Sepp Hochreiter mathematisch beschrieben. Dieses Problem wurde als das Problem des verschwindenden Gradienten bezeichnet, mit einem dualen Problem, das heute als das Problem der explodierenden Gewichte bezeichnet wird.

Hochreiters Analyse motivierte die Entwicklung einer Klasse von rekurrenten neuronalen Netzen (RNN), die als Modelle mit langem Kurzzeitgedächtnis (LSTM) bekannt sind und eher in die Tiefe der Zeit als in die Tiefe des Raums gehen. LSTMs überwanden viele Schwierigkeiten, mit denen RNNs konfrontiert waren, und gehören heute zum Stand der Technik bei der Modellierung zeitlicher oder sequenzieller Daten. Parallele Entwicklungen für Feedforward- und Faltungsneuronale Netze würden ihre Fähigkeit, traditionelle maschinelle Lerntechniken bei einer Vielzahl von Aufgaben zu übertreffen, in ähnlicher Weise verbessern.

Neben Hardware-Fortschritten wie der Verbreitung von Grafikprozessoren (GPUs) und der immer größeren Verfügbarkeit von Daten haben auch intelligentere Gewichtungsinitialisierungen, neuartige Aktivierungsfunktionen und bessere Regularisierungsmethoden dazu beigetragen, dass neuronale Netze so gut funktionieren, wie sie es heute tun.

Vectra AI Ansatz zur Anwendung von Deep Learning auf die Cybersicherheit

Vectra AI nutzt Deep Learning und künstliche neuronale Netze, um komplexe Darstellungen von erlernten, relevanten Merkmalen aus einem Datensatz zu erstellen. Da diese Darstellungen erlernt und nicht von Datenwissenschaftlern vorgegeben werden, sind sie äußerst leistungsfähig, wenn sie zur Lösung hochkomplexer Probleme eingesetzt werden. Erfahren Sie mehr über Vectra AIüber die Anwendung von Deep Learning und maschinellem Lernen.