Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE AND COMPUTER-IMPLEMENTED METHOD FOR THE PROCESSING OF DIGITAL SENSOR DATA AND TRAINING METHOD FOR SAME
Document Type and Number:
WIPO Patent Application WO/2021/008836
Kind Code:
A1
Abstract:
The invention relates to a device, a computer-implemented method for processing digital sensor data and a training method for same, wherein a plurality of training tasks from a range of training tasks is provided (302), wherein the training tasks characterise the processing of digital sensor data, wherein a parameter set for an architecture and for a weight of an artificial neural network is determined according to at least one first training task from the range of training tasks with a first gradient-based learning algorithm and a second gradient-based algorithm (304), wherein the artificial neural network is trained according to the parameter set and according to a second training task with the first gradient-based learning algorithm (306).

Inventors:
ELSKEN THOMAS (DE)
HUTTER FRANK (DE)
STOLL DANNY (DE)
METZEN JAN HENDRIK (DE)
Application Number:
PCT/EP2020/067689
Publication Date:
January 21, 2021
Filing Date:
June 24, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06N3/08; G06N3/04
Foreign References:
DE102017128082A12019-05-29
Other References:
HANXIAO LIU ET AL: "DARTS: Differentiable Architecture Search", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 24 June 2018 (2018-06-24), XP081200634
ALEX KRIZHEVSKY: "CIFAR-10 and CIFAR-100 datasets", 9 September 2020 (2020-09-09), pages 1 - 3, XP055728894, Retrieved from the Internet [retrieved on 20200909]
FERRAN ALET ET AL: "Modular meta-learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 June 2018 (2018-06-26), XP080894864
EFI KOKIOPOULOU ET AL: "Fast Task-Aware Architecture Inference", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 February 2019 (2019-02-15), XP081029554
Download PDF:
Claims:
Ansprüche

1. Computerimplementiertes Verfahren für die Verarbeitung digitaler

Sensordaten, dadurch gekennzeichnet, dass eine Vielzahl

Trainingsaufgaben aus einer Verteilung von Trainingsaufgaben bereitgestellt wird (302), wobei die Trainingsaufgaben die Verarbeitung von digitalen Sensordaten charakterisieren, wobei ein Parametersatz für eine Architektur und für Gewichte eines künstlichen neuronalen Netzwerks abhängig von wenigstens einer ersten Trainingsaufgabe aus der Verteilung der

Trainingsaufgaben mit einem ersten Gradienten-basierten Lern-Algorithmus und einem zweiten Gradienten-basierten Lern-Algorithmus bestimmt wird (304), wobei das künstliche neuronale Netzwerk abhängig vom

Parametersatz und abhängig von einer zweiten Trainingsaufgabe mit dem ersten Gradienten-basierten Lern-Algorithmus trainiert wird (306), wobei digitale Sensordaten abhängig vom künstlichen neuronalen Netzwerk (200) verarbeitet werden.

2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass das künstliche neuronale Netzwerk (200) durch eine Vielzahl Layer (202-1 , ..., 202-m) definiert ist, wobei Elemente (202-k, ..., 202-I) der Vielzahl der Layer (202-1 , ..., 202-m) einen gemeinsamen Eingang (202-1) aufweisen und einen gemeinsamen Ausgang (202-m) definieren, wobei die Architektur des künstlichen neuronalen Netzwerks (200) zusätzlich zu den Gewichten

(wa, ... , Wj ) für Neuronen (204-i, ..., 204-j) in den Elementen (202-k, ..., 202-I) durch Parameter (a1; ..., an) definiert ist, wobei jeder der Parameter

(a ... , an ) einen Beitrag eines der Elemente (202-k, ..., 202-I) der Vielzahl Layer (202-1 , ..., 202-m) zum Ausgang charakterisiert.

3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das

künstliche neuronale Netzwerk (200) in einer ersten Phase abhängig von einer Vielzahl erster Trainingsaufgaben mit dem ersten Gradienten-basierten Lern-Algorithmus und dem zweiten Gradienten-basierten Lern-Algorithmus trainiert wird, wobei das künstliche neuronale Netzwerk (200) in einer zweiten Phase abhängig von einer zweiten Trainingsaufgabe und abhängig vom ersten Gradienten-basierten Lern-Algorithmus und unabhängig vom zweiten Gradienten-basierten Lern-Algorithmus trainiert wird.

4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das künstliche neuronale Netzwerk (200) in der ersten Phase abhängig von einer Mehrzahl erster Trainingsaufgaben trainiert wird, wobei das künstliche neuronale Netzwerk (200) in der zweiten Phase abhängig von einem Bruchteil der Trainingsdaten aus der zweiten Trainingsaufgabe trainiert wird.

5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass mit dem zweiten Gradienten-basierten Lern-Algorithmus wenigstens die Parameter (a1; ... , an ) des künstlichen neuronalen Netzwerks (200) trainiert werden, die die

Architektur des künstlichen neuronalen Netzwerks (200) definieren.

6. Verfahren zum Ansteuern einer computergesteuerten Maschine (108),

insbesondere eines wenigstens teilautonomen Roboters, eines Fahrzeugs, einer Heimanwendung, eines angetriebenen Werkzeugs, eines persönlichen Hilfssystems, eines Zugangskontrollsystems, dadurch gekennzeichnet, dass Trainingsdaten für Trainingsaufgaben abhängig von digitalen Sensordaten (110) erzeugt werden (402), wobei eine Vorrichtung (100), die ein

künstliches neuronales Netzwerk (200) umfasst, mittels Trainingsaufgaben gemäß dem Verfahren nach einem der Ansprüche 1 bis 5 trainiert wird (404), wobei die computergesteuerte Maschine (108) abhängig von einem

Ausgangssignal (112) der so trainierten Vorrichtung (100) angesteuert wird (406).

7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die

