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/206776
Kind Code:
A1
Abstract:
The invention relates to a method for determining a suitable network configuration for a neural network for a specified application, which is defined in the form of training data, the network configuration indicating the architecture of the neural network, comprising the following steps: a) on the basis of a current network configuration, generating (S1, S2) a plurality of network configurations to be evaluated, which differ in a part from the current network configuration, by applying approximate network morphisms; b) determining affected network parts of the network configurations; c) conducting multi-phase training (S3) of each of the network configurations to be evaluated under predefined training conditions, wherein in a first phase network parameters of a part not changed by the use of the approximate network morphism in question are disregarded in the training and in at least one further phase all network parameters are trained, d) determining (S4) a resulting prediction error (error (TNj)) for each of the network configurations to be evaluated; e) selecting (S5) the suitable network configuration in dependence on the determined prediction errors.

Inventors:
METZEN JAN HENDRIK (DE)
ELSKEN THOMAS (DE)
HUTTER FRANK (DE)
Application Number:
PCT/EP2019/059992
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:
US20180060724A12018-03-01
DE102014212556A12014-12-31
Other References:
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
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: "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
T. EISKEN ET AL.: "Simple and efficient architecture search for convolutional neural networks", ICLR, Retrieved from the Internet
Download PDF:
Claims:
Ansprüche

1. Verfahren zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz (1 ) 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 (1 ) angibt, mit folgenden Schritten: a) ausgehend von einer aktuellen Netzkonfiguration, Generieren (S1 , S2) von mehreren zu evaluierenden Netzkonfigurationen, die sich in einem Teil von der aktuellen Netzkonfiguration unterscheiden, durch Anwen- dung von approximativen Netzwerkmorphismen;

b) Ermitteln betroffener Netzteile der Netzkonfigurationen;

c) Mehrphasiges T rainieren (S3) jeder der zu evaluierenden Netzkonfigu- rationen unter vorbestimmten Trainingsbedingungen, wobei in einer ersten Phase jeweils Netzparameter eines nicht durch die Anwendung des jeweiligen approximativen Netzwerkmorphismus geänderten Teils bei dem Trainieren unberücksichtigt bleibt und wobei in mindestens ei- ner weiteren Phase alle Netzparameter trainiert werden,

d) Bestimmen (S4) eines resultierenden Vorhersagefehles ( error(TNj )) für jede der zu evaluierenden Netzkonfigurationen;

e) Auswahlen (S5) der geeigneten Netzkonfiguration abhängig von den bestimmten Vorhersagefehlern.

2. Verfahren nach Anspruch 1 , wobei die Schritte a) bis e) iterativ mehrfach durch- geführt werden, indem eine jeweils ausgewählte geeignete Netzkonfiguration als aktuelle Netzkonfiguration für die Generierung mehrerer zu evaluierender Netz- konfigurationen verwendet wird.

3. Verfahren nach Anspruch 2, wobei das Verfahren beendet wird (S6), wenn eine Abbruchbedingung erfüllt ist, wobei die Abbruchbedingung das Eintreten mindes- tens eines der folgenden Ereignisse beinhaltet: eine vorbestimmte Anzahl von Iterationen wurde erreicht,

ein vorbestimmter Wert des Vorhersagefehlers ( error(TNj ) ) durch min- destens eine der Netzkonfigurationsvarianten wurde erreicht.

4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die approximative Netzwerk- morphismen jeweils eine Änderung einer Netzkonfiguration bei einem aktuellen Trainingszustand vorsehen, bei denen sich der Vorhersagefehler ( error(TNj )) um nicht mehr als einen vorgegebenen maximalen Fehlerbetrag ändert.

5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die approximative Netzwerk- morphismen für herkömmliche neuronale Netze jeweils das Entfernen, Hinzufü- gen und/oder Modifizieren eines oder mehrerer Neuronen oder einer oder meh- reren Neuronenschichten vorsehen.

