DE102018207220A1 - A method, apparatus and computer program for detecting a calculation error or a malfunction - Google Patents

A method, apparatus and computer program for detecting a calculation error or a malfunction Download PDF

Info

Publication number
DE102018207220A1
DE102018207220A1 DE102018207220.5A DE102018207220A DE102018207220A1 DE 102018207220 A1 DE102018207220 A1 DE 102018207220A1 DE 102018207220 A DE102018207220 A DE 102018207220A DE 102018207220 A1 DE102018207220 A1 DE 102018207220A1
Authority
DE
Germany
Prior art keywords
neural network
output
input
learned neural
learned
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
DE102018207220.5A
Other languages
German (de)
Inventor
Christoph Schorn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102018207220.5A priority Critical patent/DE102018207220A1/en
Publication of DE102018207220A1 publication Critical patent/DE102018207220A1/en
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
    • 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/044Recurrent networks, e.g. Hopfield 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/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/048Activation functions
    • 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
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems

Abstract

Die Erfindung betrifft ein Verfahren (30) zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion (23) einer Recheneinheit oder eines Speichers beim Betreiben eines ersten angelernten neuronalen Netzes (201) auf der Recheneinheit mittels eines zweiten angelernten neuronalen Netzes (202). Die Erfindung betrifft ferner ein Computersystem, Computerprogramm und ein maschinenlesbares Speicherelement, auf dem das Computerprogramm gespeichert ist.

Figure DE102018207220A1_0000
The invention relates to a method (30) for detecting a calculation error or a malfunction (23) of a computing unit or a memory when operating a first learned neural network (201) on the computing unit by means of a second trained neural network (202). The invention further relates to a computer system, computer program and a machine-readable storage element, on which the computer program is stored.
Figure DE102018207220A1_0000

Description

Technisches GebietTechnical area

Die Erfindung betrifft ein Verfahren zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion eines neuronalen Netzes. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.The invention relates to a method for detecting a calculation error or a malfunction of a neural network. Likewise, the invention relates to a device and a computer program, each of which is adapted to carry out the method.

Stand der TechnikState of the art

Die DE 10 2006 031 238 B4 offenbart eine Vorrichtung und ein Verfahren zur Ansteuerung von Personenschutzmitteln. Ein erster Algorithmus trifft, in Abhängigkeit von einem Vergleich eines von einem Unfallsignal abgeleiteten Signals mit einer Kennlinie, eine Entscheidung zur Ansteuerung. Ein zweiter Algorithmus beeinflusst mittels eines neuronalen Netzwerks, in Abhängigkeit von einer Auswertung des Unfallsignals, den ersten Algorithmus.The DE 10 2006 031 238 B4 discloses a device and a method for controlling personal protection devices. A first algorithm makes a decision to drive in response to a comparison of a signal derived from an accident signal with a characteristic. A second algorithm, by means of a neural network, in dependence on an evaluation of the accident signal, influences the first algorithm.

Offenbarung der ErfindungDisclosure of the invention

In einem ersten Aspekt wird ein Verfahren zum Detektieren eines Berechnungsfehlers oder eines Funktionsfehlers einer Recheneinheit oder eines Speichers beim Betreiben eines ersten angelernten neuronalen Netzes auf der Recheneinheit mittels eines zweiten angelernten neuronalen Netzes offenbart. Das Verfahren umfasst die Schritte:In a first aspect, a method is disclosed for detecting a computational error or a malfunction of a computational unit or a memory when operating a first learned neural network on the arithmetic unit by means of a second learned neural network. The method comprises the steps:

Ermitteln jeweils wenigstens einer Ausgangsgröße einer Mehrzahl von Schichten des ersten angelernten neuronalen Netzes abhängig von einer Eingangsgröße der jeweiligen Schicht und der jeweiligen Schicht zugeordneten Parametern, die in dem Speicher hinterlegt sind. Anschließend wird eine Eingangsgröße des zweiten angelernten neuronalen Netzes bereitgestellt. Die Eingangsgröße umfasst wenigstens eine, insbesondere eine Mehrzahl, der Ausgangsgrößen der Schichten des ersten angelernten neuronalen Netzes. Vorzugsweise umfasst die Eingangsgröße zumindest eine Ausgangsgröße der vorletzten Schicht, da diese Informationen ihrer vorhergehenden Schichten aufweist. Daraufhin wird eine Ausgangsgröße des zweiten angelernten neuronalen Netzes, in Abhängigkeit der bereitgestellten Eingangsgröße, ermittelt. Abhängig von dieser Ausgangsgröße des zweiten angelernten neuronalen Netzes wird ermittelt, ob ein Berechnungsfehler oder eine Fehlfunktion der Recheneinheit oder des Speichers aufgetreten ist. Vorzugsweise charakterisiert die Ausgangsgröße des zweiten angelernten neuronalen Netzes, ob ein Berechnungsfehler oder eine Fehlfunktion der Recheneinheit oder des Speichers aufgetreten ist. Zusätzlich oder alternativ kann die Ausgangsgröße den Berechnungsfehler oder die Fehlfunktion charakterisieren, z.B. eine Art des Berechnungsfehlers oder der Fehlfunktion und/oder eine Position, an welcher der Berechnungsfehler oder die Fehlfunktion aufgetreten ist.Determining each at least one output of a plurality of layers of the first learned neural network depending on an input of the respective layer and the respective layer associated parameters, which are stored in the memory. Subsequently, an input of the second trained neural network is provided. The input quantity comprises at least one, in particular a plurality, of the output variables of the layers of the first learned neural network. The input variable preferably comprises at least one output of the penultimate layer, since this has information of its preceding layers. Then, an output of the second trained neural network, depending on the provided input size is determined. Depending on this output quantity of the second trained neural network, it is determined whether a calculation error or a malfunction of the arithmetic unit or of the memory has occurred. Preferably, the output of the second learned neural network characterizes whether a calculation error or malfunction of the arithmetic unit or the memory has occurred. Additionally or alternatively, the output may characterize the calculation error or malfunction, e.g. a type of the calculation error or the malfunction and / or a position where the calculation error or the malfunction has occurred.

Unter einem angelernten neuronalen Netz wird ein neuronales Netz verstanden, welches, unter Verwendung vorgebbarer Trainingsdaten, angelernt wurde um eine vorgebbare Aufgabe zu lösen. Unter einer Fehlfunktion kann eine nicht ordnungsgemäße Funktion der jeweiligen Komponente verstanden werden.A trained neural network is understood to be a neural network which has been taught using predeterminable training data in order to solve a predefinable task. A malfunction can be understood as an improper functioning of the respective component.

Der Vorteil hierbei ist, dass mittels des zweiten angelernten neuronalen Netzes das erste angelernte neuronale Netz überwacht wird und somit ein besonders zuverlässiges und sicheres Verfahren zum Betreiben des ersten angelernten neuronalen Netzes bereitgestellt wird. Daher kann das erste angelernte neuronale Netz selbst in sicherheitskritischen Situationen verwendet werden.The advantage here is that the first learned neural network is monitored by means of the second learned neural network and thus a particularly reliable and secure method for operating the first learned neural network is provided. Therefore, the first learned neural network can be used even in safety critical situations.

Es wird vorgeschlagen, dass eine Ausgangsgröße einer letzten Schicht des ersten angelernten neuronalen Netzes eine Eingangsgröße einer ersten Schicht, insbesondere Eingangsschicht, des ersten angelernten neuronalen Netzes charakterisiert, insbesondere klassifiziert. Die letzte Schicht ist diejenige Schicht, die mit keiner weiteren nachfolgenden Schicht verbunden ist. Die erste Schicht ist diejenige Schicht, die mit keiner vorhergehenden Schicht verbunden ist, also die Eingangsgröße des neuronalen Netzes erhält. Das zweite angelernte neuronale Netz ermittelt eine weitere Ausgangsgröße und diese weitere Ausgangsgröße charakterisiert, insbesondere klassifiziert, ebenfalls die Eingangsgröße der ersten Schicht des ersten angelernten neuronalen Netzes. Wenn ermittelt wurde, dass ein Berechnungsfehler oder eine Fehlfunktion der Recheneinheit oder des Speichers aufgetreten ist, wird abhängig von der weiteren Ausgangsgröße des zweiten angelernten neuronalen Netzes eine Steuergröße ermittelt. Vorzugsweise wird im Falle, dass kein Berechnungsfehler oder keine Fehlfunktion der Recheneinheit oder des Speichers aufgetreten ist, die Steuergröße abhängig von der Ausgangsgröße der letzten Schicht des ersten angelernten neuronalen Netzes ermittelt. Ferner wird vorgeschlagen, dass die weitere Ausgangsgröße des zweiten angelernten neuronalen Netzes nicht durch den Berechnungsfehler oder die Fehlfunktion beeinträchtigt ist.It is proposed that an output variable of a last layer of the first learned neural network characterizes, in particular, classifies an input variable of a first layer, in particular input layer, of the first learned neural network. The last layer is the layer that is not connected to any subsequent layer. The first layer is the layer that is not connected to any previous layer, ie receives the input of the neural network. The second learned neural network determines a further output variable, and this further output variable characterizes, in particular classifies, also the input variable of the first layer of the first learned neural network. If it has been determined that a calculation error or a malfunction of the arithmetic unit or of the memory has occurred, a control variable is determined as a function of the further output variable of the second trained neural network. Preferably, in the event that no calculation error or no malfunction of the arithmetic unit or the memory has occurred, the control variable is determined depending on the output of the last layer of the first learned neural network. It is also proposed that the further output of the second trained neural network is not affected by the calculation error or the malfunction.

Die Steuergröße kann zum Steuern eines Aktors eines technischen Systems verwendet werden. Das technische System kann zum Beispiel ein zumindest teilautonomes Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt, wie eine Drohne, sein.The control quantity can be used to control an actuator of a technical system. The technical system may be, for example, an at least semi-autonomous vehicle, a robot, a tool, a factory machine or a flying object, such as a drone.

Vorteilhaft hieran ist, dass durch die weitere Ausgangsgröße des zweiten angelernten neuronalen Netzes eine Ausgangsgröße bereitgestellt wird, die nicht durch einen Berechnungsfehler oder eine Fehlfunktion der Recheneinheit oder des Speichers beeinträchtigt ist, da das zweite angelernte neuronale Netz die Fehlfunktion erkennt und derart angelernt sein kann, die Fehlfunktion beim Ermitteln der weiteren Ausgangsgröße nicht zu berücksichtigen.An advantage of this is that due to the further output of the second trained neural Network is provided an output that is not affected by a calculation error or malfunction of the arithmetic unit or the memory, since the second trained neural network detects the malfunction and may be trained to disregard the malfunction in determining the other output variable.

Weiterhin wird vorgeschlagen, dass eine Mehrzahl der Ausgangsgrößen der Schichten des ersten angelernten neuronalen Netzes jeweils komprimiert werden und wenigstens eine, insbesondere eine Mehrzahl, der Ausgangsgrößen der Schichten und/oder wenigstens eine, insbesondere eine Mehrzahl, der komprimierten Ausgangsgrößen als die Eingangsgröße des zweiten angelernten neuronalen Netzes bereitgestellt werden.Furthermore, it is proposed that a plurality of the output quantities of the layers of the first learned neural network are respectively compressed and at least one, in particular a plurality, of the output quantities of the layers and / or at least one, in particular a plurality, of the compressed output variables as the input quantity of the second semi-trained neural network.

Der Vorteil ist, dass durch die komprimierte Eingangsgröße eine geringere Anzahl von Neuronen des ersten angelernten neuronalen Netzes benötigt werden.The advantage is that the compressed input requires a smaller number of neurons of the first learned neural network.

Weiterhin wird vorgeschlagen, dass das Ermitteln der Ausgangsgröße des zweiten angelernten neuronalen Netzes jeweils auf weiteren, separaten Recheneinheiten durchgeführt wird.Furthermore, it is proposed that the determination of the output variable of the second learned neural network is carried out in each case on further, separate arithmetic units.

Dieses Vorgehen weist den Vorteil auf, dass das zweite angelernte neuronale Netz gegenüber zum Beispiel einem (nicht-) temporären Hardwarefehler der Recheneinheit, auf welcher das erste angelernte neuronale Netz betrieben wird, abgesichert werden kann.This procedure has the advantage that the second trained neural network can be protected against, for example, a (non-) temporary hardware error of the computing unit on which the first learned neural network is operated.

Weiterhin wird vorgeschlagen, dass die Eingangsgröße des Weiteren wenigstens eine zeitlich vorhergehend ermittelte Ausgangsgröße einer der Schichten des ersten angelernten neuronalen Netzes umfasst. Optional kann die Eingangsgröße des zweiten angelernten neuronalen Netzes auch die Eingangsgröße des ersten angelernten neuronalen Netzes umfassen.Furthermore, it is proposed that the input variable further comprises at least one output quantity determined in advance in time of one of the layers of the first learned neural network. Optionally, the input of the second trained neural network may also include the input of the first learned neural network.

Der Vorteil ist, dass, z.B. bei einer Bildsequenz als Eingangsgröße des ersten angelernten neuronalen Netzes, bereits ermittelte Ausgangsgrößen des ersten angelernten neuronalen Netz wiederverwendet werden, wodurch mehr Informationen dem zweiten angelernten neuronalen Netz zur Verfügung stehen, vor allem Informationen, die entlang einer zeitlichen Dimension der Ausgangsgrößen vorhanden sind.The advantage is that, e.g. in the case of an image sequence as the input quantity of the first learned neural network, already determined outputs of the first learned neural network are reused, whereby more information is available to the second learned neural network, in particular information that is present along a temporal dimension of the output variables.

Weiterhin wird vorgeschlagen, dass das erste angelernte neuronale Netz ein faltendes neuronales Netz (engl. Convolutional Neural Network) ist und das zweite angelernte neuronale Netz ein rekurrentes neuronales Netz (engl. Recurrent Neural Network) ist.Furthermore, it is proposed that the first learned neural network is a convolutional neural network and the second learned neural network is a recurrent neural network.

Dies weist den Vorteil auf, dass durch das rekurrente neuronale Netz Informationen, die innerhalb der zeitlichen Dimension der Eingangsgröße des zweiten angelernten neuronalen Netzes vorhanden sind, genutzt werden können. Damit können beispielsweise temporäre Fehlfunktionen oder Berechnungsfehler zuverlässiger erkannt werden.This has the advantage that information which is present within the time dimension of the input quantity of the second learned neural network can be used by the recurrent neural network. Thus, for example, temporary malfunctions or calculation errors can be detected more reliably.

In einem zweiten Aspekt wird ein Verfahren zum Anlernen eines zweiten neuronalen Netzes vorgeschlagen. Das Verfahren umfasst folgende Schritte:

  • Bereitstellen von Trainingsdaten, die Trainingseingangsgrößen und jeweils zugeordnete Trainingsausgangsgrößen umfassen. Betreiben des ersten angelernten neuronalen Netzes. Beim Betreiben des ersten angelernten neuronalen Netzes, ermittelt dieses abhängig von jeweils den Trainingseingangsgrößen schichtweise jeweils eine Ausgangsgröße. Anschließend wird eine Mehrzahl der schichtweise ermittelten Ausgangsgrößen als Eingangsgrößen des zweiten neuronalen Netzes breitgestellt. Vorzugsweise sind die schichtweise ermittelten Ausgangsgrößen jeweils einer der Trainingseingangsgrößen zugeordnet. Daraufhin wird eine Mehrzahl der Ausgangsgrößen der Schichten mit einer einen Berechnungsfehler oder eine Fehlfunktion einer Recheneinheit oder eines Speichers charakterisierenden Größe beaufschlagt. Anschließend wird das zweite neuronale Netz abhängig von den bereitgestellten Eingangsgrößen und den Trainingsausgangsgrößen derart angelernt, dass eine Ausgangsgröße des zweiten neuronalen Netzes einen Berechnungsfehler oder eine Fehlfunktion der Recheneinheit oder des Speichers beim Betreiben eines ersten angelernten neuronalen Netzes auf der Recheneinheit charakterisiert.
