Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR DETERMINING A NETWORK CONFIGURATION OF A NEURAL NETWORK
Document Type and Number:
WIPO Patent Application WO/2019/206775
Kind Code:
A1
Abstract:
The invention relates to methods for determining a suitable network configuration for a neural network for a predefined application, which is determined in the form of training data, wherein the network configuration specifies the architecture of the neural network, having the following steps: a) providing (S1) a current network configuration set having network configurations, wherein the current network configuration set corresponds to a Pareto set with regard to a prediction error and at least one further optimisation target; b) providing (S2) a set of network configuration variants; c) selecting network configurations (S3) from the set of network configuration variants, depending on a probability distribution of the network configurations of the current network configuration set with respect to the at least one further optimisation target; d) training (S4) neural nets of each of the selected network configurations and determining a corresponding prediction error (error(N); e) updating (S5) the current network configuration set on the basis of the prediction errors and the at least one further optimisation target of the network configuration set and the selected network configurations; and f) selecting the suitable network configuration from the current network configuration set.

Inventors:
METZEN JAN HENDRIK (DE)
ELSKEN THOMAS (DE)
HUTTER FRANK (DE)
Application Number:
PCT/EP2019/059991
Publication Date:
October 31, 2019
Filing Date:
April 17, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
UNIV FREIBURG ALBERT LUDWIGS (DE)
International Classes:
G06N3/08
Foreign References:
DE19610849C11997-10-16
Other References:
SMITHSON SEAN C ET AL: "Neural networks designing neural networks: Multi-objective hyper-parameter optimization", 2016 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), ACM, 7 November 2016 (2016-11-07), pages 1 - 8, XP033048930, DOI: 10.1145/2966986.2967058
THOMAS ELSKEN ET AL: "Simple And Efficient Architecture Search for Convolutional Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 13 November 2017 (2017-11-13), XP081287784
SAYED MOHAMMAD REZA LOGHMANIAN ET AL: "Structure optimization of neural network for dynamic system modeling using multi-objective genetic algorithm", NEURAL COMPUTING AND APPLICATIONS, SPRINGER-VERLAG, LO, vol. 21, no. 6, 1 March 2011 (2011-03-01), pages 1281 - 1295, XP035099413, ISSN: 1433-3058, DOI: 10.1007/S00521-011-0560-3
THOMAS ELSKEN ET AL: "Multi-objective Architecture Search for CNNs", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 24 April 2018 (2018-04-24), XP081229480
Download PDF:
Claims:
Ansprüche

1. Verfahren zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz für eine vorgegebene Anwendung, insbesondere zur Realisierung von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine, wobei die vorgegebene Anwendung in Form von Trainingsdaten bestimmt ist; wobei die Netzkonfigura- tion die Architektur des neuronalen Netzes angibt, mit folgenden Schritten: a) Bereitstellen (S1 ) einer aktuellen Netzkonfigurationsmenge mit Netzkon- figurationen, wobei die aktuelle Netzkonfigurationsmenge einer Pareto- Menge hinsichtlich eines Vorhersagefehlers und mindestens eines wei- teren Optimierungsziels entspricht;

b) Bereitstellen (S2) einer Menge von Netzkonfigurationsvarianten;

c) Auswahlen von Netzkonfigurationen (S3) aus der Menge von Netzkon- figurationsvarianten abhängig von einer Wahrscheinlichkeitsverteilung der Netzkonfigurationen der aktuellen Netzkonfigurationsmenge bezüg- lich des mindestes einen weiteren Optimierungsziels;

d) Trainieren (S4) von neuronalen Netzen jeder der ausgewählten Netz- konfigurationen und Bestimmen eines entsprechenden Vorhersagefeh- lers ( errorQV));

e) Aktualisieren (S5) der aktuellen Netzkonfigurationsmenge abhängig von den Vorhersagefehlern und dem mindestens einen weiteren Optimie- rungsziel der Netzkonfigurationsmenge und der ausgewählten Netzkon- figurationen; und

f) Auswählen der geeigneten Netzkonfiguration aus der aktuellen Netz- konfigurationsmenge.

2. Verfahren nach Anspruch 1 , wobei die Schritte a) bis e) iterativ mehrfach durch- geführt werden.

3. Verfahren nach Anspruch 2, wobei das Verfahren beendet wird (S6), wenn eine Abbruchbedingung erfüllt ist (S6), wobei die Abbruchbedingung das Eintreten mindestens eines der folgenden Ereignisse beinhaltet:

eine vorbestimmte Anzahl von Iterationen wurde erreicht, ein vorbestimmter Wert des Vorhersagefehlers ( errorQV )) durch min- destens eine der Netzkonfigurationsvarianten wurde erreicht.

4. Verfahren nach einem der Ansprüche 1 bis 3, wobei diejenigen Netzkonfigurati- onen aus der Menge von Netzkonfigurationsvarianten ausgewählt werden, die abhängig von der Wahrscheinlichkeitsverteilung der Netzkonfigurationen der ak- tuellen Netzkonfigurationsmenge die geringsten Wahrscheinlichkeiten aufwei- sen.

5. Verfahren nach Anspruch 4, wobei die Netzkonfigurationen aus der Menge von Netzkonfigurationsvarianten abhängig von einer aus der aktuellen Konfigurati- onsmenge ermittelten Dichteschätzung, insbesondere einer Kerndichteschät- zung, ausgewählt werden.

