DE102019213898A1 - Robustes und besser trainierbares künstliches neuronales Netzwerk - Google Patents

Robustes und besser trainierbares künstliches neuronales Netzwerk Download PDF

Info

Publication number
DE102019213898A1
DE102019213898A1 DE102019213898.5A DE102019213898A DE102019213898A1 DE 102019213898 A1 DE102019213898 A1 DE 102019213898A1 DE 102019213898 A DE102019213898 A DE 102019213898A DE 102019213898 A1 DE102019213898 A1 DE 102019213898A1
Authority
DE
Germany
Prior art keywords
variables
input
ann
input variables
knn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019213898.5A
Other languages
English (en)
Inventor
Frank Schmidt
Christian Haase-Schuetz
Torsten Sachse
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019213898.5A priority Critical patent/DE102019213898A1/de
Priority to PCT/EP2020/071311 priority patent/WO2021047816A1/de
Priority to CN202080063529.1A priority patent/CN114341887A/zh
Priority to US17/637,890 priority patent/US20220284287A1/en
Publication of DE102019213898A1 publication Critical patent/DE102019213898A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

Künstliches neuronales Netzwerk, KNN (1), mit Verarbeitungsschichten (21-23), die jeweils dazu ausgebildet sind, Eingangsgrößen (21a-23a) nach Maßgabe trainierbarer Parameter (20) des KNN (1) zu Ausgangsgrößen (21b-23b) zu verarbeiten, wobei in mindestens eine Verarbeitungsschicht (21-23), und/oder zwischen mindestens zwei Verarbeitungsschichten (21-23), mindestens ein Normierer (3) geschaltet ist, wobei dieser Normierer (3)• ein Übersetzungsglied (3a) umfasst, das dazu ausgebildet ist, in den Normierer (3) geführte Eingangsgrößen (31) mit einer vorgegebenen Transformation (3a') in einen oder mehrere Eingabe-Vektoren (32) zu übersetzen, wobei jede dieser Eingangsgrößen (31) in genau einen Eingabe-Vektor (32) eingeht;• ein Normierungsglied (3b) umfasst, das dazu ausgebildet ist, den oder die Eingabe-Vektoren (32) anhand einer Normierungsfunktion (33) auf einen oder mehrere Ausgabe-Vektoren (34) zu normieren, wobei diese Normierungsfunktion (33) mindestens zwei verschiedene Regime (33a, 33b) aufweist und in Abhängigkeit einer Norm (32a) des Eingabe-Vektors (32) an einem Punkt und/oder in einem Bereich, dessen Lage von einem vorgegebenen Parameter p abhängt, zwischen den Regimen (33a, 33b) wechselt; und• ein Rückübersetzungsglied (3c) umfasst, das dazu ausgebildet ist, die Ausgabe-Vektoren (34) mit der Umkehrung (3a'') der vorgegebenen Transformation (3a') in Ausgangsgrößen (35) zu übersetzen, die die gleiche Dimensionalität wie die dem Normierer (3) zugeführten Eingangsgrößen (31) haben.

