WO2023186388A1 - Konfidenzbetrachtung während dem training eines knn - Google Patents
Konfidenzbetrachtung während dem training eines knn Download PDFInfo
- Publication number
- WO2023186388A1 WO2023186388A1 PCT/EP2023/053027 EP2023053027W WO2023186388A1 WO 2023186388 A1 WO2023186388 A1 WO 2023186388A1 EP 2023053027 W EP2023053027 W EP 2023053027W WO 2023186388 A1 WO2023186388 A1 WO 2023186388A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- confidence
- training
- ann
- input
- Prior art date
Links
- 238000012549 training Methods 0.000 title claims abstract description 119
- 238000013528 artificial neural network Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000009826 distribution Methods 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 42
- 230000007613 environmental effect Effects 0.000 description 21
- 210000002569 neuron Anatomy 0.000 description 12
- 238000011161 development Methods 0.000 description 10
- 230000018109 developmental process Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- 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
-
- 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/094—Adversarial learning
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/088—Non-supervised learning, e.g. competitive learning
Definitions
- the present invention relates to a training method for an artificial neural network.
- the patent application with the file number 10 2021 200 215.3 describes how the confidence of the output data of an ANN can be determined by evaluating the environmental confidence. This reliably assesses whether the current classification is definitely in a decision-making region or on the edge of a region. This results in the confidence in the current classification, which is determined by the generator in various implementation forms.
- a training method for an artificial neural network with the following steps: feeding the ANN with input training data to determine output data for the input training data; Determining a confidence of the initial data; Training the ANN by optimizing a loss function that depends on the confidence of the output data.
- An artificial neural network is a network of networked artificial neurons recreated in a computer program.
- the artificial neurons are typically on arranged in different layers.
- the artificial neural network usually includes an input layer and an output layer, the neuron output of which is the only one of the artificial neural network that is visible. Layers lying between the input layer and the output layer are typically referred to as hidden layers.
- an architecture or topology of an artificial neural network is first initiated and then trained in a training phase for a specific task or for several tasks in a training phase.
- An ANN defines a mapping from an (example two-dimensional) input data space to a result data space.
- the mapping largely depends on the purpose of the artificial intelligence; for example, it is conceivable to classify data points in the input data space with regard to their properties.
- the data points from the input data space are assigned a classification result, such as “tree” or “house”, from the result data space and this is referred to as a classifying ANN.
- topology of an ANN encompasses all aspects relating to the structure of an ANN. This includes, for example, the number of neurons in the ANN, the division of the neurons into the individual layers of the ANN, the number of layers of an ANN, the networking of the neurons and the weighting of the networking.
- the training of the artificial neural network typically includes changing a weight of a connection between two artificial neurons of the artificial neural network.
- the weight contains information about the strength of consideration of a neuron's input.
- Training the artificial neural network may also include developing new connections between artificial neurons, deleting existing connections between artificial neurons, adjusting threshold values of the artificial neurons and/or adding or deleting artificial neurons include.
- the goal when training artificial neural networks is to minimize loss over the course of training. The lower the loss at the end of our training, the better our network's predictions are.
- a loss function is used as a method for evaluating an ANN. It shows the performance of the algorithm when modeling the data. Such a loss function in supervised learning can look like this:
- the loss function contains a confidence term that depends on the confidence of the initial data. This can mean that the term has a direct dependence on a confidence value. However, it is also conceivable that the dependency is determined indirectly through the selection or weighting of data examples to which a specific confidence value has been assigned.
- a training usually includes several iterations.
- An iteration-dependent loss function therefore changes over the course of training.
- loss functions are minimized.
- maximization or a specific target function or a specific target value may also make sense.
- the present patent application speaks of an optimization of the loss function, since the term optimization in this application includes not only minimization but also maximization and other target functions and target values.
- training data are data pairs consisting of input data that are to be processed by the ANN and target output data that are to be determined by the ANN.
- the ANN is adjusted based on a comparison of target output data, which is represented in a loss function, with the actual output data determined by the ANN, which results in a training effect.
- An input data space is a set of data that contains all conceivable or well-defined input data for an ANN.
- a result data space is a set that contains all conceivable result data of an ANN. This patent application is based on the assumption that an input data space can be partitioned into subsets or data points, with each element, i.e. a subset or a data point, of the partition being mapped onto a different mapping result from the result data space. Boundaries of the subsets are also clearly referred to as decision boundaries.
- Typical input data are, for example, n-dimensional vectors.
- disturbed input data is input data that has been artificially linked to a disturbance.
- Noise is a disturbance variable with a broad, unspecific frequency spectrum. It can therefore be seen as a superposition of many harmonic oscillations or waves with different amplitude and frequency respectively wavelength can be interpreted. There are noise processes with different properties, for example white noise, pink noise or brown noise.
- the amplitude of a one-dimensional disturbance is also referred to as its intensity. If it is a multidimensional disturbance vector, the disturbance intensity can be defined differently, e.g. as the amount of a disturbance vector or as the maximum of its components.
- Confidence refers to the probability that a statement is correct. Accordingly, the confidence is between 0 and 1. Terms such as reliability or dependability are also used in common language. The confidence can be estimated, for example, via the environmental confidence.
- the environmental confidence approximates the distance of a data point in the input data space to the nearest decision boundaries. This makes it possible to assess how close a data point is to another decision boundary. If it turns out that the distance of the data point in the input data space to another decision boundary is small, this results in a low confidence of the classification result, since even a small variation in the input data would lead to a different classification result.
- Real input data is input data that aims to represent reality in the best possible way or that was obtained from reality.
- Constructed input data is input data that has been constructed for a specific purpose.
- noisy input data or input data that is used for a so-called adversarial attack can be constructed input data.
- an adversarial attack means the use of adversarial examples to manipulate the classification results.
- An Adversarial Example is a specially manipulated input Signal into an artificial neural network, which intentionally causes it to misclassify. The manipulation is carried out in such a way that a human observer does not notice it or does not recognize it as such. For example, in a neural network trained to recognize objects, the pixels of an image could be slightly changed so that these changes are not visible to people, but the network incorrectly assigns the objects in the image.
- Another example of constructed input data is input data that is supposed to be at a decision boundary.
- the Kullback-Leibler divergence (KL divergence for short) is a measure of the difference between two probability distributions. Typically, one of the distributions represents empirical observations or a precise probability distribution, while the other represents a model or an approximation.
- the KL divergence is also called relative entropy.
- Computer program products usually include a sequence of instructions that cause the hardware, when the program is loaded, to carry out a specific procedure that leads to a specific result.
- the basic idea of the invention is to use confidence as a parameter during training. This allows the ANN to learn to achieve a high level of classification reliability and can be used for safety-critical applications.
- the loss function In order to optimize the confidence during training, the loss function must be formulated in such a way that it has a direct or indirect dependency on the confidence.
- At least one error term that is independent of the confidence and one confidence term that is dependent on the confidence are included in the optimized loss function.
- ⁇ is the confidence and ⁇ is an adjustable scaling factor to vary the influence of the confidence.
- the confidence can be estimated, for example, using the environmental confidence.
- the following procedure can be considered:
- the loss function is determined for only a single data sample x (+ associated true class, so that the environmental confidence is also determined for only a single data sample at a time.
- a training data set would consist of several data examples exist, so that the environmental confidence would also be calculated in parallel on several data examples.
- the confidence term and the error term in the loss function are weighted depending on the iteration.
- ⁇ can be set arbitrarily to enable the best possible training and to find the best possible compromise between accuracy of the classification and security of the classification.
- the ANN is fed with first input training data and/or with second input training data, the first input training data being real training data and the second Input training data is constructed training data, whereby the optimized loss function of the first and second input training data differs.
- training data by generating noise data by drawing from a random variable.
- training data by determining training data for so-called adversarial attacks.
- Adversarial attacks aim to minimize the environmental confidence of the ANN during training.
- the input data x' are specifically calculated so that the ANN has a low environmental confidence on them.
- the decision boundaries are then changed so that they are further apart again, so that the environmental confidence is increased again.
- This iterative process enables optimal training and increasing environmental confidence, as the ANN improves its behavior on input data that is assigned output data with low environmental confidence.
- Another method of integrating environmental confidence into the loss function is to approximate the distance to the next decision boundary. Short distances are then penalized with a higher loss value, so that the distance to other decision regions is increased during training.
- the noise data x' is generated for a range of strengths [ ⁇ o , ..., ⁇ max ], with several noise data being used for each strength. Now all generated noise data is classified with the currently trained ANN and then checked to see what strength the noise data is still assigned to the actually true class y. The strength of the noise data where a deviation between the output classes and the true class first occurs is considered the distance ⁇ to the next decision region. This makes it possible to gradually increase the distance to the next decision-making region. Initially, ⁇ will tend to be at lower values, since normal optimization does not focus on the distance to other classes as long as the output class is correct. For these lower values, log( ⁇ ) results in a greater penalty, so ⁇ is increased over time to reduce the overall loss value. After several iterations, ⁇ will be at larger values, so that the decision regions are further away and the reliability of the classification is improved.
- a confidence of the loss function for first input training data is maximized when the confidence is between 0 and 1, with confidences close to 1 meaning that the output data has a high reliability.
- confidence can also be expressed by values that lie outside the range of 0 to 1. In this case, this measure of confidence should first be transformed to the range of values between 0 and 1, so that confidences close to 1 mean that the initial data has high reliability.
- the goal (or the distance ⁇ ) is to be maximized in order to minimize the current loss value as much as possible.
- This procedure makes sense if the respective data example x is a real example from the training data. The goal for these is to be reliably classified in a decision-making region and to have the highest possible level of security in the classification.
- a confidence term of the loss function for second input training data is minimized if the confidence is between 0 and 1, with confidences close to 1 meaning that the Output data has a high level of reliability.
- Such data examples can be, for example, (very) noisy data, data for which the class cannot be clearly identified, data with very poor resolution, data with unusual characteristics, data resulting from adversarial attacks, etc.
- the goal is to classify the data examples as uncertainly as possible (at the boundaries of decision regions). This minimizes confidence, which also minimizes loss. This procedure makes sense for “bad” data examples, as these cannot be reliably assigned to any of the classes. They should therefore be located at the edges, as this is where the security of the classification is lowest.
- the confidence is based on the distance between the input training data and a decision boundary. This distance is also known as environmental confidence. This ensures that the decision boundaries are as far away from typical classifications as possible, so that the ANN has the highest possible classification reliability. This also increases the robustness of the classification, since the decision boundaries of different classes are as far away from each other as possible and typical data examples are more in the middle of decision regions. This increased security is also evident after the end of the training during real use of the ANN.
- the confidence is determined using a Kullback-Leibler divergence by feeding the ANN with undisturbed input training data and with disturbed input training data, a probability distribution being determined over the output data space for all output data and for these probability distributions the Kullback-Leibler divergence is determined.
- the probability distribution of an input data example on the output data space contains for each element in the output data space the probability that the respective target output data can be assigned to the input data.
- the KL divergence is basically a measure to determine the difference or similarity between two probability distributions.
- this method of integration uses not only the output class of the ANN r top ( ⁇ ), but also the associated probability f prob ( ⁇ ) across all existing classes. Accordingly, the ANN f prob ( ⁇ ) is used for the KL divergence, as it outputs the entire probability vector. This makes it possible to compare the probability distribution of the undisturbed input data example x with the probability distribution of the noisy input data x'. If the probability distribution of the noisy input data deviates significantly from the probability distribution of the undisturbed input data, this shows that the ANN was confused by the noisy input data and is now producing a different output.
- the ANN produce identical or similar output on the noisy input data. This would mean that the The decision region of the ANN is sufficiently large to reliably classify even noisy input data. Therefore, the deviation in the KL divergence is penalized, which means that this method indirectly optimizes the confidence during training without using ⁇ directly.
- f prob ( ⁇ ) might look like this:
- noise data of different strengths can only be calculated for the noise data when the noise reaches a certain level, or only the noise data that generates a minimum number of deviations can be used.
- the noise data is weighted with regard to the strength of the noise, so that all noise data no longer has the same weight have. For example, noise data with a higher strength has a stronger weight (and therefore a stronger influence) for the calculation of the KL divergence.
- data examples are taken into account in the loss function in a confidence-dependent manner, in particular by means of a confidence-dependent weighting.
- the basic idea here is that the influence of the input data, on which the confidence of the ANN is low, is weighted higher for the following training iterations. Consequently, during each training iteration, the data on which the current ANN has a low confidence value is noted. This input data is then weighted higher in the next training iteration. There are various options for implementing this higher weighting.
- ANNs as a whole is increased, the weight of the data examples with a low confidence can be increased in the last iteration and the weight of the other examples can be reduced. This ensures that the loss value is influenced primarily by the previously uncertainly classified data examples. As a result, these data samples are typically pushed towards the center of a decision region so that they are always classified correctly to keep the loss value low.
- the confidence is optimized indirectly, without the loss function containing a confidence-dependent term.
- no intervention in the hyperparameters of the training is required; only the weighting of the data examples must be adjusted.
- data examples whose output data have a confidence that falls below a predetermined threshold value are modified and/or duplicated in order to feed the ANN with modified and/or duplicated input training data.
- Another way to indirectly optimize the confidence is to augment the training data set.
- the training data set is expanded with data examples on which the current ANN has a low confidence and thus a low level of security in the classification. Consequently, the proportion of data examples that the ANN does not reliably classify will be increased and these will have a greater influence on the loss value in the next iteration because the number of such data examples has increased.
- augmented data set as much as possible, more focus is placed on the correct classification of the added data. This ensures that these data examples are classified with confidence and the decision regions shift in favor of these examples, so that the previously uncertain data examples are shifted more towards the center of a region.
- the procedure described can be dynamically adjusted over the course of the training in order to achieve the best possible training result between correctness (accuracy) of the statement and security in the output.
- the number of augmented data examples is reduced again.
- the number of augmented data examples is therefore continually adjusted over the course of training.
- the augmentation to generate new data that is not part of the previous training data and also has low confidence can be done in different ways. For example, the data examples that have low confidence in the last iteration can be slightly changed and then added to the training data set.
- a possible alternative is to add low-level noise to the data so that a person's understanding of the data does not change.
- the ANN on the other hand, will most likely be even more uncertain on the noisy data than on the original data, since it had a low confidence value in the last iteration.
- This procedure represents a simple variant of generating data examples in order to expand the original training data set with uncertain data.
- a computer program product carries out the steps of a method according to the preceding description when the computer program product runs on a computer, in particular a vehicle-internal computer. If the program in question is on a When computers are used, the computer program product produces an effect, namely improving the confidence of an ANN.
- ADAS ANNs with different levels of complexity are known, i.e. an initial evaluation of the input data is carried out by a rather smaller and simple ANN. If this ANN is uncertain about the current input data, a larger ANN is consulted, which can classify the data more reliably, but cannot be operated permanently due to the increased resource requirements. In order to conserve as many resources as possible, it is advantageous to only use the smaller ANN if possible.
- the smaller ANN should be trained with the training procedure described for the highest possible classification reliability, so that the initial data for the most part has a high level of confidence.
- An ANN trained in this way has a high level of classification reliability, so that the more complex components need to be questioned less often.
- the ANN trained in this way will also be more robust against unknown data and especially against adversarial attacks.
- Figure 1 shows a schematic diagram to explain an embodiment of the invention
- Figure 2 shows a schematic diagram to explain an embodiment of the invention
- Figure 3 shows a schematic block diagram of an embodiment of the invention.
- Figure 1 shows the training effect of environmental confidence in a schematic sketch.
- the data point 101 and the noisy data points or noise data 102 lie on the edge of several decision boundaries.
- the ANN determines the confidence of the classification result based on the environmental confidence of the data point 101 and the noise data 102.
- the decision limits regarding the data point 101 and the noise data 102 were shifted by training. Accordingly, the data point 101 and the noise data 102 have been shifted to the data point 101' and the noise data 102'.
- the ANN has learned to carry out the classification safely and to maximize the distance to other decision regions so that the environmental confidence does not lead to an increase in the loss value during training.
- the distance is only determined when a majority of the data samples, or a number of data samples that exceeds a predetermined threshold, fail at a strength, so that outliers are no longer taken into account. This is helpful to allow the optimization to progress overall and not to focus on individual artifacts that are rather unimportant (in the overall context).
- FIG. 3 shows a block diagram of a training method for an artificial neural network.
- the ANN is fed with input training data in order to determine output data for the input training data.
- a confidence of the output data is determined.
- the ANN is trained by optimizing a loss function that depends on the confidence of the output data.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Filters That Use Time-Delay Elements (AREA)
Abstract
Trainingsverfahren für ein künstliches neuronales Netzwerk mit den folgenden Schritten: - Speisen (S1) des KNN mit Eingangstrainingsdaten, um Ausgangsdaten zu den Eingangstrainingsdaten zu ermitteln; - Ermitteln (S2) einer Konfidenz der Ausgangsdaten; - Trainieren (S3) des KNN, indem eine Verlustfunktion, die von der Konfidenz der Ausgangsdaten abhängt, optimiert wird.
Description
Konfidenzbetrachtung während dem Training eines KNN
GEBIET DER ERFINDUNG
Die vorliegende Erfindung betrifft ein Trainingsverfahren für ein künstliches neurona- les Netzwerk.
TECHNISCHER HINTERGRUND
Die Patentanmeldung mit dem Aktenzeichen 10 2021 200 215.3 beschreibt, wie eine Konfidenz von Ausgangsdaten eines KNN ermittelt werden kann, indem die Umge- bungskonfidenz evaluiert wird. Diese bewertet zuverlässig, ob die aktuelle Klassifika- tion sicher in einer Entscheidungsregion liegt oder am Rand einer Region. Daraus ergibt sich die Konfidenz in die aktuelle Klassifikation, welche durch den Generator in verschiedenen Umsetzungsformen bestimmt wird.
Es ist wünschenswert die Konfidenz, beispielsweise die Umgebungskonfidenz, eines KNNs zu steigern, sodass das resultierende KNN eine erhöhte Sicherheit in die Klas- sifikation hat.
ZUSAMMENFASSUNG DER ERFINDUNG
Demgemäß ist vorgesehen:
- ein Trainingsverfahren für ein künstliches neuronales Netzwerk mit den folgen- den Schritten: Speisen des KNN mit Eingangstrainingsdaten, um Ausgangsda- ten zu den Eingangstrainingsdaten zu ermitteln; Ermitteln einer Konfidenz der Ausgangsdaten; Trainieren des KNN, indem eine Verlustfunktion, die von der Konfidenz der Ausgangsdaten abhängt, optimiert wird.
Ein künstliches neuronales Netzwerk (KNN, englisch artificial neural network - ANN) ist ein in einem Rechenprogramm nachgebildetes Netzwerk aus vernetzten künstli- chen Neuronen. Die künstlichen Neuronen sind dabei typischerweise auf
verschiedenen Schichten (layers) angeordnet. Üblicherweise umfasst das künstliche neuronale Netzwerk eine Eingangsschicht und eine Ausgabeschicht (output layer), deren Neuronenausgabe als einzige des künstlichen neuronalen Netzwerks sichtbar wird. Zwischen der Eingangsschicht und der Ausgabeschicht liegende Schichten werden typischerweise als verdeckte Schichten (hidden layer) bezeichnet. Typischer- weise wird zunächst eine Architektur bzw. Topologie eines künstlichen neuronalen Netzwerks initiiert und dann in einer Trainingsphase für eine spezielle Aufgabe oder für mehrere Aufgaben in einer Trainingsphase trainiert.
Ein KNN legt eine Abbildung von einem (beispielhaft zweidimensionalen) Eingangs- datenraum auf einen Ergebnisdatenraum fest. Die Abbildung hängt maßgeblich vom Zweck der künstlichen Intelligenz ab, beispielsweise ist es denkbar, Datenpunkte des Eingangsdatenraums hinsichtlich ihrer Eigenschaften zu klassifizieren. In diesem Fall wird den Datenpunkten aus dem Eingangsdatenraum ein Klassifikationsergebnis, wie beispielsweise „Baum“ oder „Haus“, aus dem Ergebnisdatenraum zugeordnet und man spricht von einem klassifizierenden KNN.
Der Begriff „Topologie eines KNN“ umfasst sämtliche Aspekte bezüglich des Aufbaus eines KNN. Hierunter fallen beispielsweise die Anzahl der Neuronen des KNN, die Aufteilung der Neuronen auf die einzelnen Schichten des KNN, die Anzahl der Schichten eines KNN, die Vernetzung der Neuronen und die Gewichtung der Vernet- zung.
Das Training des künstlichen neuronalen Netzwerks umfasst dabei typischerweise eine Veränderung eines Gewichts einer Verbindung zwischen zwei künstlichen Neu- ronen des künstlichen neuronalen Netzwerks. Das Gewicht enthält Information zur Stärke der Berücksichtigung eines Eingangs eines Neurons. Das Training des künst- lichen neuronalen Netzwerks kann auch eine Entwicklung von neuen Verbindungen zwischen künstlichen Neuronen, ein Löschen von bestehenden Verbindungen zwi- schen künstlichen Neuronen, ein Anpassen von Schwellwerten der künstlichen Neu- ronen und/oder ein Hinzufügen oder ein Löschen von künstlichen Neuronen umfas- sen.
Das Ziel beim Training künstlicher neuronaler Netze besteht darin, den Verlust im Verlauf des Trainings zu minimieren. Je niedriger der Verlust am Ende unseres Trai- nings, desto besser sind die Vorhersagen unseres Netzes.
Als Methode zur Bewertung eines KNN wird eine Verlustfunktion verwendet. Sie zeigt die Performance des Algorithmus bei der Modellierung der Daten. Eine solche Ver- lustfunktion im supervised learning kann z.B. wie folgt aussehen:
Bei Supervised Learning, also dem Training mit gelabelten Trainingsdaten, gibt es für jedes Xi aus einem Trainingsdatensatz X einen entsprechenden gekennzeichneten Wert Yi aus einem Datensatz Y. Weichen die Vorhersagen des KNN sehr von den Ergebnissen Yi ab, würde das Ergebnis der Verlustfunktion einen hohen Wert ausge- ben und zeigen, dass das Modell schlecht abgeschnitten hat. Im Umkehrschluss be- deutet dies, dass ein Modell gut abschneidet, wenn das Ergebnis der Verlustfunktion einen niedrigen Wert annimmt. Nach Optimierungen kann der Supervised Learning Algorithmus die Abweichungen reduzieren und das Ergebnis der Verlustfunktion würde sinken. Im unsupervised learning sind Verlustfunktionen anders aufgebaut, da Yi unbekannt ist. loss(D) ist ein Beispiel für einen bzw. mehrere Fehlerterme, die kon- fidenzunabhängig sind.
In dieser Patentanmeldung ist vorgesehen, dass die Verlustfunktion einen Konfidenz- term, der von der Konfidenz der Ausgangsdaten abhängt, enthält. Dies kann bedeu- ten, dass der Term eine direkte Abhängigkeit von einem Konfidenzwert aufweist. Es ist jedoch auch denkbar, dass die Abhängigkeit durch die Auswahl oder Gewichtung von Datenbeispielen, welchen ein bestimmter Konfidenzwert zugeordnet wurde, indi- rekt vorgegeben ist.
Ein Training umfasst in der Regel mehrere Iterationen. Eine iterationsabhängige Ver- lustfunktion ändert sich also im Verlauf des Trainings.
Typischerweise werden Verlustfunktionen minimiert. Abhängig von den Trainingsda- ten und abhängig von der Parametrisierung der Verlustfunktion kann jedoch auch die Maximierung oder eine bestimmte Zielfunktion oder ein bestimmter Zielwert sinnvoll sein.
Aus diesem Grund spricht die vorliegende Patentanmeldung von einer Optimierung der Verlustfunktion, da der Begriff Optimierung in dieser Anmeldung nicht nur die Mi- nimierung sondern auch die Maximierung und andere Zielfunktionen und Zielwerte umfasst.
Trainingsdaten sind in dieser Anmeldung Datenpaare aus Eingangsdaten, die von dem KNN zu verarbeiten sind, sowie Soll-Ausgangsdaten, die von dem KNN zu er- mitteln sind. Während des Trainings wird das KNN aufgrund eines Vergleichs von Soll-Ausgangsdaten, der in einer Verlustfunktion abgebildet ist, mit dem von dem KNN ermittelten Ist- Ausgangsdaten angepasst, wodurch sich ein Trainingseffekt ein- stellt.
Ein Eingangsdatenraum ist eine Menge an Daten, die alle denkbaren bzw. wohldefi- nierten Eingangsdaten für ein KNN enthält. Ein Ergebnisdatenraum ist eine Menge, die alle denkbaren Ergebnisdaten eines KNN enthält. Dieser Patentanmeldung liegt die Annahme zugrunde, dass sich ein Eingangsdatenraum in Teilmengen oder Da- tenpunkte partitionieren lässt, wobei jedes Element, also eine Teilmenge oder ein Datenpunkt, der Partition auf ein anderes Abbildungsergebnis aus dem Ergebnisda- tenraum abgebildet wird. Grenzen der Teilmengen werden anschaulich auch als Ent- scheidungsgrenzen bezeichnet. Typische Eingangsdaten sind z.B. n-dimensionale Vektoren.
Gestörte Eingangsdaten sind in dieser Patentanmeldung Eingangsdaten, die künst- lich mit einer Störung verknüpft worden sind.
Unter Rauschen versteht man eine Störgröße mit breitem unspezifischem Frequenz- spektrum. Es kann daher als eine Überlagerung vieler harmonischer Schwingungen oder Wellen mit unterschiedlicher Amplitude und Frequenz beziehungsweise
Wellenlänge interpretiert werden. Es gibt Rauschprozesse verschiedener Eigen- schaften, z.B. weißes Rauschen, rosa Rauschen oder braunes Rauschen.
Die Amplitude einer eindimensionalen Störung bezeichnet man auch als dessen In- tensität. Handelt es sich um einen mehrdimensionalen Störungsvektor kann die Stö- rungsintensität unterschiedlich definiert werden, z.B. als Betrag eines Störungsvek- tors oder als Maximum seiner Komponenten.
Die Konfidenz bezeichnet eine Wahrscheinlichkeit für die Korrektheit einer Aussage. Dementsprechend beträgt die Konfidenz zwischen 0 und 1 . Im gebräuchlichen Sprachgebrauch werden auch Begriffe wie Zuverlässigkeit oder Verlässlichkeit ver- wendet. Die Konfidenz kann beispielsweise über die Umgebungskonfidenz abge- schätzt werden.
Die Umgebungskonfidenz approximiert die Entfernung eines Datenpunkts im Ein- gangsdatenraum zu den nächsten Entscheidungsgrenzen. Somit kann beurteilt wer- den, wie nah ein Datenpunkt an einer anderen Entscheidungsgrenze liegt. Stellt sich heraus, dass der Abstand des Datenpunkts im Eingangsdatenraum zu einer anderen Entscheidungsgrenze gering ist, ergibt sich daraus eine niedrige Konfidenz des Klas- sifikationsergebnisses, da bereits eine geringe Variation der Eingangsdaten zu einem anderen Klassifikationsergebnis führen würde.
Reale Eingangsdaten sind Eingangsdaten, die zum Ziel haben, die Realität bestmög- lich abzubilden, oder die aus der Realität gewonnen wurden.
Konstruierte Eingangsdaten sind Eingangsdaten, die zu einem bestimmten Zweck konstruiert wurden. Verrauschte Eingangsdaten oder Eingangsdaten, die einer soge- nannten Adversarial Attack dienen, können konstruierte Eingangsdaten sein.
Unter einer Adversarial Attack (zu Deutsch „feindlicher Angriff“) versteht man im Kon- text von Künstlicher Intelligenz (Kl) bzw. Deep Learning die Verwendung von Adver- sarial Examples (zu Deutsch „feindliche Beispiele“) zur Manipulation der Klassifikati- onsergebnisse. Ein Adversarial Example ist ein speziell manipuliertes Eingangs-
Signal in ein künstliches Neuronales Netzwerk, welches dieses absichtlich zu Fehl- klassifikationen verleitet. Die Manipulation wird so vorgenommen, dass ein menschli- cher Beobachter diese nicht bemerkt oder nicht als solche erkennt. Beispielsweise bei einem zur Objekterkennung trainierten neuronalen Netzwerk könnten die Pixel ei- nes Bildes leicht verändert werden, sodass diese Veränderungen für Menschen nicht sichtbar sind, das Netzwerk die Objekte auf dem Bild jedoch falsch zuordnet.
Ein anderes Beispiel für konstruierte Eingangsdaten sind solche Eingangsdaten, die sich an einer Entscheidungsgrenze befinden sollen.
Die Kullback-Leibler-Divergenz (kurz KL-Divergenz) ist ein Maß für die Unterschied- lichkeit zweier Wahrscheinlichkeitsverteilungen. Typischerweise repräsentiert dabei eine der Verteilungen empirische Beobachtungen oder eine präzise Wahrscheinlich- keitsverteilung, während die andere ein Modell oder eine Approximation darstellt.
Die KL-Divergenz wird auch relative Entropie genannt.
Computerprogrammprodukte umfassen in der Regel eine Folge von Befehlen, durch die die Hardware bei geladenem Programm veranlasst wird, ein bestimmtes Verfah- ren durchzuführen, das zu einem bestimmten Ergebnis führt.
Die grundliegende Idee der Erfindung ist es, die Konfidenz als einen Parameter wäh- rend des Trainings zu benutzen. Dadurch kann das KNN lernen, eine hohe Klassifi- kationssicherheit zu erreichen und es kann für sicherheitskritische Anwendungen ein- gesetzt werden.
Um die Konfidenz während des Trainings zu optimieren, ist die Verlustfunktion derart zu formulieren, dass diese eine direkte oder indirekte Abhängigkeit der Konfidenz aufweist.
Anstatt die Konfidenz direkt in die Verlustfunktion einzubetten, ist es alternativ denkbar, Trainingsdaten konfidenzabhängig auszuwählen, um eine Abhängigkeit der Verlustfunktion von der Konfidenz zu schaffen.
Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den weiteren Unteransprüchen sowie aus der Beschreibung unter Bezugnahme auf die Figuren der Zeichnung.
Gemäß einer bevorzugten Weiterbildung der Erfindung geht wenigstens ein Fehler- term, der von der Konfidenz unabhängig ist, und ein Konfidenzterm, der von der Kon- fidenz abhängig ist, in die optimierte Verlustfunktion ein.
Durch die Einbettung der Konfidenz in die Verlustfunktion ist es möglich, während des Trainings das Lernen einer sicheren Klassifikation zu bevorzugen.
Angenommen LCE(·) ist eine konfidenzunabhängige Verlustfunktion, so ergibt sich beispielsweise die folgende konfidenzabhängige Verlustfunktion:
Dabei ist ξ ist die Konfidenz und ∈ ein einstellbarer Skalierungsfaktor, um den Ein- fluss der Konfidenz zu variieren. bezeichnet die korrekten Ausgangsdaten, also Soll-Ausgangsdaten zu einem Ein- gangsdatenbeispiel. Handelt es sich bei den Eingangstrainingsdaten um gelabelte Eingangsdaten, ist bekannt. Alternativ kann approximiert werden.
Die Konfidenz kann beispielsweise mittels der Umgebungskonfidenz geschätzt wer- den. In diesem Fall kommt folgende Vorgehensweise in Betracht:
Berechnung der Umgebungskonfidenz
In diesem vereinfachten Beispiel wird die Verlustfunktion nur für ein einziges Daten- beispiel x (+ zugehörige wahre Klasse bestimmt, sodass auch die Umgebungs- konfidenz nur für ein einziges Datenbeispiel gleichzeitig bestimmt wird.
Bei einem realen Trainingsprozess würde hingegen ein Trainingsdatensatz aus meh- reren Datenbeispielen X (+ zugehörige wahre Klasse )
bestehen, sodass auch die Umgebungskonfidenz auf mehreren Datenbeispielen parallel berechnet werden würde.
Gemäß einer bevorzugten Weiterbildung der Erfindung werden der Konfidenzterm und der Fehlerterm in der Verlustfunktion iterationsabhängig gewichtet.
Sei eine konfidenzabhängige
Verlustfunktion nach vorstehendem Beispiel. Dann ist es vorteilhaft, eine iterationsabhängige Funktion e(j), wobei j die Anzahl vorangehender Iterationen bezeichnet, vorzugeben. Somit kann während des Trainings der Einfluss der Konfidenz in dem gesamten Verlustwert eingestellt werden. Beispielsweise kann während initialer Epochen des Trainings ∈=0 gewählt werden, sodass am Anfang der Fokus darauf liegt die Genauigkeit der Klassifikation in die richtige Richtung zu bewegen und die Entscheidungsgrenzen der Klassen grundlegend zu lernen.
Für spätere Epochen, also ansteigende j, kann ∈ wachsen, sodass der Einfluss in späteren Epochen größer ist. Durch diese Strategie wird es ermöglicht, das KNN zuerst grob für eine gute Klassifikationsgenauigkeit zu trainieren und anschließend das Training darauf zu fokussieren, dass die Entscheidungsgrenzen der verschiedenen Klassen einen möglichst großen Abstand zueinander haben.
∈ kann beliebig eingestellt werden, um ein möglichst gutes Training zu ermöglichen und einen möglichst guten Kompromiss zwischen Genauigkeit der Klassifikation und Sicherheit der Klassifikation zu finden.
Gemäß einer bevorzugten Weiterbildung der Erfindung wird das KNN mit ersten Ein- gangstrainingsdaten und/oder mit zweiten Eingangstrainingsdaten gespeist, wobei die ersten Eingangstrainingsdaten reale Trainingsdaten sind und die zweiten
Eingangstrainingsdaten konstruierte Trainingsdaten sind, wobei sich die optimierte Verlustfunktion der ersten und zweiten Eingangstrainingsdaten unterscheidet.
Demnach ist es denkbar Trainingsdaten zu konstruieren, indem Rauschdaten durch Ziehung aus einer Zufallsvariablen generiert werden.
Alternativ ist es denkbar Trainingsdaten zu konstruieren, indem Trainingsdaten für sogenannte adversarial attacks ermittelt werden. Adversarial Attacks haben zum Ziel, die Umgebungskonfidenz des KNNs während des Trainings zu minimieren. So werden die Eingangsdaten x' gezielt so berechnet, dass das KNN eine geringe Umgebungskonfidenz auf ihnen hat. Im Training werden daraufhin die Entscheidungsgrenzen so verändert, dass diese wieder weiter auseinander liegen, sodass die Umgebungskonfidenz wieder erhöht wird. Dieser iterative Prozess ermöglicht ein optimales Training und die Steigerung der Umgebungskonfidenz, da das KNN jeweils sein Verhalten auf Eingangsdaten, denen Ausgangsdaten mit geringer Umgebungskonfidenz zugeordnet werden, verbessert.
Eine weitere Methode die Umgebungskonfidenz in die Verlustfunktion zu integrieren, besteht darin, die Distanz zur nächsten Entscheidungsgrenze zu approximieren. An- schließend werden geringe Distanzen mit einem höheren Verlustwert bestraft, so- dass der Abstand zu anderen Entscheidungsregionen während des Trainings erhöht wird.
In diesem Fall werden die Rauschdaten x' also für eine Reichweite von Stärken [λo, ..., λmax] generiert, wobei für jede Stärke mehrere Rauschdaten genutzt werden. Nun werden alle generierten Rauschdaten mit dem aktuell trainierten KNN klassifiziert und anschließend überprüft bis welche Stärke die Rauschdaten noch der tatsächlich wahren Klasse y zugeordnet werden. Die Stärke der Rauschdaten, bei denen zuerst eine Abweichung zwischen den ausgegebenen Klassen und der wahren Klasse auftritt, wird als Distanz ζ zur nächsten Entscheidungsregion angesehen.
Somit ist es möglich die Distanz zur nächsten Entscheidungsregion sukzessive zu er- höhen. Anfangs wird ζ eher bei geringeren Werten liegen, da bei einer normalen Op- timierung kein Fokus auf die Distanz zu anderen Klassen gelegt wird, solange die ausgegebene Klasse korrekt ist. Für diese geringeren Werte führt log (ζ) zu einer stärkeren Bestrafung, sodass ζ über die Zeit erhöht wird, um den gesamten Verlust- wert zu verringern. Nach mehreren Iterationen wird ζ bei größeren Werten liegen, so- dass die Entscheidungsregionen weiter entfernt sind und die Sicherheit der Klassifi- kation verbessert wurde.
Gemäß einer bevorzugten Weiterbildung der Erfindung wird eine Konfidenz der Ver- lustfunktion für erste Eingangstrainingsdaten maximiert, wenn die Konfidenz zwi- schen 0 und 1 beträgt, wobei Konfidenzen nahe 1 bedeuten, dass die Ausgangsda- ten eine hohe Zuverlässigkeit aufweisen.
Es versteht sich, dass Konfidenzen auch durch Werte, die außerhalb des Wertebe- reichs von 0 bis 1 liegen, ausgedrückt werden können. In diesem Fall sollte dieses Maß für die Konfidenz zunächst auf den Wertebereich zwischen 0 und 1 transformiert werden, so dass Konfidenzen nahe 1 bedeuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.
Es versteht sich deshalb, dass die Erfindung nicht durch die Verwendung eines an- deren Maßes für die Konfidenz umgangen werden kann.
In den bisher beschriebenen Möglichkeiten zur Einbringung der Umgebungskon- fidenz in die Verlustfunktion ist das Ziel (bzw. die Distanz ζ) zu maximieren, um den aktuellen Verlustwert möglichst zu minimieren. Dieses Vorgehen ist sinnvoll, wenn das jeweilige Datenbeispiel x ein reales Beispiel aus den Trainingsdaten ist. Bei sol- chen ist es das Ziel, dass diese sicher in einer Entscheidungsregion klassifiziert wer- den und eine möglichst hohe Sicherheit in die Klassifikation haben.
Gemäß einer bevorzugten Weiterbildung der Erfindung wird ein Konfidenzterm der Verlustfunktion für zweite Eingangstrainingsdaten minimiert, wenn die Konfidenz zwi- schen 0 und 1 beträgt, wobei Konfidenzen nahe 1 bedeuten, dass die
Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.
Umgekehrt ist es aber auch möglich „schlechte“ Datenbeispiele zu wählen. Solche Datenbeispiele können bspw. (stark) verrauschte Daten, Daten bei denen die Klasse nicht zweifelsfrei erkennbar ist, Daten mit sehr schlechter Auflösung, Daten mit unge- wöhnlichen Merkmalen, Daten die aus adversarial attacks resultieren, etc. sein.
Exemplarisch sind Datenbeispiele, die ein menschlicher Experte nicht bewerten/an- notieren kann, als schlechte und normalerweise nicht nützliche Daten anzusehen.
Solche Datenbeispiele sind in einem normalen Trainingsdatensatz nicht zu finden, da sie für das Training nicht hilfreich wären.
Dementsprechend ist es sinnvoll, genau solche Datenbeispiele zu verwenden, indem das KNN trainiert wird, diesen Datenbeispielen eine niedrige Konfidenz zuzuordnen.
Dazu werden entsprechende Datenbeispiele in den Trainingsdatensatz eingeführt und eine andere Verlustfunktion für diese Daten gewählt. Anstatt die typische Ver- lustfunktion für normale Trainingsdaten zu optimieren, wird nur die Konfidenz mini- miert:
In diesem Fall wird die Verlustfunktion also minimal, wenn die Umgebungskonfidenz ζ = 0 ist. Das Ziel ist es also die Datenbeispiele möglichst unsicher (an den Grenzen von Entscheidungsregionen) zu klassifizieren. Dadurch wird die Konfidenz minimiert, wodurch auch der Verlust minimiert wird. Dieses Vorgehen ist für „schlechte“ Daten- beispiele sinnvoll, da diese keiner der Klassen sicher zugeordnet werden können. Sie sollten also an den Rändern liegen, da dort die Sicherheit der Klassifikation am geringsten ist.
Gemäß einer bevorzugten Weiterbildung der Erfindung beruht die Konfidenz auf dem Abstand der Eingangstrainingsdaten zu einer Entscheidungsgrenze. Dieser Abstand wird auch als Umgebungskonfidenz bezeichnet.
Dadurch wird gewährleistet, dass die Entscheidungsgrenzen möglichst weit entfernt von typischen Klassifikationen verlaufen, sodass das KNN eine möglichst hohe Klas- sifikationssicherheit hat. Dazu wird auch die Robustheit der Klassifikation erhöht, da die Entscheidungsgrenzen verschiedener Klassen möglichst weit voneinander ent- fernt liegen und typische Datenbeispiele eher in der Mitte von Entscheidungsregio- nen liegen. Diese erhöhte Sicherheit zeigt sich nach dem Ende des Trainings auch während der realen Nutzung des KNNs.
Gemäß einer bevorzugten Weiterbildung der Erfindung wird die Konfidenz mittels ei- ner Kullback-Leibler-Divergenz ermittelt, indem das KNN mit ungestörten Eingangs- trainingsdaten und mit gestörten Eingangstrainingsdaten gespeist wird, wobei für alle Ausgangsdaten eine Wahrscheinlichkeitsverteilung über dem Ausgangsdatenraum ermittelt wird und zu diesen Wahrscheinlichkeitsverteilungen die Kullback-Leibler-Di- vergenz ermittelt wird. Die Wahrscheinlichkeitsverteilung eines Eingangsdatenbei- spiels auf dem Ausgangsdatenraum enthält für jedes Element im Ausgangsdaten- raum die Wahrscheinlichkeit, dass den Eingangsdaten die jeweiligen Soll-Ausgangs- daten zuzuordnen sind.
Dabei ist die KL-Divergenz prinzipiell ein Maß, um den Unterschied bzw. die Ähnlich- keit zwischen zwei Wahrscheinlichkeitsverteilungen zu bestimmen.
Folglich nutzt diese Methode der Integration nicht nur die ausgegebene Klasse des KNNs rtop(·), sondern auch die zugehörige Wahrscheinlichkeit fprob(·) über alle vor- handenen Klassen. Dementsprechend wird für die KL-Divergenz das KNN fprob(·) benutzt, da dieses den gesamten Wahrscheinlichkeitsvektor ausgibt. Dies ermöglicht es, die Wahrscheinlichkeitsverteilung des ungestörten Eingangsdatenbeispiels x mit der Wahrscheinlichkeitsverteilung der verrauschten Eingangsdaten x' zu vergleichen. Weicht nun die Wahrscheinlichkeitsverteilung der verrauschten Eingangsdaten von der Wahrscheinlichkeitsverteilung der ungestörten Eingangsdaten deutlich ab, zeigt dies, dass das KNN durch die verrauschten Eingangsdaten verwirrt wurde und nun eine andere Ausgabe trifft.
Es ist jedoch wünschenswert, dass das KNN auf den verrauschten Eingangsdaten eine identische oder ähnliche Ausgabe trifft. Dies würde bedeuten, dass die
Entscheidungsregion des KNNs ausreichend groß ist, um selbst verrauschte Ein- gangsdaten sicher zu klassifizieren. Daher wird die Abweichung in der KL-Divergenz bestraft, wodurch dieses Verfahren die Konfidenz während des Trainings indirekt op- timiert ohne ξ direkt zu benutzen.
Da die KL-Divergenz nur den Unterschied zwischen zwei einzelnen Wahrscheinlich- keitsverteilungen bestimmt, sind unterschiedliche Vorgehensweisen möglich, um den Vektor der verrauschten Eingangsdaten x' zu benutzen.
Alternativ kann über die vom KNN ausgegebenen Wahrscheinlichkeitsverteilungen gemittelt werden, anstatt über alle KL-Divergenz Werte. Folglich wird die KL-Diver- genz nur einmalig für die gemittelte Wahrscheinlichkeitsverteilung berechnet:
In beiden Berechnungsbeispielen ist es außerdem denkbar, Rauschdaten unter- schiedlicher Stärken zu benutzen. Dazu kann beispielsweise die KL-Divergenz nur für die Rauschdaten ab einer gewissen Stärke des Rauschens berechnet werden oder nur die Rauschdaten genutzt werden, die eine Mindestanzahl an Abweichungen generieren.
Alternativ wird eine Gewichtung der Rauschdaten im Hinblick auf die Stärke des Rau- sehens vorgenommen, sodass nicht mehr alle Rauschdaten das gleiche Gewicht
haben. Bspw. haben Rauschdaten mit einer höheren Stärke ein stärkeres Gewicht (und damit einen stärkeren Einfluss) für die Berechnung der KL-Divergenz.
Weitere Möglichkeiten die Konfidenz in das Training eines KNNs zu berücksichtigen, basieren darauf, die vorhandenen Trainingsdaten zu erweitern/anzupassen. Dies hat den Vorteil, dass die Einstellungen des bisherigen Trainingsprozesses nicht ange- passt werden müssen, da die Konfidenz nun über die Auswahl der Datenbeispiele in die Verlustfunktion eingeht und die Verlustfunktion somit nicht geändert werden muss.
Gemäß einer bevorzugten Weiterbildung der Erfindung werden Datenbeispiele in der Verlustfunktion konfidenzabhängig berücksichtigt, insbesondere mittels einer kon- fidenzabhängigen Gewichtung.
Die grundlegende Idee hierbei ist es, dass der Einfluss der Eingangsdaten, auf wel- chen die Konfidenz des KNNs gering ist, für die folgenden Trainingsiterationen höher gewichtet wird. Folglich werden während jeder Trainingsiteration die Daten gemerkt, auf welchen das aktuelle KNN einen geringen Konfidenzwert hat. Diese Eingangsda- ten werden dann in der nächsten Trainingsiteration höher gewichtet. Um diese hö- here Gewichtung durchzuführen, existieren verschiedene Möglichkeiten.
Eine Möglichkeit ist es, die betreffenden Datenbeispiele in der Verlustfunktion höher zu gewichten. In einem normalen Trainingsprozess ist der Einfluss jedes Datenbei- spiels für den Verlust pro Datenbeispiel eines Trainingsdatensatzes (engl. Batch) gleich, nämlich Um nun zu erreichen, dass die Klassifikationssicherheit des
KNNs insgesamt erhöht wird, kann die Gewichtung der Datenbeispiele mit einer ge- ringen Konfidenz in der letzten Iteration vergrößert werden und die Gewichtung der anderen Beispiele verringert werden. Dadurch wird erreicht, dass der Verlustwert vor allem von den bisher unsicher klassifizierten Datenbeispielen beeinflusst wird.
Als Folge werden diese Datenbeispiele typischerweise eher in Richtung der Mitte ei- ner Entscheidungsregion gedrängt, sodass sie in jedem Fall richtig klassifiziert wer- den, um den Verlustwert gering zu halten.
Folglich wird die Konfidenz indirekt optimiert, ohne dass die Verlustfunktion einen konfidenzabhängigen Term enthält. In dieser Variante der Nutzung der Konfidenz ist also kein Eingriff in die Hyperparameter des Trainings erforderlich, lediglich die Ge- wichtung der Datenbeispiele muss angepasst werden.
Gemäß einer bevorzugten Weiterbildung der Erfindung werden Datenbeispiele deren Ausgangsdaten eine Konfidenz aufweisen, die einen vorbestimmten Schwellwert un- terschreitet, modifiziert und/oder vervielfältigt, um das KNN mit modifizierten und/oder vervielfältigten Eingangstrainingsdaten zu speisen.
Eine weitere Möglichkeit die Konfidenz indirekt zu optimieren, besteht darin, den Trai- ningsdatensatz zu augmentieren. Dazu wird der Trainingsdatensatz mit Datenbei- spielen erweitert, auf welchen das aktuelle KNN eine geringe Konfidenz und damit eine geringe Sicherheit in die Klassifikation aufweist. Folglich wird der Anteil der Da- tenbeispiele erhöht, welche das KNN nicht sicher klassifiziert und diese werden in der nächsten Iteration einen höheren Einfluss auf den Verlustwert haben, da die An- zahl solcher Datenbeispiele gestiegen ist. Um den Verlustwert auf dem neuen, aug- mentierten Datensatz möglichst zu minimieren, wird mehr Fokus auf die korrekte Klassifikation der hinzugefügten Daten gelegt. Damit wird sichergestellt, dass diese Datenbeispiele sicher klassifiziert werden und die Entscheidungsregionen verschie- ben sich zugunsten dieser Beispiele, sodass die vorher unsicheren Datenbeispiele eher in Richtung des Zentrums einer Region verschoben werden.
Das beschriebene Vorgehen kann dynamisch über den Verlauf des Trainings ange- passt werden, um ein bestmögliches Trainingsergebnis zwischen Korrektheit (Ac- curacy) der Aussage und Sicherheit in die Ausgabe zu erreichen. Sobald die Kon- fidenz ausreichend gestiegen ist, wird daher die Anzahl der augmentierten Datenbei- spiele wieder verringert. Die Anzahl der augmentierten Datenbeispiele wird im Ver- lauf des Trainings folglich immer wieder angepasst.
Die Augmentation, um neue Daten zu generieren, welche nicht Teil der bisherigen Trainingsdaten sind, und zusätzlich eine geringe Konfidenz aufweisen, kann dabei auf unterschiedliche Arten erfolgen. Beispielsweise können die Datenbeispiele, wel- che in der letzten Iteration eine geringe Konfidenz aufweisen, geringfügig verändert werden und dann dem Trainingsdatensatz hinzugefügt werden.
Eine mögliche Alternative ist auch Rauschen mit geringer Stärke auf die Daten zu ad- dieren, sodass sich das Verständnis der Daten für einen Menschen nicht ändert. Das KNN wird hingegen mit hoher Wahrscheinlichkeit auf den verrauschten Daten noch unsicherer sein, wie auf den ursprünglichen Daten, da diese in der letzten Iteration einen geringen Konfidenzwert hatten. Dieses Vorgehen stellt eine einfache Variante dar, Datenbeispiele zu generieren, um den originalen Trainingsdatensatz mit unsi- cheren Daten zu erweitern.
Alternativ können andere geringfügige Transformationen durchgeführt werden, bei- spielsweise Rotation, Skalierung, Helligkeit, Kontrast, etc. Mit allen Methoden gelingt es, den originalen Datensatz mit unsicheren Datenbeispielen zu erweitern.
Mit den beschriebenen Methoden ist es außerdem auch möglich, ein KNN nachzu- trainieren. In diesem Fall existiert bereits ein trainiertes KNN mit einer möglichst ho- hen Klassifikationsgenauigkeit. Jedoch hat dieses KNN nur eine schwache Sicherheit in der Klassifikation. Es ist möglich dieses KNN nun nachzutrainieren, sodass es lernt die Sicherheit in die Klassifikation zu steigern.
Es versteht sich, dass ein Computerprogrammprodukt mit Programmcode-Mitteln, um das Verfahren wie es vorstehend beschrieben wurde, durchzuführen, vorteilhaft ist.
Ein Computerprogrammprodukt gemäß einem Verfahren einer Ausführungsform der Erfindung führt die Schritte eines Verfahrens gemäß der vorangehenden Beschrei- bung aus, wenn das Computerprogrammprodukt auf einem Computer, insbesondere einem fahrzeuginternen Computer, läuft. Wenn das betreffende Programm auf einem
Computer zum Einsatz kommt, ruft das Computerprogrammprodukt einen Effekt her- vor, nämlich die Verbesserung der Konfidenz eines KNN.
Im Folgenden sollen Anwendungsbeispiele der Erfindung beschrieben werden.
Beispielsweise sind ADAS-KNN mit unterschiedlichen Komplexitätsgraden bekannt, d.h. eine initiale Bewertung der Eingangsdaten wird von einem eher kleineren und einfachen KNN durchgeführt. Wenn dieses KNN sich auf den aktuellen Eingangsda- ten unsicher ist, wird ein größeres KNN befragt, welches die Daten zuverlässiger klassifizieren kann, aber aufgrund des erhöhten Ressourcenbedarfs nicht dauerhaft betrieben werden kann. Um möglichst viele Ressourcen zu schonen, ist es vorteil- haft, möglichst nur das kleinere KNN zu nutzen.
Dazu ist es erforderlich, dass das kleinere KNN sicher auf den meisten Klassifikatio- nen ist, da ansonsten das große KNN zu oft genutzt werden würde.
Daher soll das kleinere KNN für eine möglichst hohe Klassifikationssicherheit mit dem beschriebenen Trainingsverfahren trainiert werden, sodass dessen Ausgangs- daten zu überwiegenden Teilen eine hohe Konfidenz aufweisen.
Ein derart trainiertes KNN weist eine hohe Klassifikationssicherheit auf, sodass die komplexeren Bestandteile weniger oft befragt werden müssen. Zudem wird das auf diese Art trainierte KNN auch eine höhere Robustheit gegen unbekannte Daten und hier speziell gegen Adversarial Attacks aufweisen.
INHALTSANGABE DER ZEICHNUNGEN
Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figu- ren der Zeichnungen angegebenen Ausführungsbeispiele näher erläutert. Es zeigen dabei:
Figur 1 eine Prinzipskizze zur Erläuterung einer Ausführungsform der Erfin- dung;
Figur 2 eine Prinzipskizze zur Erläuterung einer Ausführungsform der Erfin- dung;
Figur 3 ein schematisches Blockdiagramm einer Ausführungsform der Er- findung.
Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsfor- men der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzep- ten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile erge- ben sich im Hinblick auf die Zeichnungen. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.
In den Figuren der Zeichnungen sind gleiche, funktionsgleiche und gleichwirkende Elemente, Merkmale und Komponenten - sofern nicht anders ausgeführt ist - jeweils mit denselben Bezugszeichen versehen.
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
Figur 1 zeigt den Trainingseffekt der Umgebungskonfidenz in einer Prinzipskizze. Be- vor ein KNN mit einer konfidenzabhängigen Verlustfunktion trainiert wurde, liegt der Datenpunkt 101 und die verrauschten Datenpunkte bzw. Rauschdaten 102 am Rand mehrerer Entscheidungsgrenzen. Das KNN bestimmt die Konfidenz des Klassifikati- onsergebnisses anhand der Umgebungskonfidenz des Datenpunkts 101 und der Rauschdaten 102.
Die Konfidenz wird 1 , wenn alle Rauschdaten x' in der wahren Klasse klassifiziert werden. Nur wenn diese Bedingung erfüllt ist, wird der Term (1 -ζ) = 0, sodass keine zusätzliche Bestrafung in der Verlustfunktion durch die Konfidenz stattfindet. Zu Be- ginn des Trainings wird ein Datenpunkt 101 unsicher klassifiziert (ζ=2/5), jedoch wird während des Trainings die Repräsentation des KNNs so angepasst, dass der Daten- punkt und die Rauschdaten bzgl. der Entscheidungsgrenzen verschoben werden. Al- ternativ lässt sich feststellen, dass die Entscheidungsgrenzen bzgl. des Datenpunkts
101 und der Rauschdaten 102 durch das Training verschoben wurden. Dementspre- chend wurden der Datenpunkt 101 und die Rauschdaten 102 in den Datenpunkt 101 ' und die Rauschdaten 102‘ verschoben. Somit werden der Datenpunkt 10T und die Rauschdaten 102‘ nach Abschluss des Trainings sicher klassifiziert (ζ=1 ). Das KNN hat gelernt, die Klassifikation sicher durchzuführen und den Abstand zu anderen Ent- scheidungsregionen zu maximieren, sodass die Umgebungskonfidenz zu keiner Er- höhung des Verlustwertes im Training führt.
In Figur 2 ist das Vorgehen für einen Datenpunkt 101 und verschiedene Rauschin- tensitäten λ0, λ1, λ2, die die Rauschdaten 102 für λ0, 103 für
104 für λ2 ergeben, dargestellt. In diesem Beispiel ergibt sich ζ =
λ1 da dies die geringste Rauschinten- sität, für welche eine Abweichung der Klassifikation aufgetreten ist, ist. Durch Berück- sichtigung der Umgebungskonfidenz in der Verlustfunktion, ist es möglich die Distanz zur nächsten Entscheidungsregion sukzessive zu erhöhen.
Weiterhin ist es möglich, bei der Berechnung der Distanz ξ ein Schwellwertverfahren einzusetzen, sodass einzelne Ausreißer keinen Einfluss auf die Beurteilung haben. Dies ist möglich, indem einzelne (oder auch mehrere) Abweichungen von der wahren Klasse bei der Klassifikation von Datenbeispielen mit einer gemeinsamen Rausch- stärke toleriert werden. Folglich müssen für jede Rauschintensität erst mehrere Fehl- klassifikationen auftreten, bis eine gesamte Rauschstärke als optimierungswürdig be- wertet wird.
Folglich wird die Distanz erst festgelegt, wenn ein Hauptteil der Datenbeispiele, bzw. einer Anzahl Datenbeispiele, die einen vorbestimmten Schwellwert übersteigt, einer Stärke fehlschlagen, sodass Ausreißer keine Beachtung mehr finden. Dies ist hilf- reich, um die Optimierung insgesamt fortschreiten zu lassen und den Fokus nicht auf einzelne (im Gesamtkontext) eher unwichtige Artefakte zu legen.
Für das Beispiel in , bedeu- tet dies, dass bei Anwendung des Schwellwertverfahrens ζ = λ2 ist, da bei der Stärke λ1 nur ein einzelnes Datenbeispiel fehlschlägt. Dieses ist als Artefakt zu sehen und für den Fortschritt der Optimierung im Gesamtkontext eher hinderlich. Daher ist es
sinnvoller die höhere Stärke λ2 als aktuelle Distanz zur Entscheidungsgrenze anzu- sehen.
Figur 3 zeigt ein Blockdiagramm eines Trainingsverfahrens für ein künstliches neuro- nales Netzwerk. In dem Schritt S1 wird das KNN mit Eingangstrainingsdaten ge- speist, um Ausgangsdaten zu den Eingangstrainingsdaten zu ermitteln. In dem Schritt S2 wird eine Konfidenz der Ausgangsdaten ermittelt. In dem Schritt S3 wird das KNN trainiert, indem eine Verlustfunktion, die von der Konfidenz der Ausgangs- daten abhängt, optimiert wird.
Bezugszeichen
S1 -S3 Verfahrensschritte
101 Datenpunkt
101 ' Datenpunkt
102-104 Rauschdaten
102' Rauschdaten
Claims
1 . Trainingsverfahren für ein künstliches neuronales Netzwerk mit den folgenden Schritten:
- Speisen (S1) des KNN mit Eingangstrainingsdaten, um Ausgangsdaten zu den Eingangstrainingsdaten zu ermitteln;
- Ermitteln (S2) einer Konfidenz der Ausgangsdaten;
- Trainieren (S3) des KNN, indem eine Verlustfunktion, die von der Konfidenz der Ausgangsdaten abhängt, optimiert wird.
2. Trainingsverfahren nach Anspruch 1 , wobei wenigstens ein Fehlerterm, der von der Konfidenz unabhängig ist, und ein Konfidenzterm, der von der Konfidenz abhängig ist, in die optimierte Verlustfunktion eingeht.
3. Trainingsverfahren nach Anspruch 2, wobei der Konfidenzterm und der Fehlerterm in der Verlustfunktion iterationsabhän- gig gewichtet werden.
4. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei das KNN mit ersten Eingangstrainingsdaten und/oder mit zweiten Eingangs- trainingsdaten gespeist wird, wobei die ersten Eingangstrainingsdaten reale Trai- ningsdaten sind und die zweiten Eingangstrainingsdaten konstruierte Trainingsdaten sind, wobei sich die optimierte Verlustfunktion der ersten und zweiten Eingangstrai- ningsdaten unterscheidet.
5. Trainingsverfahren nach Anspruch 4, wobei ein Konfidenzterm der Verlustfunktion für erste Eingangstrainingsdaten maxi- miert wird, wenn die Konfidenz zwischen 0 und 1 beträgt, wobei Konfidenzen nahe 1 bedeuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.
6. Trainingsverfahren nach Anspruch 4 oder Anspruch 5, wobei eine Konfidenz der Verlustfunktion für zweite Eingangstrainingsdaten minimiert wird, wenn die Konfidenz zwischen 0 und 1 beträgt, wobei Konfidenzen nahe 1 be- deuten, dass die Ausgangsdaten eine hohe Zuverlässigkeit aufweisen.
7. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei die Konfidenz auf dem Abstand der Eingangstrainingsdaten zu einer Entschei- dungsgrenze beruht.
8. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei die Konfidenz mittels einer Kullback-Leibler-Divergenz ermittelt wird, indem das KNN mit ungestörten Eingangstrainingsdaten und mit gestörten Eingangstrai- ningsdaten gespeist wird, wobei für alle Ausgangsdaten eine Wahrscheinlichkeitsver- teilung über dem Ausgangsdatenraum ermittelt wird und zu diesen Wahrscheinlich- keitsverteilungen die Kullback-Leibler-Divergenz ermittelt wird.
9. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei Datenbeispiele in der Verlustfunktion konfidenzabhängig berücksichtigt wer- den, insbesondere mittels einer konfidenzabhängigen Gewichtung.
10. Trainingsverfahren nach einem der vorstehenden Ansprüche, wobei Datenbeispiele deren Ausgangsdaten eine Konfidenz aufweisen, die einen vorbestimmten Schwellwert unterschreitet, modifiziert und/oder vervielfältigt werden, um das KNN mit modifizierten und/oder vervielfältigten Eingangstrainingsdaten zu speisen.
11. Computerprogrammprodukt mit Programmcode-Mitteln, um das Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022203045.1A DE102022203045A1 (de) | 2022-03-29 | 2022-03-29 | Konfidenzbetrachtung während dem Training eines KNN |
DE102022203045.1 | 2022-03-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023186388A1 true WO2023186388A1 (de) | 2023-10-05 |
Family
ID=85221779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2023/053027 WO2023186388A1 (de) | 2022-03-29 | 2023-02-08 | Konfidenzbetrachtung während dem training eines knn |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022203045A1 (de) |
WO (1) | WO2023186388A1 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190235515A1 (en) * | 2018-01-26 | 2019-08-01 | Nvidia Corporation | Detection of hazardous driving using machine learning |
-
2022
- 2022-03-29 DE DE102022203045.1A patent/DE102022203045A1/de active Pending
-
2023
- 2023-02-08 WO PCT/EP2023/053027 patent/WO2023186388A1/de unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190235515A1 (en) * | 2018-01-26 | 2019-08-01 | Nvidia Corporation | Detection of hazardous driving using machine learning |
Non-Patent Citations (3)
Title |
---|
KIMIN LEE ET AL: "Training Confidence-calibrated Classifiers for Detecting Out-of-Distribution Samples", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 November 2017 (2017-11-26), XP081319903 * |
STOCCO ANDREA ET AL: "Confidence-driven weighted retraining for predicting safety-critical failures in autonomous driving systems", JOURNAL OF SOFTWARE: EVOLUTION AND PROCESS, vol. 34, no. 10, 5 October 2021 (2021-10-05), pages 2386, XP093037377, ISSN: 2047-7473, Retrieved from the Internet <URL:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9786604/pdf/SMR-34-e2386.pdf> DOI: 10.1002/smr.2386 * |
TERRANCE DEVRIES ET AL: "Learning Confidence for Out-of-Distribution Detection in Neural Networks", 13 February 2018 (2018-02-13), XP055551171, Retrieved from the Internet <URL:https://arxiv.org/pdf/1802.04865.pdf> [retrieved on 20230404] * |
Also Published As
Publication number | Publication date |
---|---|
DE102022203045A1 (de) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69324207T2 (de) | Bildgruppierungsvorrichtung | |
DE69423228T2 (de) | Unüberwachtes klassifizierungsverfahren mit neuronalem netzwerk mit back propagation | |
DE69324052T2 (de) | Neuronalnetzwerk-Lernsystem | |
DE69838181T2 (de) | Visualisierung und selbstorganisation multidimensionaler daten durch ausgeglichene orthogonale abbildung | |
DE69130656T2 (de) | Neuronale Netzwerke | |
DE69333811T2 (de) | Verfahren und Gerät zur Erzeugung und Einstellung eines Neurones | |
DE102006010607A1 (de) | Wahrscheinlichkeitstheoretischer Verstärkungsbaum-Rahmen zum Lernen von Unterscheidungsmodellen | |
DE102005046747B3 (de) | Verfahren zum rechnergestützten Lernen eines neuronalen Netzes und neuronales Netz | |
WO2021130340A1 (de) | System und verfahren zur qualitätszusicherung von datenbasierten modellen | |
EP0901658B1 (de) | Verfahren zur optimierung eines fuzzy-regelsatzes durch einen rechner | |
DE102022105748A1 (de) | Effiziente optimierung für den einsatz und die ausführung neuronaler netze | |
DE69110538T2 (de) | Neuronales Klassifikationssystem and -verfahren. | |
DE102023125635A1 (de) | Bild- und objekt-inpainting mit diffusionsmodellen | |
WO2004029738A1 (de) | Verfahren zur rechnergestützten erstellung von prognosen für operative systeme sowie system zur erstellung von prognosen für operative systeme | |
DE102022105810A1 (de) | Effiziente Speichernutzungsoptimierung für Einsatz und Ausführung neuronaler Netze | |
DE112021006212T5 (de) | Modulation auf Gewichtungsgrundlage in neuronalen Netzwerken | |
DE69802372T2 (de) | Klassifizierungssystem und -verfahren mit N-Tuple- oder RAM-basiertem neuronalem Netzwerk | |
WO2021074121A1 (de) | Abwehrgenerator, verfahren zur verhinderung eines angriffs auf eine ki-einheit und computerlesbares-speichermedium | |
WO2023186388A1 (de) | Konfidenzbetrachtung während dem training eines knn | |
DE69230422T2 (de) | Neuronales Netzwerk und Lernverfahren | |
DE19537010C2 (de) | Lernverfahren und -anordnung zur Nachbildung eines dynamischen Prozesses | |
EP0777881B1 (de) | Verfahren zur festlegung des gültigkeitsbereichs für ein künstliches neuronales netzwerk | |
WO1997036248A1 (de) | Verfahren zur ermittlung von zur entfernung geeigneten gewichten eines neuronalen netzes mit hilfe eines rechners | |
DE112020007371T5 (de) | Verfahren und Einrichtung für ein neuronales Netzwerk basierend auf energiebasierten Modellen einer latenten Variable | |
DE102020116013A1 (de) | Verfahren zum Bereitstellen eines komprimierten künstlichen neuronalen Netzes mittels eines Autoencoders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23704298 Country of ref document: EP Kind code of ref document: A1 |