Trainingsdaten Bilddaten, Videodaten und/oder digitale Sensordaten eines Sensors (106) insbesondere von wenigstens einer Kamera, einer

Wärmebildkamera, einem LiDAR Sensor, einem Radar-Sensor einem akustischen Sensor, einem Ultraschallsensor, einem Empfänger für ein Satellitennavigationssystem, einem Drehzahlfühler, einem

Drehmomentfühler, einem Beschleunigungssensor und/oder einem

Lagesensor umfassen. 8. Computerimplementiertes Verfahren zum Trainieren einer Vorrichtung (100) für maschinelles Lernen, Klassifikation oder Ansteuerung einer

computergesteuerten Maschine (108), dadurch gekennzeichnet, dass eine Vielzahl Trainingsaufgaben aus einer Verteilung von Trainingsaufgaben bereitgestellt wird (502, 504), wobei die Trainingsaufgaben die Verarbeitung von digitalen Sensordaten charakterisieren, wobei ein Parametersatz für eine Architektur und für Gewichte eines künstlichen neuronalen Netzwerks (200) abhängig von wenigstens einer ersten Trainingsaufgabe aus der Verteilung der Trainingsaufgaben mit einem ersten Gradienten-basierten Lern-Algorithmus und einem zweiten Gradienten-basierten Lern-Algorithmus bestimmt wird (506).

9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das künstliche neuronale Netzwerk abhängig vom Parametersatz und abhängig von einer zweiten Trainingsaufgabe mit dem ersten Gradienten-basierten Lern- Algorithmus trainiert wird (512).

10. Vorrichtung (100) zur Verarbeitung digitaler Sensordaten insbesondere für maschinelles Lernen, Klassifikation oder Ansteuerung einer

computergesteuerten Maschine (108), dadurch gekennzeichnet, dass die Vorrichtung (100) einen Prozessor (102), und einen Speicher (104) für wenigstens ein künstliches neuronales Netzwerk (200) umfasst, die ausgebildet sind das Verfahren nach einem der Ansprüche 1 bis 9 auszuführen.

11. Computerprogramm, dadurch gekennzeichnet, dass das

Computerprogramm computerlesbare Instruktionen umfasst, bei deren Ausführen auf einem Computer ein Verfahren nach einem der Ansprüche 1 bis 8 abläuft.

12. Computerprogrammprodukt, gekennzeichnet durch ein maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 11 gespeichert ist.

Description:
Beschreibung

Titel

Vorrichtung und computerimplementiertes Verfahren für die Verarbeitung digitaler Sensordaten und Trainingsverfahren dafür

Stand der Technik

Die Erfindung geht aus von einer Vorrichtung und einem

computerimplementierten Verfahren für die Verarbeitung digitaler Sensordaten. Die Erfindung betrifft auch ein Trainingsverfahren dafür.

Künstliche neuronale Netzwerke eignen sich zur Verarbeitung digitaler

Sensordaten. Zum Training der künstlichen neuronalen Netzwerke sind große Mengen dieser Daten und ein hoher Zeit- und Rechenaufwand erforderlich.

Wünschenswert ist es, ein demgegenüber verbessertes Vorgehen anzugeben.

Offenbarung der Erfindung

Dies wird durch den Gegenstand der unabhängigen Ansprüche erreicht.

Ein computerimplementiertes Verfahren für die Verarbeitung digitaler

Sensordaten sieht vor, dass eine Vielzahl Trainingsaufgaben aus einer

Verteilung von Trainingsaufgaben bereitgestellt wird, wobei die

Trainingsaufgaben die Verarbeitung von digitalen Sensordaten charakterisieren, wobei ein Parametersatz für eine Architektur und für Gewichte eines künstlichen neuronalen Netzwerks abhängig von wenigstens einer ersten Trainingsaufgabe aus der Verteilung der Trainingsaufgaben mit einem ersten Gradienten-basierten Lern-Algorithmus und einem zweiten Gradienten-basierten Lern-Algorithmus bestimmt wird, wobei das künstliche neuronale Netzwerk abhängig vom

Parametersatz und abhängig von einer zweiten Trainingsaufgabe mit dem ersten Gradienten-basierten Lern-Algorithmus trainiert wird, wobei digitale Sensordaten abhängig vom künstlichen neuronalen Netzwerk verarbeitet werden. Die

Trainingsaufgaben, die die digitale Sensordaten charakterisieren, können für offline Training zuvor aufgenommen, simuliert oder berechnet werden. Sowohl die Architektur als auch die Gewichte des künstlichen neuronale Netzwerks sind damit mit der wenigstens einen ersten Trainingsaufgaben in einer ersten

Trainingsphase für eine konkreten Anwendung oder unabhängig von einer konkreten Anwendung trainierbar. Für die konkrete Anwendung kann damit in einer zweiten Trainingsphase ein Training mit nur einer zweiten Trainingsaufgabe durchgeführt werden. Dies verringert den Aufwand für das Training bei einer Anpassung erheblich, insbesondere wenn die zweiten Trainingsaufgaben mit den ersten Trainingsaufgaben gut korrelieren. Beispielsweise ist damit mit geringem Trainingsaufwand eine Anpassung des künstlichen neuronalen Netzwerks an einen neuen Sensor möglich, der in einem System für einen vorherigen Sensor eingesetzt wird. Dadurch wird ein Modell für Maschinenlernen das bereits für bestimmte Trainingsaufgaben optimiert wurde bereitgestellt. Insbesondere für deep neural networks besteht die Möglichkeit, ein derartiges a-priori optimiertes Modell für Maschinenlernen einfach an eine neue Trainingsaufgabe anzupassen. Schnell bedeutet hierbei, beispielsweise unter Verwendung sehr weniger neuer gekennzeichneter Trainingsdaten, in kurzer Zeit und/oder mit geringem

Rechenaufwand gegenüber dem Training, das für die a-priori Optimierung nötig war.