6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Trainingsdaten durch Eingangsgrößenvektoren und diesen zugeordneten Ausgangsgrößenvektoren vorgegeben sind, wobei der Vorhersagefehler der jeweiligen Netzkonfiguration als ein Maß bestimmt wird, dass sich aus den jeweiligen Abweichungen zwischen Modellwerten, die sich durch das durch die jeweilige Netzkonfiguration bestimm- ten neuronalen Netzes basierend auf den Eingangsgrößenvektoren ergeben, und den den Eingangsgrößenvektoren zugeordneten Ausgangsgrößenvektoren ergibt.

7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Vorhersagefehler für die ausgewählten Netzkonfigurationen durch ein Trainieren mit den Trainingsdaten unter gemeinsamen vorbestimmten Trainingsbedingungen ermittelt werden, wo bei die Trainingsbedingungen eine Anzahl von Trainingsdurchläufen und/oder eine Trainingszeit und/oder eine Trainingsmethode vorgeben.

8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die geeignete Netzkonfigu- ration aus der aktuellen Netzkonfigurationsmenge basierend auf einer Gesamt- kostenfunktion ausgewählt wird, die von dem Vorhersagefehler und Ressourcen- kosten hinsichtlich des mindestens einen Optimierungsziels abhängt.

9. Verfahren nach einem der Ansprüche 1 bis 8, wobei das Aktualisieren der aktu- ellen Netzkonfigurationsmenge so durchgeführt wird, dass eine aktualisierte Netzkonfigurationsmenge nur diejenigen Netzkonfigurationen aus der aktuellen Netzkonfigurationsmenge und aus den ausgewählten Netzkonfigurationen ent- hält, die bezüglich des Vorhersagefehlers und mindestens eines des einen oder der mehreren Optimierungsziele besser sind als jede der übrigen Netzkonfigura- tionen.

10. Verfahren nach einem der Ansprüche 1 bis 9, wobei das Aktualisieren der aktu- ellen Netzkonfigurationsmenge durchgeführt wird, indem der aktuellen Netzkon- figurationsmenge die ausgewählten Netzkonfigurationen hinzugefügt werden, um eine erweiterte Netzkonfigurationsmenge zu erhalten, und anschließend aus der erweiterten Netzkonfigurationsmenge diejenigen Netzkonfigurationen ent- fernt werden, die bezüglich des Vorhersagefehlers und aller der einen oder der mehreren Optimierungsziele schlechter sind als mindestens eine der übrigen Netzkonfigurationen, um die aktualisierte Netzkonfigurationsmenge zu erhalten.

1 1. Verfahren zum Bereitstellen eines neuronalen Netzes mit einer Netzkonfigura- tion, die mit einem Verfahren nach einem der Ansprüche 1 bis 10 erstellt worden ist, wobei das neuronale Netz insbesondere zur Realisierung von Funktionen ei- nes technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine ausgelegt ist.

12. Verwendung eines neuronalen Netzes mit einer Netzkonfiguration, die mit einem Verfahren nach einem der Ansprüche 1 bis 10 für die vorgegebene Anwendung erstellt worden ist, für die vorgegebene Anwendung, wobei das neuronale Netz insbesondere zur Realisierung von Funktionen eines technischen Systems, ins- besondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werk- maschine ausgelegt ist.

13. Vorrichtung zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz für eine vorgegebene Anwendung, insbesondere zur Realisierung von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine, wobei die Anwendung in Form von Trainingsdaten bestimmt ist; wobei die Netzkonfiguration die Archi- tektur des neuronalen Netzes angibt, wobei die Vorrichtung zum Durchführen der folgenden Schritte ausgebildet ist:

a) Bereitstellen (S1 ) einer aktuellen Netzkonfigurationsmenge mit Netzkon- figurationen, wobei die aktuelle Netzkonfigurationsmenge einer Pareto- Menge hinsichtlich eines Vorhersagefehlers und mindestens eines weite- ren Optimierungsziels entspricht;

b) Bereitstellen (S2) einer Menge von Netzkonfigurationsvarianten;

c) Auswahlen (S3) von Netzkonfigurationen aus der Menge von Netzkonfi- gurationsvarianten abhängig von einer Wahrscheinlichkeitsverteilung der Netzkonfigurationen der aktuellen Netzkonfigurationsmenge bezüglich des mindestes einen weiteren Optimierungsziels;

d) Trainieren (S4) von neuronalen Netzen jeder der ausgewählten Netzkon- figurationen und Bestimmen eines entsprechenden Vorhersagefehlers (error (/V));

e) Aktualisieren (S5) der aktuellen Netzkonfigurationsmenge abhängig von den Vorhersagefehlern und dem mindestens einen weiteren Optimie- rungsziel der Netzkonfigurationsmenge und der ausgewählten Netzkonfi- gurationen; und

f) Auswählen der geeigneten Netzkonfiguration aus der aktuellen Netzkon- figurationsmenge.

14. Steuergerät, insbesondere zum Steuern von Funktionen eines technischen Sys- tems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder ei- ner Werkmaschine, mit einem neuronalen Netz, das mithilfe eines Verfahrens nach einem der Ansprüche 1 bis 10 konfiguriert ist.

15. Computerprogramm, welches dazu eingerichtet ist, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 10 auszuführen.

16. Elektronisches Speichermedium, auf welchem ein Computerprogramm nach An- spruch 15 gespeichert ist.

Description:
Beschreibung

Titel

Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neurona- len Netzes

Technisches Gebiet

Die Erfindung betrifft neuronale Netze, insbesondere zur Realisierung von Funkti- onen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine. Weiterhin betrifft die Erfindung die Architektursuche von neuronalen Netzen, um eine hinsichtlich eines Vorhersage- fehlers und hinsichtlich eines oder mehrerer Optimierungsziele optimierte Konfigu- ration eines neuronalen Netzes für eine bestimmte Anwendung aufzufinden.