In a second aspect, a method for teaching a second neural network is proposed. The method comprises the following steps:
  • Providing training data comprising training input quantities and respective assigned training outputs. Operating the first learned neural network. When operating the first learned neural network, this determined depending on the respective training input sizes in layers each an output variable. Subsequently, a plurality of the slice-determined output variables are provided as input variables of the second neural network. The slice-determined output variables are preferably assigned to one of the training input variables in each case. Subsequently, a plurality of the output variables of the layers are subjected to a variable characterizing a calculation error or a malfunction of a computing unit or a memory. Subsequently, the second neural network is trained depending on the provided input variables and the training output variables such that an output variable of the second neural network characterizes a calculation error or a malfunction of the arithmetic unit or of the memory when operating a first learned neural network on the arithmetic unit.

Unter einem Anlernen eines neuronalen Netzes wird im Folgenden verstanden, dass eine Kostenfunktion, die zumindest abhängig von Parametern des neuronalen Netzes ist, durch Verändern von Werten der Parameter minimiert wird.A training of a neural network is understood in the following to mean that a cost function that is at least dependent on parameters of the neural network is minimized by changing values of the parameters.

Weiterhin wird vorgeschlagen, dass die Ausgangsgröße der letzten Schicht des ersten angelernten neuronalen Netzes eine Eingangsgröße des ersten angelernten neuronalen Netzes charakterisiert. Das zweite neuronale Netz ermittelt eine weitere Ausgangsgröße und das zweite neuronale Netz wird des Weiteren derart angelernt, dass die weitere Ausgangsgröße ebenfalls die Eingangsgröße der ersten Schicht des ersten angelernten neuronalen Netzes charakterisiert. Ferner wird vorgeschlagen, dass das zweite neuronale Netz derart angelernt wird, dass, wenn das zweite neuronale Netz ein Berechnungsfehler oder eine Fehlfunktion erkennt, die weitere Ausgangsgröße des zweiten neuronalen Netzes nicht durch diesen Berechnungsfehler oder diese Fehlfunktion beeinflusst ist.Furthermore, it is proposed that the output variable of the last layer of the first learned neural network characterizes an input variable of the first learned neural network. The second neural network determines a further output variable and the second neural network is further taught in such a way that the further output variable also characterizes the input variable of the first layer of the first learned neural network. Furthermore, it is proposed that the second neural network be trained such that when the second neural network detects a calculation error or a malfunction, the further output quantity of the second neural network Network is not affected by this calculation error or this malfunction.

Weiterhin kann vorgesehen sein, dass die neuronalen Netze abhängig oder unabhängig voneinander angelernt werden.Furthermore, it can be provided that the neural networks are trained independently or independently.

Unter einem voneinander unabhängigen Anlernen kann verstanden werden, dass die maschinellen Lernsysteme getrennt voneinander angelernt werden, sodass Parameter der jeweiligen maschinellen Lernsysteme unabhängig voneinander angepasst werden. Während eines der maschinellen Lernsysteme angelernt und dessen Parameter angepasst werden, bleiben die Parameter des anderen ersten angelernten neuronalen Netzes unverändert. Unter einem voneinander abhängigen Anlernen kann verstanden werden, dass Parameter der maschinellen Lernsysteme abhängig voneinander angepasst oder in Abhängigkeit von einer Kostenfunktion, die abhängig von den Parametern der maschinellen Lernsystemen ist, angepasst werden. Beim abhängigen Anlernen beider maschineller Lernsysteme können die Parameter beider maschineller Lernsysteme zeitgleich angepasst werden.Independent learning can be understood to teach the machine learning systems separately so that parameters of the respective machine learning systems are independently adjusted. While one of the machine learning systems is taught and its parameters adjusted, the parameters of the other first learned neural network remain unchanged. Interdependent training may be understood to adapt machine learning system parameters as a function of one another or to adapt them to a cost function that depends on the parameters of the machine learning systems. In the case of dependent learning of both machine learning systems, the parameters of both machine learning systems can be adapted at the same time.

In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführenIn another aspect, a computer program is proposed. The computer program is set up to execute one of the aforementioned methods. The computer program includes instructions that cause a computer to perform one of these methods in all its steps when the computer program runs on the computer. Furthermore, a machine-readable memory module is proposed, on which the computer program is stored. Furthermore, a device is proposed which is set up to carry out one of the methods

Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:Embodiments of the above aspects are illustrated in the accompanying drawings and described in more detail in the following description. Showing:

Figurenlistelist of figures

  • 1 eine schematische Darstellung eines zumindest teilautonomen Fahrzeuges; 1 a schematic representation of an at least partially autonomous vehicle;
  • 2 eine schematische Darstellung eines ersten und eines zweiten neuronalen Netzes; 2 a schematic representation of a first and a second neural network;
  • 3 eine schematische Darstellung einer Ausführungsform eines Verfahren zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion einer Recheneinheit oder eines Speichers beim Betreiben des ersten neuronalen Netzes; 3 a schematic representation of an embodiment of a method for detecting a calculation error or malfunction of a computing unit or a memory when operating the first neural network;
  • 4 eine schematische Darstellung einer Ausführungsform einer Vorrichtung zum Anlernen des ersten und zweiten neuronalen Netzes. 4 a schematic representation of an embodiment of an apparatus for teaching the first and second neural network.

1 zeigt eine schematische Darstellung eines zumindest teilautonomen Fahrzeuges (10). In einem weiteren Ausführungsbeispiel kann das zumindest teilautonome Fahrzeug (10) ein Service-, Montage- oder stationärer Produktionsroboter, alternativ ein autonomes Flugobjekt, wie eine Drohne, sein. Das zumindest teilautonome Fahrzeug (10) kann eine Erfassungseinheit (11) umfassen. Die Erfassungseinheit (11) kann zum Beispiel eine Kamera sein, welche eine Umgebung des Fahrzeugs (10) erfasst. Die Erfassungseinheit (11) kann mit einem ersten angelernten neuronalen Netz (201) verbunden sein. Das erste angelernte neuronale Netz (201) ermittelt abhängig von einer bereitgestellten Eingangsgröße, z.B. bereitgestellt von der Erfassungseinheit (11), und in Abhängigkeit einer Mehrzahl von Parametern des ersten angelernten neuronalen Netzes (201) eine Ausgangsgröße. Die Ausgangsgröße kann an eine Aktorsteuerungseinheit (13) weitergeleitet werden. Die Aktorsteuerungseinheit (13) steuert in Abhängigkeit der Ausgangsgröße des ersten angelernten neuronalen Netzes (201) einen Aktor. Der Aktor kann in diesem Ausführungsbeispiel ein Motor des Fahrzeugs (10) sein. 1 shows a schematic representation of an at least partially autonomous vehicle ( 10 ). In a further embodiment, the at least partially autonomous vehicle ( 10 ) be a service, assembly or stationary production robot, alternatively an autonomous flying object, such as a drone. The at least partially autonomous vehicle ( 10 ), a registration unit ( 11 ). The registration unit ( 11 ) may be, for example, a camera which is an environment of the vehicle ( 10 ) detected. The registration unit ( 11 ) can be used with a first trained neural network ( 201 ). The first learned neural network ( 201 ) determined as a function of a provided input variable, eg provided by the registration unit ( 11 ), and in dependence on a plurality of parameters of the first learned neural network ( 201 ) an output variable. The output variable can be sent to an actuator control unit ( 13 ) to get redirected. The actuator control unit ( 13 ) controls in dependence on the output of the first learned neural network ( 201 ) an actor. The actuator can in this embodiment, an engine of the vehicle ( 10 ) be.

