Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR TRAINING A NEURAL NETWORK
Document Type and Number:
WIPO Patent Application WO/2020/126373
Kind Code:
A1
Abstract:
A computer-implemented method for training a neural network (60), which is configured, in particular, to classify physical measurement variables, wherein parameters (θ) of the neural network (60) are adapted according to an output signal (y) of said neural network (60), when the input signal (x) is supplied, and according to an associated desired output signal (y T ), the parameters (θ) being adapted according to a gradient (g) that has been determined; the method is characterised in that components (g l,l ) of the gradient (g) determined are scaled depending on the layer (S 1 ,...,S 5 ) of the neural network to which the parameters (θ) corresponding to these components belong.

Inventors:
SCHMIDT FRANK (DE)
SACHSE TORSTEN (DE)
Application Number:
PCT/EP2019/082768
Publication Date:
June 25, 2020
Filing Date:
November 27, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06N3/08
Foreign References:
DE19653554A11998-06-25
Other References:
ADAMS WEI YU ET AL: "Block-Normalized Gradient Method: An Empirical Study for Training Deep Neural Network", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 July 2017 (2017-07-16), XP081312517
GEOFFREY E HINTON ET AL: "Improving neural networks by preventing co-adaptation of feature detectors", ARXIV:1207.0580V1 [CS.NE], 3 July 2012 (2012-07-03), XP055112910, Retrieved from the Internet [retrieved on 20140408]
SERGEY IOFFE ET AL: "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift", PROCEEDINGS OF MACHINE LEARNING RESEARCH (PMLR), PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON MACHINE LEARNING (ICML 2015), vol. 37, 7 July 2015 (2015-07-07), pages 448 - 456, XP055490336
GEOFFREY E. HINTONNITISH SRIVASTAVAALEX KRIZHEVSKYILYA SUTSKEVERRUSLAN R. SALAKHUTDINOV: "Improving neural networks by preventing co-adaptation of feature detectors", ARXIV PREPRINT ARXIV:1207.0580V1, 2012
SERGEY LOFFECHRISTIAN SZEGEDY: "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift", ARXIV PREPRINT ARXIV:1502.03167V3, 2015
Download PDF:
Claims:
Ansprüche

1. Computer-implementiertes Verfahren zum Trainieren eines neuronalen Netzes (60), welches insbesondere eingerichtet ist zum Klassifizieren von physikalischen Messgrößen, wobei ein Anpassen von Parametern (0) des neuronalen Netzes (60) abhängig von einem Ausgangssignal (y) des neuronalen Netzes (60) bei Zuführung des Eingangssignals (x) und einem zugehörigen gewünschten Ausgangssignal ( yT ) geschieht, wobei das Anpassen der Parameter (0) abhängig von einem ermittelten Gradienten ( g ) geschieht, dadurch gekennzeichnet, dass Komponenten (gL l) des ermittelten Gradienten ( g ) abhängig davon skaliert werden, zu welcher Schicht

(51; ... ,S5 ) des neuronalen Netzes die zu diesen Kompoenten

entsprechenden Parameter (0) gehören.

2. Verfahren nach Anspruch 1, wobei die Skalierung abhängig von einer

Position dieser Schicht (51; ... ,S5) innerhalb des neuronalen Netzes (60) erfolgt.

3. Verfahren nach Anspruch 2, wobei die Skalierung auch abhängig davon geschieht, zu welchem Merkmal ((i )3) einer Merkmalskarte die

entsprechende Komponente igL i) des ermittelten Gradienten (g) gehört.

4. Verfahren nach Anspruch 3, wobei die Skalierung abhängig von einer Größe eines rezeptiven Feldes (rF) dieses Merkmals geschieht.

5. Verfahren nach Anspruch 4, wobei die Skalierung abhängig von einer

Auflösung dieser Schicht (51; ... ,S5) erfolgt.

6. Verfahren nach Anspruch 5, wobei die Skalierung abhängig von einem

Quotienten der Auflösung dieser Schicht (51; ... ,Ss) und der Auflösung einer Eingangsschicht (S- des neuronalen Netzes (60) erfolgt.

7. Trainingssystem (140), welches eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 6 auszuführen. 8. Verwendung eines mit einem Verfahren nach einem der Ansprüche 1 bis 6 trainierten neuronalen Netzes (60), um Eingangssignale (x), welche abhängig von einem Ausgangssignal (S) eines Sensors (30) ermittelt wurden, zu klassifizieren.

9. Verwendung eines mit einem Verfahren nach einem der Ansprüche 1 bis 6 trainierten neuronalen Netzes (60), um abhängig von einem ermittelten Ausgangssignal (y) des neuronalen Netzes (60) ein Ansteuersignal (A) zur Ansteuerung eines Aktors (10) bereitzustellen.

10. Verwendung eines mit einem Verfahren nach einem der Ansprüche 1 bis6 trainierten neuronalen Netzes (60) nach Anspruch 9, wobei abhängig von dem Ansteuersignal (A) ein Aktor (10) angesteuert wird.

11. Computerprogramm, welches eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 6 oder 8 bis 10 auszuführen.

12. Maschinenlesbares Speichermedium (46, 146), auf dem das

Computerprogramm nach Anspruch 11 gespeichert ist.

13. Verfahren zur Nutzung eines neuronalen Netzes (60), wobei in einer ersten Phase das neuronale Netz (60) mit dem Verfahren nach einem der

Ansprüche 1 bis 6 trainiert wird und anschließend gemäß einem der Ansprüche 8 bis 10 verwendet wird.

Description:
Verfahren zum Trainieren eines neuronalen Netzes

Die Erfindung betrifft ein Verfahren zum Trainieren eines neuronalen Netzes, ein Trainingssystem, Verwendungen des so trainierten neuronalen Netzes, ein Computerprogramm und ein maschinenlesbares Speichermedium.

Stand der Technik

Aus„Improving neural networks by preventing co-adaptation of feature detectors”, arXiv preprint arXiv:1207.0580vl, Geoffrey E. Hinton, Nitish

Srivastava, Alex Krizhevsky, llya Sutskever, Ruslan R. Salakhutdinov (2012) ist ein Verfahren zum Trainieren neuronaler Netze bekannt, bei dem während des Trainings zufällig Merkmalsdetektoren übergangen werden. Diese Verfahren ist auch unter dem Namen„Dropout“ bekannt.

Aus„Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift”, arXiv preprint arXiv:1502.03167v3, Sergey loffe, Christian Szegedy (2015) in ein Verfahren zum Trainieren neuronaler Netze bekannt, bei dem Eingangsgrößen in eine Schicht für einen kleinen Stapel (Englisch:„mini-batch“) von Trainingsbeispielen normalisiert werden.

Vorteile der Erfindung

Das Verfahren mit den Merkmalen des unabhängigen Anspruch 1 hat demgegenüber den Vorteil, dass sich eine Überanpassung von Parametern eines neuronalen Netzes besonders gut verhindern lässt.

Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Ansprüche.

Offenbarung der Erfindung

Mit hinreichend vielen Trainingsdaten können sogenannte„Deep Learning“- Verfahren, also (tiefe) künstliche neuronale Netze, benutzt werden, um effizient eine Abbildung zwischen einem Eingangsraum V Q und einem Ausgangsraum V k zu ermiteln. Dies kann beispielsweise eine Klassifikation von Sensordaten, insbesondere Bilddaten, sein, also eine Abbildung aus Sensordaten bzw.

Bilddaten auf Klassen. Zu Grunde liegt der Ansatz, k— 1 viele verdeckte Räume vorzusehen. Ferner werden k viele Abbildungen f l : V i-1 -> V t (i = 1 ... k) zwischen diesen Räumen vorgesehen. Jede dieser Abbildungen f l wird üblicherweise als eine Schicht (Englisch:„layer“) bezeichnet. Eine solche Schicht f l ist typischerweise durch Gewichte w £ e W l mit einem geeignet gewählten Raum W l parametriert. Die Gewichte w lt ... , w k der k vielen Schichten f l werden zusammengefasst auch als Gewichte w £ W := W 1 x ... x W k bezeichnet, und die Abbildung vom Eingangsraum V Q auf den Ausgangsraum V k als f w : V Q V k , welche sich aus den einzelnen

Abbildungen f l (mit explizit als Subskript angedeuteten Gewichten w £ ) ergibt als

Mit einer gegebenen Wahrscheinlichkeitsverteilung D, welche auf V Q x V k definiert ist, besteht die Aufgabe des Trainings des neuronalen Netzes darin, Gewichte w £ W so zu bestimmen, dass ein Erwartungswert F einer

Kostenfunktion L

FM = £(x D ,y D )~ D [ /w ( D)> D)] (1) minimiert wird. Hierbei bezeichnet die Kostenfunktion L ein Maß für den Abstand zwischen der mitels des der Funktion f w ermitelten Abbildung einer

Eingangsgröße x D auf eine Größe f w (x D ) im Ausgangsraum V k und einer tatsächlichen Ausgangsgröße y D im Ausgangsraum V k .

Unter einem„tiefen neuronalen Netz“ kann ein neuronales Netz mit wenigstens zwei verdeckten Schichten (Englisch:„hidden layer“) verstanden werden.