Technischer Hintergrund

Die Eigenschaften von neuronalen Netzen werden maßgeblich durch ihre Archi- tektur bestimmt. Die Architektur eines neuronalen Netzes ist beispielsweise durch dessen Netzkonfiguration definiert, die u.a. durch die Anzahl der Neuronenschich- ten, die Art der Neuronenschichten (lineare Transformationen, nichtlineare Trans- formationen, Normalisierung, Verknüpfung mit weiteren Neuronenschichten usw.) und dergleichen gegeben ist. Insbesondere bei zunehmender Komplexität der An- wendungen bzw. der zu lösenden Aufgaben ist das zufällige Auffinden von geeig- neten Netzkonfigurationen aufwändig, da jeder Kandidat einer Netzkonfiguration zunächst trainiert werden muss, um dessen Leistungsfähigkeit evaluieren zu kön- nen.

Um das Auffinden einer geeigneten Netzkonfiguration zu verbessern, wird in der Regel Expertenwissen angewendet, um die Zahl der Kandidaten für mögliche Netzkonfigurationen vor deren Training zu reduzieren. Auf diese Weise kann eine Suche in einer Teilmenge von sinnvollen Netzarchitekturen vorgenommen werden.

Trotz dieses Ansatzes ist die Menge an möglichen Netzkonfigurationen immens. Da eine Bewertung einer Netzkonfiguration nur nach einem Training, z. B. durch Auswerten eines Fehlerwerts, bestimmt wird, führt dies bei komplexeren Aufgaben und entsprechend komplexen Netzkonfigurationen zu erheblichen Suchdauern für eine geeignete Netzkonfiguration.

Darüber hinaus sind für die meisten praktischen Anwendungen neuronale Netze gefordert, die sowohl bezüglich des Vorhersagefehlers als auch bezüglich mindes- tens eines weiteren Optimierungsziels, das sich beispielsweise aus Hardwarebe- schränkungen und dergleichen ergibt, optimiert sind.

Offenbarung der Erfindung

Erfindungsgemäß sind ein Verfahren zum Bestimmen einer Netzkonfiguration für ein neuronales Netz basierend auf Trainingsdaten für eine gegebene Anwendung gemäß Anspruch 1 sowie eine entsprechende Vorrichtung gemäß einem neben- geordneten Anspruch vorgesehen.

Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.

Gemäß einem ersten Aspekt ist ein Verfahren zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz für eine vorgegebene Anwendung, ins- besondere zur Realisierung von Funktionen eines technischen Systems, insbe- sondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkma- schine vorgesehen, wobei die Anwendung in Form von Trainingsdaten bestimmt ist; wobei die Netzkonfiguration die Architektur des neuronalen Netzes angibt, mit folgenden Schritten:

a) Bereitstellen einer aktuellen Netzkonfigurationsmenge mit Netzkonfigurati- onen, wobei die aktuelle Netzkonfigurationsmenge einer Pareto-Menge hinsichtlich eines Vorhersagefehlers und mindestens eines weiteren Opti- mierungsziels entspricht; b) Bereitstellen einer Menge von Netzkonfigurationsvarianten abhängig von einer Wahrscheinlichkeitsverteilung der Netzkonfigurationen in der aktuel- len Netzkonfigurationsmenge;

c) Auswahlen von Netzkonfigurationen aus der Menge von Netzkonfigurati- onsvarianten abhängig von einer Wahrscheinlichkeitsverteilung der Netz- konfigurationen der aktuellen Netzkonfigurationsmenge bezüglich des min- destens einen weiteren Optimierungsziels;

d) Bestimmen eines Vorhersagefehlers für jede der ausgewählten Netzkonfi- gurationen;

e) Aktualisieren der aktuellen Netzkonfigurationsmenge abhängig von den Vorhersagefehlern und den weiteren Optimierungszielen der ausgewählten Netzkonfigurationen; und

f) Auswählen der geeigneten Netzkonfiguration aus der aktuellen Netzkonfi- gurationsmenge.

Ein Ziel des obigen Verfahrens besteht darin, eine Menge von Netzkonfigurationen zu finden, die eine verbesserte Auswahlmöglichkeit darstellt, eine optimierte Netz- konfiguration eines neuronalen Netzes bezogen auf eine vorgegebene Anwen- dung aufzufinden. Insbesondere ist dazu wünschenswert, die in Frage kommen- den Netzkonfigurationen so auszuwählen, dass diese hinsichtlich eines Vorher- sagefehlers und eines oder mehrerer weiterer Optimierungsziele optimiert sind, so dass je nach Ermessen eine geeignete Netzkonfiguration aus der aufgefundenen Menge von Netzkonfigurationen ausgewählt werden kann. Der Kern des obigen Verfahrens besteht darin, eine optimierte Pareto-Menge von geeigneten Netzkon- figurationen hinsichtlich eines Vorhersagefehlers und eines oder mehrerer weiterer Optimierungsziele in möglichst ressourcenschonender Weise zu ermitteln.

Die Pareto-Menge von Netzkonfigurationen entspricht denjenigen Netzkonfigura- tionen, bei denen das betreffende neuronale Netz nicht hinsichtlich aller Optimie- rungsziele durch eine andere Netzkonfiguration dominiert wird. Mit anderen Wor- ten, die Pareto-Menge von Netzkonfigurationen entspricht denjenigen Netzkonfi- gurationen, die so ausgewählt sind, das jede der Netzkonfigurationen mindestens hinsichtlich des Vorhersagefehlers oder hinsichtlich mindestens eines des einen oder der mehreren weiteren Optimierungsziele besser ist als jede der übrigen Netzkonfigurationen. Insbesondere soll in der vorliegenden Erfindung eine Pareto- Menge bezüglich des Vorhersagefehlers und bezüglich des mindestens einen wei- teren Optimierungsziels ermittelt werden, um eine reduzierte Auswahlmenge für Netzkonfigurationen zu erhalten.

