Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RUNTIME OPTIMIZATION OF NEURAL NETWORKS WITH QUASI-STATIC INPUTS
Document Type and Number:
WIPO Patent Application WO/2024/088682
Kind Code:
A1
Abstract:
The invention relates to a method for using an artificial neural network. A check is carried out in order to determine whether a first activation and a second activation of at least one neuron equals zero and whether a second network input of the at least one neuron comes closer to a threshold than a first network input of the at least one neuron. In the event of a difference between the first network input of the at least one neuron and the threshold, the period of time until the network input of the at least one neuron reaches the threshold is extrapolated from the difference between the second network input of the at least one neuron and the threshold and from the period of time which has elapsed between a first measurement and a second measurement, and a check is carried out in order to determine whether the third measurement was taken before the extrapolated period of time expired. If so, the value zero is output as the third activation of the at least one neuron without applying the activation function of the at least one neuron.

Inventors:
BIRK MARKUS (DE)
BIEL STEFFEN (DE)
Application Number:
PCT/EP2023/076715
Publication Date:
May 02, 2024
Filing Date:
September 27, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZAHNRADFABRIK FRIEDRICHSHAFEN (DE)
International Classes:
G06N3/048; G06N3/02; G06N3/084
Other References:
PINTO DENNIS ET AL: "Mixture-of-Rookies: Saving DNN Computations by Predicting ReLU Outputs", ARXIV (CORNELL UNIVERSITY), 10 February 2022 (2022-02-10), Ithaca, XP093112461, Retrieved from the Internet [retrieved on 20231214], DOI: 10.48550/arxiv.2202.04990
BOJARSKI MARIUSZ ET AL: "Explaining How a Deep Neural Network Trained with End-to-End Learning Steers a Car", ARXIV (CORNELL UNIVERSITY), 25 April 2017 (2017-04-25), Ithaca, XP093112460, Retrieved from the Internet [retrieved on 20231214], DOI: 10.48550/arxiv.1704.07911
Download PDF:
Claims:
Patentansprüche

1. Verfahren zur Anwendung eines künstlichen neuronalen Netzes; wobei die Aktivierungsfunktion mindestens eines Neuron den Netzeingaben des Neurons in Abhängigkeit eines Schwellwerts den Wert Null zuordnet; wobei durch eine erste Messung einer oder mehrerer physikalischer Größen ein erster Satz eines oder mehrere Eingangssignale des Netzes bestimmt wird; wobei in Abhängigkeit des ersten Satzes der ein oder mehreren Eingangssignale ein erster Satz eines oder mehrerer Ausganssignale durch Ermittlung jeweils einer ersten Aktivierung der Neuronen des Netzes durch jeweilige Anwendung einer jeweiligen Aktivierungsfunktion auf eine mittels einer jeweiligen Übertragungsfunktion berechnete jeweilige erste Netzeingabe ermittelt wird; wobei durch eine zweite Messung der ein oder mehreren physikalischen Größen ein zweiter Satz der ein oder mehreren Eingangssignale bestimmt wird; wobei in Abhängigkeit des zweiten Satzes der ein oder mehreren Eingangssignale ein zweites Satz der ein oder mehreren Ausganssignale durch Ermittlung jeweils einer zweiten Aktivierung der Neuronen des Netzes durch jeweilige Anwendung der jeweiligen Aktivierungsfunktion auf eine mittels der jeweiligen Übertragungsfunktion berechnete jeweilige zweite Netzeingabe ermittelt wird; wobei durch eine dritte Messung der ein oder mehreren physikalischen Größen ein dritter Satz der ein oder mehreren Eingangssignale bestimmt wird; und wobei in Abhängigkeit des dritten Satzes der ein oder mehreren Eingangssignale ein dritter Satz der ein oder mehreren Ausganssignale durch Ermittlung jeweils einer dritten Aktivierung der Neuronen des Netzes ermittelt wird; dadurch gekennzeichnet, dass geprüft wird, ob die erste Aktivierung und die zweite Aktivierung des mindestens einen Neurons Null betragen und die zweite Netzeingabe des mindestens einen Neurons dem Schwellenwert näherkommt als die erste Netzeingabe des mindestens einen Neurons, und in dem Fall in Abhängigkeit von einer Differenz zwischen der ersten Netzeingabe des mindestens einen Neurons und dem Schwellwert, von einer Differenz zwischen der zweiten Netzeingabe des mindestens einen Neurons und dem Schwellwert und von einer zwischen der ersten Messung und der zweiten Messung verstrichenen Zeit eine Zeit extrapoliert wird, bis die Netzeingabe des mindestens einen Neurons den Schwellenwert erreicht, und geprüft wird, ob die dritte Messung vor Ablauf der extrapolierten Zeit erfolgte, und in dem Fall als dritte Aktivierung des mindestens einen Neurons ohne Anwendung der Aktivierungsfunktion des mindestens einen Neurons der Wert Null ausgegeben wird.

