DE102022207997A1 - Method and device for operating a technical system with an artificial neural network - Google Patents
Method and device for operating a technical system with an artificial neural network Download PDFInfo
- Publication number
- DE102022207997A1 DE102022207997A1 DE102022207997.3A DE102022207997A DE102022207997A1 DE 102022207997 A1 DE102022207997 A1 DE 102022207997A1 DE 102022207997 A DE102022207997 A DE 102022207997A DE 102022207997 A1 DE102022207997 A1 DE 102022207997A1
- Authority
- DE
- Germany
- Prior art keywords
- technical system
- validity
- neural network
- neurons
- layer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 28
- 210000002569 neuron Anatomy 0.000 claims abstract description 73
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 17
- 239000000446 fuel Substances 0.000 description 9
- 238000002347 injection Methods 0.000 description 8
- 239000007924 injection Substances 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000002485 combustion reaction Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000010972 statistical evaluation Methods 0.000 description 2
- 101100116570 Caenorhabditis elegans cup-2 gene Proteins 0.000 description 1
- 101100116572 Drosophila melanogaster Der-1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive 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/027—Adaptive 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Feedback Control In General (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Betreiben eines technischen Systems (1) mit einer datenbasierten Steuerungsfunktion, die ein künstliches neuronales Netz (32) umfasst, mit folgenden Schritten:- Bereitstellen (S2) eines abzufragenden Eingangsdatenpunkt (E), der einen oder mehrere Sensorwerte, einen oder mehrere Zustandsgrößen und/oder einen oder mehrere Vorgabewerte umfasst;- Auswerten (S2) eines mit Trainingsdatensätzen trainierten künstlichen neuronalen Netzes, um eine Modellausgabe (A) zu erhalten;- Bereitstellen von Gültigkeitsbereichen von Neuronenausgangswerten von Neuronen einer Repräsentationsschicht des neuronalen Netzes (32), wobei die Gültigkeitsbereiche durch statistisches Auswerten der Trainingsdatensätze bestimmt sind;- Betreiben (S3, S4) des technischen Systems (1) basierend auf der Modellausgabe (A) abhängig davon, ob die Neuronenausgangswerte von Neuronen der Repräsentationsschicht jeweils innerhalb des Gültigkeitsbereichs liegen.The invention relates to a method for operating a technical system (1) with a data-based control function, which comprises an artificial neural network (32), with the following steps: - Providing (S2) an input data point (E) to be queried, which contains one or more sensor values, one or more state variables and/or one or more default values; - evaluating (S2) an artificial neural network trained with training data sets in order to obtain a model output (A); - providing validity ranges of neuron output values of neurons of a representation layer of the neural network (32 ), whereby the validity ranges are determined by statistically evaluating the training data sets; - Operating (S3, S4) the technical system (1) based on the model output (A) depending on whether the neuron output values of neurons of the representation layer are within the validity range.
Description
Technisches GebietTechnical area
Die Erfindung betrifft ein Verfahren zum Betreiben eines technischen Systems mit einer Steuerung oder Regelung, die ein datenbasiertes Systemmodell in Form eines künstlichen neuronalen Netzes verwendet.The invention relates to a method for operating a technical system with a control or regulation that uses a data-based system model in the form of an artificial neural network.
Technischer HintergrundTechnical background
Technische Systeme sind in der Regel mit einer Sensoranordnung mit einem oder mehreren Sensoren sowie einer Aktuatoranordnung mit einem oder mehreren Aktuatoren ausgebildet. Mithilfe eines Steuergeräts, in dem zur Realisierung einer gewünschten Funktion ein Systemmodell implementiert ist, werden Sensor- und Zustandsgrößen des technischen Systems verarbeitet, um eine entsprechende Ansteuerung der Aktuatoranordnung zum Erfüllen einer Aufgabe oder des Zwecks des technischen Systems auszuführen.Technical systems are usually designed with a sensor arrangement with one or more sensors and an actuator arrangement with one or more actuators. With the help of a control device in which a system model is implemented to realize a desired function, sensor and state variables of the technical system are processed in order to carry out a corresponding control of the actuator arrangement to fulfill a task or the purpose of the technical system.
Zusehends werden solche Systemmodelle mit datenbasierten Modellen implementiert, da diese in der Regel ohne detaillierte Kenntnisse des Systemverhaltens lediglich basierend auf Trainingsdaten modelliert werden können. Dazu sind lediglich Trainingsdatensätze erforderlich, die Sensorgrößen, Vorgabegrößen und/oder Zustandsgrößen des technischen Systems in geeigneter definierter Weise zu Eingangsdatensätzen zusammenfassen und diese einem Label, insbesondere einer oder mehreren Ansteuergrößen für den einen oder die mehreren Aktuatoren der Aktuatoranordnung oder einer oder mehreren Größen, die zu einer oder mehreren Ansteuergrößen weiterverarbeitet werden, zuordnen. Such system models are increasingly being implemented with data-based models, as these can usually only be modeled based on training data without detailed knowledge of the system behavior. All that is required for this is training data sets that combine sensor variables, default variables and/or state variables of the technical system in a suitably defined manner to form input data sets and assign these to a label, in particular one or more control variables for the one or more actuators of the actuator arrangement or one or more variables are further processed into one or more control variables.
In der Regel stellen datenbasierte Modelle Black-Box-Modelle dar, die in der Auswertungsphase, d. h. beim Einsatz bzw. Betrieb in dem technischen System, keinen Hinweis darauf liefern, wie zuverlässig die Modellausgabe basierend auf einem abgefragten Eingangsdatenpunkt ist. Eingangsdatenpunkte, die Sensorgrößen enthalten, können jedoch Ausreißer aufweisen, die das datenbasierte Modell an Eingangsdatenpunkten abfragen, die zuvor nicht oder nur unzureichend trainiert worden sind. Insbesondere bei der Verwendung von künstlichen neuronalen Netzwerken besteht hier das Problem, dass die Modellausgabe des neuronalen Netzes keinen Hinweis darüber erlaubt, wie zuverlässig die Modellausgabe hinsichtlich der abgefragten Eingangsdatenpunkte ist.As a rule, data-based models represent black box models that are used in the evaluation phase, i.e. H. when used or operated in the technical system, do not provide any indication of how reliable the model output is based on a queried input data point. However, input data points that contain sensor sizes may have outliers that query the data-based model on input data points that have not previously been trained or have been inadequately trained. The problem here, particularly when using artificial neural networks, is that the model output of the neural network does not provide any indication of how reliable the model output is with regard to the queried input data points.
Offenbarung der ErfindungDisclosure of the invention
Erfindungsgemäß sind ein Verfahren zum Betreiben eines technischen Systems mit einem datenbasierten Steuerungsmodell gemäß Anspruch 1 sowie eine entsprechende Vorrichtung gemäß den nebengeordneten Ansprüchen vorgesehen.According to the invention, a method for operating a technical system with a data-based control model according to
Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.Further refinements are specified in the dependent claims.
Gemäß einem ersten Aspekt ist ein Verfahren zum Betreiben eines technischen Systems mit einer datenbasierten Steuerungsfunktion, die ein künstliches neuronales Netz umfasst, vorgesehen, mit folgenden Schritten:
- - Bereitstellen eines abzufragenden Eingangsdatenpunkt, der einen oder mehrere Sensorwerte, einen oder mehrere Zustandsgrößen und/oder einen oder mehrere Vorgabewerte umfasst;
- - Auswerten eines mit Trainingsdatensätzen trainierten künstlichen neuronalen Netzes mit mehreren Schichten, um eine Modellausgabe zu erhalten;
- - Bereitstellen von Gültigkeitsbereichen von Neuronenausgangswerten von Neuronen einer Repräsentationsschicht des neuronalen Netzes, wobei die Gültigkeitsbereiche durch statistisches Auswerten der Trainingsdatensätze bestimmt sind;
- - Betreiben des technischen Systems basierend auf der Modellausgabe abhängig davon, ob die Neuronenausgangswerte von Neuronen der Repräsentationsschicht jeweils innerhalb des Gültigkeitsbereichs liegen.
- - Providing an input data point to be queried, which includes one or more sensor values, one or more state variables and / or one or more default values;
- - Evaluating a multi-layer artificial neural network trained with training data sets to obtain a model output;
- - Providing validity ranges of neuron output values of neurons of a representation layer of the neural network, the validity ranges being determined by statistical evaluation of the training data sets;
- - Operating the technical system based on the model output depending on whether the neuron output values of neurons in the representation layer are within the validity range.
Es kann vorgesehen sein, dass das technische System abhängig von einem Feststellen, dass mindestens einer der Neuronenausgangswerte außerhalb des betreffenden Gültigkeitsbereichs liegt, betrieben wird.It can be provided that the technical system is operated depending on a determination that at least one of the neuron output values is outside the relevant range of validity.
Technische Systeme werden in der Regel basierend auf einer oder mehreren Sensorgrößen, davon abgeleiteten Größen, Vorgabegrößen und/oder dergleichen betrieben. In einem Betriebsmodul, das ein Steuerungs- oder Regelungsmodell beinhalten kann, werden diese Größen verarbeitet und entsprechend eine oder mehrere Ausgangsgrößen bereitgestellt. Diese Ausgangsgrößen können beispielsweise einen Systemzustand angeben oder zur Ansteuerung einer Aktuatorik verwendet werden.Technical systems are usually operated based on one or more sensor variables, variables derived therefrom, default variables and/or the like. These variables are processed in an operating module, which can contain a control or regulation model, and one or more output variables are provided accordingly. These output variables can, for example, indicate a system status or be used to control an actuator.
Das Betriebsmodul wird heutzutage zunehmend mit einem oder mehreren datenbasierten Steuerungsmodellen versehen, die im Gegensatz zu regelbasierten oder physikalisch motivierten Funktionsmodellen datenbasiert (datengetrieben) ausgebildet sind und mithilfe von Trainingsdaten trainiert werden, um so eine gewünschte Funktion im Betriebsmodul des technischen Systems zu realisieren. Das datenbasierte Steuerungsmodell ist jedoch nur insoweit zur Steuerung bzw. Regelung des technischen Systems geeignet, wie zuvor die Trainingsdatensätze, die zum Trainieren des Steuerungsmodells verwendet worden sind, in dem Datenraum der möglichen Eingangsdatenpunkte mit ausreichender Dichte und Abdeckung verteilt sind. Wird im Betrieb des technischen Systems ein Eingangsdatenpunkt abgefragt, der zuvor nicht ausreichend in den Trainingsdatensätzen berücksichtigt worden ist, so wird zwar eine Modellausgabe bereitgestellt, diese lässt jedoch keinen Hinweis darauf zu, wie zuverlässig diese angesichts der gewünschten Funktion ist.The operations module is now increasingly provided with one or more data-based control models, as opposed to rule-based or physically motivated Functional models are data-based (data-driven) and trained using training data in order to realize a desired function in the operating module of the technical system. However, the data-based control model is only suitable for controlling or regulating the technical system to the extent that the training data sets that were used to train the control model are distributed in the data space of the possible input data points with sufficient density and coverage. If an input data point is queried during operation of the technical system that has not previously been sufficiently taken into account in the training data sets, a model output is provided, but this does not provide any indication of how reliable it is in view of the desired function.
Das obige Verfahren ermöglicht nun eine bessere Analyse der Eingangsdatenpunkte während des Betriebs des technischen Systems, insbesondere hinsichtlich möglicher Ausreißer in den bereitgestellten Sensorgrößen, Zustandsgrößen und/oder Vorgabegrößen des abgefragten Eingangsdatenpunkts.The above method now enables a better analysis of the input data points during operation of the technical system, in particular with regard to possible outliers in the provided sensor variables, state variables and/or default variables of the queried input data point.
Eine Idee des obigen Verfahrens besteht darin, im Betrieb des technischen Systems eine verborgene Schicht des als künstliches neuronales Netz ausgebildeten Steuerungsmodells auszuwerten. Die verborgene Schicht wird aus dem neuronalen Netz als eine Repräsentationsschicht ausgewählt. Die Repräsentationsschicht kann eine Bottleneck-Schicht, eine vorletzte verborgene Schicht (unmittelbar vor der Ausgangsschicht) oder eine Projektion einer verborgenen Schicht darstellen, solange diese eine geeignete Repräsentation des Eingangsdatenpunktes liefert.One idea of the above method is to evaluate a hidden layer of the control model designed as an artificial neural network during operation of the technical system. The hidden layer is selected from the neural network as a representation layer. The representation layer can represent a bottleneck layer, a penultimate hidden layer (immediately before the output layer), or a projection of a hidden layer, as long as it provides an appropriate representation of the input data point.
Üblicherweise sind künstliche neuronale Netze in mehreren Schichten mit jeweils einer Vielzahl von künstlichen Neuronen ausgebildet. Die Neuronen sind mit Neuronenfunktionen versehen, die abhängig von allen Werten der Elemente des Eingangsdatenpunkts oder den Ausgangswerten aller Neuronen einer vorangehenden Neuronenschicht einen Ausgangswert an alle Neuronen einer nachfolgenden Neuronenschicht bereitstellen.Artificial neural networks are usually designed in several layers, each with a large number of artificial neurons. The neurons are provided with neuron functions that provide an output value to all neurons of a subsequent neuron layer depending on all values of the elements of the input data point or the output values of all neurons in a preceding neuron layer.
Gemäß dem obigen Verfahren werden nun die Ausgangswerte der Neuronen der betreffenden ausgewählten Repräsentationsschicht bei jeder Abfrage eines Eingangsdatenpunktes hinsichtlich eines jeweiligen Gültigkeitsbereichs überwacht.According to the above method, the output values of the neurons of the relevant selected representation layer are now monitored with regard to a respective validity range each time an input data point is queried.
Es kann vorgesehen sein, dass das Betreiben des technischen Systems basierend auf der Modellausgabe ein Verwerfen der Modellausgabe umfasst, wenn mindestens einer der Neuronenausgangswerte der Neuronen der Repräsentationsschicht außerhalb des Gültigkeitsbereichs liegt.It can be provided that operating the technical system based on the model output includes discarding the model output if at least one of the neuron output values of the neurons of the representation layer is outside the range of validity.
Alternativ kann vorgesehen sein, dass das Betreiben des technischen Systems basierend auf der Modellausgabe ein Verwerfen der Modellausgabe umfasst, abhängig von dem Ergebnis eines Schwellenwertvergleichs eines Maßes des Abweichens von dem Gültigkeitsbereich durch den mindestens einen der Neuronenausgangswerte der Neuronen der Repräsentationsschicht.Alternatively, it can be provided that operating the technical system based on the model output includes discarding the model output, depending on the result of a threshold comparison of a measure of deviation from the validity range by the at least one of the neuron output values of the neurons of the representation layer.
Die Gültigkeitsbereiche für jedes Neuron der Repräsentationsschicht ergeben sich durch Auswertung der für das Training des neuronalen Netzes verwendeten Trainingsdatensätze und werden nach dem Training des neuronalen Netzes ermittelt und für den Betrieb des technischen Systems bereitgestellt. Es werden also für die Trainingsdatensätze die Ausgangswerte der Neuronen der Repräsentationsschicht jeweils gesampelt und ein Gültigkeitsbereich für den betreffenden Wert aus den resultierenden Neuronenausgangswerten jedes Neurons der Repräsentationsschicht bestimmt. Dies kann beispielsweise mithilfe einer geeigneten Quantilbestimmung vorgenommen werden. Aus dem sich ergebenden Gültigkeitsbereich kann ein oder mehrere entsprechende Schwellenwerte bestimmt werden. Beispielsweise kann eine obere Schwellenwert des Wertebereichs eines Neuronenausgangswertes so vorgegeben sein, dass dieser einem Quantil, wie z.B. einem 90-%-Quantil bis 99%-Quantil, vorzugsweise einem 95%-Quantil der Ausgangswerte des entsprechenden Neurons der Repräsentationsschicht über alle Trainingsdatensätze entspricht. Ein unterer Schwellenwert des Wertebereichs eines Neuronenausgangswertes kann entsprechend so vorgegeben sein, dass dieser beispielsweise dem 1 %-10%-Quantil der Ausgangswerte des entsprechenden Neurons, vorzugsweise einem 5%-Quantil der Ausgangswerte des entsprechenden Neurons der Repräsentationsschicht über alle Trainingsdatensätze entspricht. Eine solche Bestimmung des Wertebereichs kann für jedes der Neuronen der Repräsentationsschicht durchgeführt werden, um so einen oberen und/oder unteren Schwellenwert oder einen Gültigkeitsbereich für jeden der Ausgänge der Neuronen der Repräsentationsschicht zu erhalten.The areas of validity for each neuron of the representation layer are determined by evaluating the training data sets used for training the neural network and are determined after training the neural network and made available for the operation of the technical system. The output values of the neurons of the representation layer are sampled for the training data sets and a validity range for the relevant value is determined from the resulting neuron output values of each neuron of the representation layer. This can be done, for example, using a suitable quantile determination. One or more corresponding threshold values can be determined from the resulting validity range. For example, an upper threshold value of the value range of a neuron output value can be predetermined such that it corresponds to a quantile, such as a 90% quantile to 99% quantile, preferably a 95% quantile, of the output values of the corresponding neuron of the representation layer across all training data sets. A lower threshold value of the value range of a neuron output value can be predetermined so that it corresponds, for example, to the 1%-10% quantile of the output values of the corresponding neuron, preferably a 5% quantile of the output values of the corresponding neuron of the representation layer across all training data sets. Such a determination of the value range can be performed for each of the representation layer neurons so as to obtain an upper and/or lower threshold or a validity range for each of the outputs of the representation layer neurons.
Im Betrieb des technischen Systems werden nun für jeden abgefragten Eingangsdatenpunkt die Ausgangswerte der Neuronenn der Repräsentationsschicht ermittelt und diese hinsichtlich ihrer Gültigkeit basierend auf den jeweiligen Schwellenwerten oder dem entsprechenden Gültigkeitsbereich analysiert. Liegt ein betrachteter Neuronenausgangswert bei einem abzufragenden Eingangsdatenpunkt außerhalb des Gültigkeitsbereichs, so wird ein ungültiger Eingangsdatenpunkt festgestellt.During operation of the technical system, the output values of the neurons of the representation layer are determined for each queried input data point and these are analyzed with regard to their validity based on the respective threshold values or the corresponding validity range. If a neuron output value under consideration is outside the valid range for an input data point to be queried, an invalid input data point is determined.
Dies kann einerseits dazu führen, dass sofort die Auswertung am Eingangsdatenpunkt verworfen wird und ein Ersatzwert verwendet wird. Alternativ oder zusätzlich kann eine Häufigkeit eines solchen Gültigkeitsfehlers bestimmt werden und bei Überschreiten eines vorgegebenen Häufigkeitsschwellenwerts ein Nachtraining oder ein Neutrainieren des Steuerungsmodells gestartet werden. Auch kann ein Maß des Überschreitens des jeweiligen Schwellenwerts eine Angabe über eine Unsicherheit der Modellauswertung angeben.On the one hand, this can lead to the evaluation at the input data point being immediately discarded and a replacement value being used. Alternatively or additionally, a frequency of such a validity error can be determined and, if a predetermined frequency threshold value is exceeded, retraining or retraining of the control model can be started. A measure of exceeding the respective threshold value can also provide information about the uncertainty of the model evaluation.
Das obige Training für die Durchführung des Betriebsverfahrens für das technische System sieht vor, neben dem herkömmlichen Training des Steuerungsmodells auch eine Bestimmung von Gültigkeitsbereichen für die Ausgabegrößen der Neuronen der Repräsentationsschicht zu bestimmen. Die Gültigkeitsbereiche werden durch statistische Auswertung aller Ausgabewerte für die Trainingsdatensätze eines bestimmten Neurons der Repräsentationsschicht vorgenommen, um den jeweiligen Gültigkeitsbereich für die Neuronenausgangswerte der Repräsentationsschicht zu bestimmen. Diese werden in einem Überprüfungsschritt bezüglich eines abgefragten Eingangsdatenpunktes verwendet.The above training for carrying out the operating procedure for the technical system provides for determining, in addition to the conventional training of the control model, validity ranges for the output variables of the neurons of the representation layer. The validity ranges are determined by statistical evaluation of all output values for the training data sets of a specific neuron of the representation layer in order to determine the respective validity range for the neuron output values of the representation layer. These are used in a verification step regarding a queried input data point.
Weiterhin kann die Repräsentationsschicht des neuronalen Netzes einer Bottleneck-Schicht oder einer letzten verborgenen Schicht entsprechen.Furthermore, the representation layer of the neural network can correspond to a bottleneck layer or a final hidden layer.
Weiterhin kann ein Verfahren zum Bereitstellen von Gültigkeitsbereichen für die Durchführung des obigen Verfahrens vorgesehen sein. , wobei für jedes der Neuronen der Repräsentationsschicht für alle Trainingsdatensätze Neuronenausgangswerte statistisch ausgewertet werden, indem ein Quantil mit einem Quantilwert von zwischen 90% und 99 %, vorzugsweise von 95% als oberer Schwellenwert des Gültigkeitsbereichs ermittelt wird, und/oder indem ein Quantil mit einem Quantilwert von zwischen 1% und 10 %, vorzugsweise von 5% als unterer Schwellenwert des Gültigkeitsbereichs ermittelt wird.Furthermore, a method for providing validity areas for carrying out the above method can be provided. , wherein for each of the neurons of the representation layer, neuron output values are statistically evaluated for all training data sets by determining a quantile with a quantile value of between 90% and 99%, preferably 95%, as the upper threshold value of the validity range, and / or by determining a quantile with a Quantile value of between 1% and 10%, preferably 5%, is determined as the lower threshold of the validity range.
Kurzbeschreibung der ZeichnungenBrief description of the drawings
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
-
1 eine schematische Darstellung eines technischen Systems mit einer Sensoranordnung und einer Aktuatoranordnung; -
2 eine schematische Darstellung eines künstlichen neuronalen Netzes; -
3 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Betreiben eines technischen Systems; und -
4 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Trainieren des datenbasierten Steuerungsmodells für das technische System der1 .
-
1 a schematic representation of a technical system with a sensor arrangement and an actuator arrangement; -
2 a schematic representation of an artificial neural network; -
3 a flowchart to illustrate a method for operating a technical system; and -
4 a flowchart to illustrate a method for training the data-based control model for the technical system of1 .
Beschreibung von AusführungsformenDescription of embodiments
Die Steuereinheit 3 generiert eine oder mehrere Ansteuergrößen S zur Steuerung eines oder mehrerer Aktuatoren 4. Diese können einen Antriebsmotor, einen elektromechanischen Stellgeber, eine Heizeinrichtung, eine Strahlungsquelle und dergleichen umfassen.The
Die Sensoren 21 können allgemein als Sensorgrößen B, physikalische Betriebsgrößen des Systems 1 oder auch direkt physikalische Zustände (als Zustandsgrößen) des einen oder der mehreren Aktuatoren 4 erfassen. Die Sensoren 21 können beispielsweise einen Drucksensor, einen Drehzahlsensor, einen Massenstromsensor, einen Temperatursensor, einen Beschleunigungssensor, einen Vibrationssensor, einen Strahlungssensor, eine Kamera oder dergleichen umfassen.The
Die Steuereinheit 3 umfasst einen Mikroprozessor 31 und mindestens ein separat oder als Software-Algorithmus in dem Mikroprozessor implementiertes Betriebsmodul, das ein datenbasiertes Steuerungsmodell 32 umfasst. Die Steuereinheit 3 erhält die eine oder die mehreren Sensorgrößen B als Betriebsgrößen und/oder Zustandsgrößen und ggfs. eine oder mehrere Vorgabegrößen von extern und bestimmt daraus unter Nutzung einer Auswertung eines Eingangsdatenpunktes eine Modellausgabe, die eine oder die mehreren Ansteuergrößen S umfasst oder diese daraus generiert.The
Das datenbasierte Steuerungsmodell 32 ist ein nicht-parametrisches Modell (Machine-Learning-Modell) und stellt eine abbildende Funktion dar, die aus einer oder mehreren der Sensorgrößen, der Betriebs- und/oder Zustandsgrößen und/oder Vorgabegrößen und ggfs. einer oder mehreren daraus abgeleiteten Merkmalsgrößen als Eingangsgrößen eine oder mehrere Ausgangsgrößen bereitstellt, die der einen oder den mehreren Ansteuergrößen entsprechen oder Größen entsprechen können, aus denen die eine oder die mehreren Ansteuergrößen ableitbar sind. Die Merkmalsgrößen können z.B. aus Zeitreihen der Eingangsgrößen aggregierte Größen oder statistischen Größen entsprechen. Die eine oder mehrere der Sensorgrößen, der Betriebs- und/oder Zustandsgrößen und/oder der Vorgabegrößen und ggfs. die eine oder die mehreren daraus abgeleiteten Merkmalsgrößen werden als Eingangsdatenpunkt bereitgestellt, der zur Abfrage dem Steuerungsmodell 32 zugeführt wirdThe data-based
Das datenbasierte Steuerungsmodell 32 kann beispielsweise zur Durchführung einer Regelung oder einer Steuerung des einen oder der mehreren Aktuatoren 4 trainiert werden. Dazu werden in an sich bekannter Weise Trainingsdatensätze bereitgestellt, die jeweils einen Eingangsdatenpunkt auf ein vorgegebenes Label abbilden, das zur Steuerung oder Regelung verwendet werden soll.The data-based
Das datenbasierte Steuerungsmodell 32 kann z.B. in Form eines neuronalen Netzes oder vergleichbaren trainierbaren Modellen vorgegeben werden und direkt mit den Trainingsdatensätzen trainiert werden. Die Trainingsdatensätze können durch Vermessen auf einem Prüfstand oder im Feld ermittelt werden. Dazu werden in der Regel Betriebsbereiche des technischen Systems oder Eingangsdatenpunkte direkt vorgegeben, um ein geeignetes Label zu bestimmen und so die Trainingsdatensätze zu erhalten. Zur Vermessung können ein oder mehrere weitere Sensoren vorgesehen sein, die das technische System im Normalbetrieb nicht aufweist. Dieser eine oder diese mehreren weiteren Sensoren ermöglichen das Erfassen oder das Ermitteln eines Labels zur Zuordnung zu den Eingangsdatenpunkten.The data-based
Es ist ferner ein Überprüfungsblock 33 vorgesehen, der die abgefragten Eingangsdatenpunkte überprüft und, wenn ein Eingangsdatenpunkt außerhalb eines Gültigkeitsbereichs liegt, einen Fehler erkennt und diesen entsprechend signalisiert. Insbesondere kann abhängig von einem Erkennen eines Fehlers der Aktuator 4 entsprechend betrieben werden.A checking
Beispielsweise kann eine Drehzahl einer elektrischen Maschine und/oder eine Motortemperatur durch Auswertung in einem in entsprechender Weise trainierten Steuerungsmodell ermittelt werden. Der Eingangsdatenpunkt kann eine Signalzeitreihe in Form eines Verlaufs eines Motorstroms für einen vorbestimmten zurückliegenden Zeitraum und/oder ein daraus aggregiertes Merkmal beinhalten. Weitere Größen des Eingangsdatenpunktes können eine Motortemperatur und/oder eine oder mehrere eine Last der elektrischen Maschine bestimmende Größen bzw. deren Verlauf sein. Die Auswertung des entsprechend trainierten Steuerungsmodells ergibt beispielsweise als Ausgangsgröße eine aktuelle Drehzahl der elektrischen Maschine.For example, a speed of an electric machine and/or a motor temperature can be determined by evaluation in a control model trained in a corresponding manner. The input data point can contain a signal time series in the form of a motor current curve for a predetermined past period of time and/or a feature aggregated therefrom. Further variables of the input data point can be a motor temperature and/or one or more variables that determine a load on the electrical machine or their course. The evaluation of the correspondingly trained control model produces, for example, a current speed of the electrical machine as an output variable.
Als weiteres Beispiel kann zur Ermittlung einer Einspritzmenge von Kraftstoff in einem Einspritzsystem für einen Verbrennungsmotor ein Steuerungsmodell 32 verwendet werden. Hier wird über ein Einspritzventil Kraftstoff zum Betrieb des Verbrennungsmotors in einen Brennraum eines Zylinders des Verbrennungsmotors eingespritzt. Kraftstoff wird dazu dem Einspritzventil über eine Kraftstoffzuführung zugeführt, über die Kraftstoff in an sich bekannter Weise (z. B. Common Rail) unter einem hohen Kraftstoffdruck bereitgestellt wird. Das Einspritzventil kann einen elektromagnetisch oder piezoelektrisch ansteuerbare Aktuatoreinheit aufweisen, die mit einer Ventilnadel gekoppelt ist. Durch Ansteuerung der Aktuatoreinheit wird die Ventilnadel in Längsrichtung bewegt und gibt einen Teil einer Ventilöffnung frei, um den unter Druck stehenden Kraftstoff in den Brennraum des Zylinders einzuspritzen. Mithilfe eines Piezosensors können Druckänderungen in dem durch das Einspritzventil geführten Kraftstoff bestimmt als Spannungssignal bestimmt werden, das abgetastet und als Signalzeitreihe bereitgestellt werden kann. Die Einspritzmenge kann durch Kenntnis eines genauen Öffnungszeitpunkt des Einspritzventils in an sich bekannter Weise bestimmt werden. Der Öffnungszeitpunkt wird durch das entsprechend trainierte Steuerungsmodell 32 basierend auf einem Eingangsdatenpunkt ermittelt, der die Signalzeitreihe des Spannungssignals als Vektor oder in aggregierter Form und den Kraftstoffdruck umfasst. Das Steuerungsmodell 32 kann den Öffnungszeitpunkt dann als argmax eines Wahrscheinlichkeits-Vektors oder direkt als Zeitgröße ausgegeben.As a further example, a
Als weiteres Beispiel kann das Steuerungsmodell 32 zur Zustandsprädiktion eines Fahrers eines Kraftfahrzeugs verwendet werden, wie z.B. zur Erkennung einer Fahrermüdigkeit. Hierzu können fahrrelevante Größen als zeitliche Verläufe in Form von Signalzeitreihen als Teil des Eingangsdatenpunktes bereitgestellt werden, wie z.B. ein Verlauf von Lenkstellungen, ein Verlauf der Fahrgeschwindigkeit und/oder ein Verlauf von Kopfposen des Fahrers. Alternativ kann einer oder mehrere der Verläufe auch in aggregierter Form bereitgestellt werden. Die Modellausgabe nach Auswertung in dem entsprechend trainierten Systemmodell ergibt beispielsweise eine Wahrscheinlichkeit einer Übermüdung des Fahrers.As a further example, the
Das Steuerungsmodell 32 kann als künstliches neuronales Netz ausgebildet sein, wie es beispielhaft in
Das künstliche neuronale Netz kann in mehreren Schichten L1, L2, L3 mit jeweils einer Vielzahl von künstlichen Neuronen 11 ausgebildet sein. Die Schichten umfassen eine Eingangsschicht L1, die den Eingangsdatenpunkt als Eingangsgrößen erhält und die Werte des Eingangsdatenpunkts E verarbeitet, eine oder mehrere verborgene Schichten L2 und eine Ausgangsschicht L3, dessen Neuronen die Modellausgabe A bereitstellen. Die Neuronen 11 sind mit jeweiligen Neuronenfunktionen versehen, die abhängig von allen Werten der Elemente des Eingangsdatenpunkts (bei der Eingangsschicht L1) oder den Ausgangswerten aller Neuronen 11 einer vorangehenden Neuronenschicht (bei den Schichten L2, L3) einen Ausgangswert an alle Neuronen einer nachfolgenden Neuronenschicht oder als Modellausgabe A bereitstellen. Die Neuronenfunktionen bilden in der Regel eine gewichtete Summe aller Eingangswerte und wenden eine nichtlineare Funktion darauf an, Aktivierungsfunktion genannt. Eine solche Aktivierungsfunktion kann beispielsweise eine an sich bekannte ReLu-Funktion darstellen.The artificial neural network can be formed in several layers L1, L2, L3, each with a large number of
Eine der verborgenen Schichten L2 des neuronalen Netzes kann als Repräsentationsschicht verwendet werden, und die Neuronenausgabewerte der Repräsentationsschicht werden dem Überprüfungsblock 33 zugeführt. Die Repräsentationsschicht kann allgemein einer Bottleneck-Schicht, d.h. einer Schicht mit geringerer Dimensionalität als der Eingangsdatenpunkt, einer vorletzten Schicht, d.h. der Schicht vor der Ausgangsschicht L3 oder einer zusätzlichen Schicht, die Neuronenausgangswerte einer verborgenen Schicht enthält, entsprechen.One of the hidden layers L2 of the neural network can be used as a representation layer, and the neuron output values of the representation layer are fed to the
Der Überprüfungsblock 33 dient dazu, eine Fehlerbehandlung durchzuführen, wenn festgestellt wird, dass mindestens einer der Neuronenausgangswerte der Repräsentationsschicht außerhalb eines vorgegebenen Gültigkeitsbereichs liegt.The
In Schritt S1 wird zunächst ein trainiertes datenbasiertes Steuerungsmodell 32 in Form eines künstlichen neuronalen Netzes bereitgestellt, das basierend auf vorgegebenen Trainingsdatensätzen trainiert worden ist.In step S1, a trained data-based
Beim Betrieb des technischen Systems 1 werden kontinuierlich abzufragende Eingangsdatenpunkte E in Schritt S2 generiert und mithilfe des Steuerungsmodells 32 in eine entsprechende Modellausgabe A umgesetzt.When operating the
Weiterhin wird in Schritt S3 mithilfe des Überprüfungsblocks 33 überprüft, ob jeder der Neuronenausgangswerte der Repräsentationsschicht innerhalb des jeweiligen dem entsprechenden Neuron 11 zugeordneten Gültigkeitsbereichs liegt. Wird festgestellt, dass mindestens einer der Neuronenausgangswerte außerhalb des Gültigkeitsbereichs liegt, so wird ein Fehler festgestellt.Furthermore, in step S3, the
Wird ein Fehler festgestellt (Alternative: Ja), so kann in Schritt S4 die Modellausgabe des Steuerungsmodells 32 verworfen werden und ein Ersatzwert, beispielsweise eine in vorangegangenen Zeitschritten ermittelte Modellausgabe oder mithilfe eines anderen Modells ermittelte Modellausgabe, verwendet werden. Anschließend wird das Verfahren mit Schritt S1 fortgesetzt.If an error is detected (alternative: yes), the model output of the
Wird kein Fehler festgestellt (Alternative: Nein), so wird das Verfahren mit Schritt S1 fortgesetzt.If no error is detected (alternative: no), the process continues with step S1.
Alternativ können festgestellte Fehler auch akkumuliert werden und bei Überschreiten einer vorgegebenen Häufigkeitsschwelle die Funktion des Steuerungsmodells 32 unterbrochen und ein Neutraining des Steuerungsmodells angefordert werden.Alternatively, detected errors can also be accumulated and, if a predetermined frequency threshold is exceeded, the function of the
Um das obige Verfahren durchzuführen, ist es notwendig, während oder nach dem Trainingsprozess des Steuerungsmodells 32 die Gültigkeitsschwellen/Gültigkeitsbereiche für jeden der Neuronenausgangswerte der Repräsentationsschicht zu ermitteln.
Mithilfe eines Prüfstands wird dazu in Schritt S11 zunächst das technische System 1 an verschiedenen Betriebszuständen vermessen, um für eine Anzahl verschiedener Eingangsdatenpunkte, die sich jeweils aus einer oder mehrerer Sensorgrößen, Zustandsgrößen und/oder Vorgabegrößen bzw. aus deren Verläufen direkt und/oder als eine oder mehrerer Merkmalsgrößen nach einer Merkmalsextraktion ergeben, eine oder mehrere Größen als Modellausgabe zu bestimmen. Die Größen der Modellausgabe können einer oder mehreren Sensorgrößen von zusätzlichen Sensoren des Prüfstands oder einer oder mehreren davon abgeleiteten Größen entsprechen. Diese gewünschte Modellausgabe wird als Label bezeichnet.With the help of a test stand, in step S11 the
Die Trainingsdatensätze beschreiben einen Eingangsdatenpunkt, der eine oder mehrere Sensorgrößen, eine oder mehrere Vorgabegrößen und eine oder mehrere Zustandsgrößen beinhaltet. Dem Eingangsdatenpunkt ist jeweils ein Label zugeordnet, das in Form eines Klassifikationsvektors oder eines oder mehrerer Regressionswerte ausgebildet sein kann.The training data sets describe an input data point that includes one or more sensor variables, one or more default variables and one or more state variables. A label is assigned to the input data point, which can be in the form of a classification vector or one or more regression values.
In Schritt S12 wird das neuronale Netz in an sich bekannter Weise basierend auf den Trainingsdatensätzen trainiert.In step S12, the neural network is trained in a manner known per se based on the training data sets.
Zusätzlich zum trainierten datenbasierten Steuerungsmodell werden in Schritt S13 Gültigkeitsbereiche für Neuronenausgangswerte einer vorgegebenen Repräsentationsschicht des neuronalen Netzes des Steuerungsmodells 32 vorgegeben.In addition to the trained data-based control model, validity ranges for neuron output values are specified in step S13 given representation layer of the neural network of the
Die Gültigkeitsbereiche werden durch Auswerten der Eingangsdatenpunkte der Trainingsdatensätze bestimmt. Dazu werden die Neuronenausgangswerte jedes der Neuronen 11 der Repräsentationsschicht für jeden der Eingangsdatensätze der Trainingsdatensätze erfasst und jeweils die Menge der Neuronenausgabewerte eines bestimmten Neurons statistisch ausgewertet, indem beispielsweise ein 90% - 99% Quantil, vorzugsweise ein 95-%-Quantil, als oberer Schwellenwert eines Gültigkeitsbereichs bestimmt wird. Der untere Schwellenwert des Gültigkeitsbereichs kann entsprechend durch Vorgabe eines 1 %-10%-Quantils, vorzugsweise eines 5%-Quantil, bestimmt werden. Der obere und untere Schwellenwert definieren den jeweiligen Gültigkeitsbereich.The validity ranges are determined by evaluating the input data points of the training data sets. For this purpose, the neuron output values of each of the
Bei einer Aktivierungsfunktion, wie beispielsweise einer ReLU-Aktivierungsfunktion, ist durch die Minimumbegrenzung das Quantil für den unteren Schwellenwert ein solcher Wert nur begrenzt aussagefähig. Wird eine ReLU-Funktion als Aktivierungsfunktion in der Repräsentationsschicht verwendet, so kann der Gültigkeitsbereich stets von 0 bis zum oberen Schwellenwert des Gültigkeitsbereichs festgelegt werden.In the case of an activation function, such as a ReLU activation function, such a value is only of limited significance due to the minimum limitation of the quantile for the lower threshold value. If a ReLU function is used as an activation function in the representation layer, the scope can always be set from 0 to the upper threshold of the scope.
Jedoch kann ein ungültiger Eingangsdatenpunkt festgestellt werden, wenn die Anzahl der Neuronenausgabewerte, die Nullen entsprechen, eine vorbestimmte Schwellenanzahl übersteigt. Gegebenenfalls können die Neuronenausgabewerte vor der Analyse zum Bestimmen der Schwellenwerte transformiert werden, beispielsweise mithilfe einer PCA (Principle Component Analysis). Diese wird basierend auf den Trainingsdatensätzen trainiert und kann diese dann online anwenden. Nun werden obere und untere Grenzen per transformierter Dimension gespeichert und in dem Überprüfungsblock verwendet.However, an invalid input data point may be detected if the number of neuron output values corresponding to zeros exceeds a predetermined threshold number. Optionally, the neuron output values may be transformed prior to analysis to determine thresholds, for example using Principle Component Analysis (PCA). This is trained based on the training data sets and can then be applied online. Now upper and lower bounds are saved per transformed dimension and used in the verification block.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022207997.3A DE102022207997A1 (en) | 2022-08-02 | 2022-08-02 | Method and device for operating a technical system with an artificial neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022207997.3A DE102022207997A1 (en) | 2022-08-02 | 2022-08-02 | Method and device for operating a technical system with an artificial neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022207997A1 true DE102022207997A1 (en) | 2024-02-08 |
Family
ID=89575394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022207997.3A Pending DE102022207997A1 (en) | 2022-08-02 | 2022-08-02 | Method and device for operating a technical system with an artificial neural network |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102022207997A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019068291A1 (en) | 2017-10-05 | 2019-04-11 | Conti Temic Microelectronic Gmbh | Testing a neural network |
-
2022
- 2022-08-02 DE DE102022207997.3A patent/DE102022207997A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019068291A1 (en) | 2017-10-05 | 2019-04-11 | Conti Temic Microelectronic Gmbh | Testing a neural network |
Non-Patent Citations (1)
Title |
---|
Li X., Li F.: Adversarial Examples Detection in Deep Networks with Convolutional Filter Statistics. In: IEEE International Conference on Computer Vision, 2017, 5775-5783. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8237877&tag=1 [abgerufen am 06.04.2023] |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0170018B1 (en) | Process and apparatus for the self-testing of control levers | |
DE102008021385B3 (en) | Method and apparatus for learning the rest position of the accelerator pedal of a motor vehicle | |
DE102006005515A1 (en) | Electronic vehicle control device | |
EP1259941A1 (en) | Method and device for determining the remaining serviceable life of a product | |
EP1715352A2 (en) | Method and apparatus for diagnosing failures in a mechatronic system | |
DE102018208763A1 (en) | Method, apparatus and computer program for operating a machine learning system | |
DE102019104922A1 (en) | COLLISION POSITION ESTIMATOR AND MACHINE LEARNING DEVICE | |
DE102018209250A1 (en) | Control device, method for controlling a control device, computer-readable storage medium and control system | |
EP1175557A1 (en) | Method and device for monitoring a computing element in a motor vehicle | |
DE102022207997A1 (en) | Method and device for operating a technical system with an artificial neural network | |
WO2022053626A1 (en) | Method and device for operating a fuel injection valve with the aid of machine learning methods | |
DE102021200789A1 (en) | Computer-implemented method and device for manipulation detection for exhaust aftertreatment systems using artificial intelligence methods | |
DE102020211416A1 (en) | Method and device for operating a fuel injector using machine learning methods | |
DE102022203832A1 (en) | Method and device for providing a reconstruction model for signal time series | |
DE102022204168A1 (en) | Method and device for evaluating training data and creating a data-based system model | |
DE102020109858A1 (en) | Method of operating a system | |
DE102009027517A1 (en) | Method for adaption of control function in control device, involves detecting actual condition of controlled system, where actual value is determined for criteria of good quality depending on determined condition by parameter-criteria | |
DE102022203833A1 (en) | Method and device for providing a reconstruction model for signal time series | |
DE19640432C2 (en) | Method for monitoring an internal combustion engine | |
DE102021115095B3 (en) | Process and drive control unit for functional testing of a water injection system | |
DE102018128315A1 (en) | Method, device, computer program and computer program product for checking a first adaptive system model | |
EP4034856B1 (en) | Quality control for pre-tensioned component | |
DE102021115103B3 (en) | Method, device, vehicle and computer program for modeling and monitoring a heating behavior of a vehicle component | |
DE102021127029B3 (en) | Method, system and computer program product for the prediction of leaks at sealing interfaces of screwed assembly components | |
DE102022204172A1 (en) | Method and device for training a data-based model and for evaluating and selecting a selection function for active learning of a data-based model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |