Neuronale Netze & Deep Learning¶
Ein künstliches neuronales Netz ist eine Funktion, die aus vielen einfachen, in Schichten angeordneten Einheiten, den Neuronen, aufgebaut ist. Jede Einheit berechnet eine gewichtete Summe ihrer Eingaben und wendet eine nichtlineare Funktion an. Der Aufbau wurde lose von biologischen Neuronen inspiriert, in der Praxis versteht man ein neuronales Netz aber am besten als flexibles mathematisches Modell, dessen Parameter aus Daten gelernt werden.
Das Perzeptron¶
Das Perzeptron, 1958 von Frank Rosenblatt veröffentlicht, gibt 1 aus, wenn eine gewichtete Summe seiner Eingaben einen Schwellenwert überschreitet, und sonst 0:
mit Gewichtsvektor \(\mathbf{w}\) und Bias \(b\). Rosenblatts Lernregel findet eine trennende Hyperebene, sofern die beiden Klassen linear trennbar sind; ein einzelnes Perzeptron kann aber keine Probleme lösen, bei denen das nicht der Fall ist, etwa die XOR-Funktion. Minsky und Papert analysierten diese Grenzen 1969 in ihrem Buch Perceptrons, was zu einem Rückgang der Forschung an neuronalen Netzen in den folgenden Jahren beitrug.
Die logistische Regression als Neuron¶
Ersetzt man den harten Schwellenwert durch die glatte Sigmoid-Funktion, erhält man
Das ist genau das Modell der logistischen Regression: Die Gewichte \(\mathbf{w}\) entsprechen den Steigungen \(\beta_1, \dots, \beta_p\), der Bias \(b\) dem Achsenabschnitt \(\beta_0\). Dieses Neuron durch Minimierung der binären Kreuzentropie zu trainieren, ist dasselbe wie die Maximum-Likelihood-Schätzung der Koeffizienten der logistischen Regression.
Der rote Faden
Ein neuronales Netz für binäre Klassifikation mit einer Sigmoid-Ausgabeeinheit ist eine logistische Regression, deren Eingaben nicht die Rohmerkmale sind, sondern Merkmale, die die vorangehenden Schichten gelernt haben.
Mehrschichtige Netze¶
Ein mehrschichtiges Perzeptron (MLP), auch Feedforward-Netz genannt, stapelt Schichten von Neuronen:
Die Aktivierungsfunktion \(g\) muss nichtlinear sein; andernfalls würde die Hintereinanderschaltung der Schichten zu einer einzigen linearen Abbildung zusammenfallen. Die Rectified Linear Unit, ReLU, \(g(z) = \max(0, z)\), ist eine gängige Standardwahl für verborgene Schichten. Bei Klassifikation mit mehr als zwei Klassen wendet die Ausgabeschicht die Softmax-Funktion an, die einen Vektor von Scores in Wahrscheinlichkeiten umwandelt, die sich zu eins summieren.
Das universelle Approximationstheorem (Cybenko, 1989; Hornik, 1991) besagt, dass ein Netz mit einer einzigen verborgenen Schicht und geeigneter nichtlinearer Aktivierung jede stetige Funktion auf einem kompakten Bereich beliebig genau approximieren kann, sofern es genügend verborgene Einheiten hat. Das Theorem sagt nichts darüber aus, wie viele Einheiten nötig sind oder wie man die Gewichte findet. In der Praxis lernen tiefe Netze mit vielen Schichten nützliche Repräsentationen weit effizienter, daher der Begriff Deep Learning.
Training: Gradientenabstieg und Backpropagation¶
Training bedeutet, alle Parameter \(\boldsymbol\theta\) so anzupassen, dass eine Verlustfunktion \(L\) minimiert wird, etwa die Kreuzentropie bei Klassifikation. Der Gradientenabstieg macht wiederholt einen kleinen Schritt in Richtung des steilsten Abstiegs:
wobei \(\eta > 0\) die Lernrate ist. Der Gradient wird mit Backpropagation berechnet, einer effizienten Anwendung der Kettenregel, die Fehlersignale von der Ausgabeschicht rückwärts durch das Netz weitergibt. Die zugrunde liegende Technik, das automatische Differenzieren im Rückwärtsmodus, beschrieb Seppo Linnainmaa 1970; Paul Werbos schlug ihre Anwendung auf neuronale Netze vor, und Rumelhart, Hinton und Williams (1986) demonstrierten ihren Einsatz zum Training mehrschichtiger Netze und machten ihn bekannt. In der Praxis werden die Gradienten auf kleinen zufälligen Teilmengen der Daten geschätzt (stochastischer Mini-Batch-Gradientenabstieg), oft mit adaptiven Verfahren wie Adam (Kingma & Ba, 2014).
Warum Deep Learning um 2012 durchstartete
Die Kernideen sind Jahrzehnte alt. Der Durchbruch kam durch das Zusammentreffen großer gelabelter Datensätze wie ImageNet, schneller paralleler Berechnung auf Grafikprozessoren (GPUs) und praktischer Verbesserungen wie ReLU-Aktivierungen, besserer Gewichtsinitialisierung und Dropout.
Wichtige Architekturen¶
- Convolutional Neural Networks (CNNs, faltende neuronale Netze) wenden kleine gelernte Filter über ein Bild hinweg an und teilen dabei die Gewichte zwischen den Positionen. Sie dominierten die Bildverarbeitung den Großteil der 2010er-Jahre.
- Rekurrente neuronale Netze (RNNs), insbesondere Long Short-Term Memory-Netze (LSTMs; Hochreiter & Schmidhuber, 1997), verarbeiten Sequenzen Element für Element und führen dabei einen inneren Zustand mit. Vor den Transformern waren sie der Standard für Sprachaufgaben.
- Autoencoder lernen, Eingaben in einen niedrigdimensionalen Code zu komprimieren und daraus zu rekonstruieren – ein nichtlinearer Verwandter der PCA.
- Transformer ersetzen Rekurrenz durch Attention und werden auf der nächsten Seite behandelt.
Überanpassung
Tiefe Netze haben oft Millionen oder Milliarden Parameter. Regularisierungstechniken wie Dropout, Weight Decay, Datenaugmentation und frühes Stoppen sind daher ebenso unerlässlich wie eine sorgfältige Modellbewertung.