2. Verfahren nach dem vorhergehenden Anspruch; dadurch gekennzeichnet, dass geprüft wird, ob die erste Aktivierung und die zweite Aktivierung des mindestens einen Neurons Null betragen, ob die zweite Netzeingabe des mindestens einen Neurons weiter von dem Schwellenwert entfernt ist als die erste Netzeingabe des mindestens einen Neurons, und ob die dritte Messung vor Ablauf einer vordefinierten Zeit erfolgte, und in dem Fall als dritte Aktivierung des mindestens einen Neurons ohne Anwendung der Aktivierungsfunktion des mindestens einen Neurons der Wert Null gewählt wird.

3. Verfahren nach einem der vorhergehenden Ansprüche; dadurch gekennzeichnet, dass die Zeit, bis die Netzeingabe des mindestens einen Neurons den Schwellenwert erreicht, durch lineare Extrapolation ermittelt wird.

4. Verfahren nach einem der vorhergehenden Ansprüche; dadurch gekennzeichnet, dass ein oder mehrere der Eingangssignale des Netzes Werte physikalischer Größen eines Fahrzeugs repräsentieren.

5. Verfahren nach einem der vorhergehenden Ansprüche; dadurch gekennzeichnet, dass es sich bei ein oder mehreren der Eingangssignalen des Netzes um Signale von Sensoren eines/des Fahrzeugs handelt.

6. Verfahren nach einem der vorhergehenden Ansprüche; dadurch gekennzeichnet, dass ein oder mehrere der Ausgangssignale Werte physikalischer Größen eines/des Fahrzeugs repräsentieren.

7. Verfahren nach einem der vorhergehenden Ansprüche; dadurch gekennzeichnet, dass es sich bei ein oder mehreren der Ausgangssignale um Steuersignale für Aktoren eines/des Fahrzeugs handelt.

8. Computerprogram mit Anweisungen zur Ausführung eines Verfahrens einem der vorhergehenden Ansprüche.

Description:
Laufzeitoptimierung von neuronalen Netzen bei quasistatischen Inputs

Die Erfindung betrifft ein Verfahren nach dem Oberbegriff von Anspruch 1 und ein Computerprogramm nach Anspruch 8.

Für anspruchsvolle Steuerungsaufgaben werden in Fahrzeugsteuergeräten häufig neuronale Netze verwendet. Deren Bedarf an Rechenkapazität ist vergleichsweise hoch. Dies führt dazu, dass sich die Hardware der Steuergeräte verteuert.

Der Erfindung liegt die Aufgabe zugrunde, die Anwendung eines künstlichen neuronalen Netzes ressourceneffizienter zu gestalten. Diese Aufgabe wird gelöst durch ein Verfahren nach Anspruch 1 und ein Computerprogramm nach Anspruch 8. Bevorzugte Weiterbildungen sind in den Unteransprüchen enthalten und ergeben sich aus nachfolgender Beschreibung.