Description

  • Die vorliegende Erfindung betrifft künstliche neuronale Netzwerke, insbesondere für den Einsatz zum Ermitteln einer Klassifikation, einer Regression, und/oder einer semantischen Segmentierung physikalischer Messdaten.
  • Stand der Technik
  • Für das zumindest teilweise automatisierte Führen eines Fahrzeugs im Straßenverkehr ist es notwendig, das Umfeld des Fahrzeugs zu beobachten und die in diesem Umfeld enthaltenen Objekte zu erkennen und gegebenenfalls deren Position relativ zum eigenen Fahrzeug zu bestimmen. Auf dieser Basis kann anschließend entschieden werden, ob das Vorhandensein und/oder eine erkannte Bewegung dieser Objekte es erforderlich macht, das Verhalten des eigenen Fahrzeugs zu ändern.
  • Da beispielsweise eine optische Abbildung des Umfelds des Fahrzeugs mit einer Kamera einer Vielzahl von Einflussfaktoren unterliegt, werden keine zwei Abbildungen ein und derselben Szenerie völlig identisch sein. Daher werden für die Erkennung von Objekten typischerweise künstliche neuronale Netzwerke, KNN, mit idealerweise großer Kraft zur Verallgemeinerung eingesetzt. Diese KNNs werden so trainiert, dass sie Lern-Eingangsdaten nach Maßgabe einer Kostenfunktion gut auf Lern-Ausgangsdaten abbilden. Es wird dann erwartet, dass die KNNs auch in Situationen, die nicht Gegenstand des Trainings waren, Objekte zutreffend erkennt.
  • Bei tiefen Netzwerken mit einer Vielzahl von Schichten wird es problematisch, dass keine Kontrolle darüber besteht, in welchen Größenordnungen sich die Zahlenwerte der von dem Netzwerk verarbeiteten Daten bewegen. Beispielsweise können in der ersten Schicht des Netzwerks Zahlen im Bereich zwischen 0 und 1 vorliegen, während in tieferen Schichten Zahlenwerte in der Größenordnung 1000 erreicht werden können. Kleine Änderungen an den Eingangsgrößen können dann große Änderungen an den Ausgangsgrößen bewirken. Dies kann zur Folge haben, dass das Netzwerk „nicht lernt“, d.h., dass die Trefferquote der Erkennung nicht signifikant über die eines zufälligen Ratens hinausgeht.
  • (S. loffe, C. Szegedy, „Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift“, arXiv: 1502.03167v3 [cs.LG] (2015)) offenbart, die Zahlenwerte der im KNN erzeugten Daten pro verarbeitetem Mini-Batch an Trainingsdaten auf eine einheitliche Größenordnung zu normieren.
  • (D.-A. Clevert, T. Unterthirner, S. Hochreiter, „Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)“, arXiv:1511.07289 [cs.LG] (2016)) offenbart, Aktivierungen von Neuronen mit einer neuartigen Aktivierungsfunktion, die das genannte Problem dämpft.
  • Offenbarung der Erfindung
  • Im Rahmen der Erfindung wurde ein künstliches neuronales Netzwerk entwickelt. Dieses Netzwerk umfasst eine Vielzahl hintereinander geschalteter Verarbeitungsschichten. Die Verarbeitungsschichten sind jeweils dazu ausgebildet, Eingangsgrößen nach Maßgabe trainierbarer Parameter des KNN zu Ausgangsgrößen zu verarbeiten. Dabei können insbesondere die Ausgangsgrößen einer Schicht jeweils als Eingangsgrößen in mindestens die nächste Schicht geführt sein.
  • In mindestens eine Verarbeitungsschicht, und/oder zwischen mindestens zwei Verarbeitungsschichten, ist ein neuartiger Normierer geschaltet.
  • Dieser Normierer umfasst ein Übersetzungsglied. Dieses Übersetzungsglied ist dazu ausgebildet, in den Normierer geführte Eingangsgrößen mit einer vorgegebenen Transformation in einen oder mehrere Eingabe-Vektoren zu übersetzen. Dabei geht jede der Eingangsgrößen in genau einen Eingabe-Vektor ein. Es entsteht also ein einzelner Eingabe-Vektor oder eine Sammlung aus Eingabe-Vektoren mit insgesamt genauso viel Information, also beispielsweise genauso vielen Zahlenwerten, wie dem Normierer in den Eingangsgrößen zugeführt wurden.
  • Der Normierer umfasst weiterhin ein Normierungsglied. Dieses Normierungsglied ist dazu ausgebildet, den oder die Eingabe-Vektoren anhand einer Normierungsfunktion auf einen oder mehrere Ausgabe-Vektoren zu normieren. Unter einer Normierung eines Vektors wird im Sinne dieser Erfindung insbesondere eine Rechenoperation verstanden, die die Anzahl der Komponenten des Vektors und seine Richtung im vieldimensionalen Raum ungeändert lässt, jedoch seine in diesem vieldimensionalen Raum erklärte Norm zu ändern vermag. Die Norm kann beispielswiese einer Länge des Vektors in dem vieldimensionalen Raum entsprechen. Die Normierungsfunktion kann insbesondere so beschaffen sein, dass sie Vektoren, die stark unterschiedliche Normen aufweisen, auf Vektoren abzubilden vermag, die ähnliche oder gleiche Normen aufweisen.
  • Die Normierungsfunktion weist mindestens zwei verschiedene Regime auf und wechselt in Abhängigkeit einer Norm des Eingabe-Vektors an einem Punkt und/oder in einem Bereich, dessen Lage von einem vorgegebenen Parameter ρ abhängt, zwischen den Regimen. Das bedeutet, dass Eingabe-Vektoren, deren Norm links des Punktes bzw. Bereichs liegt (also etwa kleiner ist), von der Normierungsfunktion anders behandelt werden als Eingabe-Vektoren, deren Norm rechts des Punktes bzw. Bereichs liegt (also etwa größer ist). Insbesondere kann das eine Regime beispielsweise beinhalten, die Norm des Eingabe-Vektors bei der Bildung des Ausgabe-Vektors absolut und/oder relativ weniger stark abzuändern als dies gemäß dem anderen Regime vorgesehen ist. Eines der Regime kann beispielsweise auch beinhalten, den Eingabe-Vektor gar nicht abzuändern, sondern ihn unverändert als Ausgabe-Vektor zu übernehmen.
  • Der Normierer umfasst weiterhin ein Rückübersetzungsglied. Das Rückübersetzungsglied ist dazu ausgebildet, die Ausgabe-Vektoren mit der Umkehrung der vorgegebenen Transformation in Ausgangsgrößen zu übersetzen. Diese Ausgangsgrößen haben die gleiche Dimensionalität wie die dem Normierer zugeführten Eingangsgrößen. Dadurch kann der Normierer an beliebiger Stelle zwischen zwei Verarbeitungsschritten in dem KNN eingesetzt werden. In der weiteren Verarbeitung durch das KNN können die Ausgangsgrößen des Normierers daher an die Stelle derjenigen Größen treten, die im KNN zuvor erarbeitet und dem Normierer als Eingangsgrößen zugeführt worden waren.
  • Es wurde erkannt, dass gerade durch den Wechsel des Regimes abhängig von der Norm des Eingabe-Vektors und von dem vorgegebenen Parameter ρ die numerische Stabilität der Normierungsfunktion verbessert werden kann. Insbesondere wird der Tendenz von Normierungsfunktionen entgegengewirkt, die bei der maschinellen Verarbeitung von Eingangsgrößen unvermeidlichen Rundungsfehler sowie das in physikalischen Messdaten immer enthaltene Rauschen zu verstärken.
  • Die Rundungsfehler und das Rauschen erzeugen innerhalb des KNNs kleine von Null verschiedene Zahlenwerte an Stellen, an denen im Idealfall eigentlich Nullen stehen sollten. Im Vergleich hierzu sind Zahlenwerte, die das in den physikalischen Messdaten enthaltene Nutzsignal bzw. die hieraus gezogenen Schlüsse repräsentieren, deutlich größer. Werden nun zwischen zwei Verarbeitungsschritten im KNN die Zahlenwerte, die bereits vorhandene Zwischenergebnisse repräsentieren, zu Vektoren zusammengefasst und diese Vektoren normiert, so kann dies zur Folge haben, dass ein ursprünglich vorhandener Abstand zwischen dem Nutzsignal und dessen Verarbeitungsprodukten einerseits und Rauschen bzw. Rundungsfehlern andererseits teilweise oder gar vollständig eingeebnet wird.
  • Durch den Wechsel zwischen den Regimes kann nun beispielsweise festgelegt werden, dass alle Eingabe-Vektoren, deren Norm ein gewisses Mindestmaß nicht erreicht, nicht oder nur schwach in ihrer Norm verändert werden. Wenn gleichzeitig beispielsweise Eingabe-Vektoren mit größeren Normen auf Ausgabe-Vektoren mit gleichen oder ähnlichen Normen abgebildet werden, verbleibt immer noch ein hinreichend großer normmäßiger Abstand zu den Ausgabe-Vektoren, die auf Rauschen bzw. Rundungsfehler zurückgehen.
  • Dies wiederum senkt die Anforderungen bezüglich der Statistik der Eingangsgrößen, die dem Normierer zugeführt werden. Es ist nicht notwendig, grundsätzlich auf Eingangsgrößen zurückzugreifen, die auf verschiedene dem KNN zugeführte Samples von Eingangsgrößen zurückgehen. Stattdessen bleibt die wesentliche in dem besagten Zwischenergebnis des KNN enthaltene Aussage erhalten, wenn nur Zahlenwerte dieses Zwischenergebnisses, die sich auf ein einziges dem KNN zugeführtes Sample von Eingangsgrößen beziehen, dem Normierer zugeführt werden.
  • Somit können die bislang mit Hilfe der „Batch-Normalization“ erzielbaren Vorteile im gleichen oder in einem höheren Maße erzielt werden, ohne dass es hierfür notwendig ist, die Normierung auf beim Training des KNN verarbeitete Mini-Batches von Trainingsdaten zu beziehen. Damit ist die Wirkung der Normierung insbesondere auch nicht mehr von der beim Training gewählten Größe der Mini-Batches abhängig.
  • Dies wiederum ermöglicht es, die Größe der Mini-Batches völlig frei zu wählen, beispielsweise nach dem Gesichtspunkt des Datendurchsatzes beim Training des KNN. Für einen maximalen Durchsatz ist es insbesondere vorteilhaft, die Größe der Mini-Batches so zu wählen, dass ein Mini-Batch gerade in den verfügbaren Arbeitsspeicher (etwa Video-RAM verwendeter Grafikprozessoren, GPUs) passt und parallel verarbeitet werden kann. Dies ist nicht immer die gleiche Größe von Mini-Batches, die auch optimal für die „Batch-Normalization“ ist, im Sinne einer maximalen Leistungsfähigkeit (z.B. Klassifikationsgenauigkeit) des Netzwerkes. Vielmehr kann für die „Batch-Normalization“ eine kleinere oder größere Größe der Mini-Batches vorteilhaft sein, wobei eine optimale „Batch-Normalization“ (und somit eine optimale Genauigkeit im Sinne der Aufgabe) dann im Zweifel typischerweise Vorrang hätte vor einem optimalen Datendurchsatz beim Training. Des Weiteren funktioniert die „Batch-Normalization“ für kleine Batchgrößen sehr schlecht, da die Statistik des Mini-Batches dann die Statistik der gesamten Trainingsdaten nur sehr unzulänglich approximiert.
  • Weiterhin ist der von dem Normierungsglied verwendete Parameter ρ, im Unterschied zur Batch-Größe der „Batch-Normalization“, ein kontinuierlicher und kein diskreter Parameter. Dieser Parameter ρ ist somit deutlich besser einer Optimierung zugänglich. Er kann beispielsweise gemeinsam mit den trainierbaren Parametern des KNN trainiert werden. Eine Optimierung der Batch-Größe der „Batch-Normalization“ hingegen kann es erforderlich machen, für jede getestete Kandidaten-Batch-Größe das vollständige Training des KNN erneut durchzuführen, was den Trainingsaufwand entsprechend vervielfacht.
  • In der Summe kann das KNN insgesamt effizient trainiert werden und wird zugleich auch robust gegen Manipulationsversuche mit sogenannten „Adversarial Examples“. Diese Versuche zielen darauf ab, durch eine kleine, unscheinbare Änderung in den Daten, die dem KNN zugeführt werden, bewusst beispielsweise eine Falschklassifikation durch das KNN herbeizuführen. Durch die Normierung wird der Einfluss derartiger Änderungen innerhalb des KNN zurückgedrängt. Um also die gewünschte Falschklassifikation zu erzielen, müsste am Eingang des KNN eine entsprechend größere Manipulation vorgenommen werden, die dann mit größerer Wahrscheinlichkeit auffällt.
  • In einer besonders vorteilhaften Ausgestaltung ist mindestens eine Normierungsfunktion dazu ausgebildet, Eingabe-Vektoren, deren Norm geringer ist als der Parameter ρ, unverändert zu lassen und Eingabe-Vektoren, deren Norm größer ist als der Parameter ρ, unter Beibehaltung der Richtung auf eine einheitliche Norm zu normieren. Ein Beispiel für eine solche Normierungsfunktion, die auf Vektoren x
    Figure DE102019213898A1_0001
    in einem beliebigen mehrdimensionalen Raum erklärt ist, ist: π ρ ^ ( x ) = x ¯ m a x ( 1 x ρ ) .
    Figure DE102019213898A1_0002
  • Sofern die Norm x
    Figure DE102019213898A1_0003
    des Vektors x
    Figure DE102019213898A1_0004
    kleiner als ρ ist, bleibt der Vektor x
    Figure DE102019213898A1_0005
    unverändert. Dies ist das erste Regime der Normierungsfunktion π ρ ^ ( x ) .
    Figure DE102019213898A1_0006
    Sofern x
    Figure DE102019213898A1_0007
    hingegen mindestens gleich p ist, projiziert π ρ ^ ( x )
    Figure DE102019213898A1_0008
    den Vektor x
    Figure DE102019213898A1_0009
    auf eine Kugeloberfläche mit Radius p. Das heißt, der normierte Vektor zeigt dann in die gleiche Richtung wie zuvor, endet jedoch auf der Kugeloberfläche. Dies ist das zweite Regime der Normierungsfunktion π ρ ^ ( x ) .
    Figure DE102019213898A1_0010
    Bei x = ρ
    Figure DE102019213898A1_0011
    wird zwischen den beiden Regimen gewechselt.
  • In einer weiteren besonders vorteilhaften Ausgestaltung wird der Wechsel mindestens einer Normierungsfunktion zwischen den verschiedenen Regimen durch eine Softplus-Funktion gesteuert, deren Argument einen Nulldurchgang hat, wenn die Norm des Eingabe-Vektors gleich dem Parameter ρ ist. Ein Beispiel für eine solche Funktion ist π ρ ( x ) = x ¯ 1 + softplus ( x ρ ρ ) .
    Figure DE102019213898A1_0012
    Hierin ist die Softplus-Funktion gegeben durch softplus(y) = ln (1 | exp(y)).
  • Der Vorteil dieser Funktion ist, dass sie in ρ differenzierbar ist. Vektoren x
    Figure DE102019213898A1_0013
    mit x
    Figure DE102019213898A1_0014
    unterhalb von ρ bleiben nun nicht mehr unverändert, aber sie werden im Vergleich zu Vektoren x
    Figure DE102019213898A1_0015
    mit größerer Norm x
    Figure DE102019213898A1_0016
    deutlich weniger verändert. Wenn x
    Figure DE102019213898A1_0017
    gegen 0 geht, dann wird unabhängig vom Wert von ρ die Norm x
    Figure DE102019213898A1_0018
    des Vektors x
    Figure DE102019213898A1_0019
    im vieldimensionalen Raum um etwa 25 % reduziert. Es gibt keine Norm x ,
    Figure DE102019213898A1_0020
    für die π ρ ( x )
    Figure DE102019213898A1_0021
    zu einer Erhöhung der Norm führt. Es wird also nicht nur vermieden, dass der Einfluss beispielsweise von Rundungsfehlern und Rauschen verstärkt wird, sondern dieser Einfluss wird sogar noch weiter reduziert, indem zu kleine Normen x
    Figure DE102019213898A1_0022
    weiter abgesenkt und eben nicht auf ein einheitliches Niveau angehoben werden.
  • In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet mindestens eine vorgegebene Transformation von den Eingangsgrößen des Normierers zu den Eingabe-Vektoren, einen Tensor von Eingangsgrößen in einen oder mehrere Eingabe-Vektoren umzuwandeln. Der Tensor beinhaltet eine Anzahl f von Merkmalskarten, welche jeweils n verschiedenen Orten eine Merkmalsinformation zuordnen. Der Tensor lässt sich beispielsweise schreiben als X a × f .
    Figure DE102019213898A1_0023
    Der Normierer benötigt dann nur mindestens Merkmalsinformationen, die aus einem einzigen Sample der in das KNN eingegebenen Eingangsgrößen hervorgegangen sind. Die Verwendung von Mini-Batches von Samples ist weiterhin möglich, aber freigestellt.
  • In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet mindestens eine vorgegebene Transformation, für jede der f Merkmalskarten die in dieser Merkmalskarte enthaltenen Merkmalsinformationen zu allen Orten in einem dieser Merkmalskarte zugeordneten Eingabe-Vektor zusammenzufassen. Es wird also für i=1, ..., f die komplette i-te Merkmalskarte ausgelesen, und die in ihr enthaltenen Werte werden nacheinander in den Eingabe-Vektor x 2
    Figure DE102019213898A1_0024
    geschrieben: x 2 = X ( 1, , n   ; i ) .
    Figure DE102019213898A1_0025
  • Auf diese Weise wird der Tensor X sukzessive in Eingabe-Vektoren x 2
    Figure DE102019213898A1_0026
    mit i=1, ..., f umgewandelt. Normen x 2
    Figure DE102019213898A1_0027
    werden somit über ganze Merkmalskarten gebildet und sind umso größer, je größer die Ausprägung bestimmter Merkmale in den Eingangsgrößen insgesamt ist.
  • In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet mindestens eine vorgegebene Transformation, für jeden der n Orte die diesem Ort durch alle Merkmalskarten zugeordneten Merkmalsinformationen in einem diesem Ort zugeordneten Eingabe-Vektor zusammenzufassen. Es wird also für j=1, ..., n zu dem j-ten Ort die in allen Merkmalskarten jeweils der genau diesem Ort vermerkte Wert der Merkmalsinformation ausgelesen, und die so erhaltenen Werte werden nacheinander in den Eingabe-Vektor x j
    Figure DE102019213898A1_0028
    geschrieben: x j = X ( j ;   1, , f ) .
    Figure DE102019213898A1_0029
  • Auf diese Weise wird der Tensor X sukzessive in Eingabe-Vektoren x j
    Figure DE102019213898A1_0030
    umgewandelt. Normen x j
    Figure DE102019213898A1_0031
    werden somit über Repertoires der Merkmale gebildet, die einzelnen Orten jeweils zugeordnet sind, und sind umso größer, je merkmalsreicher die Eingangsgrößen in Bezug auf den konkreten Ort sind.
  • In einer weiteren besonders vorteilhaften Ausgestaltung beinhaltet mindestens eine vorgegebene Transformation, alle Merkmalsinformationen aus dem Tensor X in einem einzigen Eingabe-Vektor zusammenzufassen. Die Norm x
    Figure DE102019213898A1_0032
    dieses Eingabe-Vektors x
    Figure DE102019213898A1_0033
    ist dann umso größer, je merkmalsreicher das verwendete Sample der dem KNN zugeführten Eingangsgrößen insgesamt ist.
  • In jeder der genannten Ausgestaltungen kann der Tensor X, bzw. können die Vektoren x , x 1
    Figure DE102019213898A1_0034
    und x j ,
    Figure DE102019213898A1_0035
    vor der Anwendung der Normierungsfunktion einer weiteren Vorverarbeitung unterzogen werden. Im einzelnen kann
    • • von allen Merkmalsinformationen jeweils ein über alle Merkmalsinformationen gebildeter arithmetischer Mittelwert („overall sample mean“ = Mittelwert über alle Information zu dem betreffenden Sample der Eingangsgrößen des KNN) subtrahiert werden; und/oder
    • • von den in jeder der f Merkmalskarten jeweils enthaltenen Merkmalsinformationen jeweils ein über diese Merkmalskarte gebildeter arithmetischer Mittelwert der Merkmalsinformation subtrahiert werden; und/oder
    • • von den jedem der n Orte durch alle Merkmalskarten zugeordneten Merkmalsinformationen jeweils ein über alle Merkmalskarten gebildeter arithmetischer Mittelwert der zu diesem Ort gehörenden Merkmalsinformationen subtrahiert werden.
  • Wie zuvor erläutert, kann der Normierer an beliebiger Stelle im KNN „eingeschleift“ werden, da seine Ausgangsgrößen die gleiche Dimensionalität wie seine Eingangsgrößen haben und somit bei der weiteren Verarbeitung im KNN an die Stelle dieser Eingangsgrößen treten können.
  • In einer besonders vorteilhaften Ausgestaltung erhält mindestens ein Normierer eine gewichtete Summierung von Eingangsgrößen einer Verarbeitungsschicht als Eingangsgrößen. Die Ausgangsgrößen dieses Normierers sind in eine nichtlineare Aktivierungsfunktion zur Bildung von Ausgangsgrößen der Verarbeitungsschicht geführt. Wenn in vielen oder gar in allen Verarbeitungsschichten an diese Stelle ein Normierer geschaltet ist, dann kann das Verhalten der nichtlinearen Aktivierungsfunktionen innerhalb des KNN zu einem guten Teil vereinheitlicht werden, da diese Aktivierungsfunktionen immer auf Werte in im Wesentlichen gleicher Größenordnung wirken.
  • In einer weiteren besonders vorteilhaften Ausgestaltung erhält mindestens ein Normierer Ausgangsgrößen einer ersten Verarbeitungsschicht, die durch Anwendung einer nichtlinearen Aktivierungsfunktion gebildet wurden, als Eingangsgrößen. Die Ausgangsgrößen dieses Normierers sind als Eingangsgrößen in eine weitere Verarbeitungsschicht geführt, die diese Eingangsgrößen nach Maßgabe der trainierbaren Parameter gewichtet summiert. Wenn viele oder gar alle Übergänge zwischen benachbarten Verarbeitungsschichten in dem KNN über einen Normierer führen, dann können die Größenordnungen der Eingangsgrößen, die jeweils in die gewichtete Summierung eingehen, innerhalb des KNN im Wesentlichen vereinheitlicht werden. Dies sorgt dafür, dass das Training besser konvergiert.
  • Wie zuvor erläutert, kann bei dem beschriebenen KNN insbesondere die Genauigkeit, mit der es eine Klassifikation, eine Regression und/oder eine semantische Segmentierung realer und/oder simulierter physikalischer Messdaten erlernt, deutlich verbessert werden. Die Genauigkeit kann insbesondere beispielsweise mit Hilfe von Validierungs-Eingangsgrößen, die nicht bereits beim Training verwendet wurden und für die Validierungs-Ausgangsgrößen (also etwa eine zu erzielende Soll-Klassifikation oder ein zu erzielender Soll-Regressionswert) als „ground truth“ bekannt sind, gemessen werden. Weiterhin ist auch die Anfälligkeit gegenüber „Adversarial Examples“ vermindert. Daher ist in einer besonders vorteilhaften Ausgestaltung das KNN als Klassifikator und/oder als Regressor ausgebildet.
  • Ein als Klassifikator ausgebildetes KNN kann beispielsweise zur Erkennung von im Rahmen der jeweiligen Anwendung gesuchten Objekten und/oder Zuständen von Objekten in den Eingangsgrößen des KNN genutzt werden. So muss etwa ein autonomer Agent, wie beispielsweise ein Roboter oder ein zumindest teilweise automatisiert fahrendes Fahrzeug, Objekte in seiner Umgebung erkennen, um in der durch eine bestimmte Konstellation von Objekten charakterisierten Situation angemessen handeln zu können. Ein als Klassifikator ausgebildetes KNN kann beispielsweise auch im Rahmen der medizinischen Bildgebung Merkmale (wie etwa Schädigungen) erkennen, aus denen eine medizinische Diagnose ableitbar ist. Analog kann ein solches KNN auch im Rahmen der optischen Inspektion eingesetzt werden, um zu kontrollieren, ob gefertigte Produkte oder andere Arbeitsergebnisse (wie etwa Schweißnähte) in Ordnung sind oder nicht.
  • Eine semantische Segmentierung physikalischer Messdaten kann beispielsweise gebildet werden, indem Bestandteile der Messdaten dahingehend klassifiziert werden, zu welcher Art Objekt sie gehören.
  • Die physikalischen Messdaten können insbesondere beispielsweise Bilddaten sein, die durch ortsaufgelöste Sensierung elektromagnetischer Wellen beispielsweise im sichtbaren Bereich, oder auch beispielsweise mit einer Thermalkamera im Infrarotbereich, aufgenommen wurden. Die ortsaufgelösten Bestandteile der Bilddaten können je nach dem konkreten Raum, in dem diese Bilder leben, d.h. je nach Dimensionalität der Bilddaten, beispielsweise Pixel, Stixel oder Voxel sein. Die physikalischen Messdaten können auch beispielsweise durch Erfassen von Reflexen einer Abfragestrahlung im Rahmen von Radar-, LIDAR- oder Ultraschallmessungen erhalten werden.
  • In den genannten Anwendungen kann alternativ oder in Kombination hierzu auch ein als Regressor ausgebildetes KNN genutzt werden. In dieser Funktion kann das KNN eine Aussage über eine im Rahmen der jeweiligen Anwendung gesuchte kontinuierliche Größe liefern. Beispiele für derartige Größen sind Abmessungen und/oder Geschwindigkeiten von Objekten sowie kontinuierliche Bewertungsmaße für die Produktqualität (etwa die Rauigkeit oder die Anzahl von Fehlstellen in einer Schweißnaht) oder für Merkmale, die für eine medizinische Befundung verwendbar sind (etwa ein prozentualer Anteil eines Gewebes, der als geschädigt anzusehen ist).
  • Somit ist allgemein besonders vorteilhaft das KNN als Klassifikator und/oder Regressor zur Erkennung und/oder quantitativen Bewertung von im Rahmen der jeweiligen Anwendung gesuchten Objekten und/oder Zuständen in den Eingangsgrößen des KNN ausgebildet.
  • Besonders vorteilhaft ist das KNN als Klassifikator zur Erkennung von
    • • Verkehrszeichen, und/oder
    • • Fußgängern, und/oder
    • • anderen Fahrzeugen, und/oder
    • • sonstigen Objekten, die eine Verkehrssituation charakterisieren,
    aus physikalischen Messdaten, die durch Beobachtung einer Verkehrssituation im Umfeld eines eigenen Fahrzeugs mit mindestens einem Sensor erhalten wurden, ausgebildet. Dies ist eine der wichtigsten Aufgaben für das zumindest teilweise automatisierte Fahren. Auch im Bereich der Robotik oder bei allgemeinen autonomen Agenten kommt der Umfeldwahrnehmung eine große Rolle zu.
  • Die zuvor beschriebene, mit dem Normierer in einem KNN erzielbare Wirkung ist prinzipiell nicht daran gebunden, dass der Normierer eine in irgendeiner Form abgekapselte Einheit darstellt. Wichtig ist nur, dass an einer geeigneten Stelle im KNN bei der Verarbeitung entstandene Zwischenprodukte der Normierung unterzogen werden und dass bei der weiteren Verarbeitung in dem KNN an Stelle der Zwischenprodukte das Ergebnis der Normierung verwendet wird.
  • Daher bezieht sich die Erfindung allgemein auf ein Verfahren zum Betreiben eines KNN mit einer Vielzahl hintereinander geschalteter Verarbeitungsschichten, die jeweils dazu ausgebildet sind, Eingangsgrößen nach Maßgabe trainierbarer Parameter des KNN zu Ausgangsgrößen zu verarbeiten.
  • Im Rahmen dieses Verfahrens wird in mindestens einer Verarbeitungsschicht, und/oder zwischen mindestens zwei Verarbeitungsschichten, dem KNN ein Satz von bei der Verarbeitung ermittelten Größen als Eingangsgrößen für eine Normierung entnommen. Die Eingangsgrößen für die Normierung werden mit einer vorgegebenen Transformation in einen oder mehrere Eingabe-Vektoren übersetzt, wobei jede dieser Eingangsgrößen in genau einen Eingabe-Vektor eingeht.
  • Der oder die Eingabe-Vektoren werden anhand einer Normierungsfunktion auf einen oder mehrere Ausgabe-Vektoren normiert, wobei diese Normierungsfunktion mindestens zwei verschiedene Regime aufweist und in Abhängigkeit einer Norm des Eingabe-Vektors an einem Punkt und/oder in einem Bereich, dessen Lage von einem vorgegebenen Parameter ρ abhängt, zwischen den Regimen wechselt.
  • Die Ausgabe-Vektoren werden mit der Umkehrung der vorgegebenen Transformation in Ausgangsgrößen der Normierung übersetzt, die die gleiche Dimensionalität wie die Eingangsgrößen der Normierung haben. Anschließend wird die Verarbeitung in dem KNN fortgesetzt, wobei die Ausgangsgrößen der Normierung an die Stelle der zuvor entnommenen Eingangsgrößen der Normierung treten.
  • Sämtliche in Bezug auf die Funktionalität des Normierers zuvor gegebene Offenbarung ist ausdrücklich auch für dieses Verfahren gültig.
  • Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf ein System, das dazu ausgebildet ist, andere technische Systeme auf der Basis einer Auswertung von physikalischen Messdaten mit dem KNN anzusteuern. Das System umfasst mindestens einen Sensor zur Aufnahme physikalischer Messdaten, das zuvor beschriebene KNN sowie eine Ansteuereinheit. Die Ansteuereinheit ist dazu ausgebildet, aus Ausgangsgrößen des KNN ein Ansteuersignal für ein Fahrzeug oder einen sonstigen autonomen Agenten (wie etwa einen Roboter), ein Klassifikationssystem, ein System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System für die medizinische Bildgebung, zu bilden. All die genannten Systeme profitieren davon, dass das KNN insbesondere eine gewünschte Klassifikation, Regression und/oder semantische Segmentierung besser erlernt als KNN, die auf eine „Batch-Normalization“ oder auf eine „ELU“-Aktivierungsfunktion setzen.
  • Der Sensor kann beispielsweise einen oder mehrere Bildsensoren für Licht beliebiger sichtbarer oder unsichtbarer Wellenlängen, und/oder mindestens einen Radar-, Lidar- oder Ultraschall-Sensor umfassen.
  • Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf ein Verfahren zum Trainieren und Betreiben des zuvor beschriebenen KNN. Im Rahmen dieses Verfahrens werden dem KNN Lern-Eingangsgrößen zugeführt. Die Lern-Eingangsgrößen werden von dem KNN zu Ausgangsgrößen verarbeitet. Nach Maßgabe einer Kostenfunktion wird eine Bewertung der Ausgangsgrößen ermittelt, die besagt, wie gut die Ausgangsgrößen mit zu den Lern-Eingangsgrößen gehörenden Lern-Ausgangsgrößen in Einklang stehen.
  • Die trainierbaren Parameter des KNN werden gemeinsam mit mindestens einem zuvor beschriebenen Parameter ρ, der den Übergang zwischen den beiden Regimes einer Normierungsfunktion charakterisiert, optimiert. Das Ziel dieser Optimierung ist, beim weiteren Verarbeiten von Lern-Eingangsgrößen Ausgangsgrößen zu erhalten, deren Bewertung durch die Kostenfunktion voraussichtlich besser ist. Das bedeutet nicht, dass jeder Optimierungsschritt zwangsläufig eine Verbesserung in dieser Hinsicht sein muss; vielmehr kann die Optimierung auch aus „Irrwegen“, die zunächst zu einer Verschlechterung führen, lernen.
  • Bei der großen Anzahl trainierbarer Parameter von typischerweise mehreren 1000 bis hin zu mehreren Millionen fallen ein oder mehrere zusätzliche Parameter ρ beim Trainingsaufwand für das KNN insgesamt nicht nennenswert ins Gewicht. Dies steht im Gegensatz zur Optimierung diskreter Parameter, wie etwa der Batch-Größe für eine „Batch-Normalization“. Wie zuvor erläutert, macht es eine Optimierung solcher diskreter Parameter erforderlich, für jeden Kandidaten-Wert des diskreten Parameters das komplette Training des KNN erneut zu durchlaufen. Indem der zusätzliche Parameter ρ nun im Rahmen des Trainingsverfahrens als kontinuierlicher Parameter mittrainiert wird, wird also gegenüber der „Batch-Normalization“ der Gesamtaufwand deutlich reduziert.
  • Weiterhin kann das gemeinsame Training der Parameter des KNN sowie eines oder mehrerer zusätzlicher Parameter ρ auch Synergieeffekte zwischen beiden Trainings nutzen. So können beispielsweise beim Lernen Änderungen der trainierbaren Parameter, die die Verarbeitung der Eingangsgrößen von Verarbeitungsschichten zu Ausgangsgrößen unmittelbar steuern, mit Änderungen der zusätzlichen Parameter ρ, die auf die Normierungsfunktion wirken, vorteilhaft zusammenwirken. Mit solchermaßen „vereinten Kräften“ können beispielsweise besonders „schwierige Fälle“ der Klassifikation und/oder Regression bewältigt werden.
  • Dem fertig trainierten KNN können mit mindestens einem Sensor aufgenommene physikalische Messdaten als Eingangsgrößen zugeführt werden. Diese Eingangsgrößen können dann von dem trainierten KNN zu Ausgangsgrößen verarbeitet werden. Aus den Ausgangsgrößen kann dann ein Ansteuersignal für ein Fahrzeug oder einen sonstigen autonomen Agenten (wie etwa einen Roboter), ein Klassifikationssystem, ein System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System für die medizinische Bildgebung, gebildet werden. Das Fahrzeug, das Klassifikationssystem, das System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder das System für die medizinische Bildgebung, kann schließlich mit diesem Ansteuersignal angesteuert werden.
  • Nach dem zuvor Beschriebenen bezieht sich die Erfindung auch auf ein weiteres Verfahren, das die vollständige Wirkkette vom Bereitstellen des KNN bis zur Ansteuerung eines technischen Systems beinhaltet.
  • Dieses weitere Verfahren beginnt mit der Bereitstellung des KNN. Sodann werden die trainierbaren Parameter des KNN, sowie optional mindestens ein Parameter ρ, der den Übergang zwischen den beiden Regimes einer Normierungsfunktion optimiert, so trainiert, dass Lern-Eingangsgrößen von dem KNN zu solchen Ausgangsgrößen verarbeitet werden, die nach Maßgabe einer Kostenfunktion im Einklang mit zu den Lern-Eingangsgrößen gehörenden Lern-Ausgangsgrößen stehen.
  • Dem fertig trainierten KNN werden mit mindestens einem Sensor aufgenommene physikalische Messdaten als Eingangsgrößen zugeführt. Diese Eingangsgrößen werden von dem trainierten KNN zu Ausgangsgrößen verarbeitet. Aus den Ausgangsgrößen wird ein Ansteuersignal für ein Fahrzeug oder einen sonstigen autonomen Agenten (wie etwa einen Roboter), ein Klassifikationssystem, ein System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System für die medizinische Bildgebung, gebildet. Das Fahrzeug, das Klassifikationssystem, das System für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder das System für die medizinische Bildgebung, wird mit diesem Ansteuersignal angesteuert.
  • Die zuvor beschriebenen verbesserten Lernfähigkeiten des KNN haben in diesem Kontext die Wirkung, dass durch die Ansteuerung des entsprechenden technischen Systems mit höherer Wahrscheinlichkeit diejenige Aktion ausgelöst wird, die in der durch die physikalischen Messdaten repräsentierten Situation angemessen ist.
  • Die Verfahren können insbesondere ganz oder teilweise computerimplementiert sein. Daher bezieht sich die Erfindung auch auf ein Computerprogramm mit maschinenlesbaren Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, eines der beschriebenen Verfahren auszuführen. In diesem Sinne sind auch Steuergeräte für Fahrzeuge und Embedded-Systeme für technische Geräte, die ebenfalls in der Lage sind, maschinenlesbare Anweisungen auszuführen, als Computer anzusehen.
  • Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren Datenträger und/oder auf ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
  • Weiterhin kann ein Computer mit dem Computerprogramm, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein.
  • Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
  • Figurenliste
  • Es zeigt:
    • 1 Ausführungsbeispiel des KNN 1;
    • 2 Ausführungsbeispiel des Normierers 3;
    • 3 Beispielhafter Tensor 31' mit Eingangsgrößen 31 des Normierers 3;
    • 4 Ausführungsbeispiel des Systems 10 mit dem KNN 1;
    • 5 Ausführungsbeispiel des Verfahrens 100 zum Trainieren und Betreiben des KNN 1;
    • 6 Ausführungsbeispiel des Verfahrens 200 mit vollständiger Wirkkette vom Bereitstellen des KNN 1 bis zur Ansteuerung eines technischen Systems.
  • Das in 1 beispielhaft gezeigte KNN 1 umfasst drei Verarbeitungsschichten 21-23. Jede Verarbeitungsschicht 21-23 erhält Eingangsgrößen 21a-23a und verarbeitet diese zu Ausgangsgrößen 21b-23b. Die Eingangsgrößen 21a der ersten Verarbeitungsschicht 21 sind zugleich auch die Eingangsgrößen 11 des KNN 1 als Ganzes. Die Ausgangsgrößen 23b der dritten Verarbeitungsschicht 23 sind zugleich die Ausgangsgrößen 12, 12' des KNN 1 als Ganzes. Reale KNN 1, speziell für den Einsatz in der Klassifikation oder in anderen Computer Vision-Anwendungen, sind wesentlich tiefer und umfassen einige zehn Verarbeitungsschichten 21-23.
  • In 1 sind zwei beispielhafte Möglichkeiten eingezeichnet, wie ein Normierer 3 in das KNN 1 eingebracht werden kann.
  • Eine Möglichkeit besteht darin, dem Normierer 3 die Ausgangsgrößen 21b der ersten Verarbeitungsschicht 21 als Eingangsgrößen 31 zuzuführen und die Ausgangsgrößen 35 des Normierers dann der zweiten Verarbeitungsschicht 22 als Eingangsgrößen 22a zuzuführen.
  • Innerhalb des Kastens 22 ist die in der zweiten Verarbeitungsschicht 22 ablaufende Verarbeitung schematisch dargestellt, einschließlich einer zweiten Möglichkeit, den oder die Normierer 3 einzubinden. Die Eingangsgrößen 22a werden zunächst nach Maßgabe trainierbarer Parameter 20 des KNN 1 zu einer oder mehreren gewichteten Summen summiert, was durch das Summenzeichen angedeutet ist. Das Ergebnis wird dem Normierer 3 als Eingangsgrößen 31 zugeführt. Die Ausgangsgrößen 35 des Normierers 3 werden mit einer nichtlinearen Aktivierungsfunktion (in 1 als ReLU-Funktion angedeutet) zu den Ausgangsgrößen 22b der zweiten Verarbeitungsschicht 22 verrechnet.
  • Innerhalb ein und desselben KNN 1 können mehrere verschiedene Normierer 3 zum Einsatz kommen. Jeder Normierer 3 kann dann insbesondere seinen eigenen Parameter p für den Übergang zwischen den Regimen seiner Normierungsfunktion 33 haben. Weiterhin kann jeder Normierer 3 auch mit einer eigenen spezifischen Vorverarbeitung gekoppelt sein.
  • 2 zeigt ein Ausführungsbeispiel des Normierers 3. Der Normierer 3 übersetzt seine Eingangsgrößen 31 mit einem Übersetzungsglied 3a, das eine vorgegebene Transformation 3a' implementiert, in einen oder mehrere Eingabe-Vektoren 32. Diese Eingabe-Vektoren 32 werden dem Normierungsglied 3b zugeführt und dort zu Ausgabe-Vektoren 34 normiert. Die Ausgabe-Vektoren 34 werden in dem Rückübersetzungsglied 3c gemäß der Umkehrung 3a'' der vorgegebenen Transformation 3a' in Ausgangsgrößen 35 des Normierers 3 übersetzt, die die gleiche Dimensionalität wie die Eingangsgrößen 31 des Normierers 3 haben.
  • Innerhalb des Kastens 3b ist im Detail dargestellt, wie die Normierung der Eingabe-Vektoren 32 zu den Ausgabe-Vektoren 34 abläuft. Die verwendete Normierungsfunktion 33 hat zwei Regime 33a und 33b, in denen sie jeweils ein qualitativ unterschiedliches Verhalten zeigt und insbesondere verschieden stark auf die Eingabe-Vektoren 32 einwirkt. Die Norm 32a des jeweiligen Eingabe-Vektors 32 entscheidet im Zusammenspiel mit mindestens einem vorgegebenen Parameter ρ darüber, welches der Regime 33a und 33b zur Anwendung kommt. Dies ist in 2 zur Veranschaulichung als binäre Entscheidung dargestellt. In der Realität ist es jedoch besonders vorteilhaft, wenn die Regime 33a und 33b fließend ineinander übergehen, insbesondere in einer Weise, die differenzierbar in dem Parameter ρ ist.
  • 3 zeigt einen beispielhaften Tensor 31' von Eingangsgrößen 31 des Normierers 3. Der Tensor 31' ist in diesem Beispiel als Stapelung von f Merkmalskarten 31a organisiert. Ein Index i über die Merkmalskarten 31a läuft also von 1 bis f. Jede Merkmalskarte 31a ordnet n Orten 31b jeweils Merkmalsinformation 31c zu. Ein Index j über die Orte 31b läuft also von 1 bis n.
  • In 3 sind beispielhaft zwei Möglichkeiten eingezeichnet, wie Eingabe-Vektoren 32 gebildet werden können. Gemäß einer ersten Möglichkeit werden jeweils alle Merkmalsinformationen 31c einer Merkmalskarte 31a (hier der Merkmalskarte 31a für i=1) in einem Eingabe-Vektor 32 zusammengefasst. Gemäß einer zweiten Möglichkeit werden jeweils alle Merkmalsinformationen 31c, die zum gleichen Ort 31b gehören (hier der Ort 31b für j=1), in einem Eingabe-Vektor 32 zusammengefasst. Eine dritte, der Übersichtlichkeit halber in 3 nicht eingezeichnete Möglichkeit besteht darin, alle Merkmalsinformationen 31c aus dem gesamten Tensor 31' in einen einzelnen Eingabe-Vektor 32 zu schreiben.
  • 4 zeigt ein Ausführungsbeispiel des Systems 10, mit dem weitere technische Systeme 50-80 angesteuert werden können. Es ist mindestens ein Sensor 6 zur Aufnahme physikalischer Messdaten 6a vorgesehen. Die Messdaten 6a werden dem KNN 1, das insbesondere in seinem fertig trainierten Zustand 1* vorliegen kann, als Eingangsgrößen 11 zugeführt. Die vom KNN 1, 1* gelieferten Ausgangsgrößen 12' werden in der Auswerteeinheit 7 zu einem Ansteuersignal 7a verarbeitet. Dieses Ansteuersignal 7a ist für die Ansteuerung eines Fahrzeug oder eines sonstigen autonomen Agenten (etwa eines Roboters) 50, eines Klassifikationssystems 60, eines Systems 70 für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder eines Systems 80 für die medizinische Bildgebung, bestimmt.
  • 5 ist ein Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 100 zum Trainieren und Betreiben des KNN 1. In Schritt 110 werden dem KNN 1 Lern-Eingangsgrößen 11a zugeführt. In Schritt 120 werden die Lern-Eingangsgrößen 11a von dem KNN 1 zu Ausgangsgrößen 12 verarbeitet, wobei das Verhalten des KNN 1 durch trainierbare Parameter 20 charakterisiert ist. In Schritt 130 wird nach Maßgabe einer Kostenfunktion 13 bewertet, inwieweit die Ausgangsgrößen 12 mit zu den Lern-Eingangsgrößen 11a gehörenden Lern-Ausgangsgrößen 12a in Einklang stehen. Die trainierbaren Parameter 20 werden in Schritt 140 optimiert mit dem Ziel, bei weiterer Verarbeitung von Lern-Eingangsgrößen 11a durch das KNN 1 Ausgangsgrößen 12 zu erhalten, für die in Schritt 130 bessere Bewertungen 130a ermittelt werden.
  • 6 ist ein Ablaufdiagramm eines Ausführungsbeispiels des Verfahrens 200 mit der vollständigen Wirkkette vom Bereitstellen eines KNN 1 bis zur Ansteuerung der genannten Systeme 50, 60, 70, 80.
  • In Schritt 210 wird das KNN 1 bereitgestellt. In Schritt 220 werden die trainierbaren Parameter 20 des KNN 1 trainiert, so dass der trainierte Zustand 1* des KNN 1 entsteht. In Schritt 230 werden physikalische Messdaten 6a, die mit mindestens einem Sensor 6 ermittelt wurden, dem trainierten KNN 1* als Eingangsgrößen 11 zugeführt. In Schritt 240 werden von dem trainierten KNN 1* Ausgangsgrößen 12' gebildet. In Schritt 250 wird aus den Ausgangsgrößen 12' ein Ansteuersignal 7a gebildet. In Schritt 260 werden eines oder mehrere der Systeme 50, 60, 70, 80 mit dem Ansteuersignal 7a angesteuert.

