-
Die vorliegende Erfindung betrifft das Weitertrainieren bereits trainierter neuronaler Netzwerke, die die beispielsweise für die Klassifikation von Bildern oder anderen Messdaten im Hinblick auf das Vorhandensein bestimmter Typen von Objekten genutzt werden können.
-
Stand der Technik
-
Neuronale Netzwerke, die beispielsweise Bilder oder andere Messdaten im Hinblick auf das Vorhandensein bestimmter Objekte klassifizieren, werden typischerweise überwacht auf einer großen Menge von Trainings-Beispielen trainiert, die mit Soll-pAusgaben gelabelt sind. Nach Abschluss des Trainings wird erwartet, dass das neuronale Netzwerk auch für im Training ungesehenen Bildern bzw. Messdaten die im Hinblick auf die konkrete gestellte Aufgabe richtige Ausgabe liefert.
-
Hierbei kann im Nachhinein die Notwendigkeit entstehen, dieses Training zu erweitern. Beispielsweise benötigt ein System zur Erkennung von Verkehrszeichen nach der Einführung eines neuen Verkehrszeichens durch den Gesetzgeber ein Update, damit es auch dieses neue Verkehrszeichen sicher erkennt.
-
Offenbarung der Erfindung
-
Im Rahmen der Erfindung wurde ein Verfahren zum Weitertrainieren eines neuronalen Netzwerks für die Verarbeitung von Messdaten entwickelt. Das Verfahren geht von der Situation aus, dass das neuronale Netzwerk mit Trainings-Beispielen aus einer Menge M trainiert wurde, wobei diese Trainings-Beispiele jeweils Soll-Ausgaben des neuronalen Netzwerks gelabelt sind.
-
Im Rahmen des Verfahrens wird ein Batch B neuer Trainings-Beispiele bereitgestellt, die ebenfalls mit Soll-Ausgaben des neuronalen Netzwerks gelabelt sind. Weiterhin wird eine Teilmenge D ⊆ M der bisherigen Trainings-Beispiele bereitgestellt.
-
In diesem Zusammenhang sind mit einem generativen Modell, etwa einem Generative Adversarial Network, GAN, generierte Trainings-Beispiele den tatsächlich beim bisherigen Training verwendeten Trainings-Beispielen gleichgestellt. Es ist also möglich, statt dieser bisherigen Trainings-Beispiele selbst das generative Modell abzuspeichern, mit dem derartige Trainings-Beispiele erzeugt werden können. Die generierten Trainings-Beispiele gehören der gleichen Domäne an wie die zuvor tatsächlich verwendeten Trainings-Beispiele, und dies ist für ihre Wirkung im hier vorgeschlagenen Verfahren maßgeblich.
-
Sowohl die neuen Trainings-Beispiele aus dem Batch B als auch die bisherigen Trainings-Beispiele aus der Teilmenge D werden mit dem neuronalen Netzwerk jeweils zu Ausgaben verarbeitet. Die Abweichungen dieser Ausgaben von den jeweiligen Soll-Ausgaben werden mit einer vorgegebenen Kostenfunktion bewertet.
-
Parameter, die das Verhalten des neuronalen Netzwerks charakterisieren, werden optimiert mit dem Ziel, dass bei weiterer Verarbeitung von bisherigen und neuen Trainings-Beispielen die Bewertung durch die Kostenfunktion
- • bezüglich neuer Trainings-Beispiele aus dem Batch B verbessert wird und
- • bezüglich bisheriger Trainings-Beispiele aus der Teilmenge D nicht verschlechtert wird.
-
Die Parameter können insbesondere beispielsweise Gewichte umfassen, mit denen Eingaben, die einem Neuron oder einer anderen Verarbeitungseinheit des neuronalen Netzwerks zugeführt werden, gewichtet summiert werden.
-
Ein Weitertraining in dieser Weise vergrößert die Domäne, auf der das neuronale Netzwerk trainiert ist, von der ursprünglichen Menge M von Trainings-Beispielen um den neuen Batch B, ohne dass hierfür der große Rechenaufwand für ein vollständiges neues Training auf der Vereinigungsmenge M u B der Trainings-Beispiele nötig ist.
-
Weiterhin ist auch kein Zugriff auf die vollständige Menge M der ursprünglichen Trainingsdaten notwendig, sondern nur eine vergleichsweise kleine Teilmenge D, die idealerweise ein repräsentativer Querschnitt der Menge M sein sollte. Diese kleine Teilmenge D kann auch beispielsweise in dem beschränkten Speicherplatz eines Steuergeräts oder Embedded-Systems an Bord eines Fahrzeugs abgelegt werden. Hingegen wäre es nicht praktikabel, dort beispielsweise die während mehrerer tausend Stunden an Testfahrten aufgenommenen Trainings-Bilder für ein System zur Erkennung von Objekten abzulegen. Selbst wenn der erforderliche Speicherplatz irgendwie bereitgestellt werden könnte, würde der Hersteller des Systems, der das ursprüngliche Training vorgenommen hat, die vollständige Menge M der Trainings-Beispiele nicht unkontrolliert aus der Hand geben. Gelabelte Trainings-Beispiele sind sehr teuer zu beschaffen, so dass ein Konkurrent, der die vollständige Menge M der Trainings-Beispiele in die Hand bekommt, einen erheblichen Anteil der Entwicklungskosten für ein eigenes System sparen könnte.
-
Wenn hingegen das Weitertraining beispielsweise „as a service“ durchgeführt wird, etwa in einer Cloud, dann gibt es keine Begrenzung hinsichtlich des Speicherplatzes. Auch müssen die Trainings-Beispiele dann nicht aus der Hand gegeben werden. Es spricht in diesem Fall also nichts dagegen, die vollständige Menge M der Trainings-Beispiele als Teilmenge D zu wählen.
-
Dabei sichert die Prüfung, ob die Bewertung der Kostenfunktion sich bezüglich der bisherigen Trainings-Beispiele aus der Teilmenge D durch das Weitertrainieren verschlechtert, das neuronale Netzwerk gegen das sogenannte „katastrophale Vergessen“ ab. Das aus dem Batch B neu gelernte Wissen kommt somit additiv zu dem bisherigen Wissen aus der Menge M hinzu und ersetzt es nicht. Dies ist besonders wichtig für Anwendungen beispielsweise in Fahrzeugen, in denen das korrekte Verhalten des neuronalen Netzwerks in bestimmten Situationen für eine Zulassung zum Straßenverkehr zertifiziert werden muss. Die Betriebserlaubnis für Änderungen kann dann, analog zu sonstigen Änderungen an zugelassenen Fahrzeugen, daran gebunden sein, dass das Verhalten sich durch die Änderung allenfalls verbessert, jedoch keinesfalls verschlechtert.
-
In einer besonders vorteilhaften Ausgestaltung wird ein erster Gradient G
0 des Erwartungswerts der Kostenfunktion für die bisherigen Trainings-Beispiele aus der Teilmenge D nach den Parametern ermittelt, etwa nach der Formel
Hierin sind P die zu optimierenden Parameter, E ist der Erwartungswert, x ist ein Trainings-Beispiel, y ist die Soll-Ausgabe zu diesem Trainings-Beispiel x, L ist die Kostenfunktion, und f(x) ist die Ausgabe des neuronalen Netzwerks für das Trainings-Beispiel x.
-
Weiterhin wird auch ein zweiter Gradient G
1 des Erwartungswerts der Kostenfunktion für die neuen Trainings-Beispiele aus dem Batch B nach den Parametern ermittelt, etwa nach der Formel
Aus diesen beiden Gradienten G
0 und G
1 ein Gradient g ermittelt wird, entlang dessen die Parameter im nächsten Trainingsschritt verändert werden. Auf diese Weise lässt sich genau kontrollieren, welche Wirkung diese beabsichtigte Änderung im nächsten Trainingsschritt bezüglich des Lernens neuen Wissens einerseits und bezüglich möglichem „katastrophalem Vergessen“ bisherigen Wissens andererseits hat.
-
Besonders vorteilhaft kann der Gradient g als Projektion von G
1 auf ein orthogonales Komplement
von G
0 ermittelt werden, etwa gemäß der Formel
Dann hat der Gradient g keine Komponente entlang von G
0. Es tritt also keinesfalls eine Verschlechterung in Bezug auf die bisherigen Trainings-Beispiele aus der Teilmenge D ein. Für die Einhaltung dieser Randbedingung wird erforderlichenfalls auch Trainingsfortschritt in Bezug auf die neuen Trainings-Beispiele aus dem Batch B zurückgestellt.
-
Die Berechnung der Gradienten kann für alle Parameter gleichzeitig vorgenommen werden, aber auch beispielsweise sukzessive für die Parameter der verschiedenen Schichten, in denen das neuronale Netzwerk organisiert ist.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird in Antwort darauf, dass eine Verschlechterung der Bewertung durch die Kostenfunktion bezüglich bisheriger Trainings-Beispiele aus der Teilmenge D einen vorgegebenen Schwellwert überschreitet, das Weitertrainieren abgebrochen. Die Verschlechterung kann beispielsweise in Form des Erwartungswerts
der Kostenfunktion bezüglich der bisherigen Trainings-Beispiele aus der Teilmenge D gemessen werden. Dieses Maß lässt sich auch nicht dadurch „täuschen“, dass es in jedem Trainingsschritt immer nur kleine Verschlechterungen gibt. Das Ansammeln solcher kleinen Verschlechterungen wird zuverlässig registriert.
-
Das bedeutet, dass sich die Möglichkeit zum Weitertrainieren des neuronalen Netzwerks 1 „verbrauchen“ bzw. „erschöpfen“ kann, analog dazu, dass beim Brückenbau ein Träger ausgehend von einem Pfeiler nur über eine bestimmte Entfernung frei in der Luft hängen kann, bevor er sich durchbiegt. Wenn eine gewisse Menge an neuen Trainings-Beispielen zur Verfügung steht, ist es im Hinblick auf dieses „Verbrauchen/Erschöpfen“ besser, all diese neuen Trainings-Beispiele in einem einzigen Batch B zu präsentieren, als sie auf mehrere Batches B aufzuteilen.
-
Für die Überwachung des Weitertrainierens kann besonders vorteilhaft die gleiche Kostenfunktion verwendet werden, die für das ursprüngliche Training des neuronalen Netzwerks auf den Trainings-Beispielen aus der Menge M verwendet wurde. Es kann dann am genauesten gemessen werden, inwieweit das Verhalten des weitertrainierten Netzwerks in Bezug auf die bisherigen Trainings-Beispiele aus der Teilmenge D noch dem ursprünglich trainierten Verhalten entspricht. Sollte jedoch diese Kostenfunktion nicht zur Verfügung stehen, kann auch jede andere geeignete Kostenfunktion verwendet werden.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird ein neuronales Netzwerk gewählt, das als Klassifikator für Messdaten, insbesondere für Bilder, in Klassen einer vorgegebenen Klassifikation ausgebildet ist. Gerade in derartigen Anwendungen entsteht häufig im Nachhinein nach einem Training in Bezug auf eine große Anzahl Klassen noch der Bedarf, die Erkennung einiger weniger weiterer Klassen hinzuzufügen. Weiterhin gibt es wenig konkurrierende Wechselwirkungen zwischen den Aufgaben, Merkmale in Bezug auf verschiedene Klassen zu erkennen. Das heißt, die Verbesserung der Erkennung in Bezug auf eine Klasse geht nicht auf Kosten der Erkennung in Bezug auf andere Klassen.
-
Das neuronale Netzwerk kann dann insbesondere beispielsweise
- • einen Merkmalsextraktor, der eine Eingabe des neuronalen Netzwerks in eine Merkmalskarte überführt, die als Vektor mit K Elementen darstellbar ist, und
- • einen Klassifikationskopf, der die Merkmalskarte durch Anwenden einer k × K-Matrix A, sowie optional eines k-dimensionalen Bias-Vektors b, auf einen Vektor mit k Klassifikations-Scores bezüglich k verfügbarer Klassen als Ausgabe des neuronalen Netzwerks abbildet,
umfassen. Ein Netzwerk mit dieser Architektur lässt sich besonders gut und organisch auf zusätzliche Klassen erweitern.
-
Es kann insbesondere beispielsweise in Antwort darauf, dass mindestens ein neues Trainings-Beispiel im Batch B mit einer Soll-Ausgabe gelabelt ist, die keiner der k verfügbaren Klassen entspricht,
- • die Matrix A um eine weitere k + 1-te Zeile erweitert werden, die mit dem Mittel der bereits vorhandenen k Zeilen belegt ist, und
- • sofern vorhanden, der Bias-Vektor b um eine k + 1-te Komponente erweitert werden, die mit dem Mittel der bereits vorhandenen k Komponenten belegt ist.
-
Der Softmax-Score für diese neue Klasse ist dann
auf Grund der Jensen'schen Ungleichung. Das bedeutet, dass ohne weiteres Training die neue Klasse nur einen Klassifikations-Score bekommt, der maximal so groß ist wie es beim zufälligen Ziehen einer Klasse aus allen k + 1 verfügbaren Klassen zu erwarten wäre. Somit kann die Erkennung der k + 1-ten Klasse hinzugefügt werden, ohne das Verhalten des Klassifikators in Bezug auf die k bereits existierenden Klassen zu ändern. Es wird keine neue Information ins System eingebracht, die de facto gar nicht da ist.
-
In einer weiteren besonders vorteilhaften Ausgestaltung wird die Teilmenge D ⊆ M so ausgewählt, dass sie für die Klassen der vorgegebenen Klassifikation im Wesentlichen gleiche Anzahlen bisheriger Trainings-Beispiele enthält. Sie stellt dann einen repräsentativen Querschnitt der ursprünglichen Menge M von Trainings-Beispielen dar. Das heißt, dass das Verhalten des neuronalen Netzwerks auf der Teilmenge D mit hoher Wahrscheinlichkeit eine taugliche Vorhersage für das Verhalten auf der ursprünglichen Menge M von Trainings-Beispielen ist.
-
Die Klassen können insbesondere beispielsweise Verkehrsteilnehmer, Fahrbahnen, Fahrbahnbegrenzungen, Verkehrszeichen, Hindernisse und/oder andere für das Führen eines Fahrzeugs verkehrsrelevanter Objekte repräsentieren. Gerade bei Verkehrszeichen und Verkehrsteilnehmern gibt es häufiger Neuerungen, die Gegenstand eines Weitertrainings sein können. So ist beispielsweise vor wenigen Jahren mit den Elektrokleinstfahrzeugen („E-Scooter") eine völlig neue Fahrzeuggattung geschaffen worden.
-
Die beim Weitertrainieren erhaltenen neuen Werte der Parameter, die das Verhalten des neuronalen Netzwerks charakterisieren, können beispielsweise bei einer zentralen Entität gesammelt werden und als Grundlage für ein später zu veröffentlichendes allgemeines Update des neuronalen Netzwerks dienen. Es können insbesondere beispielsweise Werte der Parameter von einer Vielzahl von Nutzern eingesammelt werden. Hierbei bleibt die Privatsphäre der Nutzer gewahrt, weil die Parameter keine Rückschlüsse auf die neuen Trainings-Beispiele im Batch B zulassen.
-
Als Messdaten können insbesondere beispielsweise Bilder, Audiosignale, Zeitreihen von Messwerten, Radar-Daten und/oder Lidar-Daten gewählt werden. Gerade diese Datenarten sind sehr vielschichtig in dem Sinne, dass sie Aussagen in Bezug auf viele mögliche Klassen enthalten können.
-
Eine weitere wichtige Anwendung des Weitertrainierens ist die optische Qualitätskontrolle, beispielsweise von in Serie gefertigten Bauteilen. Hier kann das Weitertrainieren beispielsweise genutzt werden, um den Prozess auf neue Bauteile und/oder neue Bedingungen einzustellen.
-
In einer weiteren besonders vorteilhaften Ausgestaltung werden dem weitertrainierten neuronalen Netzwerk Messdaten zugeführt, so dass das weitertrainierte neuronale Netzwerk Ausgaben erzeugt. Aus diesen Ausgaben wird ein Ansteuersignal gebildet. Ein Fahrzeug, ein Fahrassistenzsystem, ein System zur Qualitätskontrolle, ein System zur Überwachung von Bereichen, und/oder ein System zur medizinischen Bildgebung, wird mit diesem Ansteuersignal angesteuert. Auf Grund der besseren Fähigkeit des neuronalen Netzwerks, in der um den Batch B erweiterten Domäne der Trainings-Beispiele zu arbeiten und ausgehend hiervon zu generalisieren, ist dann die Wahrscheinlichkeit erhöht, dass die Reaktion des jeweils angesteuerten Systems der mit den Messdaten erfassten Situation angemessen ist.
-
Das Verfahren kann insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern und/oder Compute-Instanzen ausgeführt werden, den oder die Computer und/oder Compute-Instanzen dazu veranlassen, das beschriebene Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen. Beispiele für Compute-Instanzen sind virtuelle Maschinen, Container oder serverlose Ausführungsumgebungen für die Ausführung maschinenlesbarer Anweisungen in einer Cloud.
-
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
-
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
-
Ausführungsbeispiele
-
Es zeigt:
- 1 Ausführungsbeispiel des Verfahrens 100 zum Weitertrainieren eines neuronalen Netzwerks 1;
- 2 Veranschaulichung der Bildung eines Gradienten g, entlang dessen die Parameter 1a ohne Verschlechterung in Bezug auf bisherige Trainings-Beispiele 2a geändert werden können.
-
1 ist ein schematisches Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 1 zum Weitertrainieren eines neuronalen Netzwerks 1 für die Verarbeitung von Messdaten 2. Dieses neuronale Netzwerk 1 ist bereits mit Trainings-Beispielen 2a aus einer Menge M trainiert, wobei diese Trainings-Beispiele 2a jeweils mit Soll-Ausgaben 3a des neuronalen Netzwerks 1 gelabelt sind.
-
In Schritt 105 wird ein neuronales Netzwerk 1 gewählt, das als Klassifikator für Messdaten (2), insbesondere für Bilder, in Klassen einer vorgegebenen Klassifikation ausgebildet ist.
-
Gemäß Block 105a kann ein solches Netzwerk 1 insbesondere
- • einen Merkmalsextraktor, der eine Eingabe 2 des neuronalen Netzwerks 1 in eine Merkmalskarte überführt, die als Vektor mit K Elementen darstellbar ist, und
- • einen Klassifikationskopf, der die Merkmalskarte durch Anwenden einer k × K-Matrix A, sowie optional eines k-dimensionalen Bias-Vektors b, auf einen Vektor mit k Klassifikations-Scores bezüglich k verfügbarer Klassen als Ausgabe 3 abbildet,
umfassen.
-
In Schritt 110 wird ein Batch B neuer Trainings-Beispiele 2a' bereitgestellt, die ebenfalls mit Soll-Ausgaben 3a' des neuronalen Netzwerks 1 gelabelt sind.
-
Gemäß Block 111 kann in Antwort darauf, dass mindestens ein neues Trainings-Beispiel 2a' im Batch B mit einer Soll-Ausgabe 3a' gelabelt ist, die keiner der k verfügbaren Klassen entspricht (Wahrheitswert 1),
- • die Matrix A gemäß Block 112 um eine weitere k + 1-te Zeile erweitert werden, die mit dem Mittel der bereits vorhandenen k Zeilen belegt ist, und
- • gemäß Block 113 der Bias-Vektor b, sofern vorhanden, um eine k + 1-te Komponente erweitert werden, die mit dem Mittel der bereits vorhandenen k Komponenten belegt ist.
-
In Schritt 120 wird eine Teilmenge D ⊆ M der bisherigen Trainings-Beispiele 2a bereitgestellt.
-
In Schritt 130 werden sowohl die neuen Trainings-Beispiele 2a' aus dem Batch B als auch die bisherigen Trainings-Beispiele 2a aus der Teilmenge D mit dem neuronalen Netzwerk 1 jeweils zu Ausgaben 3', 3 verarbeitet.
-
In Schritt 140 werden die Abweichungen der Ausgaben 3', 3 von den jeweiligen Soll-Ausgaben 3a', 3a mit einer vorgegebenen Kostenfunktion 4 bewertet. Das Ergebnis ist eine Bewertung 4a.
-
Hierbei kann insbesondere beispielsweise gemäß Block 141 die Kostenfunktion 4, die für das ursprüngliche Training des neuronalen Netzwerks 1 auf den Trainings-Beispielen 2a aus der Menge M verwendet wurde, auch für das Weitertraining verwendet werden.
-
In Schritt 150 werden Parameter 1a, die das Verhalten des neuronalen Netzwerks 1 charakterisieren, optimiert mit dem Ziel, dass bei weiterer Verarbeitung von bisherigen und neuen Trainings-Beispielen 2a, 2a' die Bewertung 4a durch die Kostenfunktion 4
- • bezüglich neuer Trainings-Beispiele 2a' aus dem Batch B verbessert wird und
- • bezüglich bisheriger Trainings-Beispiele 2a aus der Teilmenge D nicht verschlechtert wird.
-
Der fertig optimierte Zustand der Parameter 1a ist mit dem Bezugszeichen 1a* bezeichnet. Dementsprechend ist der weitertrainierte Zustand des neuronalen Netzwerks 1 mit dem Bezugszeichen 1* bezeichnet.
-
Gemäß Block 151 kann ein erster Gradient G0 des Erwartungswerts der Kostenfunktion 4 für die bisherigen Trainings-Beispiele 2a aus der Teilmenge D nach den Parametern 1a ermittelt werden.
-
Gemäß Block 152 kann dann ein zweiter Gradient G1 des Erwartungswerts der Kostenfunktion 4 für die neuen Trainings-Beispiele 2a' aus dem Batch B nach den Parametern 1a ermittelt werden.
-
Gemäß Block 153 kann aus den Gradienten G0 und G1 ein Gradient g ermittelt werden, entlang dessen die Parameter 1a im nächsten Trainingsschritt verändert werden.
-
Gemäß Block 154 kann geprüft werden, ob eine Verschlechterung der Bewertung 4a durch die Kostenfunktion 4 bezüglich bisheriger Trainings-Beispiele 2a aus der Teilmenge D einen vorgegebenen Schwellwert 5 überschreitet. Wenn dies der Fall ist (Wahrheitswert 1), kann gemäß Block 155 das Weitertrainieren abgebrochen werden.
-
In Schritt 160 werden dem weitertrainierten neuronalen Netzwerk 1* Messdaten 2 zugeführt, so dass das weitertrainierte neuronale Netzwerk 1* Ausgaben 3 erzeugt.
-
In Schritt 170 wird aus den Ausgaben 3 des neuronalen Netzwerks 1 ein Ansteuersignal 170a gebildet.
-
In Schritt 180 wird ein Fahrzeug 50, ein Fahrassistenzsystem 60, ein System 70 zur Qualitätskontrolle, ein System 80 zur Überwachung von Bereichen, und/oder ein System 90 zur medizinischen Bildgebung, mit dem Ansteuersignal 170a angesteuert.
-
2 veranschaulicht in vereinfachter zweidimensionaler Darstellung, wie ein Gradient g, entlang dessen die Parameter 1a ohne Verschlechterung in Bezug auf bisherige Trainings-Beispiele 2a geändert werden können, erhalten werden kann.
-
Der Gradient G
0 des Erwartungswerts der Kostenfunktion 4 für die bisherigen Trainings-Beispiele 2a aus der Teilmenge D nach den Parametern 1a gibt an, in welcher Richtung die Parameter 1a geändert werden müssen, um die Bewertung 4a durch die Kostenfunktion 4 bezüglich der bisherigen Trainings-Beispiele 2a aus der Teilmenge D zu ändern. Da eine solche Veränderung unerwünscht ist, wird das orthogonale Komplement
zu G
0 gebildet. Entlang dieses orthogonalen Komplements
können die Parameter 1a geändert werden, ohne besagte unerwünschte Veränderung vorzunehmen. Der gesuchte Gradient g verläuft also entlang
-
Der Betrag von g ergibt sich aus einem zweiten Gradienten G
1 des Erwartungswerts der Kostenfunktion 4 für die neuen Trainings-Beispiele 2a' aus dem Batch B nach den Parametern 1a. Hierzu wird der Gradient G
1 auf
projiziert.