Das obige Verfahren ermöglicht es, die Auswahl von möglichen Netzkonfiguratio- nen, die hinsichtlich des Vorhersagefehlers und hinsichtlich eines oder mehrerer weiterer Optimierungsziele optimiert sind, auszuwählen, um für eine gegebene An- wendung eine geeignete Netzkonfiguration für ein neuronales Netz zu finden. Da die Bestimmung des Vorhersagefehlers ein jeweiliges Training des neuronalen Netzes entsprechend eines Netzkonfigurationskandidaten erfordert, sieht das obige Verfahren zudem vor, die Netzkonfigurationskandidaten für das Training ge- mäß einer Vorauswahl in geeigneter Weise auszuwählen. Dabei erfolgt die Aus- wahl entsprechend einer Wahrscheinlichkeitsverteilung, die Netzkonfiguration für Kostenwerte des einen oder der mehreren Optimierungsziele zu präferieren, für die noch keine oder bessere Netzkonfiguration hinsichtlich der Vorhersagegenau- igkeit evaluiert worden ist. Auf diese Weise ergeben sich Netzkonfigurationsvari- anten entlang einer Pareto-Menge, die eine optimierte Auswahlmöglichkeit hin- sichtlich der konkreten Anwendung bereitstellt. Dabei kann ein Experte entspre- chend einer Gewichtung der Optimierungsziele eine entsprechende Auswahl einer geeigneten Netzkonfiguration treffen.

Weiterhin können die Schritte a) bis e) iterativ mehrfach durchgeführt werden.

Insbesondere kann das Verfahren beendet werden, wenn eine Abbruchbedingung erfüllt ist, wobei die Abbruchbedingung das Eintreten mindestens eines derfolgen- den Ereignisse beinhaltet:

eine vorbestimmte Anzahl von Iterationen wurde erreicht,

ein vorbestimmter Vorhersagefehlerwert durch mindestens eine der Netzkon- figurationsvarianten wurde erreicht.

Es kann vorgesehen sein, dass diejenigen Netzkonfigurationen aus der Menge von Netzkonfigurationsvarianten ausgewählt werden, die abhängig von der Wahr- scheinlichkeitsverteilung der Netzkonfigurationen der aktuellen Netzkonfigurati- onsmenge die geringsten Wahrscheinlichkeiten aufweisen. Beispielsweise können die Netzkonfigurationen aus der Menge von Netzkonfigu- rationsvarianten abhängig von einer aus der aktuellen Netzkonfigurationsmenge ermittelten Dichteschätzung, insbesondere einer Kerndichteschätzung, ausge- wählt werden.

Gemäß einer Ausführungsform können die Trainingsdaten durch Eingangsgrößen- vektoren und diesen zugeordneten Ausgangsgrößenvektoren vorgegeben sein, wobei der Vorhersagefehler der jeweiligen Netzkonfiguration als ein Maß bestimmt wird, dass sich aus den jeweiligen Abweichungen zwischen Modellwerten, die sich durch das durch die jeweilige Netzkonfiguration bestimmten neuronalen Netzes basierend auf den Eingangsgrößenvektoren ergeben, und den den Eingangsgrö- ßenvektoren zugeordneten Ausgangsgrößenvektoren ergibt.

Weiterhin können die Vorhersagefehler für die ausgewählten Netzkonfigurationen durch ein Trainieren mit den Trainingsdaten unter gemeinsamen vorbestimmten Trainingsbedingungen ermittelt werden, wobei die gemeinsam vorbestimmten Trainingsbedingungen eine Anzahl von Trainingsdurchläufen und/oder eine Trai- ningszeit und/oder eine Trainingsmethode vorgeben.

Weiterhin kann die geeignete Netzkonfiguration aus der aktuellen Netzkonfigurati- onsmenge basierend auf einer Gesamtkostenfunktion ausgewählt werden, die von dem Vorhersagefehler und Ressourcenkosten hinsichtlich des mindestens einen Optimierungsziels abhängt.

Gemäß einer Ausführungsform kann das Aktualisieren der aktuellen Netzkonfigu- rati-onsmenge so durchgeführt werden, dass eine aktualisierte Netzkonfigurations- menge nur diejenigen Netzkonfigurationen aus der aktuellen Netzkonfigurations- menge und aus den ausgewählten Netzkonfigurationen enthält, die bezüglich des Vorhersagefehlers und mindestens eines des einen oder der mehreren Optimie- rungsziele besser sind als jede der übrigen Netzkonfigurationen.

Weiterhin kann das Aktualisieren der aktuellen Netzkonfigurationsmenge durchge- führt werden, indem der aktuellen Netzkonfigurationsmenge die ausgewählten Netzkonfigurationen hinzugefügt werden, um eine erweiterte Netzkonfigurations- menge zu erhalten, und anschließend aus der erweiterten Netzkonfigurations- menge diejenigen Netzkonfigurationen entfernt werden, die bezüglich des Vorher- sagefehlers und aller der einen oder der mehreren Optimierungsziele schlechter sind als mindestens eine der übrigen Netzkonfigurationen, um die aktualisierte Netzkonfigurationsmenge zu erhalten.

Gemäß einem weiteren Aspekt ist ein Verfahren zum Bereitstellen eines neurona- len Netzes mit einer Netzkonfiguration vorgesehen, die mit dem obigen Verfahren ermittelt worden ist, wobei das neuronale Netz insbesondere zur Realisierung von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahr- zeugs, eines Werkzeugs oder einer Werkmaschine ausgelegt ist.

