Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Wenn sich ein Neuronales Netz an zu viel Input „festfrisst“ Was ist ResNet50?

Von M.A. Jürgen Höfling

Deep Learning hat seine Tücken. Zuweilen führt tieferes Bohren nicht zu mehr Erkenntnis, sondern zu größerer Verwirrung. Dann hilft nur der Mut zur Lücke.

Anbieter zum Thema

Künstliche Neuronale Netze: Mit Abkürzungen kommt man leichter zum Ziel.
Künstliche Neuronale Netze: Mit Abkürzungen kommt man leichter zum Ziel.
(Bild von Ahmed Gal auf Pixabay)

Manchmal ist weniger mehr. Das gilt auch für Künstliche Neuronale Netze, wie sie im Bereich des Maschinellen Lernens (ML) eingesetzt werden. Es ist nämlich keineswegs so, dass man nur immer mehr Schichten „draufsatteln“ muss, um optimale Lernerfolge zu erzielen. Konkret: Ein Computersystem wird bei der Dechiffrierung und Bearbeitung von Bildern nicht immer besser, nur weil man die jeweilige Ausgabe eines Layers beständig als Input für den nächsten Layer bereitstellt (die so genannte Backpropagation), um die aufgetretenen Fehler kontinuierlich zu reduzieren.

Tatsächlich ist das Gegenteil der Fall: Ab einer bestimmten Tiefe der „Schichtung“ wird der Lernfortschritt immer geringer, bis er dann ab einem bestimmten Punkt umkippt und die Trainingsergebnisse wieder schlechter werden.

Der verschwindende Gradient

An diesem Kipp-Punkt beginnt der Gradient zu verschwinden, das heißt er wird immer kleiner. Mathematisch wird nämlich die Formel des Backpropagation-Verfahrens durch Differenziation hergeleitet. Die zwei Eingabewerte einer Zelle, also des künstlichen Neurons, bilden zusammen mit ihren Gewichtungen eine zweidimensionale Hyper-Ebene als Ausgabe, wobei die Fehler der Ausgabe jeweils diesen Gewichten zugeordnet werden können.

Wo diese Fehler liegen und wie groß sie jeweils sind, kann man dadurch bestimmen, dass man die (lokalen) Minima auf der Fehleroberfläche findet. Dafür nutzt man das Gradientenverfahren, wobei von einem Punkt der Oberfläche aus in die Richtung derjenigen Stelle abgestiegen wird, an der die Fehlerfunktion am stärksten abfällt.

Wichtig ist, dass die einzelnen Berechnungsschritte dabei in einen zeitlichen Kontext gestellt werden. Mathematisch ausgedrückt: Die Eingabe- und Ausgabesequenzen X = (x1,…,xn)) beziehungsweise Y= (y1,….,yn), geben verschiedene Zeitpunkte in der Sequenz an. Des Weiteren gibt es eine Gewichtungsmatrix Wij, die die Aktivierung eines Neurons i in ein Neuron j gewichtet. Die Berechnung eines Zeitschritts der Ausgabesequenz berechnet sich dabei rekursiv über alle vorherigen Eingaben und Aktivierungen.

Wenn das Lernen auf der Kippe steht

Verschwindende Gradienten treten dann auf, wenn viele der im Backpropagation-Prozess berechneten partiellen Ableitungen kleiner als 1 sind. Dadurch wird das Training stark durch die Anfangsgewichte bestimmt, sprich ein „Lernen“ des Netzes findet praktisch nicht mehr statt und verkehrt sich sogar ins Gegenteil.

Am Beispiel der Erkennung von handschriftlich geschriebenen Ziffern lässt sich das Problem des verschwindenden Gradienten beispielhaft erläutern. Ab dem „Lern-Kipp-Punkt“ kapriziert sich das System auf die Eigenart einer mit einer bestimmten Handschrift geschriebenen Ziffer derart, dass es nicht mehr in der Lage ist, dieselbe Ziffer, die mit einer anderen Handschrift geschrieben ist, überhaupt noch zu erkennen.

Anders ausgedrückt: das System hat die Eigenart einer bestimmten Handschrift derart intensiv auswendig gelernt, dass es nicht mehr generalisieren kann. Man spricht hier auch von einer Überbestimmung (overfitting) der jeweiligen Größe. Es gibt einfach zu viele Parameter.