6. Verfahren nach einem der Ansprüche 1 bis 4, wobei die approximativen Netz- werkmorphismen für konvolutioneile neuronale Netze jeweils das Entfernen, Hin- zufügen und/oder Modifizieren eines oder mehrerer Schichten vorsehen, wobei die Schichten eine oder mehrere Faltungsschichten, eine oder mehrere Norma- lisierungschichten, eine oder mehrere Aktivierungsschichten und eine oder meh- rere Zusammenführungsschichten umfassen.

7. Verfahren nach einem der Ansprüche 5 und 6, wobei die Trainingsdaten durch Eingangsgrößenvektoren und diesen zugeordneten Ausgangsgrößenvektoren vorgegeben sind, wobei der Vorhersagefehler der jeweiligen Netzkonfiguration nach der weiteren Trainingsphase 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 zuge- ordneten Ausgangsgrößenvektoren ergibt.

8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die gemeinsamen vorbe- stimmten ersten Trainingsbedingungen für das Trainieren jeder der Netzkonfigu- rationen in der ersten Trainingsphase eine Anzahl von Trainingsdurchläufen und/oder eine Trainingszeit und/oder eine Trainingsmethode vorgeben und/oder wobei die gemeinsamen vorbestimmten zweiten Trainingsbedingungen für das Trainieren jeder der Netzkonfigurationen in der zweiten Trainingsphase eine An- zahl von Trainingsdurchläufen und/oder eine Trainingszeit und/oder eine Trai- ningsmethode vorgeben .

9. Verfahren nach einem der Ansprüche 1 bis 8, wobei betroffene Netzteile des neuronalen Netzes all diejenigen Netzteile sind,

die eingangsseitig und ausgangsseitig mit einem durch die Variation ent- fernten Netzteil in Verbindung standen, und

die eingangsseitig oder ausgangsseitig mit einem hinzugefügten Netzteil in Verbindung stehen, und

die eingangsseitig oder ausgangsseitig mit einem modifizierten Netzteil in Verbindung stehen.

10. Verfahren zum Bereitstellen eines neuronalen Netzes mit einer Netzkonfigura- tion, die mit einem Verfahren nach einem der Ansprüche 1 bis 9 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.

1 1 . Verwendung eines neuronalen Netzes mit einer Netzkonfiguration, die mit einem Verfahren nach einem der Ansprüche 1 bis 9 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.

12. Vorrichtung zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz für eine vorgegebene Anwendung, insbesondere Funktionen eines techni- schen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werk- zeugs oder einer Werkmaschine, wobei die Anwendung in Form von Trainings- daten bestimmt ist; wobei die Netzkonfiguration die Architektur des neuronalen Netzes angibt, wobei die Vorrichtung ausgebildet ist, folgende Schritte auszufüh- ren:

a) ausgehend von einer aktuellen Netzkonfiguration, Generieren (S1 , S2) von mehreren zu evaluierenden Netzkonfigurationen, die sich in einem Teil von der aktuellen Netzkonfiguration unterscheiden, durch Anwen- dung von approximativen Netzwerkmorphismen;

b) Ermitteln betroffener Netzteile der Netzkonfigurationen;

c) Mehrphasiges Trainieren (S3) jeder der zu evaluierenden Netzkonfigu- rationen unter vorbestimmten Trainingsbedingungen, wobei in einer ersten Phase jeweils Netzparameter eines nicht durch die Anwendung des jeweiligen approximativen Netzwerkmorphismus geänderten Teils bei dem Trainieren unberücksichtigt bleibt und wobei in mindestens ei- ner weiteren Phase alle Netzparameter trainiert werden, d) Bestimmen (S4) eines Vorhersagefehles für jede der Netzkonfigurati- onen;

e) Auswahlen (S5) der geeigneten Netzkonfiguration abhängig von den bestimmten Vorhersagefehlern.

13. 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 9 konfiguriert ist.

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

15. Elektronisches Speichermedium, auf welchem ein Computerprogramm nach An- spruch 14 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 oder mehrerer Parameter optimierte Konfiguration eines neuronalen Netzes für eine bestimmte Anwendung aufzufinden.