Das erfindungsgemäße Verfahren dient der Anwendung eines zuvor bereits trainierten künstlichen neuronalen Netzes. Ein künstliches neuronales Netz besteht aus miteinander verknüpften künstlichen Neuronen. Ein künstliches Neuron weist ein oder mehrere Eingänge und einen Ausgang auf. An den Eingängen anliegende Eingangswerte werden gewichtet. Dies geschieht in der Regel, indem die Werte mit jeweils einem Gewicht multipliziert werden. Aus den so gewichteten Eingangswerten wird mittels einer Übertragungsfunktion eine Netzeingabe ermittelt. Als Übertragungsfunktion wird gewöhnlich eine Summierungsfunktion verwendet, welche die Summe der gewichteten Eingangswerte berechnet. Auf die Netzeingabe wird eine Aktivierungsfunktion angewendet. Diese ordnet der Netzeingabe eine Aktivierung zu, welche über den Ausgang weitergeleitet wird. Der Ausgang des Neurons kann einen Ausgang des künstlichen neuronalen Netzes bilden oder mit einem Eingang eines weiteren Neurons verknüpft sein. Eingänge des neuronalen Netzes werden durch Eingänge von Neuronen gebildet. Über die Eingänge erhält das neuronale Netz Eingangssignale. Entsprechend werden Ausgangssignale des neuronalen Netzes über die Ausgängen ausgegeben. Das erfindungsgemäße Verfahren setzt voraus, dass die Aktivierungsfunktion mindestens eines Neurons den Netzeingaben des Neurons in Abhängigkeit eines Schwellwerts den Wert Null zuordnet. Die Aktivierungsfunktion nimmt also bei allen Netzeingaben unterhalb des Schwellwerts oder alternativ bei allen Netzeingaben oberhalb des Schwellwerts den Wert Null an.

Bei Ausführung des erfindungsgemäßen Verfahrens werden drei Iterationen mit jeweils einer Messung ein oder mehrerer physikalischer Größen durchlaufen. Es werden also eine erste Messung, eine zweite Messung und eine dritte Messung der ein oder mehreren physikalischen Größen durchgeführt.

Durch die Messungen wird jeweils ein Satz eines oder mehrerer Eingangssignale des Netzes bestimmt. Ein erster Satz wird durch die erste Messung, ein zweiter Satz durch die zweite Messung und ein dritter Satz durch die dritte Messung bestimmt.

Die Eingangssignale werden dabei jeweils direkt gemessen oder aus einer oder mehreren gemessenen physikalischen Größen berechnet.

Mittels des neuronalen Netzes werden jeweils in Abhängigkeit der ein oder mehreren Eingangssignale eines oder mehrerer Ausgangssignale ermittelt. In Abhängigkeit des ersten Satzes der ein oder mehreren Eingangssignale wird ein erster Satz eines oder mehrerer Ausganssignale, in Abhängigkeit des zweiten Satzes der ein oder mehreren Eingangssignale ein zweites Satz der ein oder mehreren Ausganssignale und in Abhängigkeit des dritten Satzes der ein oder mehreren Eingangssignale ein dritter Satz der ein oder mehreren Ausganssignale ermittelt.

Die Ermittlung der Ausgangssignale in Abhängigkeit des ersten Satzes und des zweiten Satzes der ein oder mehreren Eingangssignale erfolgt dabei auf konventionellem Wege. Dies bedeutet, dass die Aktivierungen der einzelnen Neuronen des Netzes durch Anwendung einer jeweiligen Aktivierungsfunktion auf eine mittels einer jeweiligen Übertragungsfunktion berechnete jeweilige Netzeingabe ermittelt wird. Der erste Satz der ein oder mehreren Ausgangssignale wird also durch Ermittlung jeweils einer ersten Aktivierung der Neuronen des Netzes durch jeweilige Anwendung einer jeweiligen Aktivierungsfunktion auf eine mittels einer jeweiligen Übertragungsfunktion be- rechnete jeweilige erste Netzeingabe ermittelt. Analog wird der zweite Satz der ein oder mehreren Ausgangssignale durch Ermittlung jeweils einer zweiten Aktivierung der Neuronen des Netzes durch jeweilige Anwendung der jeweiligen Aktivierungsfunktion auf eine mittels der jeweiligen Übertragungsfunktion berechnete jeweilige zweite Netzeingabe ermittelt. Für jedes Neuron des Netzes wird also durch Anwendung der Übertragungsfunktion des Neurons die erste beziehungsweise zweite Netzeingabe des Neurons berechnet. Die erste beziehungsweise zweite Netzeingabe des Neurons wird der Übertragungsfunktion des Neurons als Funktionswert übergeben. Diese ordnet der ersten beziehungsweise zweiten Netzeingabe eine Aktivierung als erstes beziehungsweise zweites Ausgangssignal zu.