Vorzugsweise ist das künstliche neuronale Netzwerk durch eine Vielzahl Layer definiert ist, wobei Elemente der Vielzahl der Layer einen gemeinsamen Eingang aufweisen und einen gemeinsamen Ausgang definieren, wobei die Architektur des künstlichen neuronalen Netzwerks zusätzlich zu den Gewichten für

Neuronen in den Elementen durch Parameter definiert ist, wobei jeder der Parameter einen Beitrag eines der Elemente der Vielzahl Layer zum Ausgang charakterisiert. Die Elemente sind beispielsweise parallel angeordnet. Die Parameter geben durch ihre Werte beispielsweise an, welchen Beitrag ein Element, dem ein Parameter zugeordnet ist, zum Ausgang leistet. Die Ausgänge einzelner Elemente werden durch die Werte zusätzlich zu den Gewichten, die das künstliche neuronale Netzwerk für die Neuronen in den Elementen vorsieht, gewichtet. Vorzugsweise wird das künstlichen neuronalen Netzwerk in einer ersten Phase abhängig von einer Vielzahl erster Trainingsaufgaben mit dem ersten

Gradienten-basierten Lernalgorithmus und dem zweiten Gradienten-basierten Lern-Algorithmus trainiert, wobei das künstliche neuronale Netzwerk in einer zweiten Phase abhängig von einer zweiten Trainingsaufgabe und abhängig vom ersten Gradienten-basierten Lern-Algorithmus und unabhängig vom zweiten Gradienten-basierten Lern-Algorithmus trainiert wird. Die erste Phase erfolgt beispielsweise mit ersten Trainingsaufgaben, die von einer generischen

Anwendung stammen insbesondere offline. Die zweite Phase erfolgt

beispielsweise zur Anpassung an eine konkrete Anwendung mit zweiten

Trainingsaufgaben, die aus einem Betrieb einer konkreten Anwendung stammen. Die zweite Trainingsphase wird beispielsweise im Betrieb der Anwendung ausgeführt.

Bevorzugt wird das künstliche neuronale Netzwerk in einer ersten Phase abhängig von einer Mehrzahl erster Trainingsaufgaben trainiert, wobei das künstliche neuronale Netzwerk in einer zweiten Phase abhängig von einem Bruchteil der Trainingsdaten aus der zweiten Trainingsaufgabe, trainiert wird. Dadurch wird ein zuvor vortrainiertes künstliches neuronales Netzwerk hinsichtlich der Architektur und der Gewichte mit geringem Aufwand an eine neue Anwendung angepasst.

Vorzugsweise werden mit dem zweiten Gradienten-basierten Lern-Algorithmus wenigstens die Parameter des künstlichen neuronalen Netzwerks trainiert, die die Architektur des künstlichen neuronalen Netzwerks definieren.

Bevorzugt ist ein Verfahren zum Ansteuern einer computergesteuerten

Maschine, insbesondere eines wenigstens teilautonomen Roboters, eines Fahrzeugs, einer Heimanwendung, eines angetriebenen Werkzeugs, eines persönlichen Hilfssystems, eines Zugangskontrollsystems, vorgesehen, wobei Trainingsdaten für Trainingsaufgaben abhängig von digitalen Sensordaten erzeugt werden, wobei eine Vorrichtung für maschinelles Lernen, insbesondere für Regression und/oder für Klassifikation, und/oder eine andere Anwendung, die ein künstliches neuronales Netzwerk umfasst, mittels Trainingsaufgaben gemäß dem beschriebenen Verfahren trainiert wird, wobei die computergesteuerte Maschine abhängig von einem Ausgangssignal der so trainierten Vorrichtung angesteuert wird. Die Trainingsdaten werden für die konkrete Anwendung erfasst und insbesondere in der zweiten Trainingsphase zum Training eingesetzt. Dies erleichtert die Anpassung des künstlichen neuronalen Netzwerks und ermöglicht den sofortigen Einsatz.

Vorzugsweise umfassen die Trainingsdaten Bilddaten, Videodaten und/oder digitale Sensordaten eines Sensors, insbesondere von einer Kamera, einer Wärmebildkamera, einem LiDAR Sensor, einem Radar-Sensor einem

akustischen Sensor, einem Ultraschallsensor, einem Empfänger für ein

Satellitennavigationssystem, einem Drehzahlfühler, einem Drehmomentfühler, einem Beschleunigungssensor und/oder einem Lagesensor. Diese eignen sich besonders für die Automatisierung.

Ein computerimplementiertes Verfahren zum Trainieren einer Vorrichtung für maschinelles Lernen, Klassifikation oder Ansteuerung einer computergesteuerten Maschine sieht vor, dass eine Vielzahl Trainingsaufgaben aus einer Verteilung von Trainingsaufgaben bereitgestellt wird, wobei die Trainingsaufgaben die Verarbeitung von digitalen Sensordaten charakterisieren, wobei ein

Parametersatz für eine Architektur und für Gewichte eines künstlichen neuronalen Netzwerks abhängig von wenigstens einer ersten Trainingsaufgabe aus der Verteilung der Trainingsaufgaben mit einem ersten Gradienten-basierten Lern-Algorithmus und einem zweiten Gradienten-basierten Lern-Algorithmus bestimmt wird. Damit wird diese Vorrichtung unabhängig von der konkreten Anwendung und vor dem Einsatz anschließend abhängig von der konkreten Vorrichtung trainiert und damit für den Einsatz in einer konkreten Anwendung vorbereitet.

Vorzugsweise ist vorgesehen, dass das künstliche neuronale Netzwerk abhängig vom Parametersatz und abhängig von einer zweiten Trainingsaufgabe mit dem ersten Gradienten-basierten Lern-Algorithmus trainiert wird. Damit kann eine Anpassung auf neue Trainingsaufgaben effizient umgesetzt werden.