Technischer Hintergrund

Die Leistungsfähigkeit von neuronalen Netzen wird maßgeblich durch ihre Archi- tektur bestimmt. Die Architektur eines neuronalen Netzes wird beispielsweise durch dessen Netzkonfiguration vorgegeben, die durch die Anzahl der Neuronen- schichten und, die Art der Neuronenschichten (lineare Transformationen, nichtli neare Transformationen, Normalisierung, Verknüpfung mit weiteren Neuronen- schichten usw.) und dergleichen gegeben ist. Insbesondere bei zunehmender Komplexität der Anwendungen bzw. der zu lösenden Aufgaben ist das zufällige Auffinden von geeigneten Netzkonfigurationen aufwändig, da jeder Kandidat einer Netzkonfiguration zunächst trainiert werden muss, um dessen Leistungsfähigkeit evaluieren zu können.

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.

Aus T. Elsken et al., "Simple and efficient architecture search for convolutional neural networks", ICLR, www.arxiv.net/abs/171 1 .04528 ist ein Verfahren zur Ar- chitektursuche von neuronalen Netzen bekannt, das mithilfe einer Hill-Climbing- Strategie Netzkonfigurationsvarianten hinsichtlich deren Leistungsfähigkeiten eva- luiert, wobei diejenigen Netzkonfigurationsvarianten ausgewählt werden, deren Leistungsfähigkeit maximal ist, wobei auf die ausgewählten Konfigurationsvarian- ten Netzwerkmorphismen angewendet werden, um neu zu evaluierende Netzkon- figurationsvarianten zu generieren. Zur Evaluierung der Leistungsfähigkeit der Konfigurationsvariante wird ein Modelltraining mit festgelegten Trainingsparame- tern durchgeführt. Das Verwenden von Netzwerkmorphismen reduziert die benö- tigten Rechenkapazitäten wesentlich durch Wiederverwenden der Informationen aus dem Training der aktuellen Konfigurationsvariante für neu zu evaluierende Konfigurationsvarianten.

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. Es kann hierbei vorgesehen wobei die Anwendung in Form von Trainingsdaten bestimmt ist; wobei die Netzkonfiguration die Architektur des neuronalen Netzes angibt, mit folgenden Schritten:

a) ausgehend von einer aktuellen Netzkonfiguration werden durch Anwen- dung von approximativen Netzwerkmorphismen mehrere zu evaluierende Netzkonfigurationen generiert, die sich in einem Teil von der aktuellen Netzkonfiguration unterscheiden;

b) Ermitteln betroffener Netzteile der Netzkonfigurationen;

c) Mehrphasiges T rainieren jeder der zu evaluierenden Netzkonfigurationen unter vorbestimmten Trainingsbedingungen, wobei in einer ersten Trai- ningsphase jeweils Netzparameter eines nicht durch die Anwendung des jeweiligen approximativen Netzwerkmorphismus geänderten Teils bei dem Trainieren unberücksichtigt bleibt und wobei in mindestens einerwei- teren Trainingsphase alle Netzparameter trainiert werden;

d) Bestimmen eines Vorhersagefehles für jede der Netzkonfigurationen; und e) Auswahlen der geeigneten Netzkonfiguration abhängig von den bestimm- ten Vorhersagefehlern.

Eine Idee des obigen Verfahrens besteht darin, ausgehend von einer Anfangs- netzkonfiguration eines neuronalen Netzes Netzkonfigurationsvarianten durch An- wendung von approximativen Netzwerkmorphismen zu generieren und für diese einen Vorhersagefehler zu ermitteln. Die Konfigurationsvarianten werden entspre- chend des Vorhersagefehlers bewertet und abhängig von dem Vorhersagefehler ein oder mehrere der Netzkonfigurationen ausgewählt, um daraus ggfs neue Netz- konfigurationsvarianten durch erneutes Anwenden von approximativen Netzwerk- morphismen zu generieren.