Das erste angelernte neuronale Netz (201) wird mittels eines zweiten angelernten neuronalen Netzes (202) überwacht. Tritt beispielsweise eine Fehlfunktion des ersten angelernten neuronalen Netzes (201) auf, kann mittels des zweiten angelernten neuronalen Netzes (202), diese Fehlfunktion detektiert werden. Gegebenenfalls kann die detektierte Fehlfunktion durch die Aktorsteuerungseinheit (13) berücksichtigt werden und den Aktor entsprechend ansteuern.The first learned neural network ( 201 ) is determined by means of a second trained neural network ( 202 ) supervised. Occurs, for example, a malfunction of the first learned neural network ( 201 ), by means of the second trained neural network ( 202 ), this malfunction can be detected. Optionally, the detected malfunction by the actuator control unit ( 13 ) and control the actor accordingly.

Ferner umfasst das Fahrzeug (10) eine Recheneinheit (14) und ein maschinenlesbares Speicherelement (15). Auf dem Speicherelement (15) kann ein Computerprogramm gespeichert sein, welches Befehle umfasst, die beim Ausführen der Befehle auf der Recheneinheit (14) dazu führen, dass die Recheneinheit (14) das erfindungsgemäße Verfahren ausführt. Denkbar ist auch, dass ein Downloadprodukt oder ein künstlich generiertes Signal, die jeweils das Computerprogramm umfassen können, nach Empfangen an einem Empfänger des Fahrzeugs (10) die Recheneinheit (14) veranlassen, das erfindungsgemäße Verfahren auszuführen.Furthermore, the vehicle comprises ( 10 ) a computing unit ( 14 ) and a machine-readable memory element ( 15 ). On the storage element ( 15 ), a computer program may be stored, which contains instructions that are used when executing the commands on the arithmetic unit ( 14 ) cause the arithmetic unit ( 14 ) carries out the process according to the invention. It is also conceivable that a download product or an artificially generated signal, which may each comprise the computer program, after being received at a receiver of the vehicle ( 10 ) the arithmetic unit ( 14 ) cause to carry out the method according to the invention.

In einem weiteren Ausführungsbeispiel umfasst die Aktorsteuerungseinheit (13) ein Freigabesystem. Das Freigabesystem entscheidet, ob ein Objekt, z.B. ein erfasster Roboter oder eine erfasste Person, Zugang zu einem Bereich hat, abhängig von der Ausgangsgröße des ersten angelernten neuronalen Netzes (201). Vorzugsweise kann der Aktor abhängig von einer Entscheidung des Freigabesystems angesteuert werden.In a further embodiment, the actuator control unit ( 13 ) a release system. The release system decides whether an object, eg a detected robot or a detected person, has access to an area, depending on the output of the first learned neural network ( 201 ). Preferably, the actuator can be controlled depending on a decision of the release system.

In einem alternativen Ausführungsbeispiel kann das Fahrzeug (10) ein Werkzeug oder eine Werkmaschine sein. Ein Material eines Werkstückes kann mittels des ersten angelernten neuronalen Netz klassifiziert werden. Der Aktor kann hierbei z.B. ein Motor, der einen Schleifkopf betreibt, sein. In an alternative embodiment, the vehicle may ( 10 ) be a tool or a machine. A material of a workpiece can be classified using the first learned neural network. For example, the actuator may be a motor that operates a grinding head.

In einer weiteren Ausführungsform wird das erste angelernte neuronale Netz (201) in einem Messsystem verwendet, welches nicht in den Figuren dargestellt ist. Das Messsystem unterscheidet sich zu dem Fahrzeug (10) nach 1 dahingehend, dass das Messsystem keine Aktorsteuerungseinheit (13) umfasst. Das Messsystem kann die Ausgangsgröße des ersten angelernten neuronalen Netzes (201), statt sie an die Aktorsteuerungseinheit (13) zu weiterzuleiten, abspeichern oder darstellen, beispielsweise mittels visueller oder auditiver Darstellungen.In a further embodiment, the first learned neural network ( 201 ) used in a measuring system, which is not shown in the figures. The measuring system is different to the vehicle ( 10 ) to 1 to the effect that the measuring system does not have an actuator control unit ( 13 ). The measuring system can measure the output of the first learned neural network ( 201 ), instead of sending it to the actuator control unit ( 13 ) to forward, store or display, for example by means of visual or auditory representations.

Es ist auch denkbar, dass in einer Weiterentwicklung des Messsystems die Erfassungseinheit (11) ein Bild eines menschlichen oder tierischen Körpers oder eines Teils davon erfasst. Beispielsweise kann dies mittels eines optischen Signals, mittels eines Ultraschallsignals, oder mittels eines MRT/CT-Verfahrens erfolgen. Das Messsystem kann in dieser Weiterentwicklung das erste angelernte neuronale Netz (201) umfassen, das derart angelernt ist, abhängig von der Eingangsgröße eine Klassifikation auszugeben, z.B. welches Krankheitsbild auf Basis diese Eingangsgröße möglicherweise vorliegt. Das zweite angelernte neuronale Netz (202) überwacht hierbei das erste angelernte neuronale Netz (201).It is also conceivable that in a further development of the measuring system the registration unit ( 11 ) captures an image of a human or animal body or part thereof. For example, this can be done by means of an optical signal, by means of an ultrasound signal, or by means of an MRI / CT method. The measuring system can in this development the first learned neural network ( 201 ), which is so trained to output a classification depending on the input variable, for example, which disease pattern may be present based on this input variable. The second learned neural network ( 202 ) monitors the first learned neural network ( 201 ).

Die zwei angelernten neuronalen Netze (201,202) und deren Verschaltung sind in der 2 schematisch dargestellt.The two learned neural networks ( 201 . 202 ) and their interconnection are in the 2 shown schematically.

Das erste angelernte neuronale Netz (201) umfasst eine Mehrzahl von Schichten mit jeweils mehreren Neuronen, die mit Neuronen vorhergehender und nachfolgender Schichten verbunden sind. Die erste Schicht des ersten angelernten neuronalen Netzes (201) erhält eine Eingangsgröße (21), die in einer ersten Schicht des ersten angelernten neuronalen Netzes (201) verarbeitet wird. Das Ergebnis der ersten Schicht wird an die nachfolgende Schicht weitergeleitet, die dieses Ergebnis als Eingangsgröße erhält und abhängig von diesem Ergebnis eine Ausgangsgröße ermittelt. Die Ausgangsgröße wird anschließend an die nachfolgende Schicht weiterleitet. Dieses beschriebene, schichtweise Verarbeiten (engl. propagation) der Eingangsgröße entlang des ersten angelernten neuronalen Netzes (21) wird solange durchgeführt, bis eine letzte Schicht des ersten angelernten neuronalen Netzes (201) ihre Ausgangsgröße (22) ermittelt hat.The first learned neural network ( 201 ) comprises a plurality of layers each having a plurality of neurons connected to neurons of preceding and succeeding layers. The first layer of the first learned neural network ( 201 ) receives an input ( 21 ) in a first layer of the first learned neural network ( 201 ) is processed. The result of the first layer is forwarded to the subsequent layer, which receives this result as an input variable and determines an output variable depending on this result. The output is then forwarded to the subsequent layer. This described, layered propagation of the input along the first learned neural network ( 21 ) is performed until a last layer of the first learned neural network ( 201 ) its initial size ( 22 ) has determined.