Eine Vorrichtung zur Verarbeitung digitaler Sensordaten insbesondere für maschinelles Lernen, Klassifikation oder Ansteuerung einer computergesteuerten Maschine umfasst einen Prozessor, und einen Speicher für wenigstens ein künstliches neuronales Netzwerk, die ausgebildet sind das Verfahren auszuführen. Diese Vorrichtung kann unabhängig von der konkreten Anwendung vorbereitet sein und anschließend abhängig von der konkreten Anwendung trainiert werden.

Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung.

In der Zeichnung zeigt

Fig. 1 eine schematische Darstellung von Teilen einer Vorrichtung für die Verarbeitung digitaler Sensordaten,

Fig. 2 eine schematische Darstellung von Teilen eines künstlichen neuronalen Netzwerks,

Fig. 3 Schritte in einem computerimplementierten Verfahren für die

Verarbeitung digitaler Sensordaten,

Fig. 4 Schritte in einem Verfahren zum Ansteuern einer computergesteuerten Maschine,

Fig. 5 Schritte in einem computerimplementierten Verfahren zum Trainieren.

In Figur 1 ist eine Vorrichtung 100 zur Verarbeitung digitaler Sensordaten schematisch dargestellt. Die Vorrichtung 100 umfasst einen Prozessor 102, und einen Speicher 104. Zur Erfassung digitaler Sensordaten ist im Beispiel ein Sensor 106 vorgesehen. Die Vorrichtung 100 ist im Beispiel zur Ansteuerung eine computergesteuerten Maschine 108 ausgebildet. Die Vorrichtung 100 kann auch für maschinelles Lernen oder eine Klassifikation ausgebildet sein.

Der Sensor 106 ist im Beispiel über eine Signalleitung 110 mit dem Prozessor 102 verbindbar. Der Prozessor 102 ist im Beispiel ausgebildet, digitale Signale des Sensors 106 zu empfangen und in den Speicher 104 als Trainingsdaten zu speichern. Die Trainingsdaten umfassen beispielsweise Bilddaten, Videodaten und/oder andere digitale Sensordaten des Sensors 106. Die Trainingsdaten können zumindest teilweise in einem Betrieb der Vorrichtung 100 mit dem Sensor 106 erfasst werden. Trainingsdaten können auch unabhängig vom Sensor 106 erfasste oder unabhängig vom Sensor 106 bereitgestellt digitale Signale sein. Der Sensor 106 kann insbesondere eine Kamera, eine Wärmebildkamera, ein □DAR Sensor, ein Radar-Sensor, ein akustischer Sensor, einem

Ultraschallsensor, ein Empfänger für ein Satellitennavigationssystem, ein Drehzahlfühler, ein Drehmomentfühler, ein Beschleunigungssensor und/oder ein Lagesensor sein. Es können mehrere dieser Sensoren vorgesehen sein.

Die computergesteuerte Maschine 108 ist im Beispiel über eine Signalleitung für ein Ausgangssignal 112 mit dem Prozessor 102 verbunden. Der Prozessor 102 ist im Beispiel zum Ansteuern der computergesteuerten Maschine 108 abhängig von den digitalen Signalen ausgebildet.

Die computergesteuerte Maschine 108 ist insbesondere ein wenigstens teilautonomer Roboter, ein Fahrzeug, eine Heimanwendung, ein angetriebenes Werkzeug, eine persönliches Hilfssystem, oder ein Zugangskontrollsystems.

Der Speicher 104 und der Prozessor 102 sind im Beispiel mit einer Signalleitung 114 verbunden. Diese Komponenten können in einer Server-Infrastruktur insbesondere verteilt realisiert sein. Die Vorrichtung 100 kann auch ein

Steuergerät sein, das diese Komponenten integriert in einen Mikroprozessor umfasst.

Die Vorrichtung 100 ist ausgebildet die oder eines der im folgenden

beschriebenen Verfahren auszuführen.

Die Vorrichtung 100 umfasst wenigstens ein künstliches neuronales Netzwerk. Ein exemplarisches künstliches neuronales Netzwerk 200 ist in Figur 2 schematisch dargestellt.

Das künstliche neuronale Netzwerk 200 ist durch eine Vielzahl Layer 202-1 , ..., 202-m definiert. Im Beispiel ist ein Eingang 202-1 und ein Ausgang 202-m durch je einen der Vielzahl Layer 202-1 , ..., 202-m definiert. Der Eingang 202-1 kann die Eingangsschicht des künstlichen neuronalen Netzwerks 200 oder eine verborgene Schicht des künstlichen neuronalen Netzwerks 200 sein. Der Ausgang 202-m kann eine Ausgangsschicht des künstlichen neuronalen Netzwerks 200 oder eine verborgene Schicht des künstlichen neuronalen Netzwerks 200 sein. Bestimmte Elemente 202-k, 202-1 der Vielzahl der Layer 202-1 , 202-m weisen den Eingang 202-1 als gemeinsamen Eingang auf. Die Elemente 202-k, ..., 202-I definieren im Beispiel den Ausgang 202-m als gemeinsamen Ausgang der Elemente 202-k, ..., 202-I. Das bedeutet, die Elemente 202-k, ..., 202-I sind im künstlichen neuronalen Netzwerk 200 bezüglich ihres gemeinsamen Eingangs und bezüglich ihres gemeinsamen Ausgangs parallel angeordnet.

Das künstliche neuronalen Netzwerk 200 umfasst beispielsweise nur einen einzigen verborgenen Layer. Dieser verborgene Layer umfasst mehrere parallele Elemente. Beispielsweise ist ein erstes Element 202-k vorgesehen, das als eine 3x3 Convolution ausgebildet ist. Beispielsweise ist ein in Figur 2 nicht dargestelltes zweites Element vorgesehen, des als eine 5x5 Convolution ausgebildet ist. Beispielsweise ist ein drittes Element 202-I vorgesehen, das als MaxPooling ausgebildet ist. Diese drei Elemente sind parallel angeordnet und bilden einen Suchraum bestehend aus den drei Elementen {Conv3x3, Conv5x5, MaxPool}.