Insbesondere für komplexe Anwendungen/Aufgaben werden komplexe Netzkonfi- gurationen mit einer großen Anzahl von Neuronen benötigt, so dass bislang eine große Menge von Netzparametern während des Trainingsvorgangs trainiert wer- den muss. Ein umfassendes Training zur Ermittlung des Vorhersagefehlers ist da- her aufwändig. Dazu ist vorgesehen den Evaluierungsaufwand zu reduzieren, in- dem der Vorhersagefehler nach einem mehrphasigen Trainieren der durch die Netzkonfiguration angegebenen neuronalen Netze bestimmt wird. Dies ermöglicht eine Bewertung und eine Vergleichbarkeit der Vorhersagefehler mit deutlich ver- ringertem Rechenaufwand.

Gemäß dem obigen Verfahren ist vorgesehen, zur Reduzierung des Evaluierungs- aufwands jedes der zu evaluierenden Netzkonfigurationen für die Bestimmung des Vorhersagefehlers in einer ersten Trainingsphase Netzparameter nur derjenigen Netzteile des neuronalen Netzes weiter zu trainieren, die durch die Anwendung des Netzwerkmorphismus variiert worden sind. Die durch den Netzwerkmorphis- mus nicht betroffenen Netzteile des neuronalen Netzes werden bei dem Training somit nicht berücksichtigt, d. h. die Netzparameter der durch den Netzwerkmor- phismus nicht betroffenen Netzteile des neuronalen Netzes werden für die zu eva- luierende variierte Netzkonfiguration übernommen und während des Trainings fi- xiert, d.h. unverändert belassen. Lediglich die durch die Variation betroffenen Teile des neuronalen Netzes werden somit trainiert. Von einer Variation eines Netzwerk- morphismus betroffene Teile eines Netzwerkes sind alle hinzugefügten und modi- fizierten Neuronen und alle Neuronen, die eingangsseitig oder ausgangsseitig mit mindestens einem hinzugefügten, modifizierten oder entfernen Neuron in Verbin- dung stehen.

Anschließend werden in einer weiteren Trainingsphase das neuronale Netz der zu evaluierenden Netzkonfiguration ausgehend von dem Trainingsergebnis der ers- ten Trainingsphase entsprechend gemeinsamen weiteren Trainingsbedingungen weiter trainiert.

Das obige Verfahren hat den Vorteil, dass durch das mehrphasige Training ein schnelleres Erreichen eines aussagekräftigen und vergleichbaren Vorhersagefeh- lers möglich ist, als dies bei einem einphasigen herkömmlichen Training ohne Übernahme von Netzparametern der Fall wäre. Ein solches Training kann einer- seits deutlich schneller bzw. mit deutlich geringerem Ressourcenverbrauch durch- geführt werden und so die Architektursuche insgesamt schneller durchgeführt wer- den. Andererseits ist das Verfahren ausreichend, um zu evaluieren, ob durch die Modifikation des neuronalen Netzes eine Verbesserung der Leistungsfähigkeit des betreffenden neuronalen Netzes erreicht werden kann.

Weiterhin können die Schritte a) bis e) iterativ mehrfach durchgeführt werden, in- dem eine jeweils gefundene Netzkonfiguration als aktuelle Netzkonfiguration für die Generierung mehrerer zu evaluierender Netzkonfigurationen verwendet wird. Somit wird das Verfahren iterativ fortgesetzt, wobei nur Netzkonfigurationsvarian- ten der neuronalen Netze weiterentwickelt werden, bei denen der Vorhersagefeh- ler eine Verbesserung der zu bewertenden Leistung der Netzkonfiguration anzeigt.

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 Netz- konfigurationsvarianten wurde erreicht.

Weiterhin können die approximative Netzwerkmorphismen jeweils eine Änderung einer Netzkonfiguration bei einem aktuellen Trainingszustand vorsehen, bei denen sich der Vorhersagefehler anfangs erhöht, allerdings nach der ersten Trainings- phase um nicht mehr als einen vorgegeben maximalen Fehlerbetrag ändert.