Während das erste angelernten neuronale Netz (201) die Eingangsgröße schichtweise verarbeitet, kann eine Fehlfunktion (23) auftreten, die dazu führt das beispielsweise die Ausgangsgröße (22) fehlerhaft ist. Während des schichtweisen Ermittelns der Ausgangsgrößen der einzelnen Schichten, weisen einzelne Verbindungen zwischen Neuronen der unterschiedlichen Schichten, hohe Aktivierungen auf. Diese hohen Aktivierungen sind in 2 anhand der fett eingezeichneten Verbindungen zwischen den Neuronen dargestellt.While the first learned neural network ( 201 ) processes the input quantity in layers, a malfunction ( 23 ), which leads, for example, to the output quantity ( 22 ) is faulty. During the stratified determination of the output values of the individual layers, individual connections between neurons of the different layers have high activations. These high activations are in 2 represented by the bold connections between the neurons.

Im Falle einer Fehlfunktion (23), in diesem Beispiel einer Hardwarefehlfunktion, bei der beispielsweise eine Multiplikation oder Addition, die in Hardware implementiert ist, falsch ausgeführt wird, kann eine zusätzliche hohe Aktivierung entstehen, die dazu führt, dass die Ausgangsgröße (22) fehlerhaft ist. Denkbar ist auch, dass eine Softwarefehlfunktion (engl. bug) zu einer zusätzlichen hohen Aktivierung führt.In case of malfunction ( 23 ), in this example of a hardware malfunction in which, for example, a multiplication or addition implemented in hardware is executed incorrectly, an additional high activation can arise, which leads to the output variable ( 22 ) is faulty. It is also conceivable that a software malfunction (English: bug) leads to an additional high activation.

Das zweite angelernte neuronale Netz (202) erhält mindestens eine Ausgangsgröße mindestens einer der Schichten des ersten angelernten neuronalen Netzes (201) als eine Eingangsgröße (24) und ermittelt anschließend abhängig von dieser Eingangsgröße (24) eine Ausgangsgröße (26). Diese Ausgangsgröße (26) charakterisiert vorzugsweise, ob eine Fehlfunktion (23) beim Betreiben des ersten angelernten neuronalen Netzes (201) aufgetreten ist. Denkbar ist auch, dass die Ausgangsgröße (26) charakterisiert, ob keine Fehlfunktion, eine Fehlfunktion ohne Auswirkung auf die Ausgangsgröße (22) oder eine Fehlfunktion mit Auswirkung auf die Ausgangsgröße (22) des ersten angelernten neuronalen Netzes (201) aufgetreten ist.The second learned neural network ( 202 ) receives at least one output of at least one of the layers of the first learned neural network ( 201 ) as an input ( 24 ) and then determines (depending on this input variable ( 24 ) an output ( 26 ). This output ( 26 ) preferably characterizes whether a malfunction ( 23 ) when operating the first learned neural network ( 201 ) occured. It is also conceivable that the output size ( 26 ) characterizes whether there is no malfunction, a malfunction with no effect on the output ( 22 ) or a malfunction affecting the output ( 22 ) of the first learned neural network ( 201 ) occured.

Die Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) kann beispielsweise mittels wenigstens einer Verbindung (25) dem zweiten angelernten neuronalen Netz (202) bereitgestellt werden.The input size ( 24 ) of the second trained neural network ( 202 ) can be used, for example, by means of at least one compound ( 25 ) the second learned neural network ( 202 ) to be provided.

Zusätzlich kann das zweite angelernte neuronale Netz (202) abhängig von einer bereitgestellten Eingangsgröße (24) eine zweite Ausgangsgröße (27) ermitteln. Die zweite Ausgangsgröße (27) kann ebenso wie die Ausgangsgröße (22) des ersten angelernten neuronalen Netzes (21) die Eingangsgröße des ersten angelernten neuronalen Netzes (201) charakterisieren, insbesondere klassifizieren.In addition, the second learned neural network ( 202 ) depending on a provided input ( 24 ) a second output ( 27 ) determine. The second output ( 27 ) as well as the output size ( 22 ) of the first learned neural network ( 21 ) the input quantity of the first learned neural network ( 201 ) characterize, in particular classify.

In einem weiteren Ausführungsbeispiel kann zumindest eine Ausgangsgröße eine der Schichten des ersten angelernten neuronalen Netzes (201) einen höherdimensionalen Vektor umfassen, dessen einzelne Elemente aufsummiert als Eingangsgröße des zweiten angelernten neuronalen Netzes (202) bereitgestellt werden. Es ist denkbar, ähnliche Kompressionsmethoden zu verwenden, sodass die Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) kompakter ist.In another embodiment, at least one output may be one of the layers of the first learned neural network ( 201 ) comprise a higher-dimensional vector, the individual elements of which sum up as the input quantity of the second learned neural network ( 202 ) to be provided. It is conceivable to use similar compression methods, so that the Input size ( 24 ) of the second trained neural network ( 202 ) is more compact.

3 zeigt eine schematische Darstellung eines Verfahrens (30) zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion (23) einer Recheneinheit oder eines Speichers beim Betreiben eines ersten angelernten neuronalen Netzes (201) auf der Recheneinheit. 3 shows a schematic representation of a method ( 30 ) for detecting a calculation error or a malfunction ( 23 ) a computing unit or a memory when operating a first learned neural network ( 201 ) on the arithmetic unit.

Das Verfahren (30) beginnt mit Schritt 31. In Schritt 31 wird dem ersten angelernten neuronalen Netz (201) eine Eingangsgröße (21) bereitgestellt. Die Eingangsgröße kann, wie in 1 beschrieben, mittels der Erfassungseinheit (11) erfasst und dem ersten angelernten neuronalen Netz (201) bereitgestellt werden.The procedure ( 30 ) starts with step 31 , In step 31 is the first learned neural network ( 201 ) an input ( 21 ) provided. The input size can, as in 1 described by means of the detection unit ( 11 ) and the first learned neural network ( 201 ) to be provided.

Im nachfolgenden Schritt 32 wird jeweils wenigstens eine Ausgangsgröße der Schichten des ersten angelernten neuronalen Netzes (201) abhängig von einer Eingangsgröße der jeweiligen Schicht und der jeweiligen Schicht zugeordneten Parametern, die in dem Speicher hinterlegt sind, ermittelt.In the following step 32 is at least one output of the layers of the first learned neural network ( 201 ) depending on an input of the respective layer and the respective layer associated parameters, which are stored in the memory determined.

Nachdem Schritt 32 beendet wurde, folgt Schritt 33. Hierin wird die Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) bereitgestellt. Diese Eingangsgröße (24) umfasst eine Mehrzahl der Ausgangsgrößen der Schichten des ersten angelernten neuronalen Netzes (201). Anschließend wird die erste Ausgangsgröße (26) des zweiten angelernten neuronalen Netzes (202) in Abhängigkeit der bereitgestellten Eingangsgröße ermittelt.After step 32 finished, follow step 33 , Here the input quantity ( 24 ) of the second trained neural network ( 202 ) provided. This input ( 24 ) comprises a plurality of the outputs of the layers of the first learned neural network ( 201 ). Then the first output ( 26 ) of the second trained neural network ( 202 ) is determined as a function of the provided input quantity.

Im nachfolgenden Schritt 34 wird abhängig von der die Ausgangsgröße (26) des zweiten angelernten neuronalen Netzes (202) ermittelt, ob ein Berechnungsfehler oder eine Fehlfunktion (23) der Recheneinheit oder des Speichers aufgetreten ist.In the following step 34 depends on the output size ( 26 ) of the second trained neural network ( 202 ) determines whether a calculation error or a malfunction ( 23 ) of the arithmetic unit or the memory has occurred.

Optional kann nach dem Schritt 34 abgeschlossen wurde, insbesondere wenn eine Fehlfunktion (23) detektiert wurde, abhängig von der Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) eine zweite Ausgangsgröße (27) des zweiten angelernten neuronalen Netzes (22) ermittelt werden. Anhand von dieser zweiten Ausgangsgröße (27) kann eine Steuergröße mittels der Aktor Steuerungseinheit (13) ermittelt werden.Optionally, after the step 34 has been completed, especially if a malfunction ( 23 ) was detected, depending on the input ( 24 ) of the second trained neural network ( 202 ) a second output ( 27 ) of the second trained neural network ( 22 ) be determined. Based on this second output ( 27 ) can be a control variable by means of the actuator control unit ( 13 ) be determined.