Eine mathematische Funktion, die für jedes dieser drei Elemente seinen

Ausgang„output“ abhängig von einem gemeinsamen Eingang„input“ beschreibt, ist beispielsweise wie folgt angebbar: output = Conv3x3(input),

output = Conv5x5(input),

output = MaxPool(input).

Eine mathematische Funktion, die einen gemeinsamen Ausgang„output“ dieser drei Elemente abhängig von dem gemeinsamen Eingang„input“ beschreibt, ist beispielsweise wie folgt angebbar: output = a-i * Conv3x3(input) + a 2* Conv5x5(input) + a 3* MaxPool(input)

Allgemeiner ist die Architektur des künstlichen neuronalen Netzwerks 200 zusätzlich zu den Gewichten w a , ..., w ; für Neuronen 204-i, ..., 204-j in den Elementen 202-k, ..., 202-I durch Parameter a ... , a n definiert. Jeder der Parameter a ... , a n charakterisiert einen Beitrag eines der Elemente 202-k, ..., 202-1 zum gemeinsamen Ausgang. Im Beispiel sind für n = l-k Elemente die Parameter a ... , a n definiert. Im Beispiel bestimmt einer der die Parameter in einer Multiplikation für alle Ausgänge eines einzelnen Elements dessen Beitrag zum Ausgang des Layers.

Durch entsprechende Bestimmung der Parameter a ... , a n ist möglich, dass konkret eines der Elemente 202-k, ..., 202-1 alleine das Ergebnis am Ausgang des Layers bestimmt. Im Beispiel wäre dies durch nur einen von Null

verschiedenen Wert genau eines der Parameter erreichbar. Von den beispielhaft beschriebenen drei Elementen {Conv3x3, Conv5x5, MaxPool} bedeutet beispielsweise a t = 0, a 2 = 1 und a 3 = 0, dass nur der Ausgang des Conv5x5 berücksichtigt wird, d.h. eine Architektur mit dem Conv5x5 Layer. Für den Fall a t = 1, a 2 = 0 und a 3 = 0 ergibt sich eine Architektur mit dem Conv3x3 Layer. Allgemein wird der Parameter für jedes der Elemente 202-k, ..., 202-1 mit einem im Folgenden beschriebenen Vorgehen bestimmt, indem das künstliche neuronale Netzwerk 200 bestimmt wird, in dem alle Elemente 202-k, ..., 202-1 parallel zueinander vorhanden sind. Jedes Element 202-k, ..., 202-1 ist dabei durch einen reelwertigen Parameter a t , ... , a n gewichtet.

Die Parameter a ... , a n müssen nicht zwangsläufig 0 oder 1 sein, sondern können beliebige reelwertige Zahlen annehmen, bspw. a t = 0,7, a 2 = 0,2 und a 3 = 0,1. Dies stellt eine Relaxation des Suchraums dar. Beispielsweise wird für die Parameter a ... , a n eine Randbedingung so gewählt, dass eine Summe der Parameter a 1; ... , a n den Wert Eins ergibt. Dies ist beispielsweise durch eine Bestimmung reelwertiger Werte für die Parameter a lr ... , a n und eine Normierung der Werte für die Parameter a lr ... , a n mit der Summe aller Werte möglich. Diese Relaxation stellt eine Gewichtung der einzelnen Elemente 202-k, ..., 202-1 in der durch alle dieser Elemente 202-k, ..., 202-1 definierten Architektur des künstlichen neuronalen Netzwerks 200 dar.

Mit diesen, insbesondere reelwertigen Parametern a ... , a n , ist eine einfache Optimierung der Architektur möglich. Die Optimierung verwendet beispielsweise einen Gradienten-basierten Algorithmus. Vorzugsweise wird ein stochastic gradient descent eingesetzt. Besonders bevorzugt wird die gleiche Art von Algorithmen eingesetzt, der für die Optimierung der Gewichte w a , ... , w ; für Neuronen 204-i, ..., 204-j in den Elementen 202-k, ..., 202-1 verwendet wird. Das künstliche neuronale Netzwerk 200 in Figur 2 stellt ein Beispiel für eine derartige Anordnung paralleler Elemente 202-k, 202-1 dar. Allgemein kann ein künstliches neuronales Netzwerk eine beliebige Anzahl derartiger paralleler Elemente insbesondere in unterschiedlichen, aufeinanderfolgenden verborgenen Schichten aufweisen. Es kann auch vorgesehen sein, wenigstens eines der Elemente parallel zu einem anderen Element oder zu mehreren seriell angeordneten Elementen anzuordnen.

Derartige, durch die Bestimmung der Parameter a ... , a n optimierbare Elemente des künstlichen neuronalen Netzwerks, sind Teile, die einen gemeinsamen Eingang aufweisen und einen gemeinsamen Ausgang definieren. Es können mehrere derartige Schichten vorgesehen sein, die jeweilige Ein- und Ausgänge aufweisen. Es kann insbesondre jede der verborgenen Schichten derart aufgebaut sein. Für jede dieser Schichten kann ein jeweiliger Ein- und Ausgang vorgesehen sein.

Ein computerimplementiertes Verfahren für die Verarbeitung digitaler

Sensordaten mit einem derartigen künstlichen neuronalen Netzwerk wird anhand der Figur 3 am Beispiel des künstlichen neuronalen Netzwerks 200 beschrieben.

In einem Schritt 302 wird eine Vielzahl von p Trainingsaufgaben T lr T 2 , - , T P aus einer Verteilung p(T) von Trainingsaufgaben T bereitgestellt.