Es kann vorgesehen sein, dass die approximativen Netzwerkmorphismen für her- kömmliche neuronale Netze jeweils das Entfernen, Hinzufügen und/oder Modifi- zieren eines oder mehrerer Neuronen oder einer oder mehreren Neuronenschich- ten vorsehen.

Weiterhin können die approximativen Netzwerkmorphismen für konvolutioneile (faltende) neuronale Netze jeweils das Entfernen, Hinzufügen und/oder Modifizie- ren eines oder mehrerer Schichten vorsehen, wobei die Schichten eine oder meh- rere Faltungsschichten, eine oder mehrere Normalisierungschichten, eine oder mehrere Aktivierungsschichten und eine oder mehrere Zusammenführungsschich- ten umfassen.

Gemäß einer Ausführungsform können die Trainingsdaten durch Eingangsgrößen- vektoren und diesen zugeordneten Ausgangsgrößenvektoren vorgegeben sind, wobei der Vorhersagefehler der jeweiligen Netzkonfiguration nach der weiteren Trainingsphase als ein Maß bestimmt wird, dass sich aus den jeweiligen Abwei- chungen zwischen Modellwerten, die sich durch das durch die jeweilige Netzkon- figuration bestimmten neuronalen Netzes basierend auf den Eingangsgrößenvek- toren ergeben, und den den Eingangsgrößenvektoren zugeordneten Ausgangs- größenvektoren ergibt. Der Vorhersagefehler kann somit durch Vergleich der Trai- ningsdaten mit den Feedforward-Berechnungsergebnissen des betreffenden neu- ronalen Netzes ermittelt werden. Der Vorhersagefehler kann insbesondere basie- rend auf einem Training unter vorbestimmen Bedingungen, wie beispielsweise mit jeweils den identischen Trainingsdaten für eine vorbestimmte Anzahl von Trai- ningsdurchgängen ermittelt werden.

Weiterhin können die gemeinsamen vorbestimmten ersten Trainingsbedingungen für das Trainieren jeder der Netzkonfigurationen in der ersten Trainingsphase eine Anzahl von Trainingsdurchläufen und/oder eine Trainingszeit und/oder eine Trai- ningsmethode vorgeben und/oder wobei die gemeinsamen vorbestimmten zweiten Trainingsbedingungen für das Trainieren jeder der Netzkonfigurationen in der zweiten Trainingsphase eine Anzahl von Trainingsdurchläufen und/oder eine Trai- ningszeit und/oder eine Trainingsmethode vorgeben.

Gemäß einem weiteren Aspekt ist ein Verfahren zum Bereitstellen eines neurona- len Netzes mit einer Netzkonfiguration vorgesehen, die mit dem obigen Verfahren erstellt 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 ermittelt 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 vor- gesehen, insbesondere zur Realisierung von Funktionen eines technischen Sys- tems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder ei- ner Werkmaschine, wobei die Anwendung in Form von Trainingsdaten bestimmt ist; wobei die Netzkonfiguration die Architektur des neuronalen Netzes angibt, wo bei die Vorrichtung ausgebildet ist, folgende Schritte auszuführen: a) ausgehend von einer aktuellen Netzkonfiguration werden durch An- wendung von approximativen Netzwerkmorphismen mehrere zu eva- luierende Netzkonfigurationen generiert, die sich in einem Teil von der aktuellen Netzkonfiguration unterscheiden,

b) Ermitteln betroffener Netzteile der Netzkonfigurationen;

c) Mehrphasiges Trainieren jeder der zu evaluierenden Netzkonfiguratio- nen unter vorbestimmten Trainingsbedingungen, wobei in einer ersten Phase jeweils Netzparameter eines nicht durch die Anwendung des jeweiligen approximativen Netzwerkmorphismus geänderten Teils bei dem Trainieren unberücksichtigt bleibt und wobei in mindestens einer weiteren Phase alle Netzparameter trainiert werden,