Um diesen Erwartungswert F zu minimieren, können gradientenbasierte Verfahren zum Einsatz kommen, die einen Gradienten t/F bezüglich der Gewichte w ermiteln. Dieser Gradient nF wird gewöhnlich mitels

Trainingsdaten ( X j , y ) approximiert , also durch V w L(f w (X j ,y j )), wobei die

Indizes j aus einer so genannten Epoche ausgewählt werden. Eine Epoche ist hierbei eine Permutation der Label {1, ... , N} der verfügbaren T rainingsdatenpunkte.

Um den Trainingsdatensatz zu erweitern, kann sogenannte Datenaugmentierung (auch Augmentierung genannt) zum Einsatz kommen. Hierbei kann für jeden Index j aus der Epoche an Stelle des Paares ein augmentiertes Paar ( x a ,y j ) gewählt werden, wobei hier das Eingangssignal x j durch einen augmentierten Eingangswert x a e a{x ) ersetzt wird. a xf) kann hierbei eine Menge typischer Variationen des Eingangssignal x j sein (inklusive des

Eingangssignals x j selbst), die eine Klassifikation des Eingangssignals x j , also das Ausgangssignal des neuronalen Netzes, unverändert lassen.

Dieses epochenbasierte Sampling ist allerdings nicht vollständig konsistent mit der Definition aus Gleichung (1), da jeder Datenpunkt im Verlauf einer Epoche exakt ein Mal gewählt wird. Die Definition aus Gleichung (1) legt hingegen unabhängig gezogene Datenpunkte zu Grunde. D.h. während Gleichung (1) ein Ziehen der Datenpunkte„mit Zurücklegen“ voraussetzt, vollzieht das

epochenbasierte Sampling ein Ziehen der Datenpunkte„ohne Zurücklegen“. Dies kann dazu führen, dass die Voraussetzungen mathematischer

Konvergenzbeweise nicht gegeben sind (denn zieht man N Beispiele aus einer Menge N vieler Datenpunkte, so ist die Wahrscheinlichkeit, jeden dieser

_N_

Datenpunkte exakt einmal zu ziehen, kleiner als e (für N > 2), während diese Wahrscheinlichkeit beim epochenbasierten Sampling stets gleich 1 ist.

Kommt Datenaugmentierung zum Einsatz, kann dieser statistische Effekt noch verstärkt werden, da in jeder Epoche ein Element der Menge a x ) vorhanden ist und, je nach Augmentierungsfunktion a, nicht ausgeschlossen werden kann, dass a(x j « a(x t ) für i j. Eine statistisch korrekte Abbildung der

Augmentierungen mittels der Menge a x j ) ist hierbei schwierig, da der Effekt nicht für jedes Eingangsdatum X j gleichermaßen ausgeprägt sein muss. So kann z.B. eine Rotation auf kreisförmige Gegenstände keine Auswirkung haben, sich aber auf allgemeine Objekte sehr stark auswirken. Daher kann die Größe der Menge a x ) vom Eingangsdatum X j abhängig sein, was für adverserielle

Trainingsmethoden problematisch sein kann. Schließlich ist die Anzahl N der Trainingsdatenpunkte eine i.d.R. aufwändig einzustellende Größe. Ist N zu groß gewählt, kann die Laufzeit des

Trainingsverfahrens ungebührlich verlängert werden, ist N zu klein gewählt, kann eine Konvergenz nicht garantiert werden, da mathematische Beweise der Konvergenz i.A. auf Annahmen aufbauen, die dann nicht erfüllt sind. Darüber hinaus ist nicht klar, zu welchem Zeitpunkt das Training zuverlässig beendet werden soll. Nimmt man hierbei einen Teil der Datenpunkte als

Evaluationsdatensatz und bestimmt die Güte der Konvergenz mittels dieses Evaluationsdatensatzes, kann dies dazu führen, dass bezüglich der Datenpunkte des Evaluationsdatensatzes eine Überanpassung (Englisch:„over-fitting“) der Gewichte w stattfindet, was nicht nur die Dateneffizienz verringert, sondern auch die Leistungsfähigkeit des Netzes verschlechtern kann, wenn es auf andere als die Trainingsdaten angewendet wird. Dies kann zu einer Verringerung der sogenannten„Generalisierbarkeit“ (Englisch:„generalizability“) führen.

Um eine Überanpassung zu reduzieren, kann mittels des eingangs genannten „Dropout“-Verfahrens eine Information, die in den verdeckten Schichten gespeichert ist, zufällig ausgedünnt werden.

Um die Randomisierung des Trainingsvorgangs zu verbessern, können durch die Verwendung sogenannter Stapelnormierungsschichten (Englisch:„batch normalization layer“) statistische Parameter m und s über sogenannten

Ministapeln (Englisch:„mini batch) eingeführt werden, die während des

Trainingsvorgangs probabilistisch aktualisiert werden. Bei der Inferenz werden die Werte dieser Parameter m und s als fest vorgebbare Werte gewählt, beispielsweise als Schätzwerte aus dem Training durch Extrapolation des exponentiellen Abfallverhaltens.

Ist die Schicht mit Index i eine Stapelnormierungsschicht, werden die

zugehörigen Gewichte w £ = (m £ , s £ ) bei einem Gradientenabstieg nicht aktualisiert, d.h. diese Gewichte w £ werden somit anders behandelt als die Gewichte w k der übrigen Schichten k. Dies erhöht die Komplexität einer Implementierung. Darüber hinaus ist die Größe der Ministapel ein Parameter, der das

Trainingsergebnis i.A. beeinflusst und daher als weiterer Hyperparameter möglichst gut eingestellt werden muss, beispielsweise im Rahmen einer (ggf. aufwändigen) Architektursuche.

In einem ersten Aspekt betrifft die Erfindung daher ein Verfahren zum Trainieren eines neuronalen Netzes, welches insbesondere eingerichtet ist zum

Klassifizieren von physikalischen Messgrößen, wobei ein Anpassen von

Parametern des neuronalen abhängig von einem Ausgangssignal des neuronalen Netzes bei Zuführung des Eingangssignals und einem zugehörigen gewünschten Ausgangssignal geschieht, wobei das Anpassen der Parameter abhängig von einem ermittelten Gradienten geschieht, dadurch gekennzeichnet, dass Komponenten des ermittelten Gradienten abhängig davon skaliert werden, zu welcher Schicht des neuronalen Netzes die zu diesen Komponenten entsprechenden Parameter gehören.

„Skalieren“ kann in diesem Zusammenhang so zu verstehen sein, dass die Komponenten des ermittelten Gradienten mit einem von der Schicht abhängigen Faktor multipliziert werden.

Insbesondere kann die Skalierung abhängig von einer Position, also der Tiefe, dieser Schicht innerhalb des neuronalen Netzes erfolgen.

Die Tiefe kann beispielsweise durch die Anzahl der Schichten charakterisiert, insbesondere gegeben, sein, durch die ein einer Eingangsschicht des neuronalen Netzes zugeführtes Signal propagieren muss, bevor es erstmalig als Eingangssignal an dieser Schicht anliegt.

In einer Weiterbildung kann vorgesehen sein, dass die Skalierung auch abhängig davon geschieht, zu welchem Merkmal einer Merkmalskarte die entsprechende Komponente des ermittelten Gradienten gehört.

Insbesondere kann vorgesehen sein, dass die Skalierung abhängig von einer Größe eines rezeptiven Feldes dieses Merkmals geschieht. Es wurde erkannt, dass insbesondere in einem Faltungsnetzwerk Gewichte einer Merkmalskarte kumulativ mit Informationen der Merkmale des rezeptiven Feldes multipliziert werden, weshalb sich für diese Gewichte eine Überanpassung herausbilden kann. Dies wird mit der vorgeschlagenen Methode wirkungsvoll unterbunden.

In einer besonders einfachen und effizienten Alternative kann vorgesehen sein, dass die Skalierung abhängig von der Auflösung dieser Schicht erfolgt.

Insbesondere dass sie abhängig von einem Quotienten der Auflösung dieser Schicht und der Auflösung der Eingangsschicht erfolgt.

Es wurde erkannt, dass sich hierdurch die Größe des rezeptiven Feldes sehr einfach und effizient annähern lässt.

In einem weiteren Aspekt betrifft die Erfindung ein Verfahren bei dem das neuronale Netz mittels eines Trainingsdatensatzes trainiert wird, wobei zum Trainieren Paare umfassend ein Eingangssignal und ein zugehöriges

gewünschtes Ausgangssignal aus dem Trainingsdatensatz (zufällig) gezogen werden, um die Parameter des neuronalen Netzes abhängig von dem

Ausgangssignal des neuronalen Netzes bei Zuführung des Eingangssignals und des gewünschten Ausgangssignals anzupassen, wobei dieses Ziehen von Paaren stets aus dem gesamten Trainingsdatensatz erfolgt.

In einer bevorzugten Weiterbildung dieses Aspekts ist vorgesehen, dass das Ziehen von Paaren unabhängig davon geschieht, welche Paare zuvor im Verlauf des Trainings gezogen wurden.

Mit anderen Worten entspricht das Sampling von Paaren, also Datenpunkten, aus dem Trainingsdatensatz einem„Ziehen mit Zurücklegen“. Dies bricht mit dem vorliegenden Paradigma, dass die Trainingsbeispiele des