Zudem wird im Beispiel für die drei Elemente {Conv3x3, Conv5x5, MaxPool} eine Meta-Architektur a meta bereitgestellt. Die Meta-Architektur a meta ist in diesem Beispiel initial definiert als

O-meta = (0.7, 0.2, 0.1)

Dies können zufällige insbesondere reellwertige Größen von Null bis Eins sein. Im Beispiel werden auch Meta-Gewichte w meta initial definiert.

Die Trainingsaufgaben T charakterisieren im Beispiel die Verarbeitung von digitalen Sensordaten. Es handelt sich beispielsweise um Daten, die von einem Sensor erfasst wurden, oder abhängig von einem Sensor erfassten Daten bestimmt werden, oder mit diesen korrelieren. Es können Bilddaten, Videodaten und/oder digitale Sensordaten des Sensors 106 zugrunde liegen. Die

Trainingsaufgaben T charakterisieren beispielsweise eine Zuordnung der digitalen Sensordaten zu einem Ergebnis der Verarbeitung. Insbesondere kann für digitale Sensordaten von der wenigstens einen Kamera, der

Wärmebildkamera, dem LiDAR Sensor, dem Radar-Sensor, dem akustischen Sensor, dem Ultraschallsensor, dem Empfänger für das

Satellitennavigationssystem, dem Drehzahlfühler, dem Drehmomentfühler, dem Beschleunigungssensor und/oder dem Lagesensor eine Zuordnung zu einer Klassifikation eines Ereignisses insbesondere für zumindest teilweise autonomes Steuern der Maschine 108 als Trainingsaufgabe definiert sein. Für

Maschinenlernen oder Regression können entsprechende Trainingsaufgaben definiert sein.

In einem anschließenden Schritt 304 wird wenigstens ein erster Parametersatz W t , A 1 für eine Architektur und für Gewichte eines künstlichen neuronalen Netzwerks abhängig von wenigstens einer ersten Trainingsaufgabe aus der Verteilung der Trainingsaufgaben T mit einem ersten Gradienten-basierten Lern- Algorithmus und einem zweiten Gradienten-basierten Lern-Algorithmus bestimmt. Der erste Parametersatz W t , A 1 umfasst einen ersten

Parameterwertesatz A 1 für die Parameter a ... , a n und einen ersten Satz W 1 für die Gewichte w a , ..., w ; . Der erste Satz W t für die Gewichte kann zudem Werte für alle anderen Gewichte aller anderen Neuronen des künstlichen neuronalen Netzwerks 200 oder eines Teils der Neuronen des künstlichen neuronalen Netzwerks 200 umfassen. Der aus den im Folgenden beschriebenen

Gradientenabstiegsverfahren resultierende letzte Parameterwertesatz d j definiert den ersten Parameterwertesatz A t . Der aus den im Folgenden beschriebenen Gradientenabstiegsverfahren resultierende letzte Satz mit den Gewichten definiert den ersten Satz W 1 für die Gewichte.

Der erste Gradienten-basierten Lern-Algorithmus umfasst für eine bestimmte Trainingsaufgabe T j , einen Parameterwertesatz a t mit den Parametern a , ... , a n i , und einen Satz w t mit den Gewichten w a i , beispielsweise eine Zuordnung

(W j , d j )— 0(w meja , Ct me t a , Ti) Mit a meta wird die Meta-Architektur bezeichnet. Mit w meta werden die Meta- Gewichte bezeichnet.

Dabei ist f ein Algorithmus, insbesondere ein Optimierungsalgorithmus, Trainingsalgorithmus oder Lernalgorithmus, der für eine speziellen

Trainingsaufgabe sowohl die Gewichte als auch die Architektur eines neuronalen Netzes für diese Trainingsaufgabe optimiert. Beispielsweise werden mit dem Ausführen des Algorithmus f k Schritte Gradientenabstieg ausgeführt, um die Gewichte und die Architektur zu optimieren. Für die Berechnung kann der Algorithmus f wie der DARTS Algorithmus ausgebildet sein. DARTS bezeichnet den Algorithmus„Differentiable Architecture Search“, Hanxiao Liu, Karen Simonyan, Yiming Yang; ICLR; 2019; https://arxiv.org/abs/1806.09055.

Im Beispiel wird abhängig von dieser Trainingsaufgabe 7) eine optimierte Architektur d j abhängig von der initialen Meta-Architektur a meta und den initialen Gewichten w meta bestimmt als a = (0.8, 0.0, 0.2) = (a lt a 2 , a )

Zudem wird ein optimierter Satz w t für die Gewichte w a i , ... , W j i bestimmt.

Der Index i signalisiert das aus der i-ten Trainingsaufgabe 7) ermittelt wurde. Das bedeutet, die Parameter a i , -, a n i hängen von der i-ten Trainingsaufgabe Ti ab und können je nach Trainingsaufgabe 7) variieren.

Im Beispiel kann die optimierte Architektur a t abhängig von einer anderen Trainingsaufgabe 7) abhängig von der initialen Meta-Architektur auch bestimmt werden als a.i = (0.0, 1.0, 0.0) = («!, a 2 , a 3 )

Zudem wird ein optimierter Satz w t für die Gewichte w a i , ... , w j i bestimmt.

Abhängig von dem zweiten Gradienten-basierten Lern-Algorithmus wird wenigstens ein Parameter bestimmt, der den Beitrag wenigstens eines der Elemente zum Ausgang definiert. Im Beispiel werden die Parameter a lt ... , a n bestimmt.

Der zweite Gradienten-basierten Lern-Algorithmus umfasst beispielsweise für die Vielzahl p Trainingsaufgaben T lr ... , T P eine Zuordnung

Mit Y ist ein meta-learning Algorithmus bezeichnet. Der meta-learning