d) Bestimmen eines Vorhersagefehles für jede der Netzkonfigurationen; e) Auswählen der geeigneten Netzkonfiguration abhängig von den be- stimmten Vorhersagefehlern.

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 den Aufbau eines herkömmlichen neuronalen Netzes;

Figur 2 eine mögliche Konfiguration eines neuronalen Netzes mit

Rückkopplung und Umgehungsschichten;

Figur 3 ein Flussdiagramm zur Veranschaulichung eines Verfahren zum Ermitteln einer Netzkonfiguration eines neuronalen Net- zes; Figur 4 eine Veranschaulichung eines Verfahrens zum Verbessern ei- ner Netzkonfiguration mithilfe eines Verfahrens zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes; und

Figur 5 eine Darstellung eines Beispiels für eine resultierende Netz- konfiguration für ein konvolutioneiles (faltendes) neuronales Netz.

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 Fig. 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 optimieren 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, die ein gewünschtes Netzwerkverhalten bzw. eine bestimmte Aufgabenstellung definieren, darstellen.

In Figur 3 wird ein Verfahren zum Ermitteln einer Netzkonfiguration eines neuro- nalen Netzes näher beschrieben. Figur 4 zeigt entsprechend den Verlauf der Ite ration der Netzkonfiguration,

Zunächst wird von einer Anfangsnetzkonfiguration für ein neuronales Netz in Schritt S1 ausgegangen.

Aus der Anfangsnetzkonfiguration werden als aktuelle Netzkonfiguration N a kt in Schritt S2 durch Anwendung von verschiedenen approximierten Netzwerkmor- phismen Variationen von Netzkonfigurationen N 1...nchild bestimmt.

Die Netzwerkmorphismen entsprechen allgemein vorbestimmten Regeln, die mit- hilfe eines Operators bestimmt sein können. Allgemein ist ein Netzwerkmorphis- mus ein Operator T, der ein neuronales Netz N auf ein Netz TN abbildet, wobei gilt:

LT(c) = (TN) a (x) 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. Netzwerkmorphismen sind Funkti- onen, die ein neuronales Netz so manipulieren, dass deren Vorhersagefehler für den aktuellen Trainingszustand zu dem unveränderten neuronalen Netz identisch ist, jedoch nach einem weiteren Training unterschiedliche Leistungsparameter auf- weisen können. Durch die Variation des Schritts S2 erhält man n C hiid Netzkonfigu- rationsvarianten.

Hierin sollen approximative Netzwerkmorphismen verwendet werden, bei denen die Vorgabe, dass nach Anwendung des approximativen Netzwerkmorphismus das die anfängliche Netzkonfiguration und die modifizierte Netzkonfiguration glei che Vorhersagefehler aufweisen, nur eingeschränkt gilt. Approximative Netzwerk- morphismen sind Regeln für Änderungen der bestehenden Netzwerkkonfiguration, wobei die resultierende Leistungsfähigkeit des modifizierten neuronalen Netzes von der Leistungsfähigkeit des zugrundeliegenden neuronalen Netzes um ein be- stimmtes Maß abweichen darf. Approximative Netzwerkmorphismen können da- her Hinzufügen oder Löschen von einzelnen Neuronen oder Neuronenschichten sowie Modifikationen eines oder mehrerer Neuronen hinsichtlich deren eingangs- seitigen und ausgangsseitigen Kopplungen mit weiteren Neuronen des neuronalen Netzes oder hinsichtlich der Änderungen des Neuronenverhaltens, insbesondere die Wahl deren Aktivierungsfunktionen, umfassen. Insbesondere sollen approxi- mative Netzwerkmorphismen nur Änderungen von Teilen des neuronalen Netzes unter Beibehaltung von Teilen der aktuellen Netzkonfiguration betreffen.