Trainingsdatensatzes durch„Ziehen ohne Zurücklegen“ gezogen werden. Dieses „Ziehen mit Zurücklegen“ mag zunächst nachteilig erscheinen, da nicht garantiert werden kann, dass innerhalb einer gegebenen Anzahl von Trainingsbeispielen jeder Datenpunkt aus dem Trainingsdatensatz tatsächlich verwendet wird. Allerdings ergibt sich eine garantierbare Zuverlässigkeit des trainierten Systems, was insbesondere für sicherheitskritische Anwendung essenziell ist.

Überraschenderweise ergibt sich dieser Vorteil, ohne eine Verschlechterung in der am Trainingsende erreichbaren Leistungsfähigkeit (z.B. bei der

Klassifizierung von Bildern) in Kauf nehmen zu müssen. Zudem wird eine Schnittstelle zu anderen Teilblöcken eines Trainingssystems, mit dem das neuronale Netz trainierbar ist, stark vereinfacht.

Die gezogenen Paare können dabei optional noch weiter augmentiert werden. D.h. für einige oder alle der im Trainingsdatensatz (als Komponente der Paare) enthaltenen Eingangssignale kann eine Menge von Augmentierungsfunktionen vorgesehen sein, der das Eingangssignal unterworfen werden kann. Die Auswahl der entsprechenden Augmentierungsfunktion kann ebenfalls zufällig geschehen, vorzugsweise unabhängig davon, welche Paare und/oder welche

Augmentierungsfunktionen zuvor im Verlauf des Trainings gezogen wurden.

In einer Weiterbildung kann vorgesehen sein, dass dabei das Eingangssignal des gezogenen Paares mit der Augmentierungsfunktion a t augmentiert wird, d.h. dass das Eingangssignal durch sein Bild unter der Augmentierungsfunktion ersetzt wird.

Vorzugsweise ist hierbei vorgesehen, dass die Augmentierungsfunktion a t aus der Menge möglicher Augmentierungsfunktion a insbesondere zufällig gewählt wird, wobei diese Mente abhängig vom Eingangssignal ist.

Hierbei kann vorgesehen sein, dass beim zufälligen Ziehen von Paaren aus dem Trainingsdatensatz eine Wahrscheinlichkeit, dass ein vorgebbares Paar gezogen wird, abhängig von einer Anzahl möglicher Augmentierungsfunktionen a des Eingangssignals dieses vorgebbaren Paares ist.

Beispielsweise kann die Wahrscheinlichkeit eine vorgebbare Größe sein.

Insbesondere wird die Wahrscheinlichkeit vorteilhafterweise proportional zur Anzahl möglicher Augmentierungsfunktionen gewählt. Dies ermöglicht es, adäquat zu berücksichtigen, dass manche Augmentierungsfunktionen das Eingangssignal unverändert lassen, sodass die Mächtigkeit der Menge (d.h. die Anzahl der Elemente der Menge) der Augmentierungsfunktionen zwischen den Eingangssignalen sehr unterschiedlich sein kann. Durch die adäquate

Berücksichtigung lassen sich mögliche Probleme bei adverseriellen

Trainingsverfahren vermeiden.

In einem weiteren Aspekt der Weiterbildungen kann vorgesehen sein, dass das Anpassen der Parameter abhängig von einem ermittelten Gradienten geschieht, und zur Ermittlung des Gradienten ein Schätzwert m 1 des Gradienten durch Berücksichtigung einer sukzessiv steigenden Anzahl von Paaren, die aus dem Trainingsdatensatz gezogen werden, so lange verfeinert wird, bis eine vorgebbare Abbruchbedingung, die abhängig vom Schätzwert m 1 des Gradienten ist, erfüllt ist.

Dies bedeutet insbesondere, dass das Anpassen der Parameter erst erfolgt, nachdem die vorgebbare Abbruchbedingung erfüllt ist.

Dies ist im Gegensatz zu gängigen Verfahren aus dem Stand der Technik wie beispielsweise stochastischem Gradientenabstieg (Englisch:„stochastic gradient descenf), in denen eine Mittelung des Gradienten stets über einen vorgebbaren Ministapel geschieht. Dieser Ministapel hat eine vorgebbare Größe, die als Hyperparameter eingestellt werden kann. Durch das sukzessive Hinzufügen von Paaren aus dem Trainingsdatensatz ist es beim vorgeschlagenen Verfahren möglich, die Ermittlung so lange auszuführen, bis der Gradient sicher in aufsteigende Richtung zeigt.

Darüber hinaus ist die Größe der Ministapel ein zu optimierender

Hyperparameter. Dadurch, dass auf diese Optimierung verzichtet werden kann, ist das Verfahren effizienter und zuverlässiger, da eine Überanpassung wirksamer unterdrückt werden kann und die Stapelgröße als Hyperparameter entfällt.

Insbesondere kann die vorgebbare Abbruchbedingung auch abhängig von einer Kovarianzmatrix C des Schätzwerts m 1 des Gradienten sein. Hierdurch ist es möglich, besonders einfach zu garantieren, dass der Gradient sicher in aufsteigende Richtung zeigt.

Beispielsweise kann die vorgebbare Abbruchbedingung die Bedingung umfassen, ob Schätzwert m 1 und Kovarianzmatrix C für einen vorgebbaren Konfidenzwert l die Bedingung {m 1 , C 1 m 1 ) > l 2 erfüllen.

Mit dieser Bedingung wird also ein probabilistisches Abbruchkriterium eingeführt. Dadurch ist es auf möglich, mit vorgebbarer Konfidenz zu garantieren, dass der Gradient mit Konfidenzwert l in aufsteigende Richtung zeigt.

In einem weiteren Aspekt der Weiterbildungen kann vorgesehen sein, dass das neuronale Netz eine Skalierungsschicht umfasst, wobei die Skalierungsschicht ein am Eingang der Skalierungsschicht anliegendes Eingangssignal derart auf ein am Ausgang der Skalierungsschicht anliegendes Ausgangssignal abbildet, dass das am Ausgang anliegende Ausgangssignal ein umskaliertes Signal des Eingangssignals darstellt, wobei Parameter, die die Umskalierung

charakterisieren, fest vorgebbar sind.

Vorzugsweise kann hier vorgesehen sein, dass die Skalierungsschicht ein am Eingang der Skalierungsschicht anliegendes Eingangssignal derart auf ein am Ausgang der Skalierungsschicht anliegendes Ausgangssignal abbildet, dass diese Abbildung einer Projektion auf einen Ball entspricht, wobei Zentrum c und/oder Radius p dieses Balles fest vorgebbar sein können. Alternativ ist es auch möglich, dass diese Parameter im Laufe des Trainings ebenso wie andere Parameter des neuronalen Netzes angepasst werden.

Hierbei kann die Abbildung durch die Gleichung y = argmin Ni ^ y-c-)<p N 2 (x— y) mit einer ersten Norm (L^) und einer zweiten Norm ( N 2 ) gegeben sein. Der Begriff„Norm“ ist hierbei im mathematischen Sinne zu verstehen.