Die Aktivierungsfunktion kann ebenso wie die Übertragungsfunktion für einzelne oder alle Neuronen des Netzes unterschiedlich sein. Vorzugsweise wird aber nur eine einzige, für jedes Neuron identische Aktivierungsfunktion verwendet.

Auch der dritte Satz der ein oder mehreren Ausgangssignale wird auf Basis der Aktivierungen der Neuronen des Netzes in Abhängigkeit der ein oder mehreren Eingangssignale ermittelt. In Abhängigkeit des dritten Satzes der ein oder mehreren Eingangssignale wird also der dritte Satz der ein oder mehreren Ausgangssignale durch Ermittlung jeweils einer dritten Aktivierung der Neuronen des Netzes ermittelt.

Die Erfindung sieht allerdings eine abweichende Ermittlung der Aktivierung des oben genannten mindestens einen Neurons vor, dessen Aktivierungsfunktion in Abhängigkeit von dem Schwellwert den Wert Null annimmt. Dem liegt die Idee zugrunde, auf eine Berechnung der Aktivierungsfunktion zu verzichten, wenn absehbar ist, dass die die Aktivierungsfunktion den Wert Null annimmt.

Dazu wird geprüft, ob die erste Aktivierung und die zweite Aktivierung des mindestens einen Neurons Null betragen. Im Einzelnen werden die erste und zweite Netzeingabe des mindestens einen Neurons in Hinblick auf den Schwellwert geprüft. Es wird geprüft, ob die erste und zweite Netzeingabe des mindestens einen Neurons unterhalb bzw. oberhalb des Schwellwerts liegen, sodass die Aktivierungsfunktion des mindestens einen Neurons der ersten und zweiten Netzeingabe den Wert Null zuordnet.

Zusätzlich wird geprüft, ob die zweite Netzeingabe des mindestens einen Neurons dem Schwellwert näherkommt als die erste Netzeingabe. Es wird also geprüft, ob ein Betrag einer Differenz zwischen der zweiten Netzeingabe und dem Schwellwert geringer ist als ein Betrag einer Differenz zwischen der ersten Netzeingabe und dem Schwellwert.

Liegen die erste und zweite Netzeingabe des mindestens einen Neurons unterhalb bzw. oberhalb des Schwellwerts, und kommt die zweite Netzeingabe des mindestens einen Neurons dem Schwellwert näherkommt als die erste Netzeingabe, so deutet dies darauf hin, dass sich die Netzeingabe des mindestens einen Neurons dem Schwellwert nähert und diesen über- bzw. unterschreiten wird, sodass die Aktivierungsfunktion des mindestens einen Neurons einen von Null verschiedenen Wert annehmen wird. Die Zeit bis dahin wird extrapoliert. Wenn also die zuvor durchgeführte Prüfung ergeben hat, dass die erste und zweite Netzeingabe des mindestens einen Neurons unterhalb bzw. oberhalb des Schwellwerts liegen, sodass die erste Aktivierung und die zweite Aktivierung des mindestens einen Neurons Null betragen, und die zweite Netzeingabe des mindestens einen Neurons dem Schwellwert näherkommt als die erste Netzeingabe des mindestens einen Neurons, wird eine Zeit extrapoliert, bis die Netzeingabe des mindestens einen Neurons den Schwellwert erreicht.