Claims (22)

  1. Künstliches neuronales Netzwerk, KNN (1), mit einer Vielzahl hintereinander geschalteter Verarbeitungsschichten (21-23), die jeweils dazu ausgebildet sind, Eingangsgrößen (21a-23a) nach Maßgabe trainierbarer Parameter (20) des KNN (1) zu Ausgangsgrößen (21b-23b) zu verarbeiten, wobei in mindestens eine Verarbeitungsschicht (21-23), und/oder zwischen mindestens zwei Verarbeitungsschichten (21-23), mindestens ein Normierer (3) geschaltet ist, wobei dieser Normierer (3) • ein Übersetzungsglied (3a) umfasst, das dazu ausgebildet ist, in den Normierer (3) geführte Eingangsgrößen (31) mit einer vorgegebenen Transformation (3a') in einen oder mehrere Eingabe-Vektoren (32) zu übersetzen, wobei jede dieser Eingangsgrößen (31) in genau einen Eingabe-Vektor (32) eingeht; • ein Normierungsglied (3b) umfasst, das dazu ausgebildet ist, den oder die Eingabe-Vektoren (32) anhand einer Normierungsfunktion (33) auf einen oder mehrere Ausgabe-Vektoren (34) zu normieren, wobei diese Normierungsfunktion (33) mindestens zwei verschiedene Regime (33a, 33b) aufweist und in Abhängigkeit einer Norm (32a) des Eingabe-Vektors (32) an einem Punkt und/oder in einem Bereich, dessen Lage von einem vorgegebenen Parameter p abhängt, zwischen den Regimen (33a, 33b) wechselt; und • ein Rückübersetzungsglied (3c) umfasst, das dazu ausgebildet ist, die Ausgabe-Vektoren (34) mit der Umkehrung (3a'') der vorgegebenen Transformation (3a') in Ausgangsgrößen (35) zu übersetzen, die die gleiche Dimensionalität wie die dem Normierer (3) zugeführten Eingangsgrößen (31) haben.
  2. KNN (1) nach Anspruch 1, wobei mindestens eine Normierungsfunktion (33) dazu ausgebildet ist, Eingabe-Vektoren (32), deren Norm (32a) geringer ist als der Parameter p, unverändert zu lassen und Eingabe-Vektoren (32), deren Norm (32a) größer ist als der Parameter p, unter Beibehaltung der Richtung auf eine einheitliche Norm (32a) zu normieren.
  3. KNN (1) nach einem der Ansprüche 1 bis 2, wobei der Wechsel mindestens einer Normierungsfunktion (33) zwischen den verschiedenen Regimen (33a, 33b) durch eine Softplus-Funktion gesteuert ist, deren Argument einen Nulldurchgang hat, wenn die Norm (32a) des Eingabe-Vektors (32) gleich dem Parameter p ist.
  4. KNN (1) nach einem der Ansprüche 1 bis 3, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, aus einem Tensor (31') von Eingangsgrößen (31), in dem eine Anzahl f von Merkmalskarten (31a) zusammengefasst sind, welche jeweils n verschiedenen Orten (31b) eine Merkmalsinformation (31c) zuordnen, alle Merkmalsinformationen (31c) in einen oder mehrere Eingabe-Vektoren (32) zusammenzufassen.
  5. KNN (1) nach Anspruch 4, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, für jede der f Merkmalskarten (31a) die in dieser Merkmalskarte (31a) enthaltenen Merkmalsinformationen (31c) zu allen Orten (31b) in einem dieser Merkmalskarte (31a) zugeordneten Eingabe-Vektor (32) zusammenzufassen.
  6. KNN (1) nach einem der Ansprüche 4 bis 5, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, für jeden der n Orte (31b) die diesem Ort (31b) durch alle Merkmalskarten (31a) zugeordneten Merkmalsinformationen (31c) in einem diesem Ort (31b) zugeordneten Eingabe-Vektor (32) zusammenzufassen.
  7. KNN (1) nach einem der Ansprüche 4 bis 6, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, alle Merkmalsinformationen (31c) aus dem Tensor (31) in einem einzigen Eingabe-Vektor (32) zusammenzufassen.
  8. KNN (1) nach einem der Ansprüche 4 bis 7, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, von allen Merkmalsinformationen (31c) jeweils einen über alle Merkmalsinformationen (31c) gebildeten arithmetischen Mittelwert zu subtrahieren.
  9. KNN (1) nach einem der Ansprüche 4 bis 8, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, von den in jeder der f Merkmalskarten (31a) jeweils enthaltenen Merkmalsinformationen (31c) jeweils einen über diese Merkmalskarte (31a) gebildeten arithmetischen Mittelwert der Merkmalsinformationen (31c) zu subtrahieren.
  10. KNN (1) nach einem der Ansprüche 4 bis 9, wobei mindestens eine vorgegebene Transformation (3a') beinhaltet, von den jedem der n Orte (31b) durch alle Merkmalskarten (31a) zugeordneten Merkmalsinformationen (31c) jeweils einen über alle Merkmalskarten (31a) gebildeten arithmetischen Mittelwert der zu diesem Ort (31b) gehörenden Merkmalsinformationen (31c) zu subtrahieren.
  11. KNN (1) nach einem der Ansprüche 1 bis 10, wobei mindestens ein Normierer (3) eine gewichtete Summierung von Eingangsgrößen (21a-23a) einer Verarbeitungsschicht (21-23) als Eingangsgrößen (31) erhält und die Ausgangsgrößen (35) dieses Normierers (3) in eine nichtlineare Aktivierungsfunktion zur Bildung von Ausgangsgrößen (21b-23b) der Verarbeitungsschicht (21-23) geführt sind.
  12. KNN (1) nach einem der Ansprüche 1 bis 11, wobei mindestens ein Normierer (3) Ausgangsgrößen (21b-23b) einer ersten Verarbeitungsschicht (21-23), die durch Anwendung einer nichtlinearen Aktivierungsfunktion gebildet wurden, als Eingangsgrößen (31) erhält und wobei die Ausgangsgrößen (35) dieses Normierers (3) als Eingangsgrößen (21a-23a) in eine weitere Verarbeitungsschicht (21-23) geführt sind, die diese Eingangsgrößen (21a-23a) nach Maßgabe der trainierbaren Parameter (20) gewichtet summiert.
  13. KNN (1) nach einem der Ansprüche 1 bis 12, ausgebildet als Klassifikator und/oder Regressor zur Ermittlung einer Klassifikation, und/oder einer Regression, und/oder einer semantischen Segmentierung, aus realen und/oder simulierten physikalischen Messdaten (6a).
  14. KNN (1) nach Anspruch 13, ausgebildet als Klassifikator und/oder Regressor zur Erkennung und/oder quantitativen Bewertung von im Rahmen der jeweiligen Anwendung gesuchten Objekten und/oder Zuständen in den Eingangsgrößen (11) des KNN (1).
  15. KNN (1) nach einem der Ansprüche 13 bis 14, ausgebildet als Klassifikator zur Erkennung von • Verkehrszeichen, und/oder • Fußgängern, und/oder • anderen Fahrzeugen, und/oder • sonstigen Objekten, die eine Verkehrssituation charakterisieren, aus physikalischen Messdaten, die durch Beobachtung einer Verkehrssituation im Umfeld eines eigenen Fahrzeugs mit mindestens einem Sensor erhalten wurden.
  16. Verfahren zum Betreiben eines künstlichen neuronales Netzwerks, KNN (1), mit einer Vielzahl hintereinander geschalteter Verarbeitungsschichten (21-23), die jeweils dazu ausgebildet sind, Eingangsgrößen (21a-23a) nach Maßgabe trainierbarer Parameter (20) des KNN (1) zu Ausgangsgrößen (21b-23b) zu verarbeiten, mit den Schritten: • in mindestens einer Verarbeitungsschicht (21-23), und/oder zwischen mindestens zwei Verarbeitungsschichten (21-23), wird dem KNN (1) ein Satz von bei der Verarbeitung ermittelten Größen als Eingangsgrößen (31) für eine Normierung entnommen; • die Eingangsgrößen (31) für die Normierung werden mit einer vorgegebenen Transformation (3a') in einen oder mehrere Eingabe-Vektoren (32) übersetzt, wobei jede dieser Eingangsgrößen (31) in genau einen Eingabe-Vektor (32) eingeht; • der oder die Eingabe-Vektoren (32) werden anhand einer Normierungsfunktion (33) auf einen oder mehrere Ausgabe-Vektoren (34) normiert, wobei diese Normierungsfunktion (33) mindestens zwei verschiedene Regime (33a, 33b) aufweist und in Abhängigkeit einer Norm (32a) des Eingabe-Vektors (32) an einem Punkt und/oder in einem Bereich, dessen Lage von einem vorgegebenen Parameter p abhängt, zwischen den Regimen (33a, 33b) wechselt; • die Ausgabe-Vektoren werden mit der Umkehrung (3a'') der vorgegebenen Transformation (3a') in Ausgangsgrößen (35) der Normierung übersetzt, die die gleiche Dimensionalität wie die Eingangsgrößen (31) der Normierung haben; • die Verarbeitung in dem KNN (1) wird fortgesetzt, wobei die Ausgangsgrößen (35) der Normierung an die Stelle der zuvor entnommenen Eingangsgrößen (31) der Normierung treten.
  17. System (10), umfassend mindestens einen Sensor (6) zur Aufnahme physikalischer Messdaten (6a), ein KNN (1, 1*) nach einem der Ansprüche 1 bis 15, in das die physikalischen Messdaten (6a) als Eingangsgrößen (11) geführt sind, sowie eine Ansteuereinheit (7), die dazu ausgebildet ist, aus Ausgangsgrößen (12') des KNN (1) ein Ansteuersignal (7a) für ein Fahrzeug oder einen sonstigen autonomen Agenten (50), ein Klassifikationssystem (60), ein System (70) für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System (80) für die medizinische Bildgebung, zu bilden.
  18. Verfahren (100) zum Trainieren und Betreiben eines KNN (1) nach einem der Ansprüche 1 bis 15 mit den Schritten: • dem KNN (1) werden Lern-Eingangsgrößen (11a) zugeführt (110); • die Lern-Eingangsgrößen (11a) werden von dem KNN (1) zu Ausgangsgrößen (12) verarbeitet (120); • nach Maßgabe einer Kostenfunktion (13) wird eine Bewertung (130a) der Ausgangsgrößen (12) ermittelt (130), die besagt, wie gut die Ausgangsgrößen (12) mit zu den Lern-Eingangsgrößen (11a) gehörenden Lern-Ausgangsgrößen (12a) in Einklang stehen; • die trainierbaren Parameter (20) des KNN (1) werden gemeinsam mit mindestens einem Parameter p, der den Übergang zwischen den beiden Regimes (33a, 33b) einer Normierungsfunktion (33) optimiert (140) mit dem Ziel, beim weiteren Verarbeiten (120) von Lern-Eingangsgrößen (11a) Ausgangsgrößen (12) zu erhalten, deren Bewertung (130a) durch die Kostenfunktion (13) voraussichtlich besser ist.
  19. Verfahren (100) nach Anspruch 18, mit den zusätzlichen Schritten: • mit mindestens einem Sensor (6) aufgenommene physikalische Messdaten (6a) werden dem trainierten KNN (1*) als Eingangsgrößen (11) zugeführt (230) und von dem trainierten KNN (1*) zu Ausgangsgrößen (12') verarbeitet (240); • aus den Ausgangsgrößen (12') wird ein Ansteuersignal (7a) für ein Fahrzeug oder einen sonstigen autonomen Agenten (50), ein Klassifikationssystem (60), ein System (70) für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder ein System (80) für die medizinische Bildgebung, gebildet (250); • das Fahrzeug (50), das Klassifikationssystem (60), das System (70) für die Qualitätskontrolle von in Serie gefertigten Produkten, und/oder das System (80) für die medizinische Bildgebung, wird mit dem Ansteuersignal (7a) angesteuert (260).
  20. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem oder mehreren Computern ausgeführt werden, den oder die Computer dazu veranlassen, ein KNN (1) nach einem der Ansprüche 1 bis 15 zu realisieren, ein Verfahren nach Anspruch 16 auszuführen, und/oder ein Verfahren (100) nach einem der Ansprüche 18 bis 19 auszuführen.
  21. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem Computerprogramm nach Anspruch 20.
  22. Computer, ausgerüstet mit dem Computerprogramm nach Anspruch 20, und/oder mit dem maschinenlesbaren Datenträger und/oder Downloadprodukt nach Anspruch 21.
DE102019213898.5A 2019-09-11 2019-09-11 Robustes und besser trainierbares künstliches neuronales Netzwerk Pending DE102019213898A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102019213898.5A DE102019213898A1 (de) 2019-09-11 2019-09-11 Robustes und besser trainierbares künstliches neuronales Netzwerk
PCT/EP2020/071311 WO2021047816A1 (de) 2019-09-11 2020-07-28 Robustes und besser trainierbares künstliches neuronales netzwerk
CN202080063529.1A CN114341887A (zh) 2019-09-11 2020-07-28 鲁棒且可更好训练的人工神经网络
US17/637,890 US20220284287A1 (en) 2019-09-11 2020-07-28 Robust artificial neural network having improved trainability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019213898.5A DE102019213898A1 (de) 2019-09-11 2019-09-11 Robustes und besser trainierbares künstliches neuronales Netzwerk

Publications (1)

Publication Number Publication Date
DE102019213898A1 true DE102019213898A1 (de) 2021-03-11

Family

ID=71894798

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019213898.5A Pending DE102019213898A1 (de) 2019-09-11 2019-09-11 Robustes und besser trainierbares künstliches neuronales Netzwerk

Country Status (4)

Country Link
US (1) US20220284287A1 (de)
CN (1) CN114341887A (de)
DE (1) DE102019213898A1 (de)
WO (1) WO2021047816A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2714152T3 (es) * 2015-01-28 2019-05-27 Google Llc Capas de normalización por lotes

Also Published As

Publication number Publication date
US20220284287A1 (en) 2022-09-08
WO2021047816A1 (de) 2021-03-18
CN114341887A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
WO2020049154A1 (de) Verfahren und vorrichtung zur klassifizierung von objekten
WO2020193510A1 (de) Training für künstliche neuronale netzwerke mit besserer ausnutzung der lern-datensätze
DE102018220941A1 (de) Auswertung von Messgrößen mit KI-Modulen unter Berücksichtigung von Messunsicherheiten
DE102019214402A1 (de) Verfahren und vorrichtung zum verarbeiten von daten mittels eines neuronalen konvolutionsnetzwerks
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
EP3557487A1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
DE102018205561A1 (de) Vorrichtung zur Klassifizierung von Signalen
DE102021207613A1 (de) Verfahren zur Qualitätssicherung eines Systems
DE102021200348A1 (de) Computerimplementiertes verfahren zum trainieren eines computervisionsmodells
EP3009984A1 (de) Detektionssystem für optische Codes
DE102019213898A1 (de) Robustes und besser trainierbares künstliches neuronales Netzwerk
DE102019202816A1 (de) Training neuronaler Netzwerke für effizientes Implementieren auf Hardware
DE102018218834A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Ansteuersignals
DE102013224382A1 (de) Beschleunigte Objekterkennung in einem Bild
DE102021205447A1 (de) Datenanreicherung für das Trainieren von Bildklassifizierern
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE102020203707A1 (de) Plausibilisierung der Ausgabe neuronaler Klassifikatornetzwerke
DE102020129164A1 (de) Verfahren und vorrichtung zur unterscheidung von verschiedenen konfigurationszuständen eines objekts auf der grundlage einer bildlichen darstellung des objekts
DE102020208080A1 (de) Erkennung von Objekten in Bildern unter Äquivarianz oder Invarianz gegenüber der Objektgröße
EP3748574A1 (de) Adaptive bereinigung von messdaten um unterschiedliche arten von störungen
DE102019215912A1 (de) Verfahren und vorrichtung zum computer-implementierten betreiben eines neuronalen netzwerks
DE102022204492A1 (de) Schneller konvergierendes Vortraining für Machine Learning-Modelle
DE102022201161A1 (de) Objektklassifizierung mit einem einstufigen metabasierten Objektdetektor unter Verwendung von Klassenprototypen
EP4205047A1 (de) Verfahren zur qualitätssicherung eines beispielbasierten systems
DE102022208083A1 (de) Trainieren eines neuronalen Netzwerks mit Hilfe von Wissensgraphen

Legal Events

Date Code Title Description
R163 Identified publications notified