Die durch die Anwendung der obigen approximativen Netzwerkmorphismen T ge- nerierten, variierten neuronalen Netze sollen zum Erreichen eines minimierten Vor- hersagefehlers trainiert werden, der sich auf p(x), d. h. einer Verteilung auf X ergibt, d. h. der Netzwerkmorphismus T ist ein approximativer Netzwerkmorphis- mus, falls beispielsweise gilt: wobei e > 0 und beispielsweise zwischen 0,5% und 10% , vorzugsweise zwischen 1 % und 5%, und E p ^ einem Vorhersagefehler über die Verteilung p(x) entspricht.

In der Praxis ist die obige Gleichung nicht auswertbar, da die Verteilung p(x) in der Regel unbekannt ist, und X in der Regel sehr groß ist. Daher kann das obige Kri terium abgewandelt werden und lediglich auf die zur Verfügung gestellten Trai- ningsdaten X train angewendet werden.

Das Minimum der obigen Gleichung kann mit dem gleichen Verfahren ausgewertet werden, das auch für das Training der variierten neuronalen Netze benutzt wird, wie beispielsweise SGB: Stochastic Gradient Descent. Dies ist Trainingsphase 1 im oben beschriebenen Verfahren, wie nachfolgend beschrieben: In Schritt S3 werden die so erhaltenen Netzkonfigurationen trainiert. Dazu werden beim Training die Netzparameter der variierten Netzkonfigurationen wie folgt er- mittelt. Zunächst wird bestimmt, welche der Neuronen durch die Anwendung des approximativen Netzwerkmorphismus betroffen sind. Betroffene Neuronen ent- sprechen denjenigen Neuronen, die eingangsseitig oder ausgangsseitig mit einer Variation in der Netzwerkkonfiguration in Verbindung stehen. So sind beispiels- weise betroffene Neuronen all diejenigen Neuronen,

die eingangsseitig und ausgangsseitig mit einem durch die Variation ent- fernten Neuron in Verbindung standen, und

die eingangsseitig oder ausgangsseitig mit einem hinzugefügten Neuron in Verbindung stehen, und

die eingangsseitig oder ausgangsseitig mit einem modifizierten Neuron in Verbindung stehen.

Per Definition führt die Anwendung des approximierten Netzwerkmorphismus nur zu einer Teiländerung der Netzkonfiguration in den in Schritt S2 ermittelten Netz- konfigurationen. Somit entsprechend Teile des neuronalen Netzes der variierten Netzkonfigurationen Teilen des neuronalen Netzes der zugrundeliegenden aktuel- len Netzkonfiguration.

Das T rainieren erfolgt nun in einer ersten T rainingsphase für alle generierten Netz- konfigurationsvarianten unter vorbestimmten ersten Trainingsbedingungen. Beim Trainieren der durch die Netzkonfigurationsvarianten vorgegebenen neuronalen Netze werden nun die unveränderten, nicht betroffenen Teile bzw. Neuronen nicht mittraininert, d. h. die entsprechenden Netzparameter, die den Neuronen der nicht betroffenen Teile des neuronalen Netzes zugeordnet sind, werden unverändert übernommen und für das weitere Training fixiert. Somit werden lediglich die Netz- parameter der betroffenen Neuronen in dem Trainingsverfahren berücksichtigt und entsprechend variiert.

Um für alle Netzkonfigurationsvarianten ein identisches Bewertungsmaß zu erhal- ten, erfolgt das Trainieren für eine vorbestimmte Anzahl von Trainingszyklen mit einem vorbestimmten Trainingsalgorithmus. Der vorbestimmte Trainingsalgorith- mus kann beispielsweise eine identische Lernrate und ein identisches Lernverfah- ren, z.B. eines Backpropagation- oder cosine-annealing-Lernverfahrens vorsehen. Weiterhin kann beispielsweise der vorbestimmte Trainingsalgorithmus die der ers- ten Trainingsphase eine vorbestimmte erste Anzahl von Trainingsdurchläufen wie z.B. zwischen 3 und 10, insbesondere von 5, aufweisen.

