DE102018218586A1 - Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme - Google Patents

Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme Download PDF

Info

Publication number
DE102018218586A1
DE102018218586A1 DE102018218586.7A DE102018218586A DE102018218586A1 DE 102018218586 A1 DE102018218586 A1 DE 102018218586A1 DE 102018218586 A DE102018218586 A DE 102018218586A DE 102018218586 A1 DE102018218586 A1 DE 102018218586A1
Authority
DE
Germany
Prior art keywords
learning system
value
layer
input
output
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
DE102018218586.7A
Other languages
English (en)
Inventor
Jeremy Zico Kolter
Frank Schmidt
Jan Hendrik Metzen
Eric Wong
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
Carnegie Mellon University
Original Assignee
Robert Bosch GmbH
Carnegie Mellon University
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, Carnegie Mellon University filed Critical Robert Bosch GmbH
Publication of DE102018218586A1 publication Critical patent/DE102018218586A1/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/08Learning methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/045Combinations of networks
    • 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/047Probabilistic or stochastic networks
    • 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
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning

Abstract

Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Trainieren des neuronalen Netzes 100, ein Verfahren zum Testen des neuronalen Netzes 100 und außerdem auf ein Verfahren zum Detektieren feindlicher Beispiele, die das neuronale Netz 100 täuschen können. Eine überlagerte Klassifizierung wird durch das zweite neuronale Netz 500 rückpropagiert, Maryland der Ausgabewert des zweiten neuronalen Netzes 500 wird benutzt, um zu bestimmen, ob die Eingabe des neuronalen Netzes 100 ein feindliches Beispiel ist. Festgelegte Verfahren der vorliegenden Erfindung basieren auf dieser Nutzung des zweiten neuronalen Netzes 500. Die vorliegende Erfindung bezieht sich ferner auf ein Computerprogramm und eine Vorrichtung, die konfiguriert sind, eines der Verfahren auszuführen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft unter anderem ein Verfahren, um automatisch lernende Systeme mit garantierter Robustheit gegen feindliche Modifikationen der Eingabe zu erzeugen. Die vorliegende Erfindung betrifft ferner sowohl eine Vorrichtung als auch ein Computerprogramm, die konfiguriert sind, das Verfahren auszuführen.
  • Stand der Technik
  • Die nicht vorveröffentlichte deutsche Patentschrift DE 10 2018 200 724 offenbart ein Verfahren zum Bestimmen allgemeiner feindlicher Störungen für automatisch lernende Systeme. Die allgemeine feindliche Störung wird abhängig von mehreren Trainingsbildern und entsprechenden semantischen Zielsegmentierungen bestimmt. Die allgemeine feindliche Störung ist konfiguriert, ein neuronales Netz zu täuschen, wenn sie beliebigen Eingabebildern des neuronalen Netzes überlagert ist.
  • Die nicht vorveröffentlichte deutsche Patentschrift DE 10 2018 208 763 offenbart ein Verfahren zum Trainieren eines neuronalen Netzes, um eine Robustheit des trainierten neuronalen Netzes gegen feindliche Störungen zu erreichen. Das Verfahren umfasst die Schritte zum Trainieren des neuronalen Netzes, Bestimmen der allgemeinen feindlichen Störung und erneuten Trainieren des neuronalen Netzes abhängig von der allgemeinen feindlichen Störung.
  • Es ist möglich, eine Person in einem Bild verschwinden zu lassen, aufgrund einer feindlichen Modifikation des Bilds, die für ein menschliches Auge nicht sichtbar ist, wie gezeigt ist durch Metzen u. a. „Universal adversarial perturbations against semantic image segmentation.“ in: The IEEE International Conference on Computer Vision (ICCV) 2017.
  • Vorteile der vorliegenden Erfindung
  • Heutzutage kann autonomes Fahren auf Kameras basieren, die eine Umgebung eines autonomen Kraftfahrzeugs erfassen. Intelligente Bildverarbeitung, die neuronale Netze umfasst, verarbeitet Bilder einer solchen Kamera, um das autonome Kraftfahrzeug abhängig von den erfassten Bildern zu steuern. Es ist jedoch möglich, dass die intelligente Bildverarbeitung, insbesondere die neuronalen Netze, durch ein gestörtes Bild getäuscht wird. Die Störung kann eine feindliche Modifikation des Bilds sein, wie z. B. vorstehend im dem Abschnitt zum Stand der Technik beschrieben ist. Das Störungsbild kann das neuronale Netz täuschen, obwohl sich das modifizierte Bild für das menschliche Auge nicht von der ursprünglich abgebildeten Szene unterscheidet. Deshalb sind neuronale Netze in hohem Maße durch feindliche Angriffe verwundbar. Eine mögliche Verteidigung ist es, neuronale Netze mit zusätzlich erzeugten feindlichen Modifikationen der entsprechenden Trainingsbilder neu zu trainieren. Das ist nachteilig, weil es zeitaufwändig und teuer ist, Modifikationen des Bilds zu erzeugen, die das neuronale Netz täuschen könnten, und eine hohe Wahrscheinlichkeit dafür vorhanden ist, dass Modifikationen verbleiben, die nicht durch das Anfertigen feindlicher Beispiele abgedeckt sind, die jedoch immer noch das neuronale Netz täuschen können. Insbesondere ist es mit dieser Herangehensweise nicht möglich, eine Robustheit des neuronalen Netzes gegen alle möglichen feindlichen Störungen von Eingabebildern bereitzustellen.
  • Die vorliegende Erfindung schlägt ein Verfahren zum Bestimmen vor, ob ein neuronales Netz gegen Störungen wie z. B. feindliche Störungen nachweisbar robust ist. Folglich ermöglicht die vorliegende Erfindung das Konstruieren von Klassierern, für die garantiert ist, dass sie gegen feindliche Störungen robust sind, selbst wenn der Angreifer über vollständige Kenntnis des Klassierers verfügt. Diese Garantie gilt für den gesamten Raum möglicher feindlicher Beispiele einer Eingabe.
  • Offenbarung der vorliegenden Erfindung
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum Testen eines automatisch lernenden Systems offenbart. Es wird getestet, ob das automatisch lernende System gegen Modifikationen kleiner als ein oder gleich einem gegebenen Ausmaß robust ist. Das impliziert, dass alle beliebigen und/oder möglichen Modifikationen, die die Bedingung des Ausmaßes betreffen, einen Ausgabewert des automatisch lernenden Systems nicht auf einen gegebenen Zielausgabewert ändern. Darüber hinaus kann getestet werden, ob eine kleinste Modifikation eines Testeingabewerts des automatisch lernenden Systems den Ausgabewert des automatisch lernenden Systems, der einem gegebenen Zielausgabewert entspricht, vorzugsweise ihm gleich ist, ändert.
  • Dass der Ausgabewert des automatisch lernenden Systems dem Zielausgabewert entspricht, kann so verstanden werden, dass der Ausgabewert gleich dem Zielausgabewert ist oder dass der Ausgabewert sein Maximum in dem gleichen Bereich oder an der gleichen Position wie der Zielausgabewert besitzt.
  • Der Testeingabewert, der der kleinen Modifikation unterzogen wird, verursacht, dass das automatisch lernende System den Zielausgabewert ausgibt, wenn er in das automatisch lernende System eingegeben und durch das automatisch lernende System propagiert wird. Die Modifikation des Testeingabewerts ist kleiner als ein oder gleich einem gegebenen Ausmaß der Modifikation. Insbesondere ist die Modifikation eine kleine Modifikation, falls, und nur falls, eine Größe der Modifikation kleiner als ein oder gleich einem vorbestimmten Ausmaß der Modifikation ist. Das automatisch lernende System umfasst wenigstens eine Eingabeschicht, die den Testeingabewert empfängt, und eine Ausgabeschicht, die den Ausgabewert des automatisch lernenden Systems ausgibt. Der Ausgabewert des automatisch lernenden Systems kann eine Klassifizierung des Testeingabewerts in wenigstens eine aus mehreren Klassen charakterisieren.
  • Das Verfahren zum Testen eines automatisch lernenden Systems umfasst die folgenden Schritte:
    • - Bestimmen eines zweiten, vorzugsweise überlagerten, Ausgabewerts abhängig von dem Zielausgabewert und abhängig von einem Ausgabewert, der dem Testeingabewert zugewiesen ist und der eine wahre Klassifizierung des Testeingabewerts charakterisieren kann, insbesondere ein Kennzeichen, das dem Testeingabewert zugewiesen ist. Der überlagerte Ausgabewert kann eine überlagerte Klassifizierung charakterisieren und kann eine zweite Klassifizierung charakterisieren.
  • Es wird vorgeschlagen, dass der zweite Ausgabewert ein überlagerter Ausgabewert ist, und wobei er abhängig von einem aus einer Differenz zwischen dem Ausgabewert und dem Zielausgabewert oder einer Differenz zwischen dem bestimmten Ausgabewert des automatisch lernenden Systems und dem Zielausgabewert bestimmt wird.
    • - Bereitstellen eines zweiten automatisch lernenden Systems basierend auf dem automatisch lernenden System. Das zweite automatisch lernende System weist die gleichen Schichten, insbesondere die gleiche Architektur, insbesondere die gleichen verbundenen Schichten in einer umgekehrten Reihenfolge wie das automatisch lernende System auf. Jede Schicht des zweiten automatisch lernenden Systems entspricht, vorzugsweise genau, einer entsprechenden Schicht des automatisch lernenden Systems.
  • Die Ausgabeschicht des zweiten automatisch lernenden Systems entspricht der Eingabeschicht des automatisch lernenden Systems, d. h. eine Ausgabe zu dem zweiten automatisch lernenden System wird durch die Ausgabeschicht des zweiten automatisch lernenden Systems ausgegeben, und die Ausgabeschicht entspricht der Eingabeschicht des automatisch lernenden Systems. Die Eingabeschicht des zweiten automatisch lernenden Systems entspricht der Ausgabeschicht des automatisch lernenden Systems, d. h. eine Eingabe in das zweite automatisch lernende System wird in die Eingabeschicht des zweiten automatisch lernenden Systems eingegeben, und die Eingabeschicht entspricht der Ausgabeschicht des automatisch lernenden Systems.
    • - Propagieren des zweiten Ausgabewerts durch das zweite automatisch lernende System.
    • - Bestimmen abhängig von dem Ausgabewert, der aus der Propagierung des zweiten Ausgabewerts durch das zweite automatisch lernende System resultiert, abhängig von dem Ausmaß der Modifikation und abhängig von dem Testeingabewert, ob die Modifikation in dem Ausgabewert des automatisch lernenden Systems resultiert, der dem Zielausgabewert entspricht.
  • Der Vorteil dieses Aspekts ist, dass eine Robustheit des automatisch lernenden Systems aufgrund der Wiederverwendung des automatisch lernenden Systems als ein zweites automatisch lernendes System effizient bestimmt werden kann.
  • Falls das automatisch lernende System den Zielausgabewert nicht bestimmt und den korrekten Ausgabewert bestimmt, ist das automatisch lernende System robust gegen jede mögliche Modifikation in Bezug auf die Beschränkung, dass die Modifikationen kleiner als das oder gleich dem gegebenen Ausmaß sind. Die Zielausgabewerte können abhängig von den unterschiedlichen Aspekten der vorliegenden Erfindung gewählt werden. In dem ersten Aspekt ist der gegebene Zielausgabewert von dem gekennzeichneten Ausgabewert, der dem Testeingabewert entspricht, verschieden. In dem zweiten Aspekt ist der Ausgabewert von dem durch das automatisch lernende System abhängig von dem Testeingabewert bestimmten Ausgabewert verschieden.
  • Vorzugsweise umfasst das automatisch lernende System verdeckte Schichten, die durch Bereitstellen eines Ausgabewerts als einen Eingabewert für wenigstens eine der verdeckten Schichten miteinander verbunden sind. Die Eingabeschicht kann mit wenigstens einer der verdeckten Schichten verbunden sein. Die Ausgabeschicht empfängt wenigstens einen Ausgabewert der verdeckten Schichten und/oder die Ausgabe der Eingabeschicht als Eingabe.
  • Wobei die verdeckten Schichten des zweiten automatisch lernenden Systems in umgekehrter Reihenfolge zu den Schichten des automatisch lernenden Systems geordnet sind; d. h. jede verdeckte Schicht des automatisch lernenden Systems stellt als ihre Ausgabe einen Zwischenwert bereit, der zu einem Eingang einer nachfolgenden verdeckten Schicht weitergegeben wird, und die Schicht des zweiten automatisch lernenden Systems, die der nachfolgenden verdeckten Schicht entspricht, stellt als ihre Ausgabe einen Zwischenwert bereit, der zu einer Schicht des zweiten automatisch lernenden Systems, die der verdeckten Schicht entspricht, weitergeleitet wird. Mit anderen Worten wird ein Signal, das in die Eingabeschicht des zweiten automatisch lernenden Systems eingegeben wird, durch eine Reihe entsprechender Schichten in umgekehrter Reihenfolge zu den Schichten des automatisch lernenden Systems propagiert.
  • Das Ausmaß charakterisiert eine Intensität oder Stärke der Modifikation des Eingabewerts. Das Ausmaß kann ein Wert sein, der die Modifikation charakterisiert. Ein Beispiel für die Modifikation kann eine feindliche Störung sein. Die Modifikation kann durch Bestimmen eines Normwerts der Modifikation gemessen werden. Vorzugsweise wird die Modifikation relativ zu dem ursprünglichen Eingabewert ohne eine Modifikation gemessen.
  • Die Architektur des automatisch lernenden Systems kann durch die Schichten und vorzugsweise durch die Art, wie die Schichten angeordnet und miteinander verbunden sind, beschrieben werden. Die gleiche Architektur bedeutet deshalb, dass das zweite automatisch lernende System die gleiche Anordnung der Schichten ähnlich dem automatisch lernenden System umfasst.
  • Das automatisch lernende System kann computerimplementiert sein, beispielsweise als ein (tiefes) neuronales Netz oder ein neuronales Faltungsnetz oder ein rekurrentes neuronales Netz oder ein Kapsel-Netz oder eine Stützvektormaschine oder ein Gaußscher Prozess.
  • Es wird vorgeschlagen, das automatisch lernende System für ein Maschinenlernsystem zu verwenden. Das Maschinenlernsystem kann eine intelligente Maschine wie ein Roboter sein, die lernt, eine vordefinierte Aufgabe zu lösen, beispielsweise durch Untersuchen ihrer Umgebung und Lernen aus der Rückmeldung durch ihre Umgebung oder aus einer gegebenen Rückmeldung.
  • Es wird vorgeschlagen, eine Zielfunktion abhängig von dem Ausgabewert des zweiten automatisch lernenden Systems und abhängig von dem Ausmaß der Modifikation und abhängig von dem Testeingabewert zu bestimmen. Dann wird die bestimmte Zielfunktion mit einem vorbestimmten Schwellenwert verglichen. Es wird bestimmt, ob eine kleine Modifikation an dem Testeingabewert nicht verursacht, dass der Ausgabewert des Testeingabewerts dem Zielausgabewert entspricht, abhängig von dem Ergebnis des Vergleichs. Falls die bestimmte Zielfunktion den vorbestimmten Schwellenwert übersteigt, wird bestimmt, dass die kleine Modifikation nicht verursacht, dass der Ausgabewert des Testeingabewerts dem Zielausgabewert entspricht.
  • Vorteilhafterweise wird ein trainiertes automatisch lernendes System getestet. Unter einem trainierten automatisch lernenden System kann verstanden werden, dass das automatisch lernende System fähig ist, eine gegebene Aufgabe zu lösen, und die Art sie zu lösen ist durch das automatisch lernende System selbsterlernt, insbesondere in einer Parametrisierung des automatisch lernenden Systems erfasst. Typischerweise lernen automatisch lernende Systeme komplexe Beziehungen innerhalb der Daten, wie z. B. Sensorwerten, und nutzen die erlernten Beziehungen, um die gegebene Aufgabe zu lösen. Ein trainiertes automatisch lernendes System zur Klassifizierung ist nach einer Trainingsprozedur vorteilhaft parametrisiert, so dass vorzugsweise eine vollständige Trainingsdatenmenge gemäß den den Trainingseingabewerten zugewiesenen Klassen korrekt klassifiziert ist. Die Trainingsprozedur sollte jedoch beendet werden, nachdem ein gegebenes Kriterium erreicht ist, um die Trainingsdatenmenge nicht abzuspeichern.
  • In einer alternativen Ausführungsform kann das Verfahren gemäß dem ersten Aspekt zur Zulassung eines automatisch lernenden Systems verwendet werden.
  • Ein automatisch lernendes System kann ein Klassierer sein. Das automatisch lernende System, insbesondere der Klassierer, ist konfiguriert, einen Ausgabewert, der eine Klassifizierung des Eingabewerts in wenigstens eine aus mehreren Klassen charakterisiert, zu bestimmen. In einer weiteren Ausführungsform ist das automatisch lernende System konfiguriert, eine Segmentierung oder eine Regression auszuführen.
  • Der Begriff Klassifizierung kann breit verstanden werden. Eine Klassifizierung kann sein, dass das automatisch lernende System jedem Eingabewert des automatisch lernenden Systems wenigstens eine Klasse zuweist, wobei die Klasse eine Eigenschaft und/oder ein Merkmal und/oder ein Objekt des Eingabewerts charakterisiert. Segmentierung kann als eine spezielle Art der Klassifizierung betrachtet werden, wobei für eine Segmentierung wenigstens einige der Elemente des Eingabewerts wenigstens einer Klasse zugewiesen werden und auch ein semantischer Bereich wenigstens einer aus den mehreren Klassen zugewiesen werden kann. Das Aufnehmen von Bildern und die Erkennung/Detektion von Objekten können auch als eine spezielle Art der Klassifizierung betrachtet werden. Der Begriff Regression bedeutet, dass der Eingabewert des automatisch lernenden Systems durch das automatisch lernende System auf richtige Weise fortgesetzt werden soll.
  • Die Eingabewerte des automatisch lernenden Systems, das konfiguriert ist, eine Klassifizierung oder eine Regression auszuführen, sind nicht auf die gegebenen Beispiele beschränkt, und sie können wie gewünscht gewählt werden. Die Ausgabewerte des automatisch lernenden Systems, das konfiguriert ist, eine Klassifizierung oder eine Regression auszuführen, können eine Klassifizierung oder eine Regression der entsprechenden Eingabewerte des automatisch lernenden Systems charakterisieren.
  • Es wird vorgeschlagen, ein Robustheitszertifikat auszugeben, wenn die Modifikation nicht dazu führt, dass der Ausgabewert des automatisch lernenden Systems dem Zielausgabewert entspricht.
  • Es wird darauf hingewiesen, dass das Robustheitszertifikat auch nach dem Ausführen der anderen Aspekte der vorliegenden Erfindung erzeugt werden kann.
  • Gemäß einem zweiten Aspekt der Erfindung ist ein Verfahren zum Detektieren einer Modifikation, insbesondere eines feindlichen Beispiels, eines Testeingabewerts, die dazu führt, dass ein Ausgabewert, der durch das automatisch lernende System bestimmt wird, einem Zielausgabewert entspricht, offenbart. Der Zielausgabewert kann sich von dem bestimmten Ausgabewert des automatisch lernenden Systems unterscheiden.
  • Der zweite Aspekt kann zum Detektieren benutzt werden, ob ein Testeingabewert in das automatisch lernende System mit einer kleinen Modifikation, insbesondere einem feindlichen Beispiel eines Testeingabewerts, modifiziert worden sein kann, so dass ein Ausgabewert des Testeingabewerts d. h. der Ausgabewert, den das automatisch lernende System ausgibt, wenn der Testeingabewert eingegeben und durch das automatisch lernende System propagiert wird, zu einem Ausgabewert führt, der einem Zielausgabewert entspricht.
  • Für die unterschiedlichen Aspekte der Erfindung wird vorgeschlagen, eine Zielfunktion abhängig von dem Ausgabewert des zweiten automatisch lernenden Systems und abhängig von dem Ausmaß der Modifikation und abhängig von dem Testeingabewert zu bestimmen.
  • Die Zielfunktion charakterisiert eine garantierte untere Schranke für die Lösung der Bestimmung, ob die Modifikation den Ausgabewert auf den Zielausgabewert ändert.
  • Gemäß einem dritten Aspekt der Erfindung ist ein Verfahren zum Bestimmen des größten möglichen Ausmaßes der Modifikation einer Modifikation an einem Testeingabewert, das keine Änderung des entsprechenden Ausgabewerts auf einen Zielausgabewert verursacht, offenbart. Der Ausgabewert ist der Wert, der durch das automatisch lernende System ausgegeben wird, wenn der Testeingabewert, der insbesondere der Modifikation unterzogen wird, in das automatisch lernende System eingegeben und durch es propagiert wird.
  • Dieser Aspekt ist vorteilhaft als das stärkste Ausmaß der Modifikation, ohne dass z. B. eine Fehlklassifizierung in eine falsche Klasse bestimmt werden kann, so dass nachweisbar die Ausgabe des automatisch lernenden Systems nicht durch den modifizierten Eingabewert auf den Zielausgabewert umgedreht werden kann.
  • Es wird vorgeschlagen, mehrere unterschiedliche zweite Ausgabewerte jeweils für mehrere unterschiedliche Zielausgabewerte, die jeweils von den bestimmten Ausgabewerten verschieden sind oder von dem Ausgabewert, der dem Testeingabewert zugewiesen ist, verschieden sind, zu bestimmen. Die zweiten Ausgabewerte werden durch das automatisch lernende System propagiert, das mehrere entsprechende Ausgabewerte ausgibt, wobei die Zielfunktion abhängig von den mehreren entsprechenden Ausgabewerten, d. h. von allen Ausgabewerten der mehreren entsprechenden Ausgabewerte, bestimmt wird.
  • Das hat den Vorteil, dass garantiert keine Modifikation des Eingabewerts innerhalb des gegebenen Ausmaßes der Modifikation das automatisch lernende System täuschen kann, weil nachweisbar keine andere Klasse durch das automatisch lernende System verursacht durch die Modifikation des Eingabewerts bestimmt wird.
  • Gemäß einem vierten Aspekt der Erfindung ist ein Verfahren zum Trainieren eines automatisch lernenden Systems offenbart. Das Verfahren umfasst die folgenden Schritte:
    • - Bereitstellen eines gegebenen Ausmaßes der Modifikation und von Trainingsdaten, die Trainingseingabewerte und entsprechende Trainingsausgabewerte umfassen. Die Trainingsausgabewerte können die wahre/gekennzeichnete Klassifizierung der entsprechenden Eingabewerte charakterisieren.
    • - Bereitstellen eines zweiten automatisch lernenden Systems basierend auf dem automatischen Lernen .
    • - Bestimmen für jede Trainingseingabewert eines entsprechenden zweiten Ausgabewerts abhängig von einem Zielausgabewert und abhängig von einem Ausgabewert, der dem jeweiligen Trainingseingabewert entspricht, d. h. dem Ausgabewert, der durch das automatisch lernende System ausgegeben wird, wenn der jeweilige Trainingseingabewert in das automatisch lernende System eingegeben und durch es propagiert wird.
    • - Eingeben als Eingabewert des zweiten automatisch lernenden Systems der zweiten Ausgabewerte und Propagieren der zweiten Ausgabewerte durch das zweite automatisch lernende System.
    • - Bestimmen wenigstens einer Zielfunktion abhängig von dem gegebenen Ausmaß der Modifikation und abhängig von wenigstens einem der Trainingseingabewerte und abhängig von wenigstens einem der Ausgabewerte des zweiten automatisch lernenden Systems, die durch Propagieren des zweiten Ausgabewerts, der dem wenigstens einen der jeweiligen Trainingseingabewerte entspricht, bestimmt sind.
    • - Bestimmen einer Verlustfunktion, die von der bestimmten Zielfunktion abhängig ist und von wenigstens dem Trainingsausgabewert, der dem jeweiligen Trainingseingabewert entspricht, der benutzt wurde, um die Zielfunktion zu bestimmen, abhängig ist.
    • - Anpassen von Parametern des automatisch lernenden Systems, um die Verlustfunktionen in Bezug auf ein gegebenes Optimierungskriterium zu optimieren, insbesondere zu minimieren.
  • Eine Verlustfunktion misst oder charakterisiert eine Differenz, insbesondere durch eine mathematische Abstandsmessung, zwischen zwei Werten. Die Verlustfunktion kann sein entweder ein: Kreuzentropieverlust, Hinge-Verlust oder Null-Eins-Verlust. Vorteilhafterweise wird die Optimierung über eine Summe von Verlustfunktionen vorgenommen, wobei jede Verlustfunktion auf wenigstens einer Zielfunktion bestimmt wird.
  • Es wird vorgeschlagen, dass gemäß dem vierten Aspekt das Verfahren ferner die folgenden Schritte umfasst: Bestimmen eines größten Ausmaßes der Modifikation des trainierten automatisch lernenden Systems mit dem Verfahren gemäß dem dritten Aspekt der Erfindung. Fortsetzen des Trainierens des trainierten automatisch lernenden Systems, falls das größte sichere Ausmaß der Modifikation kleiner ist als ein vorbestimmter zweiter Schwellenwert. Das kann den Schritt zum Zurücksetzen der Werte einiger oder aller trainierten Parameter des automatisch lernenden Systems vor dem Fortsetzen des Trainierens enthalten.
  • Für jeden Aspekt wird vorgeschlagen, dass jede Transformation der Schichten durch eine jeweilige Funktion charakterisiert ist. Die zweite Transformation ist durch eine zweite Funktion charakterisiert, die sich auf eine Konjugierte der Funktion bezieht, insbesondere eine Fenchel-konjugierte Funktion.
  • Eine Funktion kann den Eingabewert der jeweiligen Schicht auf den entsprechenden Ausgabe abbilden oder ordnet eine Gruppe von Eingabewerten jeweils der entsprechenden Gruppe von Ausgabewerten gemäß der Transformation zu. Die Funktion kann durch einige Parameter definiert sein.
  • Für jeden Aspekt wird vorgeschlagen, dass eine Indikatorfunktion für jede Schicht des automatisch lernenden Systems definiert ist, wobei für jede Schicht die entsprechende Indikatorfunktion auf null eingestellt wird, falls der Eingang der Schicht mit genau einer weiteren Schicht des automatisch lernenden Systems (direkt) verbunden ist. Falls nicht kann die Indikatorfunktion gleich einem Wert gewählt werden, der als „unendlich“ interpretiert wird, wobei die zweite Funktion abhängig von der Indikatorfunktion bestimmt wird. Vorzugsweise ist sie eine Näherung einer konjugierten Funktion der Indikatorfunktion.
  • Es wird darauf hingewiesen, dass dann, wenn keine Überspringverbindungen verwendet werden, die zugehörige konjugierte Funktion die exakte konjugierte Funktion der Indikatorfunktion ist.
  • Für jeden Aspekt wird vorgeschlagen, dass die Zielfunktion abhängig von einem ersten Term, der ein Produkt der Ausgabe des zweiten automatisch lernenden Systems multipliziert mit dem Eingabewert des automatisch lernenden Systems charakterisiert, und einem zweiten Term, der eine gegebene Norm des Ausgabewerts des zweiten automatisch lernenden Systems gewichtet mit dem Ausmaß der Modifikation charakterisiert, bestimmt wird.
  • Es wird darauf hingewiesen, dass dann, wenn das Ausmaß der Modifikation der Modifikation des Eingabewerts des automatisch lernenden Systems durch eine erste Norm (z. B. lp-Norm) bestimmt wird, die gegebene Norm eine Dual-Norm (z. B. lq -Norm) der ersten Norm ist. Die Dual-Norm ist definiert als: 1/p+1/q=1.
  • Für jeden Aspekt wird vorgeschlagen, dass eine der Schichten mit wenigstens zwei anderen Schichten verbunden ist und den Eingabewert der verbundenen Schichten als ihren Eingabewert empfängt. Für jeden Aspekt wird vorgeschlagen, dass wenigstens eine der Transformationen durch eine nichtlineare Funktion charakterisiert ist, insbesondere eine rektifizierte lineare Funktion (sogenannte ReLu-Funktion), charakterisiert ist. Für jeden Aspekt wird vorgeschlagen, dass wenigstens eine der Transformationen teilweise eine lineare Transformation ist, die durch einen Parameter charakterisiert ist.
  • Für jeden Aspekt wird vorgeschlagen, dass der Eingabewert wenigstens der Schicht, deren Transformation durch die nichtlineare Funktion charakterisiert ist, eine begrenzte zulässige Menge von Eingabewerten aufweist, die durch eine obere und eine untere Schranke charakterisiert ist.
  • Das hat den Vorteil, dass die Werte beschränkt sind, was zu einer genaueren Zielfunktion führt.
  • Für jeden Aspekt wird vorgeschlagen, dass das automatisch lernende System eine Batch-Normalisierungs-Schicht umfasst. Die Transformation der Batch-Normalisierungs-Schicht ist durch eine Verschiebung von Mittelwert und Varianz des Eingabewerts abhängig von einem gegebenen Mittelwert und einer gegebenen Varianz charakterisiert.
  • Es wird darauf hingewiesen, dass vorzugsweise der gegebene Mittelwert und die gegebene Varianz für jedes Element des Eingabewerts individuell gegeben sind.
  • Für jeden Aspekt wird vorgeschlagen, dass die begrenzte zulässige Menge von Eingabewerten ferner durch Eingabewerte, die eine lineare Ungleichung erfüllen, begrenzt ist.
  • Die Menge der Eingabewerte ist dadurch weiter begrenzt. Dadurch kann eine genauere Zielfunktion bestimmt werden. Darüber hinaus erfassen die Parameter Abhängigkeiten der Schranken und produzieren engere Schranken um die zulässige Menge von Werten und folglich die Schranken eines feindlichen Polytops an dem Ausgang des automatisch lernenden Systems, verbesserte Leistung insbesondere für große automatisch lernende Systeme mit vielen Schichten. Zusätzlich sind die Schranken der Aktivierungsfunktionen enger, was zu einem kleineren Fehler führt, und es kann ein Training, das zu einem robusteren automatisch lernenden System führt, erreicht werden.
  • Für jeden Aspekt wird vorgeschlagen, dass einer der Parameter eine Matrix ist, die die obere und die untere Schranke einer vorausgehenden verbundenen Schicht umfasst.
  • Für jeden Aspekt wird vorgeschlagen, dass der Schwellenwert für die Zielfunktion nicht kleiner als null ist und vorzugsweise nicht größer als ein vorbestimmter positiver Bias ist.
  • Der Bias charakterisiert eine Toleranz oder einen Sicherheitsabstand der Entscheidung, z. B. ob das automatisch lernende System gegen ein feindliches Beispiel robust ist oder nicht. Dadurch ist die Zuverlässigkeit der Zielfunktion erhöht.
  • Für den vierten Aspekt wird vorgeschlagen, dass die Schichten gruppiert sind und die gruppierten Schichten getrennt voneinander trainiert werden.
  • Das hat den Vorteil, dass der Einfluss des Ausmaßes der Modifikation in der Zielfunktion reduziert ist. Später kann die gesamte Kaskade trainiert werden.
  • Ein physikalischer Aktor eines technischen Systems kann abhängig von einem Ausgabewert des automatisch lernenden Systems gesteuert werden, insbesondere gemäß jedem Aspekt der vorliegenden Erfindung. In dem Fall, in dem das automatisch lernende System gemäß dem ersten Aspekt der vorliegenden Erfindung getestet worden ist, kann der physikalische Aktor wenigstens mittelbar oder unmittelbar durch den Ausgabewert des automatisch lernenden Systems getestet werden. Außerdem kann der Eingabewert des automatisch lernenden Systems gemäß dem zweiten Aspekt getestet werden, ob er ein feindliches Beispiel ist. Falls entschieden wird, dass Eingabewert kein feindliches Beispiel ist, kann der physikalische Aktor abhängig von dem Ausgabewert des automatisch lernenden Systems gesteuert werden, andernfalls kann der Ausgabewert des automatisch lernenden Systems abgelehnt werden. Der physikalische Aktor kann ein Teil des technischen Systems sein. Das technische System kann beispielsweise ein/e wenigstens teilweise autonome/r/s Maschine, Roboter, Fahrzeug, mechanisches Werkzeug, Fertigungsanlage oder fliegendes Objekt wie z. B. eine Drohne sein. Der physikalische Aktor kann ein Teil einer Kraftmaschine oder einer Bremse sein.
  • Es wird vorgeschlagen, ein computerimplementiertes Verfahren zu verwenden, wobei wenigstens ein Prozessor die Schritte der Verfahren der unterschiedlichen Aspekte der vorliegenden Erfindung ausführt. Das automatisch lernende System kann auch in Hardware oder in einem Hybrid aus Hardware und Software implementiert sein.
  • Mit einer weiteren Ausführungsform kann der Ausgabewert des automatisch lernenden Systems verwendet werden, um ein Steuersignal oder einen Steuerbefehl zu bestimmen. Das Steuersignal oder der Steuerbefehl können verwendet werden, um den physikalischen Aktor zu steuern. Der physikalische Aktor kann entsprechend dem Steuersignal oder dem Steuerbefehl gesteuert werden. In einer weiteren Ausführungsform steuert eine Steuereinheit den physikalischen Aktor. Die Steuereinheit kann konfiguriert sein, das Steuersignal oder den Steuerbefehl abhängig von der Ausgabe des automatisch lernenden Systems zu bestimmen. Es ist auch möglich, dass die Steuereinheit den physikalischen Aktor abhängig von dem Ausgabewert des automatisch lernenden Systems direkt oder indirekt steuert.
  • Die Eingabewerte des automatisch lernenden Systems können aus einem Sensor empfangen werden oder können extern über das Internet oder ein anderes Datenübertragungssystem oder Kommunikationssystem empfangen werden.
  • In einem weiteren Aspekt der vorliegenden Erfindung ist ein Computerprogramm vorgeschlagen, das konfiguriert ist, irgendeinen der vorstehend genannten Aspekte der vorliegenden Erfindung auszuführen. Das Computerprogramm umfasst Befehle, die - wenn sie auf einem Computer ausgeführt werden - bewirken, dass der Computer die Verfahren mit allen Schritten der unterschiedlichen Aspekte der vorliegenden Erfindung ausführt. Darüber hinaus ist ein computerlesbarer Speicher vorgeschlagen, auf dem das Computerprogramm gespeichert ist. Darüber hinaus ist eine Vorrichtung vorgeschlagen, die konfiguriert ist, die Verfahren der vorliegenden Erfindung auszuführen.
  • In einem weiteren Aspekt der vorliegenden Erfindung ist ein Produkt vorgeschlagen, das durch Ausführen eines der Verfahren des ersten bis vierten Aspekts der vorliegenden Erfindung erhalten wird.
  • Ausführungsformen der vorstehend genannten Aspekte der vorliegenden Erfindung sind im Folgenden mit Bezug auf die folgenden Figuren beschrieben:
  • Figurenliste
    • 1 zeigt eine schematische Abbildung eines neuronalen Netzes mit sowohl einem Eingabewert und möglichen Störungen des Eingabewerts als auch einem Ausgabewert mit einem feindlichen Polytop;
    • 2 zeigt zwei schematische Abbildungen des Ausgabewerts, jede mit dem feindlichen Polytop und einer Entscheidungsschranke;
    • 3 zeigt schematisch eine Ausführungsform eines Ablaufplans für ein Verfahren zum Bestimmen einer Zielfunktion;
    • 4 zeigt schematisch eine Ausführungsform eines Ablaufplans eines Verfahrens zum Bestimmen der oberen und unteren Schranken von Aktivierungsfunktionen und zeigt eine schematische Abbildung des neuronalen Netzes mit einer Überspringverbindung;
    • 5 zeigt eine schematische Ausführungsform eines Ablaufplans eines Verfahrens zum Propagieren eines Eingabewerts durch ein duales neuronales Netz und zeigt ferner eine schematische Abbildung des dualen neuronalen Netzes;
    • 6 zeigt schematisch eine Ausführungsform eines Ablaufplans eines Verfahrens zum Trainieren des neuronalen Netzes durch die Zielfunktion;
    • 7 zeigt eine schematische Ausführungsform eines Ablaufplans eines Verfahrens zum Bestimmen einer Zufalls-Cauchy-Projektion;
    • 8 zeigt schematisch eine Ausführungsform eines Ablaufplans eines Verfahrens zum Detektieren feindlicher Beispiele während der Störung des neuronales Netzes;
    • 9 zeigt eine schematische Ausführungsform eines Ablaufplans eines Verfahrens zum Finden einer maximal erlaubten Störung des/der Eingabewerts/Eingabewerte;
    • 10 zeigt eine schematische Ausführungsform eines Ablaufplans eines Verfahrens zum Bestimmen engerer Schranken der Aktivierungsfunktion;
    • 11 zeigt schematisch eine Ausführungsform eines Ablaufplans eines Verfahrens zum Betreiben eines wenigstens teilweise autonomen Roboters mit dem neuronalen Netz;
    • 12 ein Aktorsteuersystem, das ein automatisch lernendes System aufweist, das einen Aktor steuert;
    • 13 das Aktorsteuersystem, das einen teilweise autonomen Roboter steuert;
    • 14 das Aktorsteuersystem, das eine Produktionsmaschine steuert;
    • 15 das Aktorsteuersystem, das einen automatisierten persönlichen Assistenten steuert;
    • 16 das Aktorsteuersystem, das ein Zugangssteuersystem steuert;
    • 17 das Aktorsteuersystem, das ein Überwachungssystem steuert;
    • 18 das Aktorsteuersystem, das ein, insbesondere medizinisches, Bildaufnahmesystem steuert;
    • 19 ein Trainingssystem, das konfiguriert ist, ein robustes neuronales Netz zu trainieren;
  • 1 zeigt eine schematische Abbildung einer Ausführungsform eines automatisch lernenden Systems als ein neuronales Netz 100. Das neuronale Netz 100 umfasst mehrere Schichten 110. Jede Schicht 110 umfasst Neuronen 120, die einen Eingang 150 und einen Ausgang aufweisen. Der Eingabewert, der an dem Eingang 150 des Neurons 120 empfangen wird, ist als Aktivierung des Neurons 120 bezeichnet.
  • Die Neuronen 120 bestimmen abhängig von ihrer Aktivierung einen Ausgabewert. Ferner umfassen die Neuronen eine Aktivierungsfunktion 130, die benutzt wird, um den Ausgabewert abhängig von der Aktivierung des entsprechenden Neurons 120 zu bestimmen. Die abgebildete Aktivierungsfunktion 130 in 1 ist eine rektifizierte lineare Funktion (sogenannte ReLu).
  • Die Schichten des neuronalen Netzes 100 sind durch die Verbindungen 140 (direkt) miteinander verbunden. Die Verbindungen 140 verbinden einen Ausgang des Neurons einer ersten verbundenen Schicht mit einem Eingang des Neurons, das einer zweiten verbundenen Schicht entspricht, und stellen den Ausgabewert als einen Eingabewert für das verbundene Neuron der zweiten verbundenen Schicht bereit. Vorzugsweise multiplizieren die Verbindungen 140 den Ausgabewert mit einem Parameter und stellen den multiplizierten Wert als Eingabewert bereit. Eine der Schichten 110 ist eine Eingabeschicht des neuronalen Netzes 100. Die Eingabeschicht empfängt als Eingabewert einen Eingabewert 151 des neuronalen Netzes 100. Das neuronale Netz 100 umfasst ferner eine Ausgabeschicht. Der bereitgestellte Ausgabewert an dem Ausgang 170 der Ausgabeschicht ist ein Ausgabewert 171 des neuronalen Netzes 100.
  • Wie in 1 abgebildet ist können die Schichten 110 in einer Reihe angeordnet sein, wobei die Schichten jeweils mit einer nachfolgenden Schicht verbunden sind. Das neuronale Netz 100 kann eine Batch-Normalisierungs-Schicht und/oder eine Max-Pooling-Schicht und/oder eine Linear-Pooling-Schicht umfassen.
  • Der Eingabewert 151 des neuronalen Netzes 100 kann ein Skalar, ein Vektor, eine Matrix oder ein Tensor sein. Beispielsweise kann der Eingabewert ein Bild oder ein Audiosignal oder ein Sensorwert sein. Der Ausgabewert 171 kann in dieser Ausführungsform ein Vektor sein, der beispielsweise die Klassifizierung des Eingabewerts in eine aus mehreren Klassen charakterisiert. In dieser Ausführungsform charakterisiert jede Ausgabe 170 der Ausgabeschicht eine der Klassen. Die Aktivierungen können entweder ein Skalar, ein Vektor, eine Matrix oder ein Tensor sein, abhängig von den Dimensionen der entsprechenden Schichten 110.
  • Wenn k Schichten betrachtet werden, ist das neuronale Netz fθ durch diese Gleichungen gegeben: z i = j = 1 i 1 f i , j ( z j ) ,  für  i = 2, , k
    Figure DE102018218586A1_0001
    mit dem Eingabewert des neuronalen Netzes z1=x und fθ (x) = zk und einer Funktion fi,j von der Schicht j zu der Schicht i und der Parametrisierung θ.
  • Wie in 1 gezeigt ist, kann der Eingabewert 151 des neuronalen Netzes 100 innerhalb eines gegebenen Umfangs variieren (Eingabestörung 160). Beispielsweise aufgrund von Messrauschen kann der Eingabewert variieren, was durch einen Störungswert ε charakterisiert sein kann. Der Eingabewert kann auch aufgrund einer feindlichen Modifikation des Eingabewerts variieren. Die Modifikation kann lokal begrenzt sein, z. B. nur ein semantischer Bereich eines Eingabebilds ist modifiziert, was ebenfalls durch den Störungswert e charakterisiert ist. Der Störungswert ε kann ein Maximalwert der Modifikation oder ein Mittelwert der Modifikation sein.
  • Die maximale Störung ist schematisch in 1 durch die beschränkte Eingabestörung 160 abgebildet. Die beschränkte Eingabestörung 160 kann mathematisch beschrieben werden als: B ( x ) = { x + Δ : Δ p ε }
    Figure DE102018218586A1_0002
    wobei B(x) eine Eingabeeinschränkung für die maximal zulässige Eingabestörung 160 repräsentiert und (||Δ||p) eine p-Norm-beschränkte Modifikation Δ des Eingabewerts x charakterisiert. Die Modifikation Δ kann beispielsweise Rauschen oder eine feindliche Störung des Eingabewerts x sein, wobei die Modifikation Δ alle möglichen Modifikationen aufgrund z. B. Rauschen oder feindlicher Beispiele des Eingabewerts x beschreibt. Die Störung ε kann als eine obere Schranke der Modifikation Δ des Eingabewerts (x) betrachtet werden.
  • Um zu entscheiden, ob eine Modifikation Δ des Eingabewerts x innerhalb B(x) vorhanden ist, die das neuronale Netz 100 täuschen kann, muss das folgende Optimierungsproblem gelöst werden: m i t   z i = j = 1 i 1 f i , j ( z j ) ,  für  m i n z k   c T   z k i = 2, , k z 1 B ( x )
    Figure DE102018218586A1_0003
    wobei dem Eingabewert x eine gegebene Klasse y*=ytrue und eine Zielklasse ytarg und c=ey- ey targ zugewiesen ist. Die Zielklasse ytarg kann beliebig gewählt werden und ist eine Klasse, die von der gegebenen Klasse y* verschieden ist. Das Ergebnis der Gleichung (3) ist ein Skalar, der den feindlichsten Eingabewert (x) innerhalb B(x) beschreibt, die durch das neuronale Netz als die Zielklasse ytarg klassifiziert ist, obwohl der Eingabewert x zu der gegebenen Klasse ytrue gehört. Falls dieser Skalar positiv ist, dann existiert kein feindliches Beispiel des Eingabewerts x, das das neuronale Netz aufgrund einer Fehlklassifizierung des feindlichen Beispiels täuscht. Falls der Skalar positiv ist, dann existiert eine garantierter Robustheit gegen Modifikationen innerhalb von B(x).
  • Das Optimierungsproblem gemäß Gleichung (3) kann für alle unterschiedlichen Zielklassen, die von der gegebenen Klasse ytrue verschieden sind, gelöst werden. Falls das Ergebnis des Optimierungsproblems gemäß Gleichung (3) für alle Klassen, die von der gegebenen Klasse verschieden sind, positiv ist, dann existiert keine Norm-beschränkte feindliche Modifikation Δ des Eingabewerts x, die durch das neuronale Netz 100 fehlerhaft klassifiziert werden könnte. Der wichtige Punkt ist, dass, falls das Minimum von Gleichung (3) positiv ist, garantiert ist, dass innerhalb von B(x) kein feindliches Beispiel existiert.
  • Weil es sehr ineffizient wäre, das Optimierungsproblem gemäß Gleichung (3) zu lösen, kann das Problem beschränkt werden, insbesondere durch ein Dual-Optimierungsproblem. Es wird darauf hingewiesen, dass eine Lösung des Dual-Problems eine machbare Dual-Lösung ist und eine garantierte untere Schranke für die Lösung des Primal-Optimierungsproblems wie es in Gleichung (3) gegeben ist bereitstellt.
  • Das Dual-Problem kann durch Hinzufügen der Einschränkungen in das Primal-Optimierungsproblem aufgebaut werden, z. B. mit Lagrange-Multiplikatoren.
  • Für den Fall, wenn Überspringverbindungen verwendet werden, hängen die Einschränkungen der Gleichung (3) voneinander ab. Deshalb wird eine Indikatorfunktion verwendet, um das Dual-Optimierungsproblem zu bestimmen. Die Indikatorfunktion kann gegeben sein als: χ i ( z 1 : i ) = { 0, f a l l s   z i = j = 1 i 1 f i , j ( z j ) , a n d e r n   f a l l s f ü r   i = 2, , k .
    Figure DE102018218586A1_0004
  • Eine „pseudo“-konjugierte Funktion, die sich auf eine Fenchel-konjugierte Funktion bezieht, der Indikatorfunktion ist gegeben durch: χ i * ( z 1 : i ) = m a x z i v i T z i + j = i + 1 k v j T f i , j ( z i )
    Figure DE102018218586A1_0005
    für i = 1,...,k-1. Es wird darauf hingewiesen, dass die konjugierte Funktion von Gleichung (5) nicht eine exakte konjugierte Funktion von Gleichung (4) ist, und deshalb ist xi* als eine „pseudo“-konjugierte Funktion bezeichnet.
  • Die „pseudo“-Konjugierte der Indikatorfunktion kann nach oben beschränkt sein durch: χ i * ( z 1 : i ) h i ( v i : k ) m i t   v i = j = i + 1 k g i , j ( v j )
    Figure DE102018218586A1_0006
  • Mit den vorstehenden Gleichungen kann das Optimierungsproblem gemäß Gleichung (3) als eine untere Schranke der Gleichung (3) neu geschrieben werden. Diese untere Schranke ist ausgedrückt durch: m a x v ( i = 2 k h i ( v i : k ) v ^ 1 T x ε v ^ 1 q ) m i t   v k = c v i = j = 1 k 1 g i , j ( v j + 1 ) ,   f ü r   i = 1 , ,   k 1
    Figure DE102018218586A1_0007
    wobei || ||q die Dual-Norm zu der p-Norm in Gleichung (2) ist.
  • Der max-Term kann als eine Zielfunktion / geschrieben werden: J ( x , v 1 : x ) = i = 2 k h i ( v i : k ) v 1 T x ε v 1 *   2
    Figure DE102018218586A1_0008
  • Die Zielfunktion J kann durch Verwenden eines dualen neuronalen Netzes effizient bestimmt werden, das durch die folgende Gleichung von Gleichung (7) gegeben ist: v k = c v i = j = 1 k 1 g i , j ( v j + 1 ) ,   f o r   i = 1, , k 1
    Figure DE102018218586A1_0009
    wobei gi,j die Dual-Schicht ist, die eine Dual-Transformation durch eine Dual-Aktivierungsfunktion der Schicht charakterisiert.
  • Im Folgenden sind beispielhaft zwei unterschiedliche Dual-Schichten gezeigt. Die Dual-Schicht für eine lineare Schicht (B(x) zi+1 = Wizi + bi) kann ausgedrückt sein als: X i * ( z 1 : i ) = v i + 1 T b i m i t   v i = W i T v i + 1
    Figure DE102018218586A1_0010
  • Die Dual-Schicht für die Sicht mit der ReLu-Aktivierungsfunktion (zi+1 =max {zi,0}) ist gegeben als: X i * ( z 1 : i ) j I i I i , j × m a x [ v i , j ,0 ] m i t   v i = D i v i + 1
    Figure DE102018218586A1_0011
    wobei Di eine Diagonalmatrix ist: ( D i ) i j = { 0 j I i 1 j I i + u i , j u i , j I i , j j I i
    Figure DE102018218586A1_0012
    und Ii -,Ii +,Ii eine Menge der negativen, positiven bzw. Null überspannenden Aktivierungen ist. Diese Mengen von Aktivierungen hängen von oberen und unteren Schranken (u, l) der entsprechenden Aktivierungen ab und können als zusätzliche Einschränkungen betrachtet werden. Falls die obere Schranke (u) der Aktivierung kleiner ist als Null, entspricht die Aktivierung der Menge von Aktivierungen Ii - mit negativen Aktivierungen. Falls die untere Schranke (l) positiv ist, dann entspricht die Aktivierung der Menge von Aktivierungen Ii + mit positiven Aktivierungen. Falls die untere und die obere Schranke den Nullpunkt überspannen, dann entspricht die Aktivierung der Menge Ii Das Verfahren zum Bestimmen der unteren und oberen Schranken ist in 4 gezeigt.
  • Wie bereits diskutiert existieren, falls die Zielfunktion positiv ist, keine Modifikationen des Eingabewerts x, die das neuronale Netz 100 täuschen. Falls jedoch die Zielfunktion negativ ist, ist es nicht möglich zu garantierten, ob die Modifikation des Eingabewerts x die Klassifizierung des Eingabewerts auf die Zielklassifizierung ändert. Wie in 2 schematisch gezeigt ist, ist der Ausgabewert 171 des neuronalen Netzes 100 durch ein Polytop feindlicher Ausgaben 180 beschränkt. Das Polytop feindlicher Ausgaben 180 ist eine nicht-konvexe Menge aufgrund der nicht-linearen Aktivierungsfunktionen, wie z. B. der ReLu-Aktivierungsfunktion, des neuronalen Netzes 100. Zur Vereinfachung können die nicht-linearen Aktivierungsfunktionen angenähert werden, was zu einer Näherung des Polytops feindlicher Ausgaben 180 führt.
  • Die Näherung der ReLu-Aktivierungsfunktion kann durch Beschränken der ReLu mit einer konvexen Hülle ausführt werden. Die konvexe Hülle ist durch drei lineare Gleichungen beschrieben, eine für die negativen Eingabewerte, eine für die positiven Eingabewerte und eine dritte lineare Gleichung, die den überspannten Bereich der zwei linearen Gleichungen zu einer konvexen Hülle schließt.
  • Die Näherung des Polytops feindlicher Ausgaben ist in 2 durch das beschränkte konvexe Polytop 200 gezeigt.
  • Darüber hinaus zeigt 2 eine Entscheidungsschranke 201, die das Polytop feindlicher Ausgaben 180 und das beschränkte konvexe Polytop 200 kreuzt. Das impliziert, dass der Ausgabewert 171 des neuronalen Netzes 100 falsch klassifiziert werden kann, falls er innerhalb des Bereichs 220 des Polytops feindlicher Ausgaben 180 ist. Falls die Modifikation des Eingabewerts zu einer Verschiebung des Ausgabewerts des neuronalen Netzes 100 in den Bereich 220 führt, würde das zu einer falschen Klassifizierung des Eingabewerts führen. Für diesen Fall wäre die Zielfunktion negativ, da eine Verschiebung des Ausgabewerts 171 zu einer anderen Klassifizierung führen könnte, wenn die Entscheidungsschranke 201 überschritten wird. Für diesen Fall existiert keine Robustheit gegen Fehlklassifizierungsmodifikationen des Eingabewerts.
  • Falls eine zweite Entscheidungsschranke 202 nur das beschränkte konvexe Polytop 200 überschreitet, jedoch nicht das Polytop feindlicher Ausgaben 180, dann ist die Zielfunktion J ebenfalls negativ, obwohl irgendeine Modifikation des Eingabewerts x nicht zu einer falschen Klassifizierung führen würde, da alle möglichen Ausgabewerte innerhalb des Polytops feindlicher Ausgaben 180 liegen, das nicht durch die zweite Entscheidungsschranke 202 geteilt ist. Für diesen Fall wäre eine Robustheit gegen Fehlklassifizierungsmodifikationen des Eingabewerts vorhanden. Aufgrund der Näherung des Polytops feindlicher Ausgaben 180 ist jedoch die Zielfunktion (J) nicht genau.
  • Deshalb ist es, falls die Zielfunktion J negativ ist, nicht möglich zu entscheiden, ob die Modifikation der Eingabe das neuronale Netz 100 täuschen könnte. Nur für positive Zielfunktionen kann eine garantierte Entscheidung vorgenommen werden, dass die Modifikation des Eingabewerts das neuronale Netz 100 nicht täuscht.
  • 3 zeigt einen schematischen Ablaufplan 300 eines Verfahrens zum Bestimmen der Zielfunktion J von Gleichung (8).
  • Das Verfahren beginnt mit Schritt 301. In diesem Schritt 301 werden der Eingabewert x und die wahre Klassifizierung ytrue des Eingabewerts x und die Zielklassifizierung ytarg und eine gegebene Störung ε bereitgestellt.
  • Dann wird in Schritt 302 die Variable c gemäß Gleichung (3) bestimmt.
  • In dem nachfolgenden Schritt 303 wird der Eingabewert x durch das neuronale Netz 100 propagiert, und die oberen und unteren Schranken (l, u) der Aktivierungen der Neuronen (oder die Aktivierungsfunktionen) werden bestimmt. Das Verfahren zum Bestimmen dieser Schranken (l, u) ist in 4 gezeigt.
  • Nach dem Beenden von Schritt 303 wird der Schritt 304 ausgeführt. In diesem Schritt wird das duale neuronale Netz gemäß Gleichung (9) aufgebaut. Danach wird der Schritt 305 ausgeführt. In diesem Schritt wird die Variable c durch das duale neuronale Netz gemäß Gleichung (9) propagiert. Eine genauere Beschreibung der Schritte 304 und 305 ist in 5 gegeben.
  • In Schritt 306 wird die Zielfunktion / gemäß Gleichung (8) abhängig von dem Eingabewert x und abhängig von dem Ausgabewert v1 des dualen neuronalen Netzes und der gegebenen Störung ε bestimmt.
  • 4 zeigt das neuronale Netz 100 mit einer Überspringverbindung 410. In dieser Ausführungsform des neuronalen Netzes 100 können alle Neuronen eine ReLu-Aktivierungsfunktion aufweisen. Ferner zeigt 4 eine Ausführungsform eines Ablaufplans 400 eines Verfahrens zum Bestimmen der oberen und unteren Schranken des Eingabewerts der Schichten des neuronalen Netzes 100 mit einer Überspringverbindung 410 insbesondere ein Verfahren zum Bestimmen der oberen und unteren Schranken der Aktivierungen der Neuronen mit einer ReLu-Aktivierungsfunktion.
  • Das Verfahren zum Bestimmen der oberen und unteren Schranken des Eingabewerts der Schicht beginnt mit Schritt 401. In diesem Schritt werden der Eingabewert x und die Störung ε bereitgestellt, und verschiedene Variablen werden gemäß der folgenden Gleichung initialisiert: v ^ 1 : = W 1 T γ 1 = b 1 T l 2 = x T W 1 T + b 1 T W 1 T 1, ; u 2 = x T W 1 T + b 1 T + W 1 T 1, ;
    Figure DE102018218586A1_0013
    wobei || ||1 die Matrix l1-Norm aller Spalten für dieses Beispiel bezeichnet. Es sind auch andere Normen denkbar.
  • In Schritt 402 wird eine Schleife über die Schichten des neuronalen Netzes gestartet. Die Schleife wird durch i = 2 initialisiert und wiederholt, bis i gleich k - 1 ist. In dem ersten Schritt 403 der Schleife werden die Aktivierungsmengen Ii -,Ii +,Ii abhängig von den Werten der oberen und unteren Schranken der Schicht (i) bestimmt.
  • Dann werden in Schritt 404 neue Terme initialisiert gemäß den Gleichungen: v i , l i : = ( D i ) l i W i T γ i = b i T
    Figure DE102018218586A1_0014
  • Danach (Schritt 405) werden existierende Terme propagiert gemäß der Gleichung: v j , l i : = v i , l i ( D i ) l i W i T , j = 2, , i 1 γ i = γ i D i W i T ,   j = 1, , i 1 v ^ 1 : = v ^ 1 D i W i T
    Figure DE102018218586A1_0015
  • In Schritt 406 werden die Schranken berechnet als: ψ i : = x T v ^ 1 + j = 1 i γ j
    Figure DE102018218586A1_0016
    l i + 1 = ψ i ε v ^ 1 1, : + j = 2 i i ' I i l i , j   m a x [ v j , i ' ,0 ] u i + 1 = ψ i + ε v ^ 1 1, : j = 2 i i ' I i l i , j   m a x [ v j , i ' ,0 ]
    Figure DE102018218586A1_0017
  • Zusätzlich wird der Schleifenindex t in Schritt 406 erhöht. Falls i gleich k - 1 ist, dann wird Schritt 407 ausgeführt. In diesem Schritt werden die oberen und unteren Schranken ll:k,ul:k zurückgegeben. Andernfalls (i < k - 1 ) werden die Schritte 403 bis 406 wiederholt. Es wird darauf hingewiesen, dass dann, wenn nicht jedes Neuron eine nichtlineare Aktivierungsfunktion aufweist, es nicht erforderlich ist, die Schranken für jedes Neuron zu bestimmen.
  • Es wird darauf hingewiesen, dass dann, wenn das neuronale Netz andere nichtlineare Aktivierungsfunktionen aufweist, die Gleichung (16) in Bezug auf Gleichung (6) durch Ersetzen jeder Summe: ± j = 2 i i v ε I i ±
    Figure DE102018218586A1_0018
    jeweils durch ± j = 1 i h j ( ± v j , , ± v i )
    Figure DE102018218586A1_0019
    modifiziert werden kann. Zusätzlich müssen die Dual-Transformationen gi in Schritt 404 und 405 angewandt werden.
  • 5 zeigt das duale neuronale Netz 510 mit einer Dual-Überspringverbindung 510. In dieser Ausführungsform des dualen neuronalen Netzes 510 wird das duale neuronale Netz 510 basierend auf dem in 4 gezeigten neuronalen Netz 100 erzeugt. Ferner zeigt 5 eine Ausführungsform eines Ablaufplans 500 eines Verfahrens zum Aufbauen des dualen neuronalen Netzes 510 und Propagieren eines Eingabewerts -c durch das duale neuronale Netz 510 gemäß Gleichung (9).
  • Dieses Verfahren beginnt mit Schritt 510 durch Erzeugen des dualen neuronalen Netzes 510. Als Beispiel wird die Architektur des neuronalen Netzes 100 kopiert, und die Eingabeschicht und die Ausgabeschicht des neuronalen Netzes 100 werden als Ausgabeschicht bzw. Eingabeschicht des dualen neuronalen Netzes 510 neu konfiguriert. Das bedeutet, dass dann, wenn der Eingabewert -c durch das duale neuronale Netz 510 propagiert wird, die Eingabe des dualen neuronalen Netzes 510 relativ zu dem Propagierung der Eingabe des neuronalen Netzes 100 rückwärts propagiert wird. Es wird darauf hingewiesen, dass dann, wenn das duale Netz in 5 um 180 Grad gedreht wird, der Eingabewert des dualen neuronalen Netzes relativ zu dem neuronalen Netz 100 vorwärts durch das duale neuronale Netz propagiert.
  • In Schritt 502 werden die Aktivierungsfunktionen jeder Schicht durch eine jeweilige Dual-Aktivierungsfunktion ersetzt. Die Dual-Aktivierungsfunktion kann gemäß den Gleichungen (6) oder Gleichungen (10) bis (12) bestimmt werden.
  • In dem nachfolgenden Schritt 503 empfängt der Eingang des dualen neuronalen Netzes 510 als Eingabe die Variable c oder gemäß Gleichung (9) als Eingabewert wird -c benutzt, um die Zielfunktion J als Lösung des Dual-Problems zu bestimmen.
  • Danach (Schritt 504) wird die Eingabe des dualen neuronalen Netzes 510 schichtweise durch das duale Netz 500 propagiert. Nachdem die Ausgabeschicht ihren Ausgabewert in Schritt 504 bestimmt hat, wird in dem nachfolgenden Schritt 506 dieser Ausgabewert als Ausgabewert des dualen neuronalen Netzes 510 zurückgegeben.
  • 6 zeigt eine Ausführungsform eines Ablaufplans 600 eines Verfahrens zum Trainieren des neuronalen Netzes 100, so dass es garantiert robust gegen feindliche Störungen der Eingabewerte des neuronalen Netzes 100 ist.
  • Dieses Trainingsverfahren beginnt mit Schritt 601. Hier umfassen die Trainingsdaten N Trainingseingabewerte x und N Trainingsausgabewerte die jeweils den Trainingseingabewerten x zugewiesen sind. Die Ausgabewerte ytrue können wahre Klassifizierungen der entsprechenden Eingabewerte x sein. Der Störungswert e wird in Schritt 601 ebenfalls gegeben. Es wird darauf hingewiesen, dass die Trainingsdaten, die N Paare von Eingabewerten und Ausgabewerten umfassen, als ein Batch bezeichnet sind. Falls mehr als ein Batch verfügbar ist, kann dieses Verfahren für jeden Batch wiederholt werden. Zusätzlich oder alternativ kann das Verfahren für denselben Batch mehrmals wiederholt werden, bis ein gegebenes Kriterium erfüllt ist. Es wird darauf hingewiesen, dass dieses Trainingsverfahren auch für nicht überwachtes Lernen verwendet werden kann, wobei in Übereinstimmung mit der Herangehensweise mit nicht überwachtem Lernen die Trainingsdaten entsprechend strukturiert oder gekennzeichnet sein sollten. Es ist auch denkbar, dass jeder Trainingseingabewert x mehr als einen entsprechenden Trainingsausgabewert ytrue aufweisen kann.
  • Nachfolgend wird in Schritt 602 eine Schleife für i = 1,...,N über die Trainingsdaten gestartet.
  • In Schritt 603 wird für den i. Trainingseingabewert xi die Variable ci gemäß Gleichung (3) für jede gewünschte Zielklassifizierung yi targ, die von der zugewiesenen wahren Klassifizierung y i t r u e
    Figure DE102018218586A1_0020
    verschieden ist, erzeugt. Die Variable ci für jede gewünschte Zielklassifizierung kann als eine Matrix ausgedrückt werden: eyi 1T -diag(1) Jede bestimmte Variable ci, die in der Matrix enthalten ist, kann benutzt werden, um die Zielfunktion J für den i. Trainingseingabewert xi zu bestimmen. Dann wird die Zielfunktion Ji gemäß dem in 3 gezeigten Verfahren bestimmt.
  • Danach (Schritt 604) wird eine Verlustfunktion Li, die eine Differenz zwischen der bestimmten Zielfunktion Ji und dem Trainingsausgabewert yi charakterisiert, bestimmt. Vorzugsweise wird eine 0-1-Verlustfunktion benutzt. Es ist auch möglich, mehrere unterschiedliche Verlustfunktionen für die unterschiedlichen Ausgabewerte des dualen Netzes 500, Zielfunktionen und/oder für die unterschiedlichen benutzten Trainingsausgabewerte zu verwenden. Der Index i der Schleife wird um eins erhöht, und die Schritte 603 und 604 werden wiederholt, bis der Index i gleich N ist, wie in Schritt 602 definiert ist.
  • Wenn die Schleife über alle Trainingsdaten beendet ist, wird Schritt 605 ausgeführt. Hier wird jede bestimmte Verlustfunktion Li aufsummiert, und die Summe über alle Verlustfunktionen wird optimiert, beispielsweise: m i n θ i = 1 N L i { J ε ( x i , g θ ( e y i 1 T d i a g ( 1 ) ) ) , y i }
    Figure DE102018218586A1_0021
  • Die Gleichung (17) kann durch ein Gradientenverfahren optimiert werden. Das Gradientenverfahren bestimmt die Änderung Δθ des Parameters θ des neuronalen Netzes (100), um die Summe über die Verlustfunktionen Li zu minimieren.
  • Vorteilhafterweise wird die Änderung Δθ des Parameters θ verwendet, um die Parameter anzupassen, und Schritt 605 wird wiederholt, bis die bestimmte Änderung Δθ des Parameters θ kleiner ist als ein gegebener Schwellenwert.
  • 7 zeigt schematisch einen Ablaufplan 700 eines Verfahrens zum Erhöhen der Effizienz und Beschleunigen des Trainings des neuronalen Netzes 100, wie in 6 beschrieben ist, insbesondere um Schritt 603 zu beschleunigen. Es ist auch möglich, dieses Verfahren zu benutzen, um den Schritt 306 von 3 zu beschleunigen.
  • Zurück zur Zielfunktion, die durch Gleichung (8) definiert ist: J ( x , ν 1 : k ) = i = 2 k h i ( ν i : k ) ν 1 T x ε ν 1 q .
    Figure DE102018218586A1_0022
    Die Berechnung des zweiten und dritten Terms (vi Tx, ε||v1||q) ist abhängig von dem gesamten dualen neuronalen Netz 500 und deshalb rechenaufwändig. Diese Terme können jedoch gemäß dem in 7 gezeigten Verfahren effizient genähert werden.
  • In dem ersten Schritt 701 werden die oberen und unteren Schranken für jede Schicht des dualen Netzes 500 gegeben.
  • In dem nächsten Schritt 702 wird eine Matrix R1 mit einer Größe von |z1| × r initialisiert. Die Elemente der Matrix R1 werden aus einer Cauchy-Verteilung erfasst. Es wird darauf hingewiesen, dass diese Matrix R1 der l1-Schranke entspricht.
  • Nachfolgend wird in Schritt 703 eine Schleife über die Schichten i = 2,...,k mit dem Schleifenindex i gestartet.
  • In dem Schritt 704 wird über einen Index j = 1,..., i - 1 iteriert, wobei für jeden Wert des Index j eine neue Zufallsmatrix R j i : = k = 1 i 1 g k , i T ( R i k )
    Figure DE102018218586A1_0023
    bestimmt wird und S j i : = k = 1 i 1 g k , i T ( S i k )
    Figure DE102018218586A1_0024
    bestimmt wird. Das entspricht dem Propagieren von r Zufallsvektoren (und eines zusätzlichen Vektors, z. B. 1T) durch das duale Netz.
  • Nachdem Schritt 704 beendet worden ist, wird Schritt 705 ausgeführt. In Schritt 705 werden eine neue Matrix R j 1 = d i a g ( d i ) C a u c h y ( | z i | , r )
    Figure DE102018218586A1_0025
    und Si 1= di bestimmt (di wird gemäß Gleichung (19) bestimmt). Dann wird der Index i ums eins erhöht, und die Schritte 704 und 705 werden wiederholt, bis i=k erfüllt ist.
  • In Schritt 706 können der Term ||vi||q und der Term hi(vi:k) für die ReLu-Schicht effizienter berechnet werden. Für den Fall, das die Dual-Norm gleich der li -Norm ist, kann das effizient berechnet werden durch: v 1 1 m e d i a n ( | g ( R ) | ) m e d i a n ( | R W 1 T D 2 W 2 T D n W n | ) m e d i a n ( | v 1 T R | )
    Figure DE102018218586A1_0026
    wobei R eine |z1|× r -Standard-Cauchy-Zufallsmatrix ist und der Median über die zweite Achse genommen wird.
  • Der zweite Term der ReLu-Funktion ist ausgedrückt als: j I l i , j × m a x [ v i , j ,0 ] 1 2 [ ( m e d i a n ( | g j ( h ( R ) ) | ) + g j ( h ( 1 T ) ) ] 1 2 ( m e d i a n ( | v i T d i a g ( d i ) R | ) + v i T d i )
    Figure DE102018218586A1_0027
    mit d i , j = { u i , j u i , j l i , j , j I i    0, j I i
    Figure DE102018218586A1_0028
  • 8 zeigt eine Ausführungsform des Ablaufplans 800 eines Verfahrens zum Detektieren möglicher feindlicher Beispiele des Eingabewerts x.
  • In dem ersten Schritt 801 bestimmt das neuronale Netz 100 abhängig von einem Eingabewert einen Ausgabewert ypred.
  • In Schritt 802 wird die Zielfunktion J für alle möglichen Zielklassifizierungen gemäß der folgenden Gleichung bestimmt: J ε ( x , g θ ( e y p r e d   1 T d i a g ( 1 ) ) )
    Figure DE102018218586A1_0029
  • In dem nachfolgenden Schritt 803 wird die Zielfunktion J mit einem Schwellenwert verglichen. Beispielsweise: Jε (x, gθ(eypred1T - diag(1))) ≥ 0, dann existiert keine Modifikation der Eingabe, die durch das neuronale Netz 100 fehlerhaft klassifiziert werden kann. Falls die Zielfunktion J positiv ist, dann ist das Ergebnis des Vergleichs wahr, was charakterisiert, dass keine Modifikation des Eingabebilds innerhalb der Kugel Bx existiert, die fehlerhaft klassifiziert werden könnte. Andernfalls ist, falls die Zielfunktion nicht positiv ist, das Ergebnis des Vergleichs falsch.
  • Optional wird der Schritt 804 ausgeführt. In diesem Schritt wird der Ausgabewert ypred des neuronalen Netzes 100 freigegeben oder abgelehnt, abhängig von dem Ergebnis des Vergleichs. Z. B. falls das Ergebnis des Vergleichs wahr ist, kann der Ausgabewert ypred benutzt werden, um ein technisches System zu steuern (siehe 12 für mehr Informationen). Alternativ kann ein Autorisierungssignal oder ein Robustheitszertifikat erzeugt werden, wenn das Ergebnis von Schritt 803 wahr ist. Das Autorisierungssignal oder das Robustheitszertifikat kann zur Überprüfung verwendet werden, bevor der Ausgabewert ypred benutzt wird. Vorzugsweise sind das Autorisierungssignal und/oder das Robustheitszertifikat verschlüsselt, um böswillige Manipulation zu verhindern.
  • 9 zeigt schematisch einen Ablaufplan 900 eines Verfahrens zum Bestimmen des größten Störungswerts ε, so dass der Ausgabewert des neuronalen Netzes 100 nicht umgekehrt werden kann auf eine wahrscheinlich andere Klasse als die durch das neuronale Netz 100 bestimmte Klasse. Dieser Fall kann auch als eine Messung, wie weit die Entscheidungsschranke von der Ausgabe des neuronalen Netzes entfernt ist, betrachtet werden.
  • In dem ersten Schritt 901 bestimmt das neuronale Netz abhängig von einem Eingabewert einen Ausgabewert ypred.
  • In Schritt 902 wird die Zielfunktion J für alle möglichen Zielklassifizierungen Jε (x, gθ(eypred1T - diag(1))) bestimmt.
  • Nachfolgend (Schritt 903) wird der größte Störungswert ε bestimmt. Das kann gemäß der folgenden Gleichung bestimmt werden: m a x ε   ε mit  J ε ( x , g θ ( e y p r e d  1 T d i a g ( 1 ) ) ) 0
    Figure DE102018218586A1_0030
  • Insbesondere kann die Gleichung (21) unter Nutzung des Newton-Verfahrens gelöst werden. Zusätzlich oder alternativ kann Binärsuche verwendet werden, um die Gleichung (21) zu lösen. Eine andere Art, die Gleichung (21) zu lösen, kann durch inkrementelles Erhöhen von e bei positiv bleibender Zielfunktion stattfinden.
  • Optional können, falls der größte Störungswert für den gegebenen Eingabewert bestimmt ist, die Schritte 901 bis 903 für einen weiteren Eingabewert wiederholt werden. Falls mehr als zwei größte Störungen für unterschiedliche Eingabewerte bestimmt werden, kann der Schritt 904 ausgeführt werden. Hier wird der kleinste bestimmte Störungswert ermittelt und zurückgegeben. Abhängig von diesem zurückgegebenen Störungswert kann ein Robustheitszertifikat erzeugt werden. Dieses Robustheitszertifikat kann in einem der beschriebenen Verfahren, in dem ein gegebener Störungswert ε erforderlich ist, verwendet werden.
  • 10 zeigt schematisch eine Ausführungsform eines Ablaufplans 1000 eines Verfahrens zum Bestimmen engerer Schranken der Aktivierungsfunktionen, insbesondere der Neuronen mit einer ReLu-Aktivierungsfunktion.
  • Das Verfahren beginnt mit Schritt 1001. In diesem Schritt ist ein neuronales Netz 100 gegeben, wobei das neuronale Netz durch fθ mit ReLu-Aktivierungsfunktionen und beispielhaft mit einer Batch-Normalisierung Schicht beschrieben werden kann. Außerdem werden in Schritt 1001 der Eingabewert x und die Störung ε bereitgestellt.
  • In dem nachfolgenden Schritt 1002 werden obere und untere Schranken li, ui für jede Schicht i bestimmt, insbesondere für jedes Neuron der Schichten. Die obere und untere Schranke können gemäß dem in 4 gezeigten Verfahren bestimmt werden. Alternativ können die oberen Schranken durch Propagieren durch das duale neuronale Netz 500 der Variablen c bestimmt werden, die für diese Fall durch eine positive Diagonalmatrix c=I gegeben ist, die spaltenweise durch das duale neuronale Netz 500 propagiert werden kann, und die max. Werte für jede Schicht der propagierten Diagonalmatrizen, die abhängig von dem Eingabewert (x) skaliert sind, werden als die oberen Schranken verwendet. Die gleiche Prozedur kann durch Propagieren von c=-I und Bestimmen des Maximalwerts davon, die die unteren Schranken sind, ausführt werden.
  • Dann wird in Schritt 1003 zusätzlich zu den bestimmten oberen und unteren Schranken von Schritt 1002 eine lineare Ungleichung Ai,zi≤bi initialisiert, und der Eingabewert zi der Schicht i ist auf die folgende zulässige Z̃i-Menge von Eingabewerten begrenzt: Z ˜ i = { z i | l i z i u i A i z i b i }
    Figure DE102018218586A1_0031
  • Die Initialisierung der Matrix Ai wird durch Wählen einer beliebigen Größe m der ersten Dimension der Matrix Ai vorgenommen, wobei die zweite Dimension von der Größe der Schicht abhängig ist: dim(zi). Die erste Dimension der Matrix Ai kann der Position der entsprechenden Schicht i in dem neuronalen Netz 100 proportional und polynomisch zu der Anzahl von Neuronen der entsprechenden Schicht i sein.
  • Vorzugsweise umfasst die erste Schicht des neuronalen Netzes 100 eine Matrix Ai, was den Vorteil hat, dass eine bessere Näherung der Norm-beschränkten Modifikation des Eingabewerts beschrieben werden kann. Tiefere Schichten, z. B. die wenigen letzten Schichten, sollten eine Matrix Ai umfassen, um den Fehler zwischen dem Polytop feindlicher Ausgaben 180 und dem beschränkten konvexen Polytop 200 zu minimieren. Darüber hinaus sollte die Größe der Matrix Ai umso größer gewählt werden, je tiefer die Schichten des neuronalen Netzes 100 werden. Durch Wählen einer speziellen Größe m der Matrix Ai werden m zusätzliche Beschränkungen hinzugefügt, um die zulässige Menge Z̃i von Eingabewerten zu begrenzen.
  • In einer weiteren Ausführungsform der Matrix Ai kann die Matrix eine Faltungsmatrix sein.
  • In Schritt 1004 werden die Elemente der Matrix Ai bestimmt. Es gibt zwei Optionen, um die Elemente der Matrix Ai zu bestimmen. In der ersten Option werden die Elemente zufällig aus einer gegebenen Verteilung erfasst (z. B. Gauß-Verteilung, angepasst um den Ursprung). In der anderen Option sind die Elemente die oberen und unteren Schranken einer vorhergehenden Schicht.
  • Der Vektor bi der linearen Ungleichung Ai,zi≤bi kann bestimmt werden gemäß dem alternativen Verfahren zum Bestimmen der oberen Schranken durch Propagieren von ci = Ai zeilenweise durch das duale Netz, um den Vektor bi zu bestimmen (ähnlich dem Schritt 1002 zum Bestimmen der oberen und unteren Schranken durch Propagieren der Matrix I durch das duale neuronale Netz).
  • In dem nachfolgenden Schritt 1005 werden die Elemente der Matrix Ai optimiert. Für den Fall, dass die Aktivierungsfunktionen durch die ReLu-Aktivierungsfunktion gegeben sind, kann die Optimierung über die Elemente der Matrix ai durch Lösen der folgenden Gleichung vorgenommen werden, insbesondere durch das Gradientenverfahren abhängig von den Elementen der Matrix Ai: m i n λ 0   b i T λ + j I i m a x { ( a i , j T λ + v i , j ) l i , j , ( a i , j T λ + v i , j ) u i , j } + j I i + m a x { ( a i , j T λ + v i , j v i + 1, j ) l i , j , ( a i , j T λ + v i , j v i + 1, j ) u i , j + j I i m a x { ( a i , j T λ + v i , j ) l i , j , ( a i , j T λ + v i , j v i + 1, j ) u i , j ,0 }
    Figure DE102018218586A1_0032
  • In einer weiteren Ausführungsform kann die Schrittgröße des Gradientenverfahrens abhängig von dem Fortschritt zum Finden des Minimums von Gleichung (23) variiert werden.
  • Falls die Elemente der Matrix Ai so gewählt sind, dass sie die oberen und unteren Schranken der vorhergehenden Schicht sind, können die Elemente der Matrix Ai gemäß der Gleichung (23) auf ähnliche Weise durch Nutzen des Gradientenverfahrens optimiert werden. Zusätzlich oder alternativ kann die initialisierte Matrix Ai durch Multiplizieren der Matrix Ai mit einer inversen Matrix, die die Transformation der vorhergehenden Schicht charakterisiert, optimiert werden. Vorzugsweise ist die inverse Matrix die Inverse oder Pseudo-Inverse, Links- oder eine Rechts-Inverse der Matrix Wi, die insbesondere die Gewichte der vorhergehenden Schicht beinhaltet.
  • Nachdem die Elemente der Matrix Ai in Schritt 1005 optimiert worden sind, kann in Schritt 1006 der Vektor bi aktualisiert werden. Beispielsweise wie es in Schritt 1004 getan wird.
  • In einem optionalen nachfolgenden Schritt können die oberen und unteren Schranken aktualisiert werden, z. B. gemäß Schritt 1002. Es ist möglich, den Schritt 1005 und den Schritt 1006 zu wiederholen, da die Matrix Ai und der Vektor bi miteinander verknüpft sind, und falls eines von ihnen geändert wird, muss das andere angepasst werden.
  • Die Dual-Transformationen der entsprechenden Dual-Schicht i des dualen neuronalen Netzes können durch die Matrix Ai zusammen mit den bereits bestimmten oder aktualisierten oberen und unteren Schranken der jeweiligen Dual-Schicht / bestimmt werden. Das Optimierungsproblem gemäß Gleichung (23) muss abhängig von λ gelöst werden (z. B. durch das Gradientenverfahren) (Finden eines Werts für λ, der das Optimierungsproblem von Gleichung (23) minimiert), um die Dual-Transformation zu bestimmen, die durch Gleichung (23) als eine obere Schranke gemäß Gleichung (6) einer konjugierten ReLu-Funktion charakterisiert ist.
  • 11 bildet einen Ablaufplan 1100 eines Verfahrens zum Nutzen des trainierten neuronalen Netzes 100 zum Steuern eines technischen Systems wie z. B. eines teilweise autonomen Roboters oder Fahrzeugs und optional Detektieren feindlicher Beispiele vor dem Steuern des technischen Systems ab. Es wird darauf hingewiesen, dass unterschiedliche Konfigurationen des technischen Systems beispielhaft in den nachfolgenden 12 bis 18 gezeigt sind.
  • Dieses Verfahren beginnt mit Schritt 1101. Dieser Schritt wird verwendet, um Trainingsdaten D, die Trainingseingabebilder zu zugewiesene Trainingsausgabewerte umfassen, zu erfassen. Die Trainingseingabebilder können Bilder einer Kamera sein, und die jeweiligen Trainingsausgabewerte können eine Klassifizierung der Trainingseingabebilder in eine aus mehreren Klassen, z. B. Klasse Fußgänger oder unterschiedliche Verkehrszeichen, charakterisieren. Diese Trainingsdaten D können durch ein Trainingssystem wie in 19 gezeigt, das konfiguriert ist, das neuronale Netz 100 gemäß dem in 6 beschriebenen Verfahren zu trainieren, bereitgestellt werden.
  • Nachfolgend (Schritt 1102) wird das neuronale Netz 100 gemäß dem in 6 beschriebenen Verfahren mit den Trainingsdaten D von Schritt 1101 trainiert. Nach dem Trainieren des neuronalen Netzes 100 kann das Verfahren zum Bestimmen der größten Störung ε, wie in 9 beschrieben ist, ausgeführt werden, vorzugsweise wird jedes Trainingseingabebild verwendet, um die größte Störung ε zu bestimmen. Schritt 1102 kann auf einem Server oder in dem technischen System selbst ausgeführt werden. Das trainierte neuronale Netz, insbesondere die Parametrisierung und optional die Architektur und, wenn anwendbar, die größte Störung e können von dem Server in das technische System übertragen und in einem Speicher des technischen Systems gespeichert werden. Zusätzlich kann ein Verfahren zum Testen des trainierten neuronalen Netzes darauf, ob eine Modifikation des Eingabebilds das trainierte neuronale Netz täuschen kann, gemäß 3 ausgeführt werden.
  • In Schritt 1103 erfasst ein Sensor, z. B. die Kamera, des technischen Systems eine Umgebung, und das trainierte neuronale Netz empfängt den Sensorwert, z. B. das Bild.
  • In Schritt 1104 bestimmt das trainierte neuronale Netz einen Ausgabewert abhängig von dem Sensorwert.
  • Schritt 1105 kann ausgeführt werden. Hier wird der empfangene Sensorwert darauf überprüft, ob er ein feindliches Beispiel des Sensorwerts ist, wie in 8 beschrieben ist. Ein Authentifizierungssignal kann abhängig von dem Ergebnis der Detektion eines feindlichen Beispiels erzeugt werden.
  • Nach Schritt 1104 oder Schritt 1105 wird Schritt 1106 ausgeführt. Abhängig von dem Ausgabewert von Schritt 1104 wird ein Steuersignal für das technische System erzeugt. Das Steuersignal kann von dem Authentifizierungssignal von Schritt 1105 abhängen. In einer Ausführungsform wird das Steuersignal nur dann erzeugt, wenn das Authentifizierungssignal charakterisiert, dass die Eingabe des neuronalen Netzes kein feindliches Beispiel ist. In einer weiteren Ausführungsform kann das erzeugte Steuersignal abhängig von dem Steuersignal verworfen werden. Durch das Steuersignal von Schritt 1106 kann ein Motor oder ein Bremssystem des technischen Systems gesteuert werden.
  • In 12 ist eine Ausführungsform eines Aktors 1210 in seiner Umgebung 1220 gezeigt. Der Aktor 1210 wirkt mit einem Aktorsteuersystem 1240 zusammen. Der Aktor 1210 und seine Umgebung 1220 werden gemeinsam als Aktorsystem bezeichnet. An vorzugsweise gleichmäßig verteilten Abständen erfasst ein Sensor 1230 einen Zustand des Aktorsystems. Der Sensor 1230 kann mehrere Sensoren umfassen. Ein Ausgangssignal S des Sensors 1230 (oder in dem Fall, in dem der Sensor 1230 mehrere Sensoren umfasst, ein Ausgangssignal S für jeden der Sensoren), das den erfassten Zustand codiert, wird zu dem Aktorsteuersystem 1240 übertragen. In einer weiteren Ausführungsform kann das Aktorsteuersystem 1240 fiktive Sensorwerte zum Testen des Aktorsteuersystems 1240 empfangen.
  • Dadurch empfängt das Aktorsteuersystem 1240 einen Strom von Sensorsignalen S. Es berechnet dann eine Reihe von Aktorsteuerbefehlen A abhängig von dem Strom der Sensorsignale S, die dann zu dem Aktor 1210 übertragen werden.
  • Das Aktorsteuersystem 1240 empfängt den Strom von Sensorsignalen S des Sensors 1230 in einer optionalen Empfangseinheit 1250. Die Empfangseinheit 1250 transformiert die Sensorsignale S in Eingabesignale x. Alternativ kann in dem Fall ohne Empfangseinheit 1250 jedes Sensorsignal S direkt als ein Eingabesignal x verwendet werden. Das Eingabesignal x kann beispielsweise als ein Auszug aus dem Sensorsignal S gegeben sein. Alternativ kann das Sensorsignal S verarbeitet werden, um das Eingabesignal x zu ergeben. Das Eingabesignal x kann beispielsweise Bilder oder Rahmen von Videoaufzeichnungen umfassen. Mit anderen Worten ist das Eingabesignal x in Übereinstimmung mit dem Sensorsignal S bereitgestellt.
  • Das Eingabesignal x wird dann zu einem automatisch lernenden System 1260 weitergeleitet, das beispielsweise durch das neuronale Netz 100 gegeben sein kann.
  • Das automatisch lernende System 1260 ist durch die Parameter θ parametrisiert, die in dem Parameterspeicher P gespeichert sind und durch ihn bereitgestellt werden.
  • Das automatisch lernende System 1260 bestimmt Ausgabesignale y aus den Eingabesignalen x. Die Ausgabesignale y werden zu einer Umsetzungseinheit 1280 übertragen, die die Ausgabesignale y in Steuersignale oder Steuerbefehle A umsetzt. Die Aktorsteuerbefehle A werden dann zu dem Aktor 1210 zum entsprechenden Steuern des Aktors 1210 übertragen.
  • Der Aktor 1210 empfängt die Aktorsteuerbefehle A, wird dementsprechend gesteuert und führt eine Aktion aus, die den Aktorsteuerbefehlen A entspricht. Der Aktor 1210 kann eine Steuerlogik umfassen, die den Aktorsteuerbefehl A in einen weiteren Steuerbefehl transformiert, der dann verwendet wird, um den Aktor 1210 zu steuern.
  • In weiteren Ausführungsformen kann das Aktorsteuersystem 1240 einen Sensor 1230 umfassen. Der Sensor 1230 kann eine Kamera, ein Radar- oder Lidar-Sensor sein. Die Sensoren sind nicht auf diese beschränkt, und andere vorstellbare Sensoren wie z. B. ein Audiosensor sind auch anwendbar. In noch weiteren Ausführungsformen kann das Aktorsteuersystem 1240 alternativ oder zusätzlich den Aktor 1210 umfassen.
  • Darüber hinaus kann das Aktorsteuersystem 1240 einen Prozessor 45 (oder mehrere Prozessoren) und wenigstens ein maschinenlesbares Speichermedium 46 umfassen, auf dem Anweisungen gespeichert sind, die dann, wenn sie ausgeführt werden, bewirken, dass das Aktorsteuersystem 1240 die Verfahren gemäß einer der vorhergehenden Figuren ausführt.
  • Alternativ oder zusätzlich zu dem Aktor 1210 kann die Ausführungsform eine Anzeigeeinheit 1210a umfassen, die ebenfalls in Übereinstimmung mit den Aktorsteuerbefehlen A gesteuert werden kann. Alternativ gehört die Anzeigeeinheit 1210a zu einem Messsystem, wobei das automatisch lernende System verwendet wird, um einen Messwert abhängig von dem Eingabewert zu bestimmen.
  • In einer weiteren Ausführungsform des Aktorsteuersystems 1240 umfasst das Aktorsteuersystem 1240 einen Robustheitszertifikatgenerator 1247. Der Robustheitszertifikatgenerator 1247 ist konfiguriert, ein Robustheitszertifikat zu erzeugen, das beispielsweise dem in 8 gezeigten Verfahren entspricht. Ein erzeugtes Robustheitszertifikat kann auf der Anzeigeeinheit 1210a angezeigt werden oder kann verwendet werden, um den Steuerbefehl A zum Steuern des Aktors 1210 freizugeben. In einer weiteren Ausführungsform umfasst das Aktorsteuersystem 1240 einen Detektor 1248 für feindliche Beispiele, der das Verfahren gemäß 8 ausführt.
  • In allen vorstehenden Ausführungsformen kann das automatisch lernende System 1260 einen Klassierer umfassen, der konfiguriert ist, das Eingabesignal x als zu einer von mehreren vordefinierten Klassen gehörend zu klassifizieren. In einer weiteren Ausführungsform ist das automatisch lernende System 1260 konfiguriert, einen Bildbereich zu klassifizieren, oder ist konfiguriert, ein Bild pixelweise zu klassifizieren.
  • Zusätzlich oder alternativ wird das Ausgabesignal y oder das Steuersignal oder der Steuerbefehl A auf der Anzeigeeinheit 1210a angezeigt.
  • 13 zeigt eine Ausführungsform, in der das Aktorsteuersystem 1240 verwendet wird, um einen wenigstens teilweise autonomen Roboter, z. B. ein wenigstens teilweise autonomes Fahrzeug 1300, abhängig von dem Ausgabewert des automatisch lernenden Systems 1260 zu steuern.
  • Der Sensor 1230 kann einen oder mehrere Videosensoren und/oder einen oder mehrere Radarsensoren und/oder einen oder mehrere Ultraschallsensoren und/oder einen oder mehrere LiDAR-Sensoren und einen oder mehrere Positionssensoren (wie z. B. GPS) umfassen. Einige dieser oder alle Sensoren sind vorzugsweise jedoch nicht notwendigerweise in dem Fahrzeug 1300 integriert.
  • Alternativ oder zusätzlich kann der Sensor 1230 ein Informationssystem zum Bestimmen eines Zustands des Aktorsystems umfassen. Ein Beispiel für ein solches Informationssystem ist ein Wetterinformationssystem, das einen derzeitigen oder zukünftigen Zustand des Wetters in der Umgebung 1220 bestimmt. Weitere Informationen können durch das Kommunikationssystem oder über das Internet empfangen werden.
  • Beispielsweise kann unter Verwendung des Eingabesignals x das automatisch lernende System 1260 beispielsweise Objekte in der Nähe des wenigstens teilweise autonomen Roboters detektieren. Das Ausgabesignal y kann eine Information umfassen, die Objekte charakterisiert, die sich in der Nähe des wenigstens teilweise autonomen Roboters befinden. Der Steuerbefehl A kann denn in Übereinstimmung mit dieser Information bestimmt werden, beispielsweise um Kollisionen mit den detektierten Objekten zu vermeiden.
  • Der Aktor 1210, der vorzugsweise in dem Fahrzeug 1300 integriert ist, kann durch eine Bremse, einen Antriebssystem, eine Kraftmaschine, einen Triebstrang oder eine Lenkung des Fahrzeugs 1300 gegeben sein. Die Aktorsteuerbefehle A können so bestimmt werden, dass der Aktor (oder die Aktoren) 1210 so gesteuert wird/werden, dass das Fahrzeug 1300 Kollisionen mit den detektierten Objekten vermeidet. Detektierte Objekte können auch danach klassifiziert werden, wofür sie das automatisch lernende System 1260 am wahrscheinlichsten hält, z. B. Fußgänger oder Bäume, und die Aktorsteuerbefehle A können abhängig von der Klassifizierung bestimmt werden.
  • In weiteren Ausführungsformen kann der wenigstens teilweise autonome Roboter durch einen weiteren mobilen Roboter (nicht gezeigt) gegeben sein, der sich beispielsweise durch Fliegen, Schwimmen, Tauchen oder Schreiten fortbewegen kann. Der mobile Roboter kann unter anderem ein wenigstens teilweise autonomer Rasenmäher oder ein wenigstens teilweise autonomer Putzroboter sein. In allen vorstehenden Ausführungsformen kann der Aktorsteuerbefehl A so bestimmt sein, dass die Antriebseinheit und/oder Lenkung und/oder Bremse des mobilen Roboters so gesteuert werden, dass der mobile Roboter Kollisionen mit den identifizierten Objekten vermeidet.
  • In einer weiteren Ausführungsform kann der wenigstens teilweise autonome Roboter durch einen Gartenpflegeroboter (nicht gezeigt) gegeben sein, der den Sensor 1230, vorzugsweise einen optischen Sensor, verwendet, um einen Zustand von Pflanzen in der Umgebung 1220 zu bestimmen. Der Aktor 1210 kann eine Düse zum Sprühen von Chemikalien sein. Abhängig von einer identifizierte Spezies und/oder einem identifizierten Zustand der Pflanzen kann ein Aktorsteuerbefehl A bestimmt werden, um zu bewirken, dass der Aktor 1210 die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.
  • In noch weiteren Ausführungsformen kann der wenigstens teilweise autonome Roboter durch ein Haushaltsgerät (nicht gezeigt) gegeben sein, wie z. B. eine Waschmaschine, ein Herd, ein Backofen, ein Mikrowellengerät oder ein Geschirrspüler. Der Sensor 1230, z. B. ein optischer Sensor, kann einen Zustand eines Objekts detektieren, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Beispielsweise kann in dem Fall, in dem das Haushaltsgerät eine Waschmaschine ist, der Sensor 1230 den Zustand der Wäsche innerhalb der Waschmaschine detektieren. Das Aktorsteuersignal A kann denn abhängig von einem detektierten Material der Wäsche bestimmt werden.
  • In 14 ist eine Ausführungsform gezeigt, in der das Aktorsteuersystem 1240 verwendet wird, um eine Produktionsmaschine 1411, z. B. ein Stanzgerät, ein Schneidewerkzeug oder einen Tieflochbohrer, eines Produktionssystems 200 zu steuern, z. B. als Teil einer Produktionslinie. Das Aktorsteuersystem 1240 steuert einen Aktor 1210, der wiederum die Produktionsmaschine 1413 steuert, abhängig von dem Ausgabewert des automatisch lernenden Systems 1260 des Aktorsteuersystems 1240.
  • Der Sensor 1230 kann durch einen optischen Sensor gegeben sein, der die Eigenschaften z. B. eines produzierten Produkts 1412 erfasst. Das automatisch lernende System 1260 kann einen Zustand des produzierten Produkts 1412 oder das produzierte Produkt 1412 selbst aus diesen erfassten Eigenschaften bestimmen. Der Aktor 1210, der die Produktionsmaschine 1411 steuert, kann dann abhängig von dem bestimmten Zustand des produzierten Produkts 1412 für einen nachfolgenden Produktionsschritt des produzierten Produkts 1412, der durch das automatisch lernende System 1260 bestimmt ist oder durch das Aktorsteuersystem 1240 bestimmt ist, gesteuert werden. Alternativ ist vorstellbar, dass der Aktor 1210 während der Produktion eines nachfolgenden produzierten Produkts 1412 abhängig von dem bestimmten Zustand des produzierten Produkts 1412 gesteuert wird.
  • In 15 ist eine Ausführungsform gezeigt, in der das Aktorsteuersystem 1240 zum Steuern eines automatisierten persönlichen Assistenten 1502 verwendet wird. In einer bevorzugten Ausführungsform kann der Sensor 1230 ein Akustiksensor sein, der Sprachbefehle eines menschlichen Anwenders 1501 empfängt. Der Sensor 1230 kann außerdem einen optischen Sensor umfassen, z. B. zum Empfangen von Videobildern einer Geste des Anwenders 1501.
  • Das Aktorsteuersystem 1240 bestimmt dann die Aktorsteuerbefehle A zum Steuern des automatisierten persönlichen Assistenten 1502. Die Aktorsteuerbefehle A werden in Übereinstimmung mit dem Sensorsignal S des Sensors 1230 bestimmt. Das Sensorsignal S wird zu dem Aktorsteuersystem 1240 übertragen. Beispielsweise kann das automatisch lernende System 1260 konfiguriert sein, z. B. einen Gestenerkennungsalgorithmus auszuführen, um eine durch einen Anwender 1501 gemachte Geste zu identifizieren, oder es kann konfiguriert sein, einen Sprachbefehlserkennungsalgorithmus auszuführen, um einen gesprochenen Befehl, der von dem Anwender 1501 geäußert wird, zu identifizieren. Das Aktorsteuersystem 1240 kann dann einen Aktorsteuerbefehl A zum Übertragen zu dem automatisierten persönlichen Assistenten 1502 bestimmen. Es überträgt dann den Aktorsteuerbefehl A zu dem automatisierten persönlichen Assistenten 1502.
  • Beispielsweise kann der Aktorsteuerbefehl A in Übereinstimmung mit der identifizierten Anwendergeste oder dem identifizierten Anwendersprachbefehl, die/der durch das automatisch lernende System 1260 erkannt ist, bestimmt werden. Er kann dann Informationen umfassen, die bewirken, dass der automatisierte persönliche Assistent 1502 Informationen aus einer Datenbank abruft und diese abgerufenen Informationen in einer zum Empfang durch den Anwender 1501 geeigneten Form ausgibt.
  • In weiteren Ausführungsformen ist vorstellbar, dass das Aktorsteuersystem 1240 anstelle des automatisierten persönlichen Assistenten 1502 ein Haushaltsgerät (nicht gezeigt) steuert, das in Übereinstimmung mit der identifizierten Anwendergeste oder dem identifizierten Anwendersprachbefehl gesteuert wird. Das Haushaltsgerät kann eine Waschmaschine, ein Herd, ein Backofen ein Mikrowellengerät oder ein Geschirrspüler sein.
  • In 16 ist eine Ausführungsform gezeigt, in der das Aktorsteuersystem ein Zugangssteuersystem 1602 steuert. Das Zugangssteuersystem kann konstruiert sein, um den Zugang physikalisch zu steuern. Es kann beispielsweise eine Tür 1601 umfassen. Der Sensor 1230 ist konfiguriert, eine Szene zu detektieren, die zum Entscheiden, ob der Zugang gewährt wird oder nicht, relevant ist. Es kann beispielsweise ein optischer Sensor zum Bereitstellen von Bild- oder Videodaten zum Detektieren des Gesichts einer Person sein. Das automatisch lernende System 1260 kann konfiguriert sein, diese Bild- oder Videodaten zu interpretieren, z. B. durch Abgleichen der Identitäten mit bekannten Personen, die in einer Datenbank gespeichert sind, und dadurch Bestimmen einer Identität der Person. Das Aktorsteuersignal A kann dann abhängig von der Interpretation des automatisch lernenden Systems 1260 bestimmt werden, z. B. in Übereinstimmung mit der bestimmten Identität. Der Aktor 1210 kann ein Schloss sein, das abhängig von dem Aktorsteuersignal A Zugang gewährt oder nicht. Eine nicht physikalische, logische Zugangssteuerung ist ebenfalls möglich. In einer weiteren Ausführungsform steuert das Aktorsteuersystem ein Heizungssystem, wobei das Aktorsteuersystem konfiguriert ist, das gewünschte Klima des Besitzers abhängig von einer gemessenen Temperatur und/oder Luftfeuchtigkeitswerten und optional abhängig von einer Wettervorhersage oder der Tageszeit zu bestimmen.
  • In 17 ist eine Ausführungsform gezeigt, in der das Aktorsteuersystem 1240 ein Überwachungssystem 1701 steuert. Diese Ausführungsform ist weitgehend mit der in 16 gezeigten Ausführungsform identisch. Deshalb werden nur die sich unterscheidenden Aspekte genau beschrieben. Der Sensor 1230 ist konfiguriert, eine Szene, die überwacht wird, zu detektieren. Das Aktorsteuersystem steuert nicht notwendigerweise einen Aktor 1210, sondern eine Anzeigevorrichtung 1210a. Beispielsweise kann das automatisch lernende System 1260 bestimmen, ob eine durch den optischen Sensor 1230 detektierte Szene verdächtig ist. Das Aktorsteuersignal A, das zu der Anzeigevorrichtung 1210a übertragen wird, kann dann z. B. konfiguriert sein zu bewirken, dass die Anzeigevorrichtung 1210a ein Objekt, das durch das automatisch lernende System 1260 als verdächtig erachtet wird, hervorhebt.
  • In 18 ist eine Ausführungsform eines Aktorsteuersystems 1240 zum Steuern eines Bildaufnahmesystems 1800 gezeigt, beispielsweise eine MRI-Vorrichtung, eine Röntgenbildaufnahmevorrichtung oder eine Ultraschallbildaufnahmevorrichtung. Der Sensor 1230 kann beispielsweise ein Bildaufnahmesensor sein, dessen erfasstes Bild durch das automatisch lernende System 1260 interpretiert wird. Das Aktorsteuersignal A kann dann in Übereinstimmung mit dieser Interpretation gewählt werden, und dadurch wird die Anzeigevorrichtung 1210a gesteuert. Beispielsweise kann das automatisch lernende System 1260 einen Bereich des erfassten Bilds als potentiell anomal interpretieren. In diesem Fall kann ein Aktorsteuersignal A bestimmt werden, um zu bewirken, dass die Anzeigevorrichtung 1210a die Bildaufnahme anzeigt und den potentiell anomalen Bereich hervorhebt.
  • In 19 ist eine Ausführungsform eines Trainingssystems 1900 zum (Neu-) Trainieren des automatisch lernenden Systems 1260 gezeigt, insbesondere ist das Trainingssystem konfiguriert, das Verfahren gemäß 6 auszuführen. Eine Trainingsdateneinheit 1901 bestimmt die Ausgabesignale x, die zu dem automatisch lernenden System 1260 weitergeleitet werden. Beispielsweise kann die Trainingsdateneinheit 1901 auf eine computerimplementierte Datenbank Q zugreifen, in der eine Menge T von Trainingsdaten gespeichert ist. Die Menge T umfasst Paare aus einem Eingabesignal x und einem entsprechenden gewünschten gekennzeichneten Ausgabesignal ytrue. Die Trainingsdateneinheit 1901 wählt Proben aus der Menge T aus, z. B. zufällig. Das Eingabesignal x einer ausgewählten Probe wird zu dem automatisch lernenden System 1260 weitergeleitet. Das gewünschte Ausgabesignal ytrue wird zu der Bewertungseinheit 1902 weitergeleitet.
  • Das automatisch lernende System 1260 ist konfiguriert, Ausgabesignale y aus Eingabesignalen x zu berechnen. Diese Ausgabesignale x werden ebenfalls zu der Bewertungseinheit 1902 weitergeleitet.
  • Eine Modifikationseinheit 1903 bestimmt aktualisierte Parameter θ' abhängig von der Eingabe aus der Bewertungseinheit 1902. Die aktualiserten Parameter θ' werden zu dem Parameterspeicher P übertragen, um vorhandene Parameter θ des automatisch lernenden Systems zu ersetzen oder die Parameter gemäß den aktualisierten Parametern θ' anzupassen.
  • Beispielsweise ist vorstellbar, dass die Bewertungseinheit 1902 den Wert der Verlustfunktionen L abhängig von Ausgabesignalen y und der gewünschten Ausgabe ytrue bestimmt. Die Modifikationseinheit 1903 kann dann aktualisierte Parameter θ' unter Verwendung z. B. eines stochastischen Gradientenverfahrens berechnen, um die Verlustfunktion L zu optimieren.
  • Darüber hinaus kann das Trainingssystem 1900 einen Prozessor 1904 (oder mehrere Prozessoren) und wenigstens ein maschinenlesbares Speichermedium 1905 umfassen, auf dem Anweisungen gespeichert sind, die dann, wenn sie ausgeführt werden, bewirken, dass das Aktorsteuersystem 1900 ein Verfahren gemäß einem Aspekt der Erfindung ausführt.
  • Vorzugsweise umfasst der Prozessor 1904 wenigstens eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU) und/oder eine Tensorverarbeitungseinheit (TPU). Alternativ kann der Prozessor 1904 in ein System verteilter Computer partitioniert sein, die miteinander über ein Kommunikationssystem wie z. B. das Internet verbunden sind. Das Computersystem kann Backend-Komponenten, z. B. Datenserver, und Middleware-Komponenten, z. B. einen Anwendungs/Clientserver, und Frontend-Komponenten, z. B. einen Computer mit einer grafischen Schnittstelle und/oder einen Sensor wie eine Kamera oder ein Sensornetz umfassen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102018200724 [0002]
    • DE 102018208763 [0003]

Claims (28)

  1. Verfahren zum Testen eines automatisch lernenden Systems (100), insbesondere eines künstlichen neuronalen Netzes, wobei das Verfahren bestimmt, ob eine kleine Modifikation (Δ) an einem Testeingabewert (x) des automatisch lernenden Systems (100) verursachen kann oder nicht, dass ein Ausgabewert (ypred) des automatisch lernenden Systems (100) einem vorbestimmten Zielausgabewert (ytarg) entspricht, wobei eine Modifikation des Testeingabewerts (x) eine kleine Modifikation (Δ) ist, falls eine Größe der Modifikation kleiner als ein oder gleich einem vorbestimmten Ausmaß (ε) der Modifikation ist, wobei das automatisch lernende System (100) eine Eingabeschicht zum Empfangen des Testeingabewerts (x) und eine Ausgabeschicht zum Ausgeben des Ausgabewerts (ypred) des automatisch lernenden Systems (100) umfasst, wobei das Verfahren die folgenden Schritte umfasst: - Bestimmen eines zweiten Ausgabewerts (c), der von dem vorbestimmten Zielausgabewert (ytarg) und einem Referenzausgabewert abhängt, wobei der Referenzausgabewert einer aus entweder a) einem Ausgabewert (ytrue), der dem Testeingabewert (x) zugewiesen ist, oder b) dem Ausgabewert (ypred) des automatisch lernenden Systems (100) ist; - Bereitstellen eines zweiten automatisch lernenden Systems (500) basierend auf dem automatisch lernenden System (100), wobei jede Schicht des zweiten automatisch lernenden Systems (500) einer entsprechenden Schicht (110) des automatisch lernenden Systems (100) entspricht, wobei die Ausgabeschicht des zweiten automatisch lernenden Systems (500) der Eingabeschicht des automatisch lernenden Systems (100) entspricht und die Eingabeschicht des zweiten automatisch lernenden Systems (500) der Ausgabeschicht des automatisch lernenden Systems (100) entspricht; - Eingeben des zweiten Ausgabewerts (c) in die Eingabeschicht des zweiten automatisch lernenden Systems (500) und Propagieren des zweiten Ausgabewerts (c) durch das zweite automatisch lernende System (500); - Bestimmen abhängig von dem Ausgabewert, der aus dem Propagieren des zweiten Ausgabewerts (c) durch das zweite automatisch lernende System (500) resultiert, ob eine kleine Modifikation (Δ) an dem Testeingabewert (x) verursachen kann, dass der Ausgabewert des automatisch lernenden Systems (100) dem vordefinierten Zielausgabewert (ytarg) entspricht.
  2. Verfahren nach Anspruch 1, wobei ein Robustheitszertifikat ausgegeben wird, falls die Modifikation (Δ) nicht verursacht, dass der Ausgabewert des automatisch lernenden Systems (100) dem Zielausgabewert entspricht.
  3. Verfahren zum Steuern eines technischen Systems nach Anspruch 2, wobei ein physikalischer Aktor (1210) des technischen Systems abhängig von Ausgabewerten des automatisch lernenden Systems (100) und abhängig von dem ausgegebenen Robustheitszertifikat nach Anspruch 2 gesteuert wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, das ferner die folgenden Schritte umfasst: - Bestimmen einer Zielfunktion (J) abhängig von dem Ausgabewert des zweiten automatisch lernenden Systems (500) und abhängig von dem Ausmaß (ε) der Modifikation und abhängig von dem Testeingabewert (x); - Vergleichen der bestimmten Zielfunktion (J) mit einem vorbestimmten Schwellenwert; und - Bestimmen, ob eine kleine Modifikation (Δ) an dem Testeingabewert (x) nicht bewirkt, dass der Ausgabewert (ypred) des Testeingabewerts (x) dem vordefinierten Zielausgabewert (ytarg) entspricht, abhängig von dem Ergebnis des Vergleichs.
  5. Verfahren zum Bestimmen eines größten sicheren Ausmaßes einer Modifikation (Δ) an einem Testeingabewert (x), das keine Änderung des entsprechenden Ausgabewerts (ypred) verursacht, so dass er einem vordefinierten Zielausgabewert (ytarg) entspricht, wobei das Verfahren ferner die folgenden Schritte umfasst: - Bestimmen eines zweiten Ausgabewerts (c), der von dem vorbestimmten Zielausgabewert (ytarg) und einem Referenzausgabewert abhängt, wobei der Referenzausgabewert einer aus entweder a) einem Ausgabewert (ytrue), der dem Testeingabewert (x) zugewiesen ist, oder b) dem Ausgabewert (ypred) des automatisch lernenden Systems (100) ist; - Bereitstellen eines zweiten automatisch lernenden Systems (500) basierend auf dem automatisch lernenden System (100), wobei jede Schicht des zweiten automatisch lernenden Systems (500) einer entsprechenden Schicht (110) des automatisch lernenden Systems (100) entspricht, wobei die Ausgabeschicht des zweiten automatisch lernenden Systems (500) der Eingabeschicht des automatisch lernenden Systems (100) entspricht und die Eingabeschicht des zweiten automatisch lernenden Systems (500) der Ausgabeschicht des automatisch lernenden Systems (100) entspricht; - Eingeben des zweiten Ausgabewerts (c) in die Eingabeschicht des zweiten automatisch lernenden Systems (500) und Propagieren des zweiten Ausgabewerts (c) durch das zweite automatisch lernende System (500); - Bestimmen einer Zielfunktion (J) abhängig von dem Testeingabewert (x) und abhängig von dem Ausgabewert, der aus dem Propagieren des zweiten Ausgabewerts (c) durch das zweite automatisch lernende System (500) resultiert, und abhängig von dem Ausmaß (ε) der Modifikation, - Bestimmen des größten sicheren Ausmaßes der Modifikation abhängig von der Zielfunktion (J), so dass die Zielfunktion (J) nicht kleiner wird als der vorbestimmte Schwellenwert.
  6. Verfahren nach Anspruch 4 oder 5, wobei der vorbestimmte Schwellenwert für die Zielfunktion (J) nicht kleiner als null ist.
  7. Verfahren nach einem der Ansprüche 4 bis 6, wobei einer aus mehreren zweiten Ausgabewerten (c) für jeden aus mehreren vordefinierten Zielausgabewerten bestimmt wird, wobei jeder der mehreren vordefinierten Zielausgabewerte einem sich unterscheidenden Ausgabewert, der von dem Referenzausgabewert verschieden ist, entspricht, wobei die mehreren zweiten Ausgabewerte (c) durch das zweite automatisch lernende System (500) propagiert werden, das mehrere entsprechende Ausgabewerte ausgibt, wobei die Zielfunktion (J) abhängig von den mehreren entsprechenden Ausgabewerten bestimmt wird.
  8. Verfahren zum Detektieren, ob ein bereitgestellter Eingabewert (x) eines automatisch lernenden Systems (100) anomal ist oder nicht, das die folgenden Schritte umfasst: Bestimmen eines größten sicheren Ausmaßes (ε) der Modifikation mit dem Verfahren nach einem der Ansprüche 5 bis 7; Bestimmen, dass der bereitgestellte Eingabewert des automatisch lernenden Systems (100) anomal ist, durch Testen des automatisch lernenden Systems (100) mit dem Verfahren nach Anspruch 1, wobei das vorbestimmte Ausmaß (ε) der Modifikation so ausgewählt ist, dass es nicht größer ist als das größte sichere Ausmaß (e) der Modifikation, und wobei der Testeingabewert (x) so ausgewählt ist, dass er gleich dem Eingabewert (x) ist, und wobei bestimmt wird, dass der Eingabewert anomal ist, falls das Verfahren nach Anspruch 1 ergibt, dass verursacht werden kann, dass sich ein Ausgabewert des automatisch lernenden Systems (100) durch Unterziehen des Eingabewerts einer kleinen Modifikation (Δ) ändern kann.
  9. Verfahren zum Trainieren eines automatisch lernenden Systems (100), wobei das Verfahren die folgenden Schritte umfasst: - Bereitstellen eines gegebenen Ausmaßes (ε) der Modifikation und von Trainingsdaten, die Trainingseingabewerte (x) und entsprechende Trainingsausgabewerte (ytrue) umfassen; - Bereitstellen eines zweiten automatisch lernenden Systems (500) basierend auf dem automatisch lernenden System (100), wobei jede Schicht des zweiten automatisch lernenden Systems (500) einer entsprechenden Schicht (110) des automatisch lernenden Systems (100) entspricht, wobei die Ausgabeschicht des zweiten automatisch lernenden Systems (500) der Ausgabeschicht des automatisch lernenden Systems (100) entspricht und die Eingabeschicht des zweiten automatisch lernenden Systems (500) der Ausgabeschicht des automatisch lernenden Systems (100) entspricht; - Bestimmen für jeden Trainingseingabewert (xi) eines entsprechenden zweiten Ausgabewerts (ci) abhängig von einem vordefinierten Zielausgabewert ( y i t a r g )
    Figure DE102018218586A1_0033
    und abhängig von einem Ausgabewert ( y i p r e d ) ,
    Figure DE102018218586A1_0034
    der dem entsprechenden Trainingseingabewert (xi) entspricht; - Eingeben jedes der entsprechenden zweiten Ausgabewerte (ci) in die Eingabeschicht des zweiten automatisch lernenden Systems (500) und Propagieren der entsprechenden zweiten Ausgabewerte (ci) durch das zweite automatisch lernende System (500), um entsprechende Ausgabewerte des zweiten automatisch lernenden Systems (500) zu ergeben; - Bestimmen wenigstens einer Zielfunktion (Ji) abhängig von dem vorbestimmten Ausmaß (e) der Modifikation und abhängig von wenigstens einem der Trainingseingabewerte (xi) und abhängig von wenigstens einem der entsprechenden Ausgabewerte des zweiten automatisch lernenden Systems (500); - Bestimmen einer Verlustfunktion (L), die von der bestimmten Zielfunktion (Ji) abhängt und die außerdem von wenigstens dem Trainingsausgabewert ( y i t r u e ) ,
    Figure DE102018218586A1_0035
    der dem wenigstens einen der Trainingseingabewerte (xi) entspricht, abhängt; - Anpassen von Parametern des automatisch lernenden Systems (100) zum Optimieren der bestimmten Verlustfunktion (L).
  10. Verfahren nach Anspruch 9, wobei für jeden Trainingseingabewert (xi) mehrere entsprechende unterschiedliche zweite Ausgabewerte (ci) bestimmt werden abhängig von mehreren sich unterscheidenden Ausgabewerten, die von dem Ausgabewert ( y i p r e d )
    Figure DE102018218586A1_0036
    verschieden sind, der durch das automatisch lernende System (100) abhängig von dem entsprechenden Trainingseingabewert (x) bestimmt wird, wobei die mehreren entsprechenden unterschiedlichen zweiten Ausgabewerte (ci) jedes Trainingseingabewerts in die Eingabeschicht des zweiten automatisch lernenden Systems (500) eingegeben werden und durch das zweite automatisch lernende System (500) propagiert werden, wobei die Zielfunktion (J) bestimmt wird abhängig von wenigstens einem der Trainingseingabewerte (xt) und abhängig von den Ausgabewerten des zweiten automatisch lernenden Systems (500), die aus dem Propagieren wenigstens eines der mehreren unterschiedlichen zweiten Ausgabewerte (ci), die dem wenigstens einen der Trainingseingabewerte (xi) entsprechen, durch das zweite automatisch lernende System (500) resultieren.
  11. Verfahren nach Anspruch 9 oder 10, das ferner die folgenden Schritte umfasst: Bestimmen eines größten sicheren Ausmaßes (c) der Modifikation des trainierten automatisch lernenden Systems (100) mit dem Verfahren nach Anspruch 5 oder nach entweder Anspruch 6 oder 7 abhängig von Anspruch 5; und Fortsetzen des Trainierens des trainierten automatisch lernenden Systems (100), falls das größte sichere Ausmaß der Modifikation kleiner ist als ein vorbestimmter zweiter Schwellenwert.
  12. Verfahren nach einem der vorstehenden Ansprüche 9 bis 11, wobei die Schichten gruppiert sind, wobei die gruppierten Schichten getrennt voneinander trainiert werden.
  13. Verfahren zum Steuern eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, einer Maschine oder eines angetriebenen Werkzeugs, wobei ein automatisch lernendes System (100) mit einem Trainingsverfahren mit dem Verfahren nach Anspruch 9 oder 10 trainiert wird, wobei das trainierte automatisch lernende System (100) Eingabedaten, die einen Zustand des technischen Systems charakterisieren, und/oder Parameter zum Steuern des technischen Systems empfängt und wobei ein Aktor (1210) des technischen Systems abhängig von einem Ausgabewert des trainierten automatisch lernenden Systems (100) gesteuert wird.
  14. Verfahren nach einem der vorstehenden Ansprüche 4 bis 13, wobei die Zielfunktion (J) abhängig von einem ersten Term (v1 T*x), der ein Produkt der Ausgabe (v1 T) des zweiten automatisch lernenden Systems (500) multipliziert mit dem Eingabewert des automatisch lernenden Systems (100) charakterisiert, und einem zweiten Term (ε||v1||*), der eine vorbestimmte Norm des Ausgabewerts des zweiten automatisch lernenden Systems (500) gewichtet mit einem Ausmaß (e) der Modifikation charakterisiert, bestimmt wird.
  15. Verfahren nach Anspruch 14, wobei der erste Term der Zielfunktion abhängig von einem vorbestimmten zweiten Normwert (||v̂1||*) der Ausgabe des zweiten automatisch lernenden Systems (500) bestimmt wird, wobei der zweite Normwert durch eine Zufalls-Cauchy-Projektion angenähert wird, wobei für die Näherung eine Zufalls-Cauchy-Matrix durch das zweite automatisch lernende System (500) propagiert wird, wobei die zweite Norm durch Bestimmen des Medians über den Ausgabewert der propagierten Zufalls-Cauchy-Matrix bestimmt wird, und wobei der zweite Term der Zielfunktion (J) auch durch die Zufalls-Cauchy-Projektion genähert wird.
  16. Verfahren nach einem der vorhergehenden Ansprüche, wobei jede der Schichten des automatisch lernenden Systems (100) einen Ausgabewert, der von dem Eingabewert der entsprechenden Schicht abhängig ist, durch eine vorbestimmte jeweilige Transformation (130) berechnet, wobei jede der Schichten des zweiten automatisch lernenden Systems (500) einen Ausgabewert abhängig von einer jeweiligen vorbestimmten zweiten Transformation berechnet, wobei jede Transformation der Schichten des automatisch lernenden Systems (100) durch eine jeweilige Funktion (fi) charakterisiert ist, wobei jede der zweiten Transformationen durch eine zweite Funktion ( f i * )
    Figure DE102018218586A1_0037
    charakterisiert ist, die sich auf eine Konjugierte der Funktion (fi), insbesondere eine Fenchel-konjugierte Funktion ( f i * ) ,
    Figure DE102018218586A1_0038
    der jeweiligen entsprechenden Schicht des automatisch lernenden Systems (100) bezieht.
  17. Verfahren nach Anspruch 16, wobei eine Indikatorfunktion (xi) für jede Schicht (i) des automatisch lernenden Systems (100) definiert ist, wobei für jede Schicht (i) die entsprechende Indikatorfunktion (xi) auf null eingestellt ist, falls der Eingang der Schicht (i) mit genau einer weiteren Schicht des automatisch lernenden Systems (100) verbunden ist, wobei die zweite Funktion ( f i * )
    Figure DE102018218586A1_0039
    abhängig von der Indikatorfunktion (xt) bestimmt wird, wobei für jede Schicht (i) die entsprechende Indikatorfunktion (xt) auf null eingestellt ist, falls der Eingang der Schicht (i) mit wenigstens zwei weiteren Schichten des automatisch lernenden Systems (100) verbunden ist.
  18. Verfahren nach Anspruch 17, wobei jede konjugierte Funktion ( x i * )
    Figure DE102018218586A1_0040
    der jeweiligen Indikatorfunktion ( x i * )
    Figure DE102018218586A1_0041
    durch eine obere Schranke der konjugierten Funktion ( x i * )
    Figure DE102018218586A1_0042
    der Indikatorfunktion ( x i * )
    Figure DE102018218586A1_0043
    genähert wird, wobei die obere Schranke durch wenigstens zwei Zusatzfunktionen (g,h) charakterisiert ist, wobei die erste Zusatzfunktion (h) einen Wert der oberen Schranke der konjugierten Funktion ( x i * )
    Figure DE102018218586A1_0044
    der Indikatorfunktion (xi) charakterisiert, wobei die zweite Zusatzfunktion (g) eine vordefinierte Beschränkung zum Bestimmen der ersten Zusatzfunktion (h) ist.
  19. Verfahren nach Anspruch 18, wobei das Bestimmen der Zielfunktion (J) ferner von einer Summe über die ersten Zusatzfunktionen (h) der oberen Schranke der konjugierten Funktionen (xi*) aller Schichten (i) des zweiten automatisch lernenden Systems (500) abhängt.
  20. Verfahren nach einem der vorhergehenden Ansprüche, wobei wenigstens eine der Schichten mit wenigstens zwei anderen Schichten verbunden ist und den Ausgabewert der verbundenen Schichten als ihren Eingabewert empfängt, wobei wenigstens eine der Transformationen eine nichtlineare Funktion ist, insbesondere eine rektifizierte lineare Funktion, und wobei wenigstens eine der Transformationen teilweise eine lineare Transformation ist, die durch einen Parameter (W, b) charakterisiert ist, wobei der Eingabewert wenigstens der Schicht, deren Transformation die nichtlineare Funktion ist, eine begrenzte zulässige Menge von Eingaben aufweist, die durch eine obere und eine untere Schranke (u, l) charakterisiert ist, und wobei die zweite Transformation der Schicht, deren Transformation eine Re-Lu-Funktion ist, wie folgt definiert ist: a) falls die obere Schranke (Ii -) kleiner als null ist, ist die zweite Transformation des Eingabewerts eine Abbildung jedes Eingabewerts auf den Wert null, b) falls die untere Schranke (Ii +) größer als null ist, ist die zweite Transformation des Eingabewerts eine lineare Abbildung jedes Eingabewerts auf den gleichen Wert wie der Eingabewert, c) falls die untere und die obere Schranke (Ii) null überspannen, dann ist die zweite Transformation eine zweite lineare Abbildung, die die Eingabewerte mit einem Parameter (α) gewichtet.
  21. Verfahren nach Anspruch 20, wobei der Parameter (a) der zweiten Transformation abhängig von der oberen Schranke (u) und der unteren Schranke (l) ausgewählt wird, wobei die lineare Transformation als eine Multiplikation des Eingabewerts mit einer Matrix (W) gegeben ist, wobei die zweite Transformation der linearen Transformation durch eine Multiplikation des Eingabewerts mit einer transponierten Matrix (WT) der Matrix (W) charakterisiert ist, wobei das automatisch lernende System (100) ferner eine Batch-Normalisierungs-Schicht umfasst, wobei die Transformation der Batch-Normalisierungs-Schicht durch eine Verschiebung von Mittelwert und Varianz des Eingabewerts abhängig von einem vorbestimmten Mittelwert und einer vorbestimmten Varianz charakterisiert ist, wobei die zweite Transformation der Batch-Normalisierungs-Schicht durch eine Division des Eingabewerts durch die vorbestimmte Varianz charakterisiert ist.
  22. Verfahren nach Anspruch 20 oder 21, wobei die begrenzte zulässige Menge von Eingabewerten ferner auf Eingabewerte begrenzt ist, die eine lineare Ungleichung (Ax≤b) erfüllen, wobei die lineare Ungleichung durch wenigstens einen ersten Parameter (A) und durch einen zweiten Parameter (b) charakterisiert ist.
  23. Verfahren nach Anspruch 22, wobei der erste Parameter (A) Korrelationen zwischen Elementen des Eingabewerts der Schicht, deren Transformation durch die nichtlineare Funktion charakterisiert ist, charakterisiert.
  24. Verfahren nach Anspruch 22 oder 23, wobei der erste Parameter eine Matrix (A) ist, die die oberen und unteren Schranken einer vorausgehenden Schicht umfasst, wobei die Matrix (A) mit einer weiteren Matrix, die die Transformation der vorausgehenden Schicht charakterisiert, multipliziert wird, wobei die weitere Matrix eine Pseudo-Inverse der Gewichtsmatrix der vorausgehenden Schicht ist.
  25. Verfahren nach einem der vorhergehenden Ansprüche 22 bis 24, wobei der zweite Parameter (b) abhängig von einer Optimierung, insbesondere einer Minimierung, einer Transponierten (AT) der Matrix (A) multipliziert mit einem Vektor oder einer Matrix, der/die durch Eingabewerte der jeweiligen Schicht, die vorbestimmten Beschränkungen unterworfen sind, gegeben ist, bestimmt wird.
  26. Automatisch lernendes System (100), das durch das Trainingsverfahren nach dem Verfahren von Anspruch 9 oder einem der Verfahren nach Anspruch 10 bis 12 oder 14 bis 25 abhängig von Anspruch 9 erhalten wird.
  27. Computerprogramm, das Anweisungen umfasst, die dann, wenn sie durch einen Computer ausgeführt werden, bewirken, dass der Computer ein Verfahren nach einem der Ansprüche 1 bis 25 ausführt.
  28. Computerlesbarer Datenträger, der das Computerprogramm nach Anspruch 27 umfasst.