Optional kann vor dem Ausführen des Schrittes 31 das erste als auch das zweite neuronale Netz (201,202) mit den nachfolgend beschriebenen Schritten angelernt werden.Optionally, before performing the step 31 the first as well as the second neural network ( 201 . 202 ) with the following steps.

Zuerst werden Trainingsdaten, die Trainingseingangsgrößen und zugeordnete Trainingsausgangsgrößen umfassen, bereitgestellt. Daraufhin wird das erste angelernte neuronale Netz (201) betrieben. Hierbei ermittelt das erste angelernte neuronale Netz (201) abhängig von jeweils den Trainingseingangsgrößen schichtweise jeweils eine Ausgangsgröße. Das erste angelernte neuronale Netz (201) kann anhand von üblicherweise verwendeten Trainingsalgorithmen, wie Gradientenabstiegsverfahren, die eine Kostenfunktion minimieren, angelernt worden sein. Die Kostenfunktion des ersten neuronalen Netzes kann abhängig von ermittelten Ausgangsgrößen dieses neuronalen Netzes, von Trainingsausgangsgrößen und einer Parametrisierung dieses neuronalen Netzes sein.First, training data including training inputs and associated training outputs are provided. Then the first learned neural network ( 201 ) operated. The first learned neural network ( 201 ) Depending on the training input quantities in each case one output quantity in each case. The first learned neural network ( 201 ) may have been learned using commonly used training algorithms, such as gradient descent methods, which minimize a cost function. The cost function of the first neural network can be dependent on determined output variables of this neural network, on training output variables and on parameterization of this neural network.

Anschließend wird jeweils eine Mehrzahl der ermittelten Ausgangsgrößen der Schichten des ersten angelernten neuronalen Netzes (202) als eine Eingangsgröße (24) des zweiten neuronalen Netzes (202) bereitgestellt. Eine Mehrzahl der Ausgangsgrößen der Schichten werden mittels einer Fehlergröße beaufschlagt, die einen Berechnungsfehler oder eine Fehlfunktion einer Recheneinheit oder eines Speichers charakterisiert. Hierauf wird das zweite neuronale Netzes (202) abhängig von den bereitgestellten Eingangsgrößen und den Trainingsausgangsgrößen derart angelernt, dass eine Ausgangsgröße (26) des zweiten neuronalen Netzes einen Berechnungsfehler oder eine Fehlfunktion (23) der Recheneinheit oder des Speichers beim Betreiben eines ersten angelernten neuronalen Netzes (201) auf der Recheneinheit charakterisiert. Die Trainingsausgangsgrößen, die zum Anlernen des zweiten neuronalen Netzes (202) verwendet werden, charakterisieren zumindest, ob die zugehörigen Eingangsgrößen des zweiten neuronalen Netzes (202) mittels der Fehlergröße beaufschlagt wurden. Mittels des Gradientenabstiegsverfahren kann eine Parametrisierung des zweiten neuronalen Netzes (202) ermittelt werden. Das Gradientenabstiegsverfahren ermittelt die Parametrisierung anhand einer Minimierung einer Kostenfunktion, die abhängig von der Ausgangsgröße (26) des zweiten neuronalen Netzes, dieser verwendeten Trainingsausgangsgrößen und der Parametrisierung des zweiten neuronalen Netzes ist.Subsequently, in each case a plurality of the determined outputs of the layers of the first learned neural network ( 202 ) as an input ( 24 ) of the second neural network ( 202 ) provided. A plurality of the output quantities of the layers are applied by means of an error variable which characterizes a calculation error or a malfunction of a processor or a memory. Then the second neural network ( 202 ) is taught in such a way that an output variable (15) is learned in dependence on the input variables provided and the training output variables. 26 ) of the second neural network a calculation error or malfunction ( 23 ) of the arithmetic unit or of the memory when operating a first learned neural network ( 201 ) on the arithmetic unit. The training outputs that are used to teach the second neural network ( 202 ), at least characterize whether the associated input variables of the second neural network ( 202 ) were applied by means of the error size. By means of the gradient descent method, a parameterization of the second neural network ( 202 ) be determined. The gradient descent method determines the parameterization by means of a minimization of a cost function, which depends on the output quantity ( 26 ) of the second neural network, these used training outputs and the parameterization of the second neural network.