Gemäß einem weiteren Aspekt ist eine Verwendung eines neuronalen Netzes mit einer Netzkonfiguration, die mit dem obigen Verfahren für die vorgegebene An- wendung erstellt worden ist, für die vorgegebene Anwendung, wobei das neuro- nale Netz insbesondere zur Realisierung von Funktionen eines technischen Sys- tems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder ei- ner Werkmaschine ausgelegt ist.

Gemäß einem weiteren Aspekt ist eine Vorrichtung zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz für eine vorgegebene Anwendung, ins- besondere Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine vorgesehen, wobei die Anwendung in Form von Trainingsdaten bestimmt ist; wobei die Netzkonfigu- ration die Architektur des neuronalen Netzes angibt, wobei die Vorrichtung zum Durchführen der folgenden Schritte ausgebildet ist:

a) Bereitstellen einer aktuellen Netzkonfigurationsmenge mit Netzkonfigura- tionen, wobei die aktuelle Netzkonfigurationsmenge einer Pareto-Menge hinsichtlich eines Vorhersagefehlers und mindestens eines weiteren Op- timierungsziels entspricht;

b) Bereitstellen einer Menge von Netzkonfigurationsvarianten;

c) Auswählen von Netzkonfigurationen aus der Menge von Netzkonfigurati- onsvarianten abhängig von einer Wahrscheinlichkeitsverteilung der Netz- konfigurationen der aktuellen Netzkonfigurationsmenge bezüglich des mindestens einen weiteren Optimierungsziels;

d) Trainieren von neuronalen Netzen jeder der ausgewählten Netzkonfigu- rationen und Bestimmen eines entsprechenden Vorhersagefehlers; e) Aktualisieren der aktuellen Netzkonfigurationsmenge abhängig von den Vorhersagefehlern und dem mindestens einen weiteren Optimierungsziel der Netzkonfigurationsmenge und den ausgewählten Netzkonfiguratio- nen; und

f) Auswählen der geeigneten Netzkonfiguration aus der aktuellen Netzkon- figurationsmenge.

Gemäß einem weiteren Aspekt ist ein Steuergerät, insbesondere zum Steuern von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahr- zeugs, eines Werkzeugs oder einer Werkmaschine, mit einem neuronalen Netz vorgesehen, das mithilfe des obigen Verfahrens konfiguriert wird

Kurzbeschreibung der Zeichnungen

Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:

Figur 1 eine schematische Darstellung eines beispielhaften neurona- len Netzes;

Figur 2 eine mögliche Netzkonfiguration eines neuronalen Netzes;

Figur 3 ein Flussdiagramm zur Darstellung eines Verfahrens zum Er- mitteln einer pareto-optimalen Menge von Netzkonfiguratio- nen für das Ermitteln eines geeigneten Netzkonfigurations- kandidaten für eine vorgegebene Anwendung;

Figur 4 eine schematische Darstellung einer Pareto-Front von Netz- konfigurationen abhängig von dem Vorhersagefehler und ei- nem weiteren Optimierungsparameter, insbesondere einem Ressourcen-Nutzungsparameter. Beschreibung von Ausführungsformen

Figur 1 zeigt grundsätzlich den Aufbau eines neuronalen Netzes 1 , das in der Re- gel aus mehreren kaskadierten Neuronenschichten 2 von jeweils mehreren Neu- ronen 3 aufweist. Die Neuronenschichten 2 weisen eine Eingangsschicht 2E zum Anlegen von Eingangsdaten, mehrere Zwischenschichten 2Z und eine Ausgangs- schicht 2A zum Ausgeben von Berechnungsergebnissen auf.

Die Neuronen 3 der Neuronenschichten 2 können dabei einer herkömmlichen Neu- ronen-Funktion entsprechen, wobei O j dem Neuronenausgang des Neurons, f der Aktivierungs- funktion, x, dem jeweiligen Eingangswert des Neurons, Wi einem Gewichtungspa- rameter für den i-ten Neuroneneingang in der j-ten Neuronenschicht und einer Aktivierungsschwelle entsprechen. Die Gewichtungsparameter, die Aktivierungs- schwelle und die Wahl der Aktivierungsfunktion können als Neuronenparameter in Registern des Neurons gespeichert sein.

Die Neuronenausgänge eines Neurons 3 können jeweils als Neuroneneingänge an Neuronen 3 der übrigen Neuronenschichten, d. h. einer der nachfolgenden oder einer der vorangehenden Neuronenschichten 2, weitergegeben oder, wenn es sich um ein Neuron 3 der Ausgangsschicht 2A handelt, als ein Berechnungsergebnis ausgegeben werden.

So gebildete neuronale Netze 1 können als Software oder mithilfe einer Berech- nungshardware realisiert sein, die einen Teil oder das gesamte neuronale Netz als elektronische (integrierte) Schaltung abbildet. Eine solche Berechnungshardware wird üblicherweise dann zum Aufbau eines neuronalen Netzes gewählt, wenn die Berechnung sehr schnell erfolgen soll, was mit Umsetzung in Software nicht zu erreichen wäre. Die Struktur der entsprechenden Software oder Hardware wird durch die Netzkon- figuration vorgegeben, die durch eine Vielzahl von Konfigurationsparametern be- stimmt ist. Die Netzkonfiguration bestimmt die Berechnungsvorschriften des neu- ronalen Netzes. Die Konfigurationsparameter umfassen bei einer herkömmlichen Netzkonfiguration, wie sie beispielsweise in Figur 1 schematisch gezeigt ist, die Anzahl der Neuronenschichten, die jeweilige Anzahl von Neuronen in jeder Neu- ronenschicht, die Netzparameter, die durch die Gewichtungen, die Aktivierungs- schwelle sowie eine Aktivierungsfunktion gegeben sind, Angaben zur Kopplung eines Neurons mit Eingangs- und Ausgangsneuronen und dergleichen.