Bei der Bilderkennung hat der Gradient beispielsweise mit der automatischen Erkennung von Kanten zu tun. Aus intuitiver Sicht symbolisiert er quasi die Intensität, mit der in einem gegebenen lokalen Umfeld der Eingabesequenz eine Kante vorliegt. Und die oben angeführte Fehlerfunktion beschreibt sozusagen die Wahrscheinlichkeit, mit der die Kante tatsächlich erkannt werden kann.

Ergebnisfunktion im zeitlichen Kontext

Das Verfahren Residual Net (ResNet) versucht nun das Problem der verschwindenden Gradienten und die beschriebenen Folgen bei künstlichen Neuronalen Netzen in den Griff zu bekommen. Die Zahl hinter dem Begriff, also ResNet-50 als Beispiel, bedeutet dabei lediglich, dass es sich um ein „Residual-Netz“ mit 50 Schichten (Layern) handelt. In der ML-Forschung wird mit von Fall zu Fall mit einer unterschiedlichen Anzahl von Eebenen gearbeitet, aber ResNet-50 wird speziell bei Benchmark-Ergebnissen immer wieder als Referenz genannt.

Was ist nun ein Residual- oder Rest-Netz genau? Dazu erst noch eine Vorbemerkung: Tatsächlich handelt es sich bei ResNet um ein Netz, bei der die Aktivität einer jeden Zelle über eine diskrete Faltung berechnet wird. Meist nennt man in der Literatur diesen Netztyp „Convolutional Neural Network“. Mathematisch bedeutet die Faltung f*g, dass jeder Wert f durch das mit g gewichtete Mittel der ihn umgebenden Werte ersetzt wird. Im Jargon spricht man auch von einer „Verschmierung von f“.

Anschaulich stellt eine eindimensionale Faltung die Gewichtung einer zeitabhängigen Funktion mit einer anderen zeitabhängigen Funktion dar. Die Gewichtung gibt also an, wie stark ein bestimmtes Gewicht aus der Vergangenheit in den Wert der Ergebnisfunktion eingeht. Die Ergebnisfunktion wird somit, wie oben schon angedeutet, in einen größeren zeitlichen Kontext gestellt, weil Lernen nur im zeitlichen Ablauf sinnvoll definierbar ist.

Den Restwert approximieren

Nun zu dem „ominösen“ Restnetz: der Hauptgedanke von ResNet besteht darin, nicht darauf zu warten, dass die immer tiefer gehenden beziehungsweise immer höher gestapelten Schichten sich einer finalen Funktion anzunähern, die mit der Praxis, zum Beispiel bei der Bilderkennung, übereinstimmt (eine Erwartung , die nicht realistisch ist, wie oben dargelegt), sondern das Hauptaugenmerk darauf zu legen, beim Training des „tief gelegenen Restnetzes“ - sozusagen nach 50 Schichten - die Restfunktion zu lernen.

Wenn das Netz also irgendwie die Differenz zwischen Eingabe und Ausgabe lernt, so der Gedanke der Erfinder, kann die Gesamtgenauigkeit erhöht werden. Mit anderen Worten, der Restwert soll so erlernt werden, dass er sich Null nähert und somit die Identitätszuordnung optimal wird.

Das geht folgendermaßen vor sich: Während der Backpropagation gibt es zwei Wege, auf denen die Gradienten zurück zur Eingabeschicht gelangen, während sie einen Restblock durchlaufen: zum einen die Identitätszuordnung und zum anderen die Restzuordnung.

Ballast abwerfen

Um die Gradientenwerte vor dem Verschwinden zu bewahren, wird die Identitätsabbildung, auch Abkürzungsverbindung genannt, verwendet. Das heißt, die Gradienten nehmen als Abkürzung einen Pfad, bei dem sie keine Gewichtungsschicht durchlaufen müssen. Dadurch ändert sich der Wert der berechneten Gradienten nicht. Sie verschwinden also nicht.

Der Restblock wird übersprungen und die Anfangsschichten sind für die Gewichtung maßgeblich. Wenn sich der Restwert Null nähert, hat das System das Erkennungsoptimum erreicht.

Speziell im Bereich Bilderkennung hat sich dieser Ansatz als sehr fruchtbar erweisen. Auch Weglassen führt zum Ziel. Oder besser: gerade Weglassen führt zum Ziel, während unnötiger Ballast das Ziel verstellen kann.

(ID:48133178)