Die Zeit, bis die Netzeingabe des mindestens einen Neurons den Schwellwert erreicht, beginnt mit dem Zeitpunkt der zweiten Messung zu laufen und endet, sobald die Differenz zwischen der ersten Netzeingabe und der zweiten Netzeingabe des mindestens einen Neurons den Schwellwert erreicht. Die Zeit ist abhängig von einer Differenz zwischen der ersten Netzeingabe des mindestens einen Neurons und dem Schwellwert, von einer Differenz zwischen der zweiten Netzeingabe des mindestens einen Neurons und dem Schwellwert und von einer zwischen der ersten Messung und der zweiten Messung verstrichenen Zeit. Diese wird bei der Extrapolation der Zeit berücksichtigt. Weiterhin wird geprüft, ob die dritte Messung vor oder nach Ablauf der extrapolierten Zeit erfolgte. Erfolgte die dritte Messung vor Ablauf der extrapolierten Zeit, deutet dies darauf hin, dass die Aktivierungsfunktion des mindestens einen Neurons der dritten Netzeingabe des mindestens einen Neurons den Wert Null zuordnet. In dem Fall kann auf eine Berechnung der Gewichtungen des mindestens einen Neurons, eine Anwendung der Übertragungsfunktion des mindestens einen Neurons und eine Anwendung der Aktivierungsfunktion des mindestens einen Neurons verzichtet werden, um die dritte Aktivierung des mindestens einen Neurons zu ermitteln. Stattdessen wird als dritte Aktivierung des mindestens einen Neurons ohne Anwendung der Aktivierungsfunktion des mindestens einen Neurons der Wert Null ausgegeben.

Andernfalls wird die dritte Aktivierung des mindestens einen Neurons auf herkömmlichem Weg ermittelt. Wenn also die dritte Messung nach Ablauf der interpolierten Zeit erfolgte und/oder wenn die erste Aktivierung und/oder die zweite Aktivierung des mindestens einen Neurons von Null verschieden sind und/oder wenn die zweite Netzeingabe des mindestens einen Neurons dem Schwellwert nicht näherkommt als die erste Netzeingabe des mindestens einen Neurons, wird die dritte Aktivierung des mindestens einen Neurons auf konventionelle Weise durch Anwendung der Aktivierungsfunktion des mindestens einen Neurons eine mittels der Übertragungsfunktion des mindestens einen Neurons berechnete dritte Netzeingabe ermittelt.

Das erfindungsgemäße Verfahren ist dann besonders vorteilhaft, wenn die gemessenen ein oder mehreren physikalischen Größen sich nur träge verändern. Dies trifft bei vielen in einem Fahrzeug gemessenen physikalischen Größen zu. Bei träge veränderlichen Größen ist das Fehlerrisiko durch die Extrapolation vergleichsweise gering. Zudem ist es möglich, große Zeiträume zu extrapolieren. Durch Verzicht auf die Anwendung der Aktivierungsfunktion lassen sich dabei erhebliche Mengen an Rechenzeit einzusparen.

In einer bevorzugten Weiterbildung wird geprüft, ob die erste Aktivierung und die zweite Aktivierung des mindestens einen Neurons Null betragen, bzw. ob die erste und zweite Netzeingabe des mindestens einen Neurons unterhalb bzw. oberhalb des Schwellwerts liegen, und ob die zweite Netzeingabe des mindestens einen Neurons weiter von dem Schwellenwert entfernt ist als die erste Netzeingabe des mindestens einen Neurons, d.h. ob ein Betrag einer Differenz zwischen der zweiten Netzeingabe und dem Schwellwert größer ist als ein Betrag einer Differenz zwischen der ersten Netzeingabe und dem Schwellwert. Dies ist ein Indiz dafür, dass sich die Netzeingabe des mindestens einen Neurons nicht dem Schwellwerts annähert, sodass die Aktivierung des mindestens einen Neurons auf absehbare Zeit weiterhin den Wert Null annehmen wird.

Weiterbildungsgemäß wird vor diesem Hintergrund eine vordefinierte, d.h. vor Ausführung des Verfahrens festgelegt Zeit herangezogen, bis zu deren Ablauf von einer Anwendung der Übertragungsfunktion des mindestens einen Neurons abgesehen wird. Es wird also geprüft, ob die dritte Messung vor Ablauf einer vordefinierten Zeit erfolgte. Erfolgte die dritte Messung vor Ablauf einer vordefinierten Zeit, wird weiterbildungsgemäß ohne Anwendung der Aktivierungsfunktion des mindestens einen Neurons der Wert Null als dritte Aktivierung des mindestens einen Neurons gewählt. Nach Ablauf der vordefinierten Zeit wird die Aktivierung des mindestens einen Neurons bevorzugt auf konventionellem Wege durch Anwendung der Aktivierungsfunktion des mindestens einen Neurons auf eine mittels der Übertragungsfunktion des mindestens einen Neurons berechnete Netzeingabe ermittelt.