Abgesehen von der oben beschriebenen Netzkonfiguration sind weitere Konfigu- rationen von neuronalen Netzen möglich, bei der Neuronen vorgesehen sind, die eingangsseitig mit Neuronen aus verschiedenen Neuronenschichten und aus- gangsseitig mit Neuronen verschiedener Neuronenschichten gekoppelt sind. Wei- terhin können diesbezüglich insbesondere auch Neuronenschichten vorgesehen sein, die eine Rückkopplung vorsehen, d. h. die eingangsseitig mit Neuronen- schichten, die bezüglich des Datenflusses ausgangsseitig der betreffenden Neu- ronenschicht vorgesehen sind. Diesbezüglich zeigt Figur 2 schematisch eine mög- liche Konfiguration eines neuronalen Netzes mit mehreren Schichten L1 bis L6, die zunächst in an sich bekannter Weise, wie in Figur 1 schematisch dargestellt, miteinander gekoppelt sind, d.h. Neuroneneingänge sind mit Neuronenausgängen der vorangehenden Neuronenschicht verbunden. Ferner weist die Neuronen- schicht L3 einen Bereich auf, der eingangsseitig mit Neuronenausgängen der Neu- ronenschicht L5 gekoppelt ist. Auch kann die Neuronenschicht L4 vorsehen, ein- gangsseitig mit Ausgängen der Neuronenschicht L2 verbunden zu sein.

Im Folgenden soll ein Verfahren zum Bestimmen einer optimierten Netzkonfigura- tion für ein neuronales Netz basierend auf einer vorbestimmten Anwendung durch- geführt werden. Die Anwendung bestimmt sich im Wesentlichen durch die Größe von Eingangsgrößenvektoren und der diesen zugeordneten Ausgangsgrößenvek- toren, die die Trainingsdaten darstellen, die ein gewünschtes Netzwerkverhalten bzw. eine bestimmte Aufgabenstellung definieren.

In Figur 3 ist ein Verfahren zum Ermitteln einer Menge von geeigneten Netzkonfi- gurationen für ein neuronales Netz bezogen auf eine gewünschte Anwendung be- schrieben. Die so erhaltene Menge soll dazu dienen, die Auswahl einer Netzkon- figuration für die gewünschte Anwendung zu erleichtern. Die Netzkonfiguration soll daher ein neuronales Netz angeben, das für eine bestimmte Anwendung einsetz- bar und geeignet ist und hinsichtlich eines Vorhersagefehlers und zusätzlich hin- sichtlich mindestens eines weiteren Optimierungsziels optimiert ist. Insbesondere soll die Menge an Netzkonfigurationen einer Pareto-Front bzw. einer Pareto- Menge von Netzkonfigurationen entsprechen, die hinsichtlich des Vorhersagefeh- lers und des mindestens einen weiteren Optimierungsziels optimiert sind.

Ziel der Erfindung ist es, die Pareto-Front der Funktion fQV) = error(N), f(N)) T e R x G zu approximieren. Dabei ist N ein neuronales Netz, error(N) der Vorhersagefehler des neuronalen Netzes bezogen auf Validierungsdaten , die eine Anwendung be- schreiben, und f(N) eine beliebige N-dimensionale Funktion, die die benötigten Ressourcen des neuronalen Netzes N in Form von Kosten der jeweiligen Res- source (Ressourcenkosten) beschreibt, d. h. Ressourcenkosten bezüglich eines oder mehrerer zu dem Vorhersagefehler zusätzlichen Optimierungsziele darstellt. Die zusätzlichen Optimierungsziele können Eigenschaften der Ressource zur Be- rechnungshardware u. a. betreffen, wie z.B.: eine Speichergröße, eine Auswer- tungsgeschwindigkeit, eine Kompatibilität bezüglich spezieller Hardware, einem Auswertungsenergieverbrauch und dergleichen. Das Verfahren berücksichtigt, dass die Auswertung des Vorhersagefehlers sehr aufwendig ist, da es das Trai- nieren des neuronalen Netzes der Netzkonfigurationen erfordert. Dagegen stellt es einen erheblich geringeren Aufwand dar, f(N) bezogen auf das mindestens eine zusätzliche Optimierungsziel auszuwerten, da dazu kein Training des neuronalen Netzes N erforderlich ist.

Das nachfolgend in Verbindung mit Figur 3 beschriebene Verfahren approximiert in iterativer Weise die Pareto-Front der obigen Funktion.

In Schritt S1 wird eine Menge von Netzkonfigurationen, die eine vorgegebene An- fangs-Pareto-Front Pi, d.h. eine aktuelle Menge an Netzkonfigurationen, darstellt, bereitgestellt. Die Netzkonfigurationen entsprechen jeweils einem neuronalen Netz mit einer bestimmten Netzarchitektur. Das betreffende neuronale Netz kann ein herkömmliches neuronales Netz, ein konvolutioneiles neuronales Netz oder beliebige andere lernfähige Netze, wie z.B. rekurrente neuronale Netzwerke, um- fassen.