In einer besonders effizient zu berechnenden Weiterbildung kann vorgesehen sein, dass die erste Norm (L^) und die zweite Norm ( N 2 ) gleich gewählt sind. Alternativ oder zusätzlich kann die erste Norm (N t ) eine L°°-Norm sein. Diese Norm lässt sich ebenfalls besonders effizient berechnen, insbesondere auch dann, wenn die erste Norm ( N -ü und die zweite Norm ( N 2 ) nicht gleich gewählt sind.

Alternativ kann vorgesehen sein, dass wobei die erste Norm ( N -ü eine L 1 -Norm ist. Diese Wahl der ersten Norm begünstigt die Spärlichkeit (eng.„sparsity“) des Ausgangssignals der Skalierungsschicht. Dies ist beispielsweise für die

Kompression von neuronalen Netzen vorteilhaft ist, da Gewichte mit dem Wert 0 keinen Beitrag zum Ausgabewert ihrer Schicht haben.

Daher kann ein neuronales Netz mit einer derartigen Schicht insbesondere in Verbindung mit einem Kompressionsverfahren besonders speichereffizient eingesetzt werden.

Bei den beschriebenen Varianten für die erste Norm ( N -ü kann vorteilhafterweise vorgesehen sein, dass die zweite Norm ( N 2 ) eine L 2 -Norm ist. Damit lassen sich die Verfahren besonders einfach realisieren.

Besonders vorteilhaft ist es hierbei, wenn die Lösung der Gleichung y = argmin Ni(y-c-)<p N 2 (x— y) mittels eines deterministischen Newton-Verfahrens erfolgt.

Überraschenderweise wurde nämlich erkannt, dass dieses Verfahren besonders effizient ist, wenn das am Eingang der Skalierungsschicht ein Eingangssignal mit vielen wichtigen, d.h. stark gewichteten, Merkmalen anliegt.

Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:

Figur 1 schematisch einen Aufbau einer Ausführungsform eines

Ste u e ru n gssyste ms ; Figur 2 schematisch ein Ausführungsbeispiel zur Steuerung eines wenigstens teilautonomen Roboters;

Figur 3 schematisch ein Ausführungsbeispiel zur Steuerung eines

Fertigungssystems;

Figur 4 schematisch ein Ausführungsbeispiel zur Steuerung eines

persönlichen Assistenten; Figur 5 schematisch ein Ausführungsbeispiel zur Steuerung eines

Zugangssystems;

Figur 6 schematisch ein Ausführungsbeispiel zur Steuerung eines

Überwachungssystems;

Figur 7 schematisch ein Ausführungsbeispiel zur Steuerung eines

medizinisch bildgebenden Systems;

Figur 8 schematisch ein Trainingssystem;

Figur 9 schematisch einen Aufbau eines neuronalen Netzes;

Figur 10 schematisch eine Informationsweiterleitung innerhalb des neuronalen

Netzes;

Figur 11 in einem Flussdiagramm eine Ausführungsform eines

Trainingsverfahrens;

Figur 12 in einem Flussdiagramm eine Ausführungsform eines Verfahrens zum Schätzen eines Gradienten;

Figur 13 in einem Flussdiagramm eine alternative Ausführungsform des

Verfahrens zum Schätzen des Gradienten; Figur 14 in einem Flussdiagramm eine Ausführungsform eines Verfahrens zum Skalieren des geschätzten Gradienten;

Figur 15 in Flussdiagrammen Ausführungsformen zur Implementierung einer

Skalierungsschicht innerhalb des neuronalen Netzes.

Figur 16 in einem Flussdiagramm ein Verfahren zum Betreiben des trainierten neuronalen Netzes.

Beschreibung der Ausführungsbeispiele

Figur 1 zeigt einen Aktor 10 in seiner Umgebung 20 in Interaktion mit einem Steuerungssystem 40. Aktor 10 und Umgebung 20 werden gemeinschaftlich auch als Aktorsystem bezeichnet. In vorzugsweise regelmäßigen zeitlichen Abständen wird ein Zustand des Aktorsystems mit einem Sensor 30 erfasst, der auch durch eine Mehrzahl von Sensoren gegeben sein kann. Das Sensorsignal S - bzw. im Fall mehrerer Sensoren je ein Sensorsignal S - des Sensors 30 wird an das Steuerungssystem 40 übermittelt. Das Steuerungssystem 40 empfängt somit eine Folge von Sensorsignalen S. Das Steuerungssystem 40 ermittelt hieraus Ansteuersignale A, welche an den Aktor 10 übertragen werden.

Der Sensor 30 ist ein beliebiger Sensor, der einen Zustand der Umgebung 20 erfasst und als Sensorsignal S übermittelt. Es kann beispielsweise ein

bildgebender Sensor sein, insbesondere ein optischer Sensor wie ein Bildsensor oder ein Videosensor, oder ein Radarsensor, oder ein Ultraschallsensor, oder ein LiDAR-Sensor. Es kann auch ein akustischer Sensor sein, der beispielsweise Körperschall oder Sprachsignale empfängt. Ebenso kann es sich bei dem Sensor um einen Positionssensor (wie beispielsweise GPS) handeln oder um einen kinematischen Sensor (beispielsweise einen ein- oder mehrachsigen

Beschleunigungssensor) handeln. Auch ein Sensor, der eine Ausrichtung des Aktors 10 in der Umgebung 20 charakterisiert (beispielsweise ein Kompass) ist möglich. Auch ein Sensor, der eine chemische Zusammensetzung der

Umgebung 20 erfasst, beispielsweise ein Lambda-Sensor, ist möglich. Alternativ oder zusätzlich kann der Sensor 30 auch ein Informationssystem umfassen, das eine Information über einen Zustand des Aktorsystems ermittelt, wie

beispielsweise ein Wetterinformationssystem, das einen aktuellen oder zukünftigen Zustand des Wetters in der Umgebung 20 ermittelt.

Das Steuerungssystem 40 empfängt die Folge von Sensorsignalen S des Sensors 30 in einer optionalen Empfangseinheit 50, die die Folge von

Sensorsignalen S in eine Folge von Eingangssignalen x umwandelt (alternativ kann auch unmittelbar je das Sensorsignal S als Eingangssignal x übernommen werden). Das Eingangssignal x kann beispielsweise ein Ausschnitt oder eine Weiterverarbeitung des Sensorsignals S sein. Das Eingangssignal x kann beispielsweise Bilddaten oder Bilder umfassen, oder einzelne Frames einer Videoaufzeichnung. Mit anderen Worten wird Eingangssignal x abhängig von Sensorsignal S ermittelt. Das Eingangssignal x wird einem neuronalen Netz 60 zugeführt.

Das neuronale Netz 60 wird vorzugsweise parametriert durch Parameter Q, beispielsweise umfassend Gewichte w, die in einem Parameterspeicher P hinterlegt sind und von diesem bereitgestellt werden.

Das neuronale Netz 60 ermittelt aus den Eingangssignalen x Ausgangssignale y. Typischerweise kodieren die Ausgangssignalen y eine Klassifikationsinformation des Eingangssignals x. Die Ausgangssignale y werden einer optionalen

Umformeinheit 80 zugeführt, die hieraus Ansteuersignale A ermittelt, welche dem Aktor 10 zugeführt werden, um den Aktor 10 entsprechend anzusteuern.

Das neuronale Netz 60 kann beispielsweise eingerichtet sein, in den

Eingangssignalen Personen und/oder Straßenschilder und/oder Ampeln und/oder Fahrzeuge zu detektieren (also zu klassifizieren, ob sie vorhanden sind oder nicht) und/oder ihrer Art nach zu klassifizieren (was in Form einer semantischen Segmentierung bereichsweise, insbesondere pixelweise, geschehen kann).

Der Aktor 10 empfängt die Ansteuersignale A, wird entsprechend angesteuert und führt eine entsprechende Aktion aus. Der Aktor 10 kann hierbei eine (nicht notwendigerweise baulich integrierte) Ansteuerlogik umfassen, welches aus dem Ansteuersignal A ein zweites Ansteuersignal ermittelt, mit dem dann der Aktor 10 angesteuert wird.

In weiteren Ausführungsformen umfasst das Steuerungssystem 40 den Sensor 30. In noch weiteren Ausführungsformen umfasst das Steuerungssystem 40 alternativ oder zusätzlich auch den Aktor 10.

In weiteren bevorzugten Ausführungsformen umfasst das Steuerungssystem 40 eine Ein- oder Mehrzahl von Prozessoren 45 und wenigstens ein

maschinenlesbares Speichermedium 46, auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 45 ausgeführt werden, das Steuerungssystem 40 veranlassen, das Verfahren zum Betreiben des

Steuerungssystems 40 auszuführen.

In alternativen Ausführungsformen ist alternativ oder zusätzlich zum Aktor 10 eine Anzeigeeinheit 10a vorgesehen.

Figur 2 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Steuerung eines wenigstens teilautonomen Roboters, hier eines wenigstens teilweise automatisierten Kraftfahrzeugs 100, eingesetzt wird.

Bei dem Sensor 30 kann es sich um einen der im Zusammenhang mit Figur 1 genannten Sensoren handeln, vorzugsweise um einen oder mehrere

vorzugsweise im Kraftfahrzeug 100 angeordnete Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und/oder einen oder mehrere Positionssensoren (beispielsweise GPS) handeln.

Das neuronale Netz 60 kann aus den Eingangsdaten x beispielsweise

Gegenstände in der Umgebung des wenigstens teilautonomen Roboters detektieren. Bei dem Ausgangssignal y kann es sich um eine Information handeln, die charakterisiert, wo in der Umgebung des wenigstens teilautonomen Roboters Gegenstände vorhanden sind. Das Ausgangssignal A kann dann abhängig von dieser Information und/oder entsprechend dieser Information ermittelt werden. Bei dem vorzugsweise im Kraftfahrzeug 100 angeordneten Aktor 10 kann es sich beispielsweise um eine Bremse, einen Antrieb oder eine Lenkung des

Kraftfahrzeugs 100 handeln. Das Ansteuersignal A kann dann derart ermittelt werden, dass der Aktor oder die Aktoren 10 derart angesteuert wird, dass das Kraftfahrzeug 100 beispielsweise eine Kollision mit den vom neuronalen Netz 60 identifizierten Gegenständen verhindert, insbesondere, wenn es sich um

Gegenstände bestimmter Klassen, z.B. um Fußgänger, handelt. Mit anderen Worten kann Ansteuersignal A abhängig von der ermittelten Klasse und/oder entsprechend der ermittelten Klasse ermittelt werden.

Alternativ kann es sich bei dem wenigstens teilautonomen Roboter auch um einen anderen mobilen Roboter (nicht abgebildet) handeln, beispielsweise um einen solchen, der sich durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegt. Bei dem mobilen Roboter kann es sich beispielsweise auch um einen wenigstens teilautonomen Rasenmäher oder einen wenigstens teilautonomen Putzroboter handeln. Auch in diesen Fällen kann das Ansteuersignal A derart ermittelt werden, dass Antrieb und/oder Lenkung des mobilen Roboters derart angesteuert werden, dass der wenigstens teilautonome Roboter beispielsweise eine Kollision mit den vom neuronalen Netz 60 identifizierten Gegenständen verhindert,

In einer weiteren Alternative kann es sich bei dem wenigstens teilautonomen Roboter auch um einen Gartenroboter (nicht abgebildet) handeln, der mit einem bildgebenden Sensor 30 und dem neuronalen Netz 60 eine Art oder einen Zustand von Pflanzen in der Umgebung 20 ermittelt. Bei dem Aktor 10 kann es sich dann beispielsweise um einen Applikator von Chemikalien handeln. Das Ansteuersignal A kann abhängig von der ermittelten Art oder vom ermittelten Zustand der Pflanzen derart ermittelt werden, dass eine der ermittelten Art oder dem ermittelten Zustand entsprechende Menge der Chemikalien aufgebracht wird.

In noch weiteren Alternativen kann es sich bei dem wenigstens teilautonomen Roboter auch um ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder eine Spülmaschine handeln. Mit dem Sensor 30, beispielsweise einem optischen Sensor, kann ein Zustand eines mit dem Haushaltsgerät behandelten Objekts erfasst werden, beispielsweise im Falle der Waschmaschine ein Zustand von Wäsche, die in der Waschmaschine befindlich ist. Mit dem neuronalen Netz 60 kann dann eine Art oder ein Zustand dieses Objekts ermittelt und vom

Ausgangssignal y charakterisiert werden. Das Ansteuersignal A kann dann derart ermittelt werden, dass das Haushaltsgerät abhängig von der ermittelten Art oder dem ermittelten Zustand des Objekts angesteuert wird. Beispielsweise kann im Falle der Waschmaschine diese abhängig davon angesteuert werden, aus welchem Material die darin befindliche Wäsche ist. Ansteuersignal A kann dann abhängig davon gewählt werden, welches Material der Wäsche ermittelt wurde.

Figur 3 zeigt ein Ausführungsbeispiel, in dem das Steuerungssystem 40 zur Ansteuerung einer Fertigungsmaschine 11 eines Fertigungssystems 200 verwendet wird, indem ein diese Fertigungsmaschine 11 steuernder Aktor 10 angesteuert wird. Bei der Fertigungsmaschine 11 kann es sich beispielsweise um eine Maschine zum Stanzen, Sägen, Bohren und/oder Schneiden handeln.

Bei dem Sensor 30 kann es sich um einen der im Zusammenhang mit Figur 1 genannten Sensoren handeln, vorzugsweise um einen optischen Sensor, der z.B. Eigenschaften von Fertigungserzeugnissen 12 erfasst. Es ist möglich, dass der die Fertigungsmaschine 11 steuernde Aktor 10 abhängig von den ermittelten Eigenschaften des Fertigungserzeugnisses 12 angesteuert wird, damit die Fertigungsmaschine 11 entsprechend einen nachfolgenden Bearbeitungsschritt dieses Fertigungserzeugnisses 12 ausführt. Es ist auch möglich, dass der Sensor 30 die Eigenschaften des von der Fertigungsmaschine 11 bearbeiteten Fertigungserzeugnisses 12 ermittelt, und abhängig davon eine Ansteuerung der Fertigungsmaschine 11 für ein nachfolgendes Fertigungserzeugnis anpasst.

Figur 4 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines persönlichen Assistenten 250 eingesetzt wird. Bei dem Sensor 30 kann es sich um einen der im Zusammenhang mit Figur 1 genannten

Sensoren handeln. Der Sensor 30 ist bevorzugt ein akustischer Sensor, der Sprachsignale eines Nutzers 249 empfängt. Alternativ oder zusätzlich kann der Sensor 30 auch eingerichtet sein, optische Signale zu empfangen,

beispielsweise Videobilder einer Geste des Nutzers 249.

Abhängig von den Signalen des Sensors 30 ermittelt das Steuerungssystem 40 ein Ansteuersignal A des persönlichen Assistenten 250, beispielsweise, indem das neuronale Netz eine Gestenerkennung durchführt. Dem persönlichen Assistenten 250 wird dann dieses ermittelte Ansteuersignal A übermittelt und er somit entsprechend angesteuert. Dieses ermittelte Ansteuersignal A ist kann insbesondere derart gewählt werden, dass es einer vermuteten gewünschten Ansteuerung durch den Nutzer 249 entspricht. Diese vermutete gewünschte Ansteuerung kann abhängig von der vom neuronalen Netz 60 erkannten Geste ermittelt werden. Das Steuerungssystem 40 kann dann abhängig von der vermuteten gewünschten Ansteuerung das Ansteuersignal A zur Übermittlung an den persönlichen Assistenten 250 wählen und/oder das Ansteuersignal A zur Übermittlung an den persönlichen Assistenten entsprechend der vermuteten gewünschten Ansteuerung 250 wählen.

Diese entsprechende Ansteuerung kann beispielsweise beinhalten, dass der persönliche Assistent 250 Informationen aus einer Datenbank abruft und sie für den Nutzer 249 rezipierbar wiedergibt.

Anstelle des persönlichen Assistenten 250 kann auch ein Haushaltsgerät (nicht abgebildet), insbesondere eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder eine Spülmaschine vorgesehen sein, um entsprechend angesteuert zu werden.

Figur 5 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Zugangssystems 300 eingesetzt wird. Das Zugangssystem 300 kann eine physische Zugangskontrolle, beispielsweise eine Tür 401 umfassen. Bei dem Sensor 30 kann es sich um einen der im Zusammenhang mit Figur 1 genannten Sensoren handeln, vorzugsweise um einen optischen Sensor (beispielsweise zur Erfassung von Bild- oder Videodaten), der eingerichtet ist, ein Gesicht zu erfassen. Mittels des neuronalen Netzes 60 kann dieses erfasste Bild interpretiert werden. Beispielsweise kann die Identität einer Person ermittelt werden. Der Aktor 10 kann ein Schloss sein, dass abhängig vom Ansteuersignal A die Zugangskontrolle freigibt, oder nicht, beispielsweise die Tür 401 öffnet, oder nicht. Hierzu kann das Ansteuersignal A abhängig von der der Interpretation des neuronalen Netzes 60 gewählt werden, beispielsweise abhängig von der ermittelten Identität der Person. An Stelle der physischen Zugangskontrolle kann auch eine logische Zugangskontrolle vorgesehen sein.

Figur 6 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines Überwachungssystems 400 verwendet wird. Von dem in Figur 5 dargestellten Ausführungsbeispiel unterscheidet sich dieses Ausführungsbeispiel dadurch, dass an Stelle des Aktors 10 die Anzeigeeinheit 10a vorgesehen ist, die vom Steuerungssystem 40 angesteuert wird. Beispielsweise kann vom neuronalen Netz 60 ermittelt werden, ob ein vom optischen Sensor

aufgenommener Gegenstand verdächtig ist, und das Ansteuersignal A dann derart gewählt werden, dass dieser Gegenstand von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.

Figur 7 zeigt ein Ausführungsbeispiel, bei dem das Steuerungssystem 40 zur Steuerung eines medizinischen bildgebenden System 500, beispielsweise eines MRT-, Röntgen- oder Ultraschallgeräts, verwendet wird. Der Sensor 30 kann beispielsweise durch einen bildgebenden Sensor gegeben sein, durch das Steuerungssystem 40 wird die Anzeigeeinheit 10a angesteuert. Beispielsweise kann vom neuronalen Netz 60 ermittelt werden, ob ein vom bildgebenden Sensor aufgenommener Bereich auffällig ist, und das Ansteuersignal A dann derart gewählt werden, dass dieser Bereich von der Anzeigeeinheit 10a farblich hervorgehoben dargestellt wird.

Figur 8 zeigt schematisch ein Ausführungsbeispiel eines Trainingssystems 140 zum Trainieren des neuronalen Netzes 60 mittels eines Trainingsverfahrens.

Eine Trainingsdateneinheit 150 ermittelt geeignete Eingangssignale x, die dem neuronalen Netz 60 zugeführt werden. Beispielsweise greift die

Trainingsdateneinheit 150 auf eine computerimplementierte Datenbank zu, in dem ein Satz von Trainingsdaten gespeichert ist, und wählt z.B. zufällig aus dem Satz von Trainingsdaten Eingangssignale x aus. Optional ermittelt die

Trainingsdateneinheit 150 auch zu den Eingangssignalen x zugeordnete gewünschte, oder„tatsächliche“, Ausgangssignale gt, die einer Bewertungseinheit 180 zugeführt werden.

Das künstliche neuronale Netz x ist eingerichtet, aus den ihm zugeführten Eingangssignalen x zugehörige Ausgangssignale y zu ermitteln. Diese

Ausgangssignale y werden der Bewertungseinheit 180 zugeführt.

Die Bewertungseinheit 180 kann beispielsweise mittels einer von den

Ausgangssignalen y und den gewünschten Ausgangssignalen yi abhängigen Kostenfunktion (Englisch:„loss function“) L eine Leistungsfähigkeit des neuronalen Netzes 60 charakterisiert werden. Die Parameter Q können abhängig von der Kostenfunktion L optimiert werden.

In weiteren bevorzugten Ausführungsformen umfasst das Trainingssystem 140 eine Ein- oder Mehrzahl von Prozessoren 145 und wenigstens ein

maschinenlesbares Speichermedium 146, auf dem Anweisungen gespeichert sind, die dann, wenn sie auf den Prozessoren 145 ausgeführt werden, das Steuerungssystem 140 veranlassen, das Trainingsverfahren auszuführen.

Figur 9 zeigt beispielhaft einen möglichen Aufbau des neuronalen Netzes 60, das im Ausführungsbeispiel als neuronales Netz gegeben ist. Das neuronale Netz umfasst eine Mehrzahl von Schichten S 1 , S 2 , S 3 , S 4 , S 5 , um aus dem Einganssignal x, das an einem Eingang einer Eingangsschicht S 4 zugeführt wird, das

Ausgangssignal y zu ermitteln, das an einem Ausgang einer Ausgangsschicht S 5 anliegt. Jeder der Schichten S 1 , S 2 , S 3 , S 4 , S 5 ist hierbei eingerichtet, aus einem (ggf. mehrdimensionalen) Eingangssignal x, z 1 , z 3 , z 4 , z 6 , das an einem Eingang der jeweiligen Schicht S 1 , S 2 , S 3 , S 4 , S 5 anliegt, ein - ein (ggf. mehrdimensionales) Ausgangssignal z 1 , z 2 , z 4 , z 5 , y zu ermitteln, dass an einem Ausgang der jeweiligen Schicht S 1 , S 2 , S 3 , S 4 , S 5 anliegt. Solche Ausgangssignale werden, speziell in der Bildverarbeitung, auch als Merkmalskarten (Englisch:„feature maps“) bezeichnet. Es ist hierbei nicht notwendig, dass die Schichten

S 1 , S 2 , S 3 , S 4 , S 5 derart angeordnet sind, dass alle Ausgangssignale, die als Eingangssignale in weitere Schichten eingehen, aus jeweils von einer vorhergehenden Schicht in eine unmittelbar nachfolgende Schicht eingehen. Stattdessen sind auch Überbrückungsverbindungen (Englisch:„Skip Connections“) oder rekurrente Verbindungen möglich. Ebenso ist

selbstverständlich möglich, dass das Eingangssignal x in mehrere der Schichten eingeht, oder dass sich das Ausgangssignal y des neuronalen Netzes 60 aus Ausgangssignalen einer Mehrzahl von Schichten zusammensetzt.

Die Ausgangsschicht S 5 kann beispielsweise durch eine Argmax-Schicht gegeben sein (also eine Schicht, die aus einer Mehrzahl von Eingängen mit jeweils zugeordneten Eingangswerten eine Bezeichnung desjenigen Eingangs auswählt, dessen zugeordneter Eingangswert unter diesen Eingangswerten der größte ist), eine oder mehrere der Schichten S 1 , S 2 , S 3 können beispielsweise durch Faltungsschichten gegeben sein.

Vorteilhafterweise ist eine Schicht S 4 als eine Skalierungsschicht ausgebildet, die ausgebildet ist, dass ein am Eingang der Skalierungsschicht (S 4 ) anliegendes Eingangssignal (x) derart auf ein am Ausgang der Skalierungsschicht (S 4 ) anliegendes Ausgangssignal (y) abgebildet wird, dass das am Ausgang anliegende Ausgangssignal (y) eine Umskalierung des Eingangssignals (x) ist, wobei Parameter, die die Umskalierung charakterisieren, fest vorgebbar sind. Ausführungsbeispiele für Verfahren, die Skalierungsschicht S 4 durchführen kann, sind unten im Zusammenhang mit Figur 15 beschrieben.

Figur 10 illustriert schematisch die Informationsweiterleitung innerhalb des neuronalen Netzes 60. Schematisch dargestellt sind hier drei mehrdimensionale Signale innerhalb des neuronalen Netzes 60, nämlich das Eingangssignal x, sowie spätere Merkmalskarten z 1 , z 2 . Das Eingangssignal x hat im

Ausführungsbeispiel eine räumliche Auflösung von n* x riy Pixeln, die erste Merkmalskarte z 4 von x ri y Pixeln, die zweite Merkmalskarte z 2 von nf x ri y Pixeln. Im Ausführungsbeispiel ist die Auflösung der zweiten Merkmalskarte z 2 geringer als die Auflösung des Eingangssignals x, dies ist aber nicht zwingend der Fall.

Dargestellt ist ferner ein Merkmal, z.B. ein Pixel, (i ) 3 der zweiten

Merkmalskarte z 2 . Wird die Funktion, die die zweite Merkmalskarte z 2 aus der ersten Merkmalskarte z 4 ermittelt, beispielsweise durch eine Faltungsschicht oder eine vollvermaschte Schicht (Englisch:„fully connected layer“) dargestellt, so ist es auch möglich, dass eine Mehrzahl von Merkmalen der ersten

Merkmalskarte z- n die Ermittlung des Werts dieses Merkmals (i,y) 3 eingeht. Es ist aber natürlich auch möglich, dass nur ein einziges Merkmal der ersten Merkmalskarte z in die Ermittlung des Werts dieses Merkmas (i ) 3 eingeht.

Unter„eingehen“ kann hierbei vorteilhafterweise verstanden werden, dass es eine Kombination von Werten der Parameter, die die Funktion charakterisieren, mit der die zweite Merkmalskarte z 2 aus der ersten Merkmalskarte z ermittelt, wird, und von Werten der ersten Merkmalskarte z derart gibt, dass der Wert des Merkmals (i,y) 3 von dem Wert des eingehenden Merkmals abhängt. Die

Gesamtheit dieser eingehenden Merkmale wird in Figur 10 als Bereich Be bezeichnet.

In die Ermittlung jedes Merkmal ( i,j) 2 des Bereichs Be gehen seinerseits eine Ein- oder Mehrzahl von Merkmalen des Eingangssignals x ein. Die Menge aller Merkmale des Eingangssignals x, die in die Ermittlung wenigstens eines der Merkmale ( i,j) 2 des Bereichs Be eingehen, werden als rezeptives Feld rF bezeichnet des Merkmals (i ) 3 . Mit anderen Worten umfasst das rezeptive Feld rF des Merkmals (i ) 3 all jene Merkmale des Eingangssignals x, die unmittelbar oder mittelbar (mit anderen Worten: wenigstens mittelbar) in die Ermittlung des Merkmals (i,y) 3 eingehen, d.h. deren Werte den Wert des Merkmals (i ) 3 beeinflussen können.

Figur 11 zeigt in einem Flussdiagramm den Ablauf eines Verfahrens zum

Trainieren des neuronalen Netzes 60 gemäß einer Ausführungsform.

Zunächst (1000) wird ein Trainingsdatensatz X umfassend Paare (x j ,y j ) aus Eingangssignalen und jeweils zugehörigen Ausgangssignalen y t bereitgestellt. Eine Lernrate h wird initialisiert, beispielsweise zu h = 1.

Ferner werden optional eine erste Menge G und eine zweite Menge N initialisiert, beispielsweise, wenn in Schritt 1100 das in Figur 12 illustrierte

Ausführungsbeispiel dieses Teils des Verfahrens eingesetzt wird. Soll in Schritt 1100 das in Figur 13 illustrierte Ausführungsbeispiel dieses Teils des Verfahren eingesetzt werden, kann auf die Initialisierung der ersten Menge G und der zweiten Menge N verzichtet werden.

Die Initialisierung der ersten Menge G und der zweiten Menge N kann wie folgt erfolgen: Die erste Menge G, die diejenigen Paare (x j ,y j ) des

Trainingsdatensatzes X umfasst, die im Laufe einer aktuellen Epoche des Trainingsverfahrens bereits gezogen wurden, wird als leere Menge initialisiert. Die zweite Menge N, die diejenigen Paare (x j ,y j ) des Trainingsdatensatzes X umfasst, die im Laufe der aktuellen Epoche noch nicht gezogen wurden, wird initialisiert, indem ihr alle Paare (x j ,y j ) des Trainingsdatensatze X zugewiesen werden.

Nun (1100) wird mittels Paaren (x j ,y j ) aus Eingangssignalen und jeweils zugehörigen Ausgangssignalen y t des Trainingsdatensatz X ein Gradient g der Kenngröße L bezüglich der Parameter Q geschätzt, also g = V e £.

Ausführungsbeispiele dieses Verfahrens sind in Zusammenhang mit Figur 12 bzw. 13 beschrieben.

Dann (1200) wird optional eine Skalierung des Gradienten g durchgeführt.

Ausführungsbeispiele dieses Verfahren sind in Zusammenhang mit Figur 14 beschrieben.

Anschließend (1300) wird optional eine Anpassung einer Lernrate h

durchgeführt. Hierbei kann die Lernrate h beispielsweise um einen vorgebbaren Lernratenreduktionsfaktor ΰh (z.B. ΰh = 1/10) reduziert werden (also h <- h ϋh), sofern eine Anzahl der durchlaufenen Epochen durch eine vorgebbare Epochenanzahl, beispielsweise 5, teilbar ist.

Dann (1400) werden die Parameter Q mittels des ermittelten und ggf. skalierten Gradienten g und der Lernrate h aktualisiert. Beispielsweise werden die

Parameter Q ersetzt durch q— h g.

Es wird nun (1500) mittels eines vorgebbaren Konvergenzkriteriums geprüft, ob das Verfahren konvergiert ist. Beispielsweise kann abhängig von einer absoluten Änderung der Parameter Q (z.B. zwischen den letzten beiden Epochen) entschieden werden, ob das Konvergenzkriterium erfüllt ist, oder nicht.

Beispielsweise kann das Konvergenzkriterium genau dann erfüllt sein, wenn eine L 2 -Norm über die Änderung aller Parameter Q zwischen den letzten beiden Epochen kleiner ist als ein vorgebbarer Konvergenzschwellwert.

Wurde entschieden, dass das Konvergenzkriterium erfüllt ist, werden die

Parameter Q als gelernte Parameter übernommen, und das Verfahren endet.

Falls nicht, wird zurückverzweigt zu Schritt 1100.

Figur 12 illustriert in einem Flussdiagramm ein beispielhaftes Verfahren zur Ermittlung des Gradienten g in Schritt 1100.

Zunächst (1110) soll eine vorgebbare Anzahl bs an Paaren (x j ,y j ) des

Trainingsdatensatzes X (ohne Zurücklegen) gezogen, also ausgewählt und einem Stapel B (Englisch:„batch“) zugewiesen. Die vorgebbare Anzahl bs wird auch als Stapelgröße (Englisch:„batch size“) bezeichnet. Der Stapel B wird als leere Menge initialisiert.

Dazu wird geprüft (1120), ob die Stapelgröße bs größer ist als die Anzahl an Paaren (x^y;), die in der zweiten Menge N vorhanden sind.

Ist die Stapelgröße bs nicht größer als die Anzahl an Paaren (x^y;), die in der zweiten Menge N vorhanden sind, werden bs viele Paare (x j ,y j ) zufällig aus der zweiten Menge N gezogen (1130), also ausgewählt und dem Stapel B

hinzugefügt.

Ist die Stapelgröße bs größer als die Anzahl an Paaren (x^y;), die in der zweiten Menge N vorhanden sind, werden sämtliche Paare der zweiten Menge N, deren Anzahl mit s bezeichnet wird, gezogen (1140), also ausgewählt und dem Stapel B hinzugefügt, und die restlichen, also bs— s viele, aus der ersten Menge G gezogen also ausgewählt und dem Stapel B hinzugefügt.

Für alle Parameter Q wird anschließend (1150) an Schritt (1130) bzw. (1140) optional entschieden, ob diese Parameter Q in diesem Trainingsdurchgang übergangen werden sollen, oder nicht. Hierzu wird beispielsweise für jede Schicht ( S 1 , S 2 , ... , S 6 ) separat eine Wahrscheinlichkeit festgelegt, mit der

Parameter Q dieser Schicht übergangen werden. Beispielsweise kann diese Wahrscheinlichkeit für die erste Schicht (S- 50% betragen und mit jeder nachfolgenden Schicht um 10% reduziert werden.

Mittels dieser festgelegten jeweiligen Wahrscheinlichkeiten kann dann für jeden der Parameter Q entschieden werden, ob er übergangen wird, oder nicht.

Für jedes Paar (x j ,y j ) des Stapels B wird nun (1155) optional entschieden, ob das jeweilige Eingangssignal augmentiert wird, oder nicht. Für jedes entsprechende Eingangssignal x das augmentiert werden soll, wird,

vorzugsweise zufällig, eine Augmentierungsfunktion ausgewählt und auf das Eingangssignal x t angewendet. Das dermaßen augmentierte Eingangssignal x t ersetzt dann das ursprüngliche Eingangssignal x t . Ist das Eingangssignal x t ein Bildsignal kann die Augmentierungsfunktion beispielsweise durch eine Drehung um einen vorgebbaren Winkel gegeben sein.

Anschließend (1160) wird für jedes Paar (c ί ,g ) des Stapels B das

entsprechende (und ggf. augmentierte) Eingangssignal x t ausgewählt und dem neuronalen Netz 60 zugeführt. Die zu übergehenden Parameter Q des neuronalen Netzes 60 werden hierbei während der Ermittlung des

entsprechenden Ausgangssignals deaktiviert, z.B., indem sie vorübergehend auf den Wert Null gesetzt werden. Das entsprechende Ausgangssignal y(x j ) des neuronalen Netzes 60 wird dem entsprechenden Paar (c ί , g ) zugeordnet.

Abhängig von den Ausgangssignalen y(x j ) und den jeweiligen Ausgangssignalen y* des Paares (c ί ,g ) als gewünschtem Ausgangssignal y T wird jeweils eine Kostenfunktion L t ermittelt.

Dann (1165) wird für alle Paare (c ί ,g ) des Stapels B gemeinsam die

vollständige Konstenfunktion £ = Eiee ermittelt und jeden der nicht zu übergehenden Parameter Q die entsprechende Komponente des Gradienten g z.B. mittels Rückwärtspropagation (Englisch:„backpropagation“) ermittelt. Für jeden der zu übergehenden Parameter Q wird die entsprechende Komponente des Gradienten g auf Null gesetzt. Nun wird geprüft (1170), ob bei der Prüfung in Schritt 1000, festgestellt wurde, dass die Stapelgröße bs größer ist als die Anzahl an Paaren (x^y;), die in der zweiten Menge N vorhanden sind.

Wurde festgestellt, dass Ist die Stapelgröße bs nicht größer als die Anzahl an Paaren ( x^y; ), die in der zweiten Menge N vorhanden sind, werden (1180) alle Paare (x^y;) des Stapels B der ersten Menge G hinzugefügt und aus der zweiten Menge N entfernt. Es wird nun geprüft, (1185) ob die zweite Menge N leer ist. Ist die zweite Menge N leer, beginnt eine neue Epoche (1186). Hierzu wird die erste Menge G erneut als leere Menge initialisiert, und die zweite Menge N wird neu initialisiert, indem ihr erneut alle Paare (x j ,y j ) des Trainingsdatensatze X zugewiesen werden, und es wird verzweigt zu Schritt (1200). Ist die zweite Menge N nicht leer, wird direkt verzweigt zu Schritt (1200).

Wurde festgestellt, dass die Stapelgröße bs größer ist als die Anzahl an Paaren (Xi,yi), die in der zweiten Menge N vorhanden sind, wird die erste Menge G neu initialisiert (1190), indem ihr alle Paare (x j ,y j ) des Stapels B zugewiesen werden, die zweite Menge N wird neu initialisiert, indem ihr erneut alle Paare (x j ,y j ) des Trainingsdatensatze X zugewiesen werden und anschließend die Paare (x^y;), die auch im Stapels B vorhanden sind entfernt werden. Anschließend beginnt eine neue Epoche und es wird verzweigt zu Schritt (1200). Damit endet dieser Teil des Verfahrens.

Figur 13 illustriert in einem Flussdiagramm ein weiteres beispielhaftes Verfahren zur Ermittlung des Gradienten g in Schritt 1100. Zunächst werden Parameter des Verfahrens initialisiert (1111). Im Folgenden wird der mathematische Raum der Parameter Q mit W bezeichnet. Umfassen die Parameter Q also np viele einzelne Parameter, so ist der Raum W ein np-dimensionaler Raum, beispielsweise W = n p . Ein Iterationszähler n wird auf den Wert n = 0 initialisiert, eine erste Größe m 1 wird dann als m 1 = O e VK(also als np-dimensionaler Vektor) gesetzt, eine zweite Größe m 2 = 0 e W ® VK(also als np x np-dimensionale Matrix).

Anschließend (1121) wird zufällig ein Paar (x j ,y j ) aus dem Trainingsdatensatz X ausgewählt und ggf. augmentiert. Dies kann beispielsweise derart geschehen, dass für jedes Eingangssignal x t der Paare (x j ,y j ) Trainingsdatensatzes X eine Anzahl m(a(c ί )) möglicher Augmentierungen a(x ermitelt wird, und jedem Paar (xi, yi) eine Positionsgröße zugeordnet wird. Wird dann eine Zufallszahl f e [0; 1] gleichverteilt gezogen, kann diejenige Positionsgröße p t ausgewählt werden, die die Ungleichungskete

R ί < f < p i+1 (3) erfüllt. Der zugehörige Index i bezeichnet dann das ausgewählte Paar (x j ,yi), eine Augmentierung a t der Eingangsgröße kann zufälig aus der Menge möglicher Augmentierungen cr(X j ) gezogen werden und auf die Eingangsgröße Xi angewendet werden, d.h. das ausgewählte Paar (x j ,y j ) wird durch (a ί (c ί )^ ί ) ersetzt.

Das Eingangssignal x t wird dem neuronalen Netz 60 zugeführt. Abhängig vom entsprechenden Ausgangssignal y(x ; ) und dem Ausgangssignal y t des Paares (x y als gewünschtem Ausgangssignal y T wird die entsprechende

Kostenfunktion L t ermitelt. Für die Parameter Q wird ein diesbezüglicher Gradient d z.B. mitels Rückwärtspropagation ermitelt, also d = V ß £(y(xi), yi).

Dann (1131) werden Iterationszähler n, erste Größe m 1 und zweite Größe m 2 wie folgt aktualisert:

Anschließend (1141) werden Komponenten C a b einer Kovarianzmatrix C bereitgestellt als Hieraus wird mit der (vektorwertigen) ersten Größe m 1 ein Skalarprodukt S gebildet, also

S = (m 1 , C 1 m 1 ). (8)

Es versteht sich, dass für die ausreichend genaue Ermittlung des Skalarprodukts S mit Gleichung (8) nicht alle Einträge der Kovarianzmatrix C oder der Inversen C _1 gleichzeitig vorliegen müssen. Speichereffizienter ist es, während der Auswertung von Gleichung (8) die dann notwendigen Einträge C a b der

Kovarianzmatrix C zu bestimmen.

Dann wird überprüft (1151), ob dieses Skalarprodukt S die folgende Ungleichung erfüllt:

S > l 2 , (9) wobei l ein vorgebbarer Schwellwert ist, der einem Konfidenzlevel entspricht.

Ist die Ungleichung erfüllt, wird der aktuelle Wert der ersten Größe m 1 als geschätzter Gradient g übernommen und es wird zurückverzweigt zu Schritt (1200).

Ist die Ungleichung nicht erfüllt, kann zu Schritt (1121) zurückverzweigt werden. Es kann alternativ auch überprüft (1171) werden, ob der Iterationszähler n einen vorgebbaren maximalen Iterationswert n max erreicht hat. Ist dies nicht der Fall, wird zurückverzweigt zu Schritt (1121), andernfalls wird als geschätzter Gradient g der Nullvektor 0 e W übernommen (1181), und es wird zurückverzweigt zu Schritt (1200). Damit endet dieser Teil des Verfahrens.

Durch dieses Verfahren wird erreicht, dass m 1 einem arithmetischen Mittelwert der ermittelten Gradienten d über den gezogenen Paaren (x j ,y j ) entspricht, und m 2 einem arithmetischen Mittelwert eines Matrixprodukts d d T der ermittelten Gradienten d über den gezogenen Paaren (x j ,y j ). Figur 14 zeigt eine Ausführungsform des Verfahrens zum Skalieren des

Gradienten g in Schritt (1200). Im Folgenden wird jede Komponente des

Gradienten g mit einem Paar (t, Z) bezeichnet, wobei i e {1, ... , k} eine Schicht des entsprechenden Parameters Q bezeichnet, und l e {1, ... , dim(Vi)} eine Nummerierung des entsprechenden Parameters Q innerhalb der i-ten Schicht. Ist das neuronale Netz wie in Figur 10 illustriert zur Verarbeitung mehrdimensionaler Eingangsdaten x mit entsprechenden Merkmalskarten z ( in der i-ten Schicht ausgebildet, ist die Numerierung l vorteilhafterweise durch die Position desjenigen Merkmals in der Merkmalskarte z ( gegeben, mit dem der

entsprechende Parameter Q assoziiert ist.

Es wird nun (1220) für jede Komponente g L i des Gradienten g ein

Skalierungsfaktor W M ermittelt. Beispielsweise kann dieser Skalierungsfaktor W M durch die Größe des rezeptiven Feldes rF des l entsprechenden Merkmals der Merkmalskarte der i-ten Schicht gegeben sein. Der Skalierungsfaktor W M kann alternativ auch durch ein Verhältnis der Auflösungen, also der Anzahl Merkmale, der i-ten Schicht im Verhältnis zur Eingangsschicht gegeben sein.

Dann (1220) wird jede Komponente g L i des Gradienten g mit dem

Skalierungsfaktor W M skaliert, also

3L,I 9L,I/^L,I · (10)

Ist der Skalierungsfaktor W M durch die Größe des rezeptiven Feldes rF gegeben, lässt sich besonders wirksam eine Überanpassung der Parameter Q vermeiden. Ist der Skalierungsfaktor W M durch das Verhältnis der Auflösungen gegeben, ist dies eine besonders effiziente näherungsweise Schätzung der Größe des rezeptiven Feldes rF.

Figur 15 illustriert Ausführungsformen des Verfahrens, das von der

Skalierungsschicht S 4 ausgeführt wird.

Die Skalierungsschicht S 4 ist eingerichtet, eine Projektion des am Eingang der Skalierungsschicht S 4 anliegenden Eingangssignals x auf eine Kugel zu erreichen, mit Radius p und Mittelpunkt c. Dies wird charakterisiert durch eine erste Norm N^y— c), die einen Abstand des Mittelpunkts c vom am Ausgang der Skalierungsschicht S 4 anliegenden Ausgangssignal y misst und eine zweite Norm N 2 (x— y), die einen Abstand des am Eingang der Skalierungsschicht S 4 anliegenden Eingangssignals x vom am Ausgang der Skalierungsschicht S 4 anliegenden Ausgangssignal y misst. Mit anderen Worten löst das am Ausgang der Skalierungsschicht S 4 anliegende Ausgangssignal y die Gleichung y = argmin Niiy-c)<p N 2 (x - y). (11)

Figur 15 a) illustriert eine besonders effiziente erste Ausführungsform für den Fall, dass erste Norm /V 4 und eine zweite Norm N 2 gleich sind. Sie werden im Folgenden mit | | · | | bezeichnet.

Zunächst (2000) wird ein am Eingang der Skalierungsschicht S 4 anliegendes Eingangssignal x, ein Zentrumsparameter c und ein Radiusparameter p bereitgestellt.

Dann (2100) wird ein am Ausgang der Skalierungsschicht S 4 anliegendes Ausgangssignal y ermittelt zu

Damit endet dieser Teil des Verfahrens.

Figuren 15b) und 15c) illustrieren Ausführungsformen für besonders vorteilhaft gewählte Kombinationen der ersten Norm /V 4 und der zweiten Norm N 2 .

Figur 15 b) illustriert eine zweite Ausführungsform für den Fall, dass in der zu erfüllenden Bedingung (12) die erste Norm /V 4 ( ·) gegeben ist durch die

Maximumsnorm 11 · | l^und die zweite Norm N 2 ( ·) gegeben ist durch die 2-Norm | | · | | 2 . Diese Kombination von Normen ist besonders effizient zu berechnen.

Zunächst (3000) wird analog zu Schritt (2000) das am Eingang der

Skalierungsschicht S 4 anliegende Eingangssignal x, der Zentrumsparameter c und der Radiusparameter p bereitgestellt. Dann (3100) werden die Komponenten y t des am Ausgang der Skalierungsschicht S 4 anliegenden Ausgangssignals y ermittelt zu falls x t — c t > p

falls Xi— Ci <—p , (13) sonst wobei i hier die Komponenten bezeichnet.

Dieses Verfahren ist besonders recheneffizient. Damit endet dieser Teil des Verfahrens.

Figur 15 c) illustriert eine dritte Ausführungsform für den Fall , dass in der zu erfüllenden Bedingung (12) die erste Norm /V 4 ( ·) gegeben ist durch die 1-Norm 11 · | | 4 und die zweite Norm N 2 ( ·) gegeben ist durch die 2-Norm 11 · | \ 2 . Diese Kombination von Normen führt dazu, dass im am Eingang der Skalierungsschicht S 4 anliegenden Eingangssignal x möglichst viele kleine Komponenten auf den Wert Null gesetzt werden.

Zunächst (4000) werden analog zu Schritt (2000) das am Eingang der

Skalierungsschicht S 4 anliegende Eingangssignal x, der Zentrumsparameter c und der Radiusparameter p bereitgestellt.

Dann (4100) wird eine Vorzeichengröße e ermittelt zu falls x t > c t

falls (14)

Xi < Ci und die Komponenten x t des am Eingang der Skalierungsschicht S 4 anliegenden Eingangssignals x werden ersetzt durch

Xi <^ Ci - (X j - Ci). (15)

Ein Hilfsparameter g wird auf den Wert Null initialisiert. Dann (4200) wird eine Menge N ermittelt als N = {i |x ; > y} und ein

Abstandsmaß D = Eiew( x i ~~ ¥)

Dann (4300) wird überprüft, ob die Ungleichung

D > p (16) erfüllt ist.

Ist dies der Fall (4400), wird der Hilfsparameter y ersetzt durch und es wird zurückverzweigt zu Schritt (4200).

Ist Ungleichung (16) nicht erfüllt (4500), werden die Komponenten y t des am Ausgang der Skalierungsschicht S 4 anliegendn Ausgangssignals y ermittelt zu i = Ci + £i ( Xi - y)+ (18)

Die Notation (·) + bedeutet hierbei in üblicher Weise

x falls x > 0

( + = 0 sonst (19)

Damit endet dieser Teil des Verfahrens. Dieses Verfahren entspricht einem Newton-Verfahren, und ist besonders recheneffizient, insbesondere, wenn viele der Komponenten des am Eingang der Skalierungsschicht S 4 anliegenden Eingangssignals x wichtig sind.

Figur 16 illustriert eine Ausführungsform eines Verfahrens zum Betreiben des neuronalen Netzes 60. Zunächst (5000) wird das neuronale Netz mit einem der beschriebenen Verfahren trainiert. Dann (5100) wird das Steuerungssystem 40 mit dem so trainierten neuronalen Netz 60 wie beschrieben betrieben. Damit endet das Verfahren. Es versteht sich, dass das neuronale Netz nicht auf vorwärts gerichtete neuronale Netze (Englisch:„feedforward neural network“) beschränkt ist, sondern dass die Erfindung in gleicher Weise auf jegliche Art neuronaler Netze angewendet werden kann, insbesondere rekurrente Netze, Faltungsnetze

(Englisch:„convolutional neural network“), Autoencoder, Boltzmann-Maschinen, Perzeptronen oder Kapselnetze (Englisch:„Capsule Neural Network).

Der Begriff„Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.

Es versteht sich ferner, dass die Verfahren nicht nur wie beschrieben vollständig in Software implementiert sein können. Sie können auch in Hardware

implementiert sein, oder in einer Mischform aus Software und Hardware.