Die Zeit, bis die Netzeingabe des mindestens einen Neurons den Schwellwert erreicht, wird in einer bevorzugten Weiterbildung durch lineare Extrapolation ermittelt. Insbesondere kann die Zeit ermittelt werden als Produkt aus der zwischen der ersten Messung und der zweiten Messung verstrichenen Zeit, aus der Differenz zwischen der zweiten Netzeingabe und dem Schwellwert und aus einem Kehrwert einer Differenz zwischen der ersten Netzeingabe und der zweiten Netzeingabe des mindestens einen Neurons. Die weiterbildungsgemäße Ermittlung der Zeit durch lineare Extrapolation gestaltet sich besonders einfach und schnell.

In einer bevorzugten Weiterbildung repräsentieren ein oder mehrere der Eingangssignale des Netzes physikalische Größen eines Fahrzeugs. In Betracht kommen etwa Größen wie Temperatur, Kraft, Drehmoment, Drehzahl, Position und eingelegte Gangstufe beziehungsweise Übersetzung. Vorzugsweise handelt es sich um physikalische Größen eines Getriebes und/oder eines Motors des Fahrzeugs.

In einer bevorzugten Weiterbildung werden die Eingangssignale des Netzes mindestens teilweise von Sensoren eines Fahrzeugs bereitgestellt. Bei ein oder mehreren der Eingangssignale des Netzes handelt es sich weiterbildungsgemäß also um Signale von Sensoren eines Fahrzeugs. Bevorzugt sind die Sensoren an einem Getriebe und/oder Motor des Fahrzeugs angebracht. Insbesondere können mittels der Sensoren die oben genannten physikalischen Größen gemessen werden.

Analog repräsentieren ein oder mehrere der Ausgangssignale des Netzes in einer bevorzugten Weiterbildung physikalische Größen eines Fahrzeugs, beispielsweise Temperatur, Kraft, Drehmoment, Position, Geschwindigkeit, Drehzahl und/oder eingelegte Gangstufe beziehungsweise Übersetzung. Repräsentiert ein Ausgangssignal die eingelegte Gangstufe beziehungsweise Übersetzung, lässt sich mittels des erfindungsgemäßen Verfahrens eine Getriebesteuerung realisieren.

Auch lassen sich über das neuronale Netz Aktoren ansteuern. In einer entsprechenden bevorzugten Weiterbildung handelt es sich bei ein oder mehreren der Ausgangssignale des Netzes um Steuersignale für Aktoren eines Fahrzeugs. Insbesondere können Gangsteller eines automatisch schaltbaren Getriebes angesteuert werden.

Das erfindungsgemäße Computerprogramm implementiert das erfindungsgemäße Verfahren oder eine bevorzugte Weiterbildung des Verfahrens. Das Computerprogramm umfasst also Anweisungen zur Ausführung des erfindungsgemäßen Verfahrens oder einer bevorzugten Weiterbildung. Dies bedeutet, dass das Computerprogramm einen Computer zur Ausführung des erfindungsgemäßen Verfahrens oder einer bevorzugten Weiterbildung veranlasst, wenn das Computerprogramm von dem Computer ausgeführt wird. Das Computerprogramm kann auf einem Speichermedium gespeichert oder in einem oder mehreren übertragungsfähigen oder übertragenen Signalen codiert sein. Insbesondere kann das Computerprogramm als ein Computerprogrammprodukt vorliegen, das heißt als eine handelbare Einheit beziehungs- weise eine Einheit, die dem Zweck dient, den Besitz an dem Computerprogramm zu übertragen. Bei dem genannten Computer handelt es sich bevorzugt um ein Fahrzeugsteuergerät, etwa ein Motor- oder Getriebesteuergerät.