Ausgehend von der aktuellen Menge von Netzkonfigurationen können in Schritt S2 mit weitere/neue Netzwerkkonfigurationen, d.h. Varianten von Netzkonfiguratio- nen, ermittelt werden. Diese können beispielsweise durch Anwendung von ver- schiedenen Netzwerkmorphismen auf eine oder mehrere der Netzkonfigurationen Varianten von Netzwerkkonfigurationen ermittelt werden oder zufällig ausgewählt werden. Grundsätzlich kann die Generierung der Varianten von Netzkonfiguratio- nen auf im Wesentlichen beliebige Weise erfolgen.

Die Netzwerkmorphismen entsprechen vorbestimmten Regeln, die mithilfe eines Operators bestimmt sein können. Allgemein ist ein Netzwerkmorphismus ein Ope- rator T, der ein neuronales Netz N auf ein Netz TN abbildet, wobei gilt:

N w (x ) = (' TN) Ά (C ) für x e X dabei sind w die Netzparameter (Gewichtungen) des neuronalen Netzes N und w die Netzparameter des variierten neuronalen Netzes TN. X entspricht dem Raum, auf dem das neuronale Netz angewendet wird

Durch die Variationen der Netzkonfigurationen der aktuellen Netzkonfigurations- menge des Schritts S2 erhält man k Netzkonfigurationsvarianten. Die Netzkonfi- gurationsvarianten können auch auf andere Weise erzeugt werden, insbesondere auch unabhängig von der jeweils aktuellen Netzkonfigurationsmenge.

Aus der Anzahl k der Netzwerkkonfigurationsvarianten wird in Schritt S3 eine Un- termenge von j Netzkonfigurationen ausgewählt. Die Auswahl kann basierend auf einer Dichteschätzung, insbesondere einer Kerndichteschätzung (Kernel Density Estimator) p kde abhängig von der aktuellen Pareto-Front P t der für {f(N) \N e P berechnet werden. Alternative Dichteschätzverfahren umfassen parametrische Dichte-Modelle (bspw. gaussian mixture model) oder ein Histogramm.

Die Kerndichteschätzung ist ein statistisches Verfahren zur Schätzung der Wahr- scheinlichkeitsverteilung einer Zufallsvariablen. Die Kerndichteschätzung stellt hier entsprechend eine Funktion p kde dar, mit der ein Wahrscheinlichkeitsmaß des Auftretens einer bestimmten Netzkonfiguration basierend auf einer Wahrschein- lichkeitsverteilung, die durch die Netzkonfigurationen der aktuellen Netzkonfigura- tionsmenge bestimmt wird, angegeben wird.

Die Auswahl der Untermenge der Netzkonfigurationen wird dann zufällig nach ei- ner Wahrscheinlichkeitsverteilung p, die antiproportional zu p kde ist, ausgewählt, d. h. die Wahrscheinlichkeit, dass ein neuronales Netz N zu den k Netzkonfiguratio- nen gehört, entspricht

pQV) = c/p kde (N )) wobei c lediglich eine Konstante zur Normalisierung der Wahrscheinlichkeitsver- teilung darstellt. Anstelle der obigen Beziehung kann auch eine andere Beziehung verwendet werden, die der Bedingung genügt:

P kde (f )) < Pkde (f(.N 2)) -> pQVl) >= p(/V2)

Ist der Kerndichteschätzwert der Kerndichteschätzung p kde (f( . N * )) für eine aus- gewählte der Netzkonfigurationsvarianten N * groß, was der Fall ist, wenn bereits viele Netzkonfigurationen der aktuellen Netzkonfigurationsmenge denselben Wert von ungefährf(N) besitzen, wird die betreffende Netzkonfigurationsvariante N * die sen Wert wahrscheinlich nicht weiter verbessern. Ist der Kerndichteschätzwert der Kerndichteschätzung p kde (f( . N * )) für eine ausgewählte der Netzkonfigurationsva- rianten N * klein, was der Fall ist, wenn sehr wenige Netzkonfigurationen der aktu- ellen Netzkonfigurationsmenge denselben Wert von ungefähr f(N) besitzen, ist die Wahrscheinlichkeit, dass die betreffende Netzkonfigurationsvariante N * diesen Wert verbessert, groß. Das heißt, es werden aus den Netzkonfigurationsvarianten Netzkonfigurationen ausgewählt, die eine höhere Wahrscheinlichkeit besitzen, zur Pareto-Front der aktuellen Netzkonfigurationsmenge zu gehören bzw. die Appro- ximation zu verbessern.

Das Auswerten von f(N) ist sehr einfach und mit geringem Rechenaufwand durch- zuführen, so dass die jeweils aktuelle Menge an Netzkonfigurationsvarianten sehr groß gewählt werden kann. Die Anzahl der daraus ausgewählten Netzkonfigurati- onen bestimmt darin maßgeblich den Rechenaufwand, da diese trainiert werden müssen, um den jeweiligen Vorhersagefehler zu ermitteln. In einem nachfolgenden Schritt S4 werden die ausgewählten Netzkonfigurationen mit identischen Trainingsdaten unter vorbestimmten Trainingsbedingungen trai- niert und die entsprechenden Vorhersagefehler bestimmt.

Beim Trainieren der durch die Netzkonfigurationsvarianten vorgegebenen neuro- nalen Netze werden soll ein identisches Bewertungsmaß erhalten werden. Daher erfolgt das Trainieren der neuronalen Netze aller Netzkonfigurationen für eine vor- bestimmte Anzahl von Trainingszyklen und einem vorbestimmten Trainingsalgo- rithmus.