In einer weiteren Ausführungsform ermittelt das zweite neuronale Netz (202) eine zweite Ausgangsgröße (27). Hierbei wird beim Anlernen des zweiten neuronalen Netzes (202) eine Kostenfunktion verwendet, die abhängig von den Werten der Ausgangsgrößen (26,27) des zweiten neuronalen Netzes (202) ist. Ferner ist die Kostenfunktion hierbei abhängig von der Parametrisierung des zweiten neuronalen Netzes (202) und den Trainingsausgangsgrößen. Alternativ wird die Kostenfunktion durch zwei additiv verknüpfte Kostenfunktionen, die jeweils abhängig von den einzelnen Ausgangsgrößen (26,27) des zweiten neuronalen Netzes sind, definiert. Diese Trainingsausgangsgrößen, charakterisieren in diesem Ausführungsbeispiel neben den Fehlergrößen des Weiteren, die zugehörigen Eingangsgrößen des ersten neuronalen Netzes (201). Dadurch kann das zweite neuronale Netz derart angelernt werden, dass wenn eine Fehlfunktion (23) auftritt, diese zu detektieren und beim Ermitteln der zweiten Ausgangsgröße (27) nicht zu berücksichtigen, sodass die zweite Ausgangsgröße (27), nicht durch die Fehlfunktion (23) beeinträchtig, die Eingangsgröße (21) des ersten angelernten neuronalen Netzes (201) charakterisiert.In a further embodiment, the second neural network determines ( 202 ) a second output ( 27 ). In this case, when learning the second neural network ( 202 ) uses a cost function which depends on the values of the output variables ( 26 . 27 ) of the second neural network ( 202 ). Furthermore, the cost function is dependent on the parameterization of the second neural network ( 202 ) and the training outputs. Alternatively, the cost function is characterized by two additively linked cost functions, each dependent on the individual output variables ( 26 . 27 ) of the second neural network are defined. These training outputs, in this embodiment, characterize in addition to the error quantities Furthermore, the associated input variables of the first neural network ( 201 ). As a result, the second neural network can be trained in such a way that when a malfunction ( 23 ) occurs to detect them and in determining the second output ( 27 ), so that the second output ( 27 ), not by the malfunction ( 23 ), the input quantity ( 21 ) of the first learned neural network ( 201 Characterized.

Es versteht sich, dass das Verfahren (30) nicht nur wie beschrieben vollständig in Software, sondern auch in Hardware oder in einer Mischform aus Software und Hardware implementiert sein kann.It is understood that the method ( 30 ) not only as described completely in software, but also in hardware or in a hybrid of software and hardware can be implemented.

4 zeigt eine schematische Darstellung einer Vorrichtung (40) zum Anlernen der neuronalen Netze (201,202), insbesondere zum Ausführen der Schritte zum Anlernen des zweiten neuronalen Netzes. Die Vorrichtung (40) umfasst ein Trainingsmodul (41) und ein zu trainierendes Modul (42). Dieses zu trainierende Modul (42) beinhaltet die zwei neuronalen Netze nach 2. Die Vorrichtung (40) zum Anlernen der neuronalen Netze (201,202), lernt abhängig von Ausgangsgrößen der neuronalen Netze (201,202) und bevorzugt mit vorgebbaren Trainingsdaten die neuronalen Netze (201,202) an. Während des Anlernens werden Parameter der zwei maschineller Lernsysteme (201,202), die in einem Speicher (43) hinterlegt sind, angepasst. 4 shows a schematic representation of a device ( 40 ) for teaching the neural networks ( 201 . 202 ), in particular for carrying out the steps for training the second neural network. The device ( 40 ) comprises a training module ( 41 ) and a module to be trained ( 42 ). This module to be trained ( 42 ) contains the two neural networks after 2 , The device ( 40 ) for teaching the neural networks ( 201 . 202 ) learns, depending on the output quantities of the neural networks ( 201 . 202 ) and preferably with predetermined training data, the neural networks ( 201 . 202 ) at. During learning, parameters of the two machine learning systems ( 201 . 202 ) stored in a memory ( 43 ), adjusted.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102006031238 B4 [0002]DE 102006031238 B4 [0002]

Claims (12)

Verfahren (30) zum Detektieren eines Berechnungsfehlers oder einer Fehlfunktion (23) einer Recheneinheit oder eines Speichers beim Betreiben eines ersten angelernten neuronalen Netzes (201) auf der Recheneinheit mittels eines zweiten angelernten neuronalen Netzes (202), umfassend folgende Schritte: - Ermitteln jeweils wenigstens einer Ausgangsgröße einer Mehrzahl von Schichten des ersten angelernten neuronalen Netzes (201) abhängig von einer Eingangsgröße der jeweiligen Schicht und der jeweiligen Schicht zugeordneten Parametern, die in dem Speicher hinterlegt sind; - Bereitstellen einer Eingangsgröße des zweiten angelernten neuronalen Netzes (202), wobei die Eingangsgröße wenigstens eine der Ausgangsgrößen der Schichten umfasst; - Ermitteln einer Ausgangsgröße (26) des zweiten angelernten neuronalen Netzes (202) in Abhängigkeit der bereitgestellten Eingangsgröße, wobei abhängig von der Ausgangsgröße des zweiten angelernten neuronalen Netzes (202) ermittelt wird, ob ein Berechnungsfehler oder eine Fehlfunktion (23) der Recheneinheit oder des Speichers aufgetreten ist.A method (30) for detecting a calculation error or a malfunction (23) of a computing unit or a memory when operating a first learned neural network (201) on the computing unit by means of a second trained neural network (202), comprising the following steps: Determining in each case at least one output variable of a plurality of layers of the first learned neural network (201) in dependence on an input variable of the respective layer and the respective layer of associated parameters which are stored in the memory; Providing an input of the second learned neural network (202), wherein the input comprises at least one of the outputs of the layers; Determining an output variable (26) of the second learned neural network (202) as a function of the provided input variable, wherein it is determined, depending on the output of the second trained neural network (202), whether a calculation error or a malfunction (23) of the arithmetic unit or of the memory has occurred. Verfahren nach Anspruch 1, wobei eine Ausgangsgröße (22) einer letzten Schicht des ersten angelernten neuronalen Netzes eine Eingangsgröße (21) einer ersten Schicht des ersten angelernten neuronalen Netzes charakterisiert, insbesondere klassifiziert, wobei das zweite angelernte neuronale Netz (202) eine weitere Ausgangsgröße (27) ermittelt und diese weitere Ausgangsgröße (27) ebenfalls die Eingangsgröße (21) der ersten Schicht des ersten angelernten neuronalen Netzes (201) charakterisiert, insbesondere klassifiziert, wobei dann, wenn ermittelt wurde, dass ein Berechnungsfehler oder eine Fehlfunktion der Recheneinheit oder des Speichers aufgetreten ist, wird abhängig von der weiteren Ausgangsgröße (27) des zweiten angelernten neuronalen Netzes (26) eine Steuergröße ermittelt.Method according to Claim 1 wherein an output (22) of a last layer of the first learned neural network characterizes, in particular classifies, an input (21) of a first layer of the first learned neural network, wherein the second learned neural network (202) determines a further output (27) and this further output variable (27) also characterizes, in particular classifies, the input quantity (21) of the first layer of the first learned neural network (201), wherein it has been determined that a calculation error or a malfunction of the arithmetic unit or of the memory has occurred depending on the further output variable (27) of the second trained neural network (26) determines a control variable. Verfahren nach einem der vorherigen Ansprüche, wobei eine Mehrzahl der Ausgangsgrößen der Schichten des ersten angelernten neuronalen Netzes (201) jeweils komprimiert werden und wobei wenigstens eine der Ausgangsgrößen der Schichten und/oder wenigstens eine der komprimierten Ausgangsgrößen als die Eingangsgröße (24) des zweiten angelernten neuronalen Netzes (202) bereitgestellt werden.The method of any one of the preceding claims, wherein a plurality of the outputs of the layers of the first learned neural network (201) are each compressed and wherein at least one of the outputs of the layers and / or at least one of the compressed outputs is input as the input (24) of the second learned neural network (202). Verfahren nach einem der vorherigen Ansprüche, wobei das Ermitteln der Ausgangsgröße (26) des zweiten angelernten neuronalen Netzes (202) jeweils auf weiteren, separaten Recheneinheiten durchgeführt wird.Method according to one of the preceding claims, wherein the determination of the output variable (26) of the second trained neural network (202) is carried out in each case on further, separate computing units. Verfahren nach einem der vorherigen Ansprüche, wobei die Eingangsgröße (24) des Weiteren wenigstens eine zeitlich vorhergehend ermittelte Ausgangsgröße einer der Schichten des ersten angelernten neuronalen Netzes (201) umfasst.Method according to one of the preceding claims, wherein the input variable (24) further comprises at least one temporally previously determined output of one of the layers of the first learned neural network (201). Verfahren nach einem der vorherigen Ansprüche, wobei das erste angelernte neuronale Netz (201) ein faltendes neuronales Netz (engl. Convolutional Neural Network) ist und das zweite angelernte neuronale Netz (202) ein rekurrentes neuronales Netz (engl. Recurrent Neural Network) ist.The method of any one of the preceding claims, wherein the first learned neural network (201) is a convolutional neural network and the second learned neural network (202) is a recurrent neural network. Verfahren zum Anlernen eines zweiten neuronalen Netzes (202), umfassend folgende Schritte: - Bereitstellen von Trainingsdaten, die Trainingseingangsgrößen und zugeordnete Trainingsausgangsgrößen umfassen; - Betreiben des ersten angelernten neuronalen Netzes (201), wobei das erste angelernte neuronale Netz (201) abhängig von jeweils den Trainingseingangsgrößen schichtweise jeweils eine Ausgangsgröße ermittelt; - Bereitstellen einer Mehrzahl der schichtweise ermittelten Ausgangsgrößen als Eingangsgrößen (24) des zweiten neuronalen Netzes (202), wobei eine Mehrzahl der Ausgangsgrößen der Schichten mittels einer einen Berechnungsfehler oder eine Fehlfunktion einer Recheneinheit oder eines Speichers charakterisierenden Größe beaufschlagt werden; - Anlernen des zweiten neuronalen Netzes (202) abhängig von den bereitgestellten Eingangsgrößen und den Trainingsausgangsgrößen derart, dass eine Ausgangsgröße (26) des zweiten neuronalen Netzes einen Berechnungsfehler oder eine Fehlfunktion (23) der Recheneinheit oder des Speichers beim Betreiben eines ersten angelernten neuronalen Netzes (201) auf der Recheneinheit charakterisiert.A method of teaching a second neural network (202), comprising the steps of: Providing training data comprising training inputs and associated training outputs; Operating the first learned neural network (201), wherein the first learned neural network (201) determines, in each case in layers, an output variable as a function of the respective training input variables; Providing a plurality of the slice-determined output variables as input variables (24) of the second neural network (202), wherein a plurality of the output quantities of the layers are applied by means of a variable characterizing a calculation error or a malfunction of a computing unit or a memory; - Teaching the second neural network (202) depending on the provided input variables and the training output variables such that an output (26) of the second neural network, a calculation error or a malfunction (23) of the arithmetic unit or the memory when operating a first learned neural network ( 201) on the arithmetic unit. Verfahren nach Anspruch 7, wobei die Ausgangsgröße (22) der letzten Schicht des ersten angelernten neuronalen Netzes (201) die Eingangsgröße (21) des ersten angelernten neuronalen Netzes (201) charakterisiert, wobei das zweite neuronale Netz (202) eine weitere Ausgangsgröße (27) ermittelt, wobei das zweite neuronale Netz (202) des Weiteren derart angelernt wird, dass die weitere Ausgangsgröße (27) ebenfalls die Eingangsgröße (21) der ersten Schicht des ersten angelernten neuronalen Netzes (201) charakterisiert.Method according to Claim 7 wherein the output (22) of the last layer of the first learned neural network (201) characterizes the input (21) of the first learned neural network (201), the second neural network (202) determining a further output (27), the second neural network (202) is further taught such that the further output (27) also characterizes the input (21) of the first layer of the first learned neural network (201). Computerprogram, welches Befehle umfasst, die beim Ausführen dieser auf einem Computer, diesen veranlassen, das Verfahren nach einem der vorherigen Ansprüche auszuführen.Computer program comprising instructions which, when executed on a computer, cause it to execute the method according to any one of the preceding claims. Maschinenlesbares Speicherelement (15), auf welchem das Computerprogramm nach Anspruch 9 gespeichert ist. Machine readable memory element (15) on which the computer program Claim 9 is stored. Vorrichtung (14), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen.Device (14) arranged to perform the method according to any one of Claims 1 to 8th perform. Erzeugnis, erhältlich durch das Verfahren nach Anspruch 7 oder 8.Product obtainable by the method according to Claim 7 or 8th ,
DE102018207220.5A 2018-05-09 2018-05-09 A method, apparatus and computer program for detecting a calculation error or a malfunction Pending DE102018207220A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018207220.5A DE102018207220A1 (en) 2018-05-09 2018-05-09 A method, apparatus and computer program for detecting a calculation error or a malfunction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018207220.5A DE102018207220A1 (en) 2018-05-09 2018-05-09 A method, apparatus and computer program for detecting a calculation error or a malfunction

Publications (1)

Publication Number Publication Date
DE102018207220A1 true DE102018207220A1 (en) 2019-11-14

Family

ID=68336742

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018207220.5A Pending DE102018207220A1 (en) 2018-05-09 2018-05-09 A method, apparatus and computer program for detecting a calculation error or a malfunction

Country Status (1)

Country Link
DE (1) DE102018207220A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202813A1 (en) 2021-03-23 2022-09-29 Robert Bosch Gesellschaft mit beschränkter Haftung Method, device and computer program for an uncertainty assessment of an image classification
DE102021204040A1 (en) 2021-04-22 2022-10-27 Robert Bosch Gesellschaft mit beschränkter Haftung Method, device and computer program for creating training data in the vehicle

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Fault tolerance. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 20.04.2018. URL: https://en.wikipedia.org/w/index.php?title=Fault_tolerance&oldid=837399062 [abgerufen am 31.01.2019]] *
Koopman, P.; Wagner, M.: Challenges in Autonomous Vehicle Testing and Validation. In: 2016 SAE World Congress (Preprint), 2016, S. 1-10. https://www.semanticscholar.org/paper/Challenges-in-Autonomous-Vehicle-Testing-and-Koopman-Wagner/42a6ae6827f8cc92e15191e53605b0aa4f875fb9 [abgerufen am 31.01.2019] *
Krogh, Anders; Vedelsby, Jesper: Neural Network Ensembles, Cross Validation and Active Learning. In: Proceedings of the 7th International Conference on Neural Information Processing Systems, 1994, S. 231-238. https://papers.nips.cc/paper/1001-neural-network-ensembles-cross-validation-and-active-learning.pdf [abgerufen am 31.01.2019] *
Malhotra, Pankaj [et.al.]: Long Short Term Memory Networks for Anomaly Detection in Time Series. In: 23rd European Symposium on Artificial Neural Networks (ESANN2015), 2015, S. 89-94. https://www.elen.ucl.ac.be/esann/proceedings/papers.php?ann=2015 [abgerufen am 01.02.2019] *
Perotti, A.; d'Avila Garcez, A.; Boella, G.: Neural Networks for Runtime Verification. In: 2014 International Joint Conference on Neural Networks (IJCNN), 2014, S. 2637-2644. - ISSN 2161-4407. https://doi.org/10.1109/IJCNN.2014.6889961 [abgerufen am 31.01.2019] *
Ponti Jr.; M.P.: Combining Classifiers: From the Creation of Ensembles to the Decision Fusion. In: 2011 24th SIBGRAPI Conference on Graphics, Patterns, and Images Tutorials, 2011, S. 1-10. https://doi.org/10.1109/SIBGRAPI-T.2011.9 [abgerufen am 31.01.2019] *
Saurav, Sakti [et.al.]: Online Anomaly Detection with Concept Drift Adaptation Using Recurrent Neural Networks. Proceedings of the ACM India Joint International Conference on Data Science and Management of Data. New York, NY, USA : ACM, 11.-13.01.2018 (CoDS-COMAD '18). S. 78-87. - ISBN 978-1-4503-6341-9. http://doi.acm.org/10.1145/3152494.3152501 [abgerufen am 01.02.2019] *
Taylor, Brian J.; Darrah, Marjorie A.; Moats, Christina D.: Verification and validation of neural networks: a sampling of research in progress. In: Proc.SPIE, 5103, 04.08.2003, S. 5103-8 - 5103-16. - ISSN 1996-756X. https://doi.org/10.1117/12.487527 [abgerufen am 31.01.2019] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202813A1 (en) 2021-03-23 2022-09-29 Robert Bosch Gesellschaft mit beschränkter Haftung Method, device and computer program for an uncertainty assessment of an image classification
DE102021204040A1 (en) 2021-04-22 2022-10-27 Robert Bosch Gesellschaft mit beschränkter Haftung Method, device and computer program for creating training data in the vehicle

Similar Documents

Publication Publication Date Title
DE102018206208A1 (en) Method, device, product and computer program for operating a technical system
EP3899682B1 (en) Monitoring of neural-network-based driving functions
DE102018208763A1 (en) Method, apparatus and computer program for operating a machine learning system
EP3701433B1 (en) Method, device and computer program for developing a deep neural network
DE102019209462A1 (en) Method for determining a confidence value of a detected object
DE202018104373U1 (en) Apparatus adapted to operate a machine learning system
DE102017204745A1 (en) Architecture and apparatus for advanced arbitration in integrated controllers
DE102018207220A1 (en) A method, apparatus and computer program for detecting a calculation error or a malfunction
EP3935463B1 (en) Method and device for operating an automated vehicle
DE102018207194A1 (en) Determining an environmental state of a vehicle with linked classifiers
EP3467722B1 (en) Configuration of a motor vehicle driver assisting device using a neural network in ongoing operation
EP3786853A1 (en) Compression of a deep neural network
DE102019209463A1 (en) Method for determining the trust value of an object of a class
WO2020064209A1 (en) Machine learning system and a method, a computer program and a device for creating the machine learning system
DE102018125712A1 (en) Driving support method for a vehicle
DE102018207923A1 (en) Improved training of a classifier
DE102021202813A1 (en) Method, device and computer program for an uncertainty assessment of an image classification
DE102017221381A1 (en) Method, apparatus and computer program for determining a distance to an object
DE102021204040A1 (en) Method, device and computer program for creating training data in the vehicle
EP3953865A1 (en) Method, device, and computer program for operating a deep neural network
WO2021063572A1 (en) Device and method for processing data from a neural network
DE102018205869A1 (en) Method, computer system and computer program for controlling an actuator
EP4254083A1 (en) Method for parameterizing a monitoring system, parameter device, and a monitoring system
DE102017223283A1 (en) A method, apparatus and computer program for driving an actuator and detecting an anomaly
DE102021208825A1 (en) Method for depicting a rear environment of a mobile platform coupled to a trailer

Legal Events

Date Code Title Description
R163 Identified publications notified