In einer zweite bzw. weiteren Trainingsphase erfolgt das Trainieren nun für alle generierten Netzkonfigurationsvarianten unter vorbestimmten zweiten Trainings- bedingungen gemäß einem herkömmlichen Trainingsverfahren, bei dem alle Netz- parameter trainiert werden.

Um für alle Netzkonfigurationsvarianten ein identisches Bewertungsmaß zu erhal- ten, erfolgt das Trainieren der zweiten Trainingsphase unter identischen Bedin- gung, d.h. einem identischen Trainingsalgorithmus für eine vorbestimmte Anzahl von Trainingszyklen, einer identischen Lernrate und insbesondere unter Anwen- dung eines Backpropagation- oder cosine-annealing-Lernverfahrens gemäß den zweiten Trainingsbedingungen. Beispielsweise kann die zweite Trainingsphase eine zweite Anzahl von Trainingsdurchläufen wie z.B. zwischen 15 und 100 insbe- sondere 20 aufweisen

Mithilfe der Formel

N * = arg min error (TN )

j = >--> n C hild wird in Schritt S4 nach dem Training der Vorhersagefehler error(TN j ) als Leis- tungsparameter für jede der Netzkonfigurationsvarianten ermittelt und in Schritt S5 diejenige bzw. diejenigen Netzkonfigurationsvarianten für eine weitere Optimie- rung ausgewählt, die den geringsten Vorhersagefehler aufweist bzw. aufweisen.

Nach einer Überprüfung eines Abbruchkriteriums in Schritt S6 werden die eine o- der die mehreren Netzkonfigurationsvarianten werden als aktuelle Netzkonfigura- tionen für einen nächsten Rechenzyklus bereitgestellt. Ist die Abbruchbedingung nicht erfüllt (Alternative: Nein), so wird das Verfahren mit Schritt S2 fortgesetzt. Andernfalls (Alternative: Ja) wird das Verfahren abgebrochen. Die Abbruchbedin- gung kann umfassen:

eine vorbestimmte Anzahl von Iterationen wurde erreicht, ein vorbestimmter Vorhersagefehlerwert durch mindestens eine der Netz- konfigurationsvarianten wurde erreicht.

Das Verfahren ist ebenso anwendbar auf spezielle neuronale Netze, wie z.B. kon- volutionelle neuronale Netze, die Berechnungsschichten unterschiedlicher Schichtkonfigurationen aufweisen, indem nach der Anwendung der approximati- ven Netzwerkmorphismen zur Ermittlung der Netzkonfigurationsvariationen nur diejenigen Teile, in diesem Fall einzelne Schichten des konvolutioneilen neurona- len Netzes trainiert werden, die durch den entsprechenden approximativen Netz- werkmorphismus geändert worden sind. Schichtkonfigurationen können umfas- sen: eine Faltungsschicht, eine Normalisierungsschicht, eine Aktivierungsschicht und eine Max-Pooling-Schicht. Diese können wie Neuronenschicht von herkömm- lichen neuronalen Netzen straightforward gekoppelt sein, Rückkopplungen und/o- der Überspringen von einzelnen Schichten beinhalten. Die Schichtparameter kön- nen beispielsweise die Schichtgröße, eine Größe des Filterkernels einer Faltungs- schicht, einen Normalisierungskernel für eine Normalisierungsschicht, einen Akti vierungskernel für eine Aktivierungsschicht und dergleichen umfassen.

Ein Beispiel für eine resultierende Netzkonfiguration ist in Figur 5 schematisch dar- gestellt mit Faltungsschichten F, Normalisierungschichten N, Aktivierungsschich- ten A, Zusammenführungsschichten Z zum Zusammenführen von Ausgängen ver- schiedener Schichten und Maxpooling-Schichten M. Man erkennt Möglichkeiten der Kombination der Schichten und der Variationsmöglichkeiten einer solchen Netzkonfiguration.

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 Zusammenhand 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- sifkationsverfahren 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.