In Schritt S5 wird die Aktualisierung der Pareto-Front entsprechend der ermittelten Vorhersagefehler und den Ressourcen kosten hinsichtlich des einen oder der meh- reren weiteren Optimierungsziele durchgeführt. Die Aktualisierung der Pareto- Front Pi mit den Netzkonfigurationen der aktuellen Menge von Netzkonfigurationen erfolgt so, dass der aktuellen Netzkonfigurationsmenge die ausgewählten Netz- konfigurationen hinzugefügt werden, um eine erweiterte Netzkonfigurationsmenge zu erhalten, und anschließend aus der erweiterten Netzkonfigurationsmenge die- jenigen Netzkonfigurationen entfernt werden, die bezüglich des Vorhersagefehlers und aller der einen oder der mehreren Optimierungsziele schlechter sind als min- destens eine der übrigen Netzkonfigurationen.

In einem nachfolgenden Schritt S6 wird überprüft, ob eine Abbruchbedingung er- füllt ist. Ist dies der Fall (Alternative: Ja), wird das Verfahren mit Schritt S7 fortge- setzt, anderenfalls (Alternative: Nein) wird zu Schritt S2 zurückgesprungen. Die Abbruchbedingung kann umfassen:

eine vorbestimmte Anzahl von Iterationen wurde erreicht,

ein vorbestimmter Vorhersagefehlerwert durch mindestens eine der Netzkonfi- gurationsvarianten wurde erreicht.

Auf diese Weise kann iterativ die jeweils aktuelle Menge an Netzkonfigurationen, die für die betreffende Anwendung geeignet ist, an die Pareto-Front von optimier- ten Netzkonfigurationen approximiert werden. In Figur 4 ist beispielsweise der Verlauf einer Pareto-Front einer Menge von Netz- konfigurationen hinsichtlich des Vorhersagefehlers error(N) und den Ressourcen- kosten hinsichtlich mindestens eines weiteren Optimierungsziels f(N) dargestellt.

Die nach dem letzten Iterationszyklus ermittelten Netzkonfigurationen der aktuel- len Netzkonfigurationsmenge stellen nun eine Grundlage dar, eine geeignete Netzkonfiguration für die durch die Trainingsdaten bestimmte Anwendung auszu- wählen. Dies kann beispielsweise durch Vorgeben einer Gesamtkostenfunktion, die den Vorhersagefehler und die Ressourcen kosten berücksichtigt, erfolgen. In der Praxis würde man auf Basis der betreffenden Anwendung entscheiden, wel- ches Netzkonfiguration der aktuellen Netzkonfigurationsmenge (aktuelle Pareto- Front) am besten für die gewählte Anwendung geeignet ist. Dies kann anhand ei- ner Beschränkungsvorgabe erfolgen. Als Beispielszenario kann aus der Pareto- Front eine Netzkonfiguration ausgewählt werden, die eine Netzwerkgröße von z.B. 1 GB Speicher nicht übersteigt.

Das obige Verfahren ermöglicht in verbesserter Weise die Architektursuche von Netzkonfigurationen zu beschleunigen, da die Evaluierung der Leistungsfähigkeit/ Vorhersagefehler der Varianten von Netzkonfigurationen erheblich schneller vor- genommen werden kann.

Die so ermittelten Netzkonfigurationen können für die Auswahl einer geeigneten Konfiguration eines neuronalen Netzes für eine vorgegebene Aufgabe verwendet werden. Die Optimierung der Netzkonfiguration steht in engem Zusammenhang zu der gestellten Aufgabe. Die Aufgabe ergibt sich durch die Vorgabe von Trainings- daten, so dass vor dem eigentlichen Training zunächst die Trainingsdaten definiert werden müssen, aus denen die optimierte/geeignete Netzkonfiguration für die ge- stellte Aufgabe ermittelt wird. Beispielsweise können Bilderkennungs- bzw. -klas- sif kationsverfahren durch Trainingsdaten definiert werden, die Eingangsbilder, Ob- jektzuordnungen, Objektklassifikationen beinhalten. Netzkonfigurationen können auf diese Weise grundsätzlich für alle durch Trainingsdaten definierten Aufgaben bestimmt werden.

So kann ein derart konfiguriertes neuronales Netz in einem Steuergerät eines tech- nischen Systems, insbesondere in einem Roboter, einem Fahrzeug, einem Werk- zeug oder einer Werkmaschine eingesetzt werden, um abhängig von Eingangs- größen Ausgangsgrößen zu bestimmen. Die Ausgangsgrößen können beispiels- weise eine Klassifizierung der Eingangsgröße (d.h. z.B. eine Zuordnung der Ein- gangsgröße zu einer Klasse einer vorgebbaren Mehrzahl von Klassen) und in dem Fall, dass die Eingangsdaten Bilddaten umfassen, eine insbesondere pixelweise semantische Segmentierung dieser Bilddaten (d.h. z.B. eine bereichs- oder pixel- weise Zuordnung von Ausschnitten der Bilddaten zu einer Klasse einer vorgebba- ren Mehrzahl von Klassen) umfassen. Als Eingangsgrößen des neuronalen Netzes kommen insbesondere Sensordaten oder abhängig von Sensordaten ermittelte Größen in Frage. Die Sensordaten können von Sensoren des technischen Sys- tems stammen oder von dem technischen System von extern empfangen werden. Die Sensoren können insbesondere mindestens einen Videosensor und/oder min- destens einen Radarsensor und/oder mindestens einen LiDAR-Sensor und/oder mindestens einen Ultraschallsensor umfassen. Abhängig von den Ausgangsgrö- ßen des neuronalen Netzes kann durch eine Recheneinheit des Steuergeräts des technischen Systems mindestens ein Aktor des technischen Systems mit einem Ansteuersignal angesteuert werden. Beispielsweise kann so eine Bewegung eines Roboters oder Fahrzeugs gesteuert werden oder eine Steuerung einer Antriebs- einheit oder eines Fahrerassistenzsystems eines Fahrzeugs erfolgen.