DE102018218586.7A 2018-05-30 2018-10-30 Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme Pending DE102018218586A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862677896P 2018-05-30 2018-05-30
US62/677896 2018-05-30
US201862736858P 2018-09-26 2018-09-26
US62/736858 2018-09-26

Publications (1)

Publication Number Publication Date
DE102018218586A1 true DE102018218586A1 (de) 2020-01-09

Family

ID=66589347

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018218586.7A Pending DE102018218586A1 (de) 2018-05-30 2018-10-30 Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme

Country Status (9)

Country Link
US (2) US11386328B2 (de)
EP (1) EP3576021A1 (de)
KR (1) KR20190136893A (de)
CN (1) CN110554602A (de)
AU (1) AU2018256516A1 (de)
BR (1) BR102019001258A2 (de)
CA (1) CA3022728A1 (de)
DE (1) DE102018218586A1 (de)
MX (1) MX2018013242A (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3876061A1 (de) * 2020-03-06 2021-09-08 Robert Bosch GmbH Verfahren zur validierung und auswahl auf maschinellem lernen basierender modelle zur zustandsüberwachung einer maschine
DE102020208737A1 (de) 2020-07-13 2022-01-13 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Bewerten und Zertifizieren einer Robustheit eines KI-basierten Informationsverarbeitungssystems
EP3985565A1 (de) 2020-10-15 2022-04-20 Volkswagen Ag Verfahren und vorrichtung zum überprüfen eines beim teilautomatisierten oder vollautomatisierten steuern eines fahrzeugs verwendeten ki-basierten informationsverarbeitungssystems
DE102020213058A1 (de) 2020-10-15 2022-04-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11547052B1 (en) * 2018-10-10 2023-01-10 Hydro-Gear Limited Partnership Audible operator feedback for riding lawn mower applications
US11200438B2 (en) 2018-12-07 2021-12-14 Dus Operating Inc. Sequential training method for heterogeneous convolutional neural network
US11200318B2 (en) * 2018-12-28 2021-12-14 Mcafee, Llc Methods and apparatus to detect adversarial malware
US11625487B2 (en) * 2019-01-24 2023-04-11 International Business Machines Corporation Framework for certifying a lower bound on a robustness level of convolutional neural networks
US11068069B2 (en) * 2019-02-04 2021-07-20 Dus Operating Inc. Vehicle control with facial and gesture recognition using a convolutional neural network
CN111027628B (zh) * 2019-12-12 2022-03-11 支付宝(杭州)信息技术有限公司 一种模型确定方法和系统
US10846407B1 (en) 2020-02-11 2020-11-24 Calypso Ai Corp Machine learning model robustness characterization
US11568021B2 (en) 2020-02-21 2023-01-31 Alibaba Group Holding Limited Vector-vector multiplication techniques for processing systems
CN111368886B (zh) * 2020-02-25 2023-03-21 华南理工大学 一种基于样本筛选的无标注车辆图片分类方法
CN111401292B (zh) * 2020-03-25 2023-05-26 成都东方天呈智能科技有限公司 一种融合红外图像训练的人脸识别网络构建方法
CN111461307B (zh) * 2020-04-02 2022-04-29 武汉大学 一种基于生成对抗网络的通用扰动生成方法
EP3896613A1 (de) * 2020-04-14 2021-10-20 Robert Bosch GmbH Vorrichtung und verfahren zum trainieren eines klassifikators und beurteilen der robustheit eines klassifikators
US20210334646A1 (en) * 2020-04-28 2021-10-28 International Business Machines Corporation Robustness-aware quantization for neural networks against weight perturbations
DE102020114339A1 (de) * 2020-05-28 2021-12-02 Ebm-Papst Mulfingen Gmbh & Co. Kg Verfahren zum Betreiben eines Ventilatorsystems und Ventilatorsystem mit einem rückwärtsgekrümmten Radialventilator
CN111709878B (zh) * 2020-06-17 2023-06-23 北京百度网讯科技有限公司 人脸超分辨率实现方法、装置、电子设备及存储介质
KR102598909B1 (ko) * 2020-09-03 2023-11-06 부산대학교 산학협력단 적대적 사례에 강인한 심층 신경망 모델을 위한 입력 장치 및 방법
US11687619B2 (en) * 2020-10-02 2023-06-27 Robert Bosch Gmbh Method and system for an adversarial training using meta-learned initialization
JP2022085164A (ja) 2020-11-27 2022-06-08 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング データ処理装置、ニューラルネットワークの深層学習の方法及びプログラム
US11907334B2 (en) * 2020-12-08 2024-02-20 International Business Machines Corporation Neural network negative rule extraction
CN114200841B (zh) * 2021-12-13 2023-05-23 电子科技大学 一种基于模糊反步的网联汽车系统安全控制方法
CN115114395B (zh) * 2022-04-15 2024-03-19 腾讯科技(深圳)有限公司 内容检索及模型训练方法、装置、电子设备和存储介质
CN114756214B (zh) * 2022-06-15 2022-08-12 中国海洋大学 基于OpenCV和插件的图像处理方法、装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
DE102018208763A1 (de) 2018-06-04 2019-12-05 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines maschinellen Lernsystems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884216A (en) * 1987-11-09 1989-11-28 Michael Kuperstein Neural network system for adaptive sensory-motor coordination of multijoint robots for single postures
US8688616B2 (en) * 2010-06-14 2014-04-01 Blue Prism Technologies Pte. Ltd. High-dimensional data analysis
US8712940B2 (en) * 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
CN104392143B (zh) * 2014-12-09 2017-05-17 北京四方继保自动化股份有限公司 一种自适应量子神经网络汽轮机故障趋势预测方法
CN105512725B (zh) * 2015-12-14 2018-08-28 杭州朗和科技有限公司 一种神经网络的训练方法和设备
US11144889B2 (en) * 2016-04-06 2021-10-12 American International Group, Inc. Automatic assessment of damage and repair costs in vehicles
US10810481B2 (en) * 2017-01-11 2020-10-20 Thomas Danaher Harvey Method and system to count movements of persons from vibrations in a floor
WO2019227294A1 (zh) * 2018-05-28 2019-12-05 华为技术有限公司 图像处理方法、相关设备及计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
DE102018208763A1 (de) 2018-06-04 2019-12-05 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines maschinellen Lernsystems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3876061A1 (de) * 2020-03-06 2021-09-08 Robert Bosch GmbH Verfahren zur validierung und auswahl auf maschinellem lernen basierender modelle zur zustandsüberwachung einer maschine
DE102020208737A1 (de) 2020-07-13 2022-01-13 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Bewerten und Zertifizieren einer Robustheit eines KI-basierten Informationsverarbeitungssystems
WO2022013121A1 (de) 2020-07-13 2022-01-20 Volkswagen Aktiengesellschaft Verfahren und vorrichtung zum bewerten und zertifizieren einer robustheit eines ki-basierten informationsverarbeitungssystems
EP3985565A1 (de) 2020-10-15 2022-04-20 Volkswagen Ag Verfahren und vorrichtung zum überprüfen eines beim teilautomatisierten oder vollautomatisierten steuern eines fahrzeugs verwendeten ki-basierten informationsverarbeitungssystems
DE102020213057A1 (de) 2020-10-15 2022-04-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Überprüfen eines beim teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs verwendeten KI-basierten Informationsverarbeitungssystems
DE102020213058A1 (de) 2020-10-15 2022-04-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs
US11912289B2 (en) 2020-10-15 2024-02-27 Volkswagen Aktiengesellschaft Method and device for checking an AI-based information processing system used in the partially automated or fully automated control of a vehicle

Also Published As

Publication number Publication date
AU2018256516A1 (en) 2019-12-19
BR102019001258A2 (pt) 2019-12-03
US11386328B2 (en) 2022-07-12
MX2018013242A (es) 2019-12-02
US20200026996A1 (en) 2020-01-23
EP3576021A1 (de) 2019-12-04
CA3022728A1 (en) 2019-11-30
KR20190136893A (ko) 2019-12-10
CN110554602A (zh) 2019-12-10
US20190370660A1 (en) 2019-12-05
US11676025B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
DE102018218586A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erzeugen robuster automatisch lernender Systeme und Testen trainierter automatisch lernender Systeme
DE102014223226A1 (de) Diskriminator, Unterscheidungsprogramm und Unterscheidungsverfahren
DE112009000480T5 (de) Dynamische Objektklassifikation
DE112020000448T5 (de) Kameraselbstkalibrierungsnetz
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE112020003343T5 (de) System und verfahren mit einem robusten tiefen generativen modell
WO2019211497A2 (de) Computer implementiertes verfahren zur bewertung der integrität von neuronalen netzen
EP3754557A1 (de) Robustheitsanzeigeeinheit, zertifikatbestimmungseinheit, trainingseinheit, steuerungseinheit und computerimplementiertes verfahren zur bestimmung eines robustheitsindikators
DE102018222347A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102018119467A1 (de) Autonomer betrieb durch tiefes räumlich-zeitliches lernen
WO2020173700A1 (de) Verfahren und vorrichtung zum betreiben eines steuerungssystems
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
DE102018218834A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Ansteuersignals
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE202020104005U1 (de) Vorrichtung zum Erstellen eines Systems zum automatisierten Erstellen von maschinellen Lernsystemen
DE102021202813A1 (de) Verfahren, Vorrichtung und Computerprogramm für eine Unsicherheitsbewertung einer Bildklassifikation
DE102020208828A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102019215120A1 (de) Verfahren und Vorrichtung zum Klassifizieren von Sensordaten und zum Ermitteln eines Ansteuersignals zum Ansteuern eines Aktors
DE102020208309A1 (de) Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102018216078A1 (de) Verfahren und Vorrichtung zum Betreiben eines Steuerungssystems
DE102021200439A1 (de) Verbessertes Anlernen von maschinellen Lernsysteme für Bildverarbeitung
DE202021100225U1 (de) Verbesserte Vorrichtung zum Anlernen von maschinellen Lernsysteme für Bild-verarbeitung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BEE, JOACHIM, DIPL.-ING., DE