Algorithmus Y optimiert abhängig von einer Reihe Trainingsaufgaben T lr ... , T P mit zugehörigen optimierten Architekturen a lr ... , a p und zughörigen optimierten Gewichten w t , ... , w p die Meta- Architektur a meta zusammen mit den Meta- Gewichten w meta . Die optimierten Architekturen sind repräsentiert durch die Parameterwertesätze a lr ... , a p . Die optimierten Gewichte sind repräsentiert durch die Sätze w t , ... , w p für die Gewichte.

Der Meta-Learning Algorithmus Y ist beispielsweise der MAML Algorithmus. Der MAML bezeichnet den Algorithmus Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks, Chelsea Finn, Pieter Abbeel, Sergey Levine; Proceedings of the 34 th International Conference on Machine Learning; 2017; https://arxiv.org/pdf/1703.03400.pdf. Im Gegensatz zu Meta-Learning

Algorithmen, die iterativ die Gewichte eines neuronalen Netzes meta-lernen, wie beispielsweise der ursprüngliche MAML Algorithmus, in dem nur die Gewichte w eines fixierten neuronalen Netzes meta-gelernt werden, wird dadurch auch die Architektur des neuronalen Netzes 200 meta-gelernt.

Für eine reelwertige Repräsentation der Architektur des künstlichen neuronalen Netzwerks werden im Beispiel mit dem MAML Algorithmus Gradienten im Architektur-Raum auch für die Architektur-Parameter berechnet. Mit diesem Gradientenabstiegsverfahren werden sowohl die Gewichte als auch die

Architektur optimiert.

Beispielsweise wird per Gradientenabstiegsverfahren die folgende Gleichung minimiert Anschließend wird in einem Schritt 306 geprüft, ob eine erste Phase

abgeschlossen ist.

Das künstlichen neuronalen Netzwerk 200 wird im Beispiel in der ersten Phase abhängig von der Vielzahl erster Trainingsaufgaben T lr ... , T P mit dem ersten Gradienten-basierten Lernalgorithmus und dem zweiten Gradienten-basierten Lern-Algorithmus trainiert.

Der erste Parameterwertesatz A t für die Parameter« ! , ... , a n und der erste Satz W 1 für die Gewichte w a , ..., w ; definiert im Beispiel das künstliche neuronale Netzwerk 200 nach einem Training mit dem DARTS und dem MAML

Algorithmus.

Die erste Phase ist beispielsweise abgeschlossen, wenn ein Stopp-Kriterium zutrifft. Das Stopp-Kriterium ist beispielsweise das Erreichen einer Zeitschwelle oder eines Ressourcenbudgets. Wenn die erste Phase abgeschlossen ist, wird ein Schritt 308 ausgeführt. Anderenfalls wird der Schritt 304 ausgeführt.

Im Schritt 308 wird das künstliche neuronale Netzwerk 200 abhängig vom ersten Parametersatz W t , A 1 und abhängig von einer zweiten Trainingsaufgabe mit dem ersten Gradienten-basierten Lern-Algorithmus trainiert. Der aus dem Training mit dem ersten Gradienten-basierten Lern-Algorithmus resultierende letzte

Parameterwertesatz a t definiert einen zweiten Parameterwertesatz A 2 . Der aus dem Training mit dem ersten Gradienten-basierten Lern-Algorithmus

resultierende letzte Satz mit den Gewichten definiert den einen zweiten Satz W 2 für die Gewichte.

Das bedeutet, das künstliche neuronale Netzwerk 200 wird abhängig von einer neuen Trainingsaufgabe und abhängig vom ersten Gradienten-basierten Lern- Algorithmus und unabhängig vom zweiten Gradienten-basierten Lern- Algorithmus trainiert. Der zweite Parameterwertesatz A 2 für die

Parameter« ! , ..., « n und der zweite Satz W 2 für die Gewichte w a , ..., w ; definiert im Beispiel das künstliche Neuronale Netzwerk 200 nach dem abschließenden Training nur mit dem DARTS Algorithmus. Anschließend werden in einem Schritt 310 digitale Sensordaten abhängig vom trainierten künstlichen neuronalen Netzwerk 200 verarbeitet.

Anschließend endet das Verfahren.

In einem Aspekt wird das künstliche neuronale Netzwerk 200 in der ersten Phase abhängig von einer Mehrzahl erster Trainingsaufgaben trainiert und in der zweiten Phase abhängig von einem Bruchteil der Trainingsdaten, insbesondere aus nur einer zweiten Trainingsaufgabe.

Schritte in einem Verfahren zum Ansteuern der computergesteuerten Maschine 108 werden im Folgenden mit Verweis auf Figur 4 beschrieben.

Das Verfahren zum Ansteuern der computergesteuerten Maschine 108 startet beispielsweise, wenn diese trainiert werden soll. In einem Aspekt ist das künstliche neuronale Netzwerk 200 in der ersten Phase wie zuvor beschrieben trainiert, und in der Vorrichtung 100 für maschinelles Lernen, für beispielsweise Regression und/oder für Klassifikation implementiert. Die Vorrichtung 100 steuert die computergesteuerte Maschine 108 gemäß dem Verfahren an. Das Verfahren startet beispielweise nach dem Einschalten der computergesteuerten Maschine 108 in der dieses künstlichen neuronale Netzwerk 200 implementiert ist. Es kann auch ein Ereignis, wie beispielsweise ein Tausch des Sensors 106 oder ein Software-Update für den Sensor 106 oder für die computergesteuerte Maschine 108 den Start auslösen.

Nach dem Start werden in einem Schritt 402 Trainingsdaten für zweite

Trainingsaufgaben abhängig von digitalen Sensordaten 110 erzeugt. Die

Trainingsdaten können Bilddaten, Videodaten und/oder digitale Sensordaten des Sensors 106 sein. Beispielsweise werden Bilddaten von der Kamera oder der Wärmebildkamera verwendet. Die Bilddaten können auch vom LiDAR Sensor, dem Radar-Sensor, dem akustischen Sensor oder dem Ultraschallsensor stammen. Die Trainingsdaten können auch Positionen vom Empfänger für das Satellitennavigationssystem, Drehzahlen vom Drehzahlfühler, Drehmomente vom Drehmomentfühler, Beschleunigungen vom Beschleunigungssensor und/oder Lageinformation vom Lagesensor umfassen. Die Trainingsdaten korrelieren im Beispiel mit den Trainingsdaten, die in der ersten Phase für das Training des künstlichen neuronalen Netzwerks 200 verwendet werden. Die

Trainingsaufgaben korrelieren ebenfalls. Es können beispielweise beim Tausch des Sensors 106 oder der ersten Inbetriebnahme der computergesteuerten Maschine 108 mit dem Sensor 106 erste Trainingsaufgaben aus der ersten Phase verwendet werden, in denen für die erste Phase verwendete generische Sensordaten durch die tatsächlich vom Sensor 106 bestimmte Sensordaten ersetzt werden.

In einem anschließenden Schritt 404 wird das künstliche neuronale Netzwerk 200 mittels der zweiten Trainingsaufgaben trainiert. In einem Aspekt wird das künstliche neuronale Netzwerk 200 wie zuvor für die zweite Phase beschrieben trainiert. So wird die Vorrichtung 100 trainiert.

In einem anschließenden Schritt 406 wird die computergesteuerte Maschine 108 abhängig von dem Ausgangssignal 112 der so trainierten Vorrichtung 100 angesteuert.

Anschließend endet das Verfahren, beispielsweise wenn die computergesteuerte Maschine 108 abgeschaltet wird.

Schritte in einem computerimplementierten Verfahren zum Trainieren werden im Folgenden anhand Figur 5 beschrieben.

Nach dem Start wird ein Schritt 502 ausgeführt.

Im Schritt 502 werden Trainingsdaten für die ersten Trainingsaufgaben gemäß der ersten Phase bereitgestellt. Die Trainingsdaten werden beispielsweise in einer Datenbank bereitgestellt.

In einem anschließenden Schritt 504 werden die ersten Trainingsaufgaben für die erste Phase bestimmt. Beispielsweise wird für die Verteilung der

Trainingsaufgaben p(T) für die erste Phase bestimmt und die ersten

Trainingsaufgaben aus der Verteilung p(T) gesampelt. Die zweiten

Trainingsaufgaben oder die zweite Trainingsaufgabe müssen zu diesem

Zeitpunkt noch nicht gegeben oder bekannt sein. Anschließend wird das künstliche neuronale Netzwerk 200 in einem Schritt 506 mittels der ersten Trainingsaufgaben gemäß der ersten Phase trainiert.

Eine beispielhafte Implementierung wird im Folgenden für die Verteilung p(T) der ersten Trainingsaufgaben wiedergegeben: while (<some stopping criterion such as time or resource budget> ): sample tasks T lr T 2 , , T P from p(T)

for all T j i

return (w mefa , ct me ta)

Anschließend endet das Verfahren.

Optional kann vorgesehen sein, dass das künstliche neuronale Netzwerk 200 mittels der zweiten Trainingsaufgaben oder nur einer zweiten Trainingsaufgabe gemäß der zweiten Phase trainiert wird.

In einem Schritt 508 werden Trainingsdaten für die zweiten Trainingsaufgaben oder nur für die zweite Trainingsaufgabe gemäß der zweiten Phase bereitgestellt.

Anschließend wird in einem Schritt 510 wenigstens eine zweite Trainingsaufgabe für die zweite Phase bestimmt.

Anschließend wird das künstliche neuronale Netzwerk 200 abhängig von der wenigstens einen zweiten Trainingsaufgaben gemäß der zweiten Phase trainiert. Eine beispielhafte Implementierung des Schritts 512 wird im Folgenden für eine einzelne zweite Trainingsaufgabe T wiedergegeben:

( Wf, dp) — 0( w m gf a , & me t a , T)

return ( w T , a T ) Die Trainingsaufgaben aus den Trainingsaufgaben-Sätzen sind unabhängig voneinander vorgebbar. Ein Ergebnis des Trainings kann abhängig von der ersten Phase der Methode sowie abhängig von nur einer neuen

Trainingsaufgabe bestimmt werden. Der Schritt 510 kann bei Bedarf auf verschiedene neue Trainingsaufgaben angewendet werden, diese sind dann unabhängig voneinander.

Die beschriebenen Verfahren können eingesetzt werden, um mit dem künstlichen neuronalen Netzwerk 200 Vorhersagen insbesondere abhängig von

empfangenen Sensordaten zu treffen. Es kann auch vorgesehen sein, mit dem künstlichen neuronalen Netzwerk Information über den Sensors 106 aus den empfangenen Sensordaten zu extrahieren.

In der ersten Phase können generische Trainingsdaten für Sensoren einer bestimmten Sensorklasse verwendet werden, zu der beispielsweise der Sensor 106 zählt. Beim Tausch des Sensors 106 kann somit das künstliche neuronalen Netzwerk durch Training in der zweiten Phase einfach an einen Wechsel einer Hard- oder Software Generation angepasst werden.

Eine konkrete andere Anwendung stellt beispielsweise eine

Verkehrszeichenerkennung dar. Beispielsweise werden in der ersten Phase länderspezifische Verkehrszeichen verwendet, die nur für wenige Länder, beispielsweise Deutschland oder Österreich vorliegen. Mit ersten Trainingsdaten, die auf diesen länderspezifischen Verkehrszeichen beruhen, wird das künstliche neuronale Netzwerk 200 in der ersten Phase trainiert. Wenn die

Verkehrszeichenerkennung in anderen Ländern eingesetzt werden soll, wird das künstliche neuronale Netzwerk 200 in der zweiten Phase mit wenigen zweiten Trainingsdaten mit Verkehrszeichen trainiert, die für diese anderen Länder spezifisch sind.