WO2020233961A1 - Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes - Google Patents

Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes Download PDF

Info

Publication number
WO2020233961A1
WO2020233961A1 PCT/EP2020/062110 EP2020062110W WO2020233961A1 WO 2020233961 A1 WO2020233961 A1 WO 2020233961A1 EP 2020062110 W EP2020062110 W EP 2020062110W WO 2020233961 A1 WO2020233961 A1 WO 2020233961A1
Authority
WO
WIPO (PCT)
Prior art keywords
training data
activation
neural network
differences
data set
Prior art date
Application number
PCT/EP2020/062110
Other languages
English (en)
French (fr)
Inventor
Nikhil KAPOOR
Peter Schlicht
Nico Maurice SCHMIDT
Original Assignee
Volkswagen Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Volkswagen Aktiengesellschaft filed Critical Volkswagen Aktiengesellschaft
Priority to US17/612,330 priority Critical patent/US20220318620A1/en
Priority to CN202080038184.4A priority patent/CN113826114A/zh
Priority to EP20724043.3A priority patent/EP3973455A1/de
Publication of WO2020233961A1 publication Critical patent/WO2020233961A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Definitions

  • the invention relates to a method for assessing a function-specific robustness of a neural network.
  • the invention also relates to a device for data processing, a computer program product and a computer-readable storage medium.
  • Machine learning for example based on neural networks, has great potential for use in modern driver assistance systems and automated vehicles.
  • Functions based on deep neural networks process raw sensor data (e.g. from cameras, radar or lidar sensors) in order to derive relevant information from it.
  • This information includes, for example, a type and a position of objects in an environment of the motor vehicle, a behavior of the objects or a road geometry or topology.
  • raw sensor data e.g. from cameras, radar or lidar sensors
  • This information includes, for example, a type and a position of objects in an environment of the motor vehicle, a behavior of the objects or a road geometry or topology.
  • convolutional neural networks have proven to be particularly suitable for applications in image processing. While these neural networks surpass classical approaches in terms of functional accuracy, they also have disadvantages. For example, interfering influences in recorded sensor data or on adversarial
  • Segmentation takes place. Knowledge of a function-specific robustness of a neural network with respect to such interference is therefore desirable.
  • Data signal interference depending on the data signals of the training data set, the associated desired semantic segmentation and estimated semantic segmentations of the data signals to which the data signal interference is applied. Furthermore, a method for assessing the robustness of an actuator control system with a Machine learning system described, in which, depending on an undisturbed control signal and a disturbed control signal, it is decided whether the
  • Actuator control system is robust or not.
  • the invention is based on the object of improving a method and a device for assessing a function-specific robustness of a neural network.
  • a method for assessing a function-specific robustness of a neural network comprising the steps:
  • the neural network being trained or having been trained on the basis of a training data set comprising training data
  • Neural network through the training data of the original training data set and activation through the respective corresponding training data of the at least one changed training data set
  • an apparatus for data processing comprising means for carrying out the method steps of the method according to any of the described embodiments.
  • a computer program is created, comprising instructions which, when the computer program is executed by a computer, cause the computer to carry out the method steps of the method according to any of the described embodiments.
  • a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method steps of the method according to any one of the described embodiments.
  • the method and the device make it possible to assess the robustness of a neural network, in particular of a convolution network, with respect to interference.
  • a training data set with which the neural network was trained or is being trained is changed.
  • the changes made to the training data set do not change a semantically meaningful content, but only change semantically insignificant content.
  • a semantically meaningful content denotes in particular a semantic context that is important for a function of the trained neural network.
  • the semantically meaningful content is in particular the content that the function of the trained neural network within the scope of semantic segmentation or
  • the semantically insignificant content is, in particular, content that can ideally be designed as desired without a function of the trained neural network being impaired as a result.
  • the training data set changed in this way and the original training data set are then applied to the trained neural network, that is, the training data and the changed training data are each fed to the trained neural network as input data. Then at least one activation difference between one through the
  • the original (i.e. undisturbed) and the changed (i.e. disturbed) training data are always considered in pairs.
  • the at least one activation difference determined is then provided and represents a measure of the sensitivity or robustness of the neural network to a change made when the training data set is changed by means of a manipulation method.
  • the neural network can be assessed as more robust, the lower the at least one
  • the advantage of the method is that the robustness of a neural network with respect to disturbed input data can be assessed in an improved manner, since an activation or an activation difference, in particular within, the neural network is considered.
  • a neural network is in particular an artificial neural network, in particular a convolutional neural network.
  • the neural network is particularly up trains a certain function, for example the perception of pedestrians in captured camera images.
  • the training data of the training data set can be one-dimensional or multidimensional, the training data being marked (“labeled”) with regard to semantically meaningful content.
  • the training data can be camera images that have been captured and marked with regard to semantic content.
  • a neural network is trained, for example, to recognize pedestrians in captured camera images
  • camera images used as training data are changed when they are changed in such a way that one or more pedestrians present in a captured camera image are not changed or only changed in an irrelevant manner.
  • the following manipulation methods can be used: photometric manipulation methods (e.g. a change in brightness, contrast, saturation), noise and blurring (e.g. Gaussian blurring, Gaussian noise, salt & pepper noise) or adversarial manipulation methods (e.g. " Fast Gradient Sign
  • Pedestrians is removed. Furthermore, for example, colors, textures or other properties of objects and / or surfaces of the objects can be changed,
  • a color of a motor vehicle can be changed or a
  • Reflection behavior of a surface of the motor vehicle can be carried out individually or in combination with one another: an added sensor noise in the training data, contrast, brightness and / or
  • An activation is determined in particular on the basis of (inferred) values at the outputs of neurons of the neural network.
  • the activation difference in particular the (inferred) values at the outputs of the neurons in the neural network are compared with one another in pairs for the original and the changed training data.
  • the method is carried out in particular as a computer-implemented invention.
  • the method is carried out by means of a computing device that can access a memory.
  • the computing device can be designed as a combination of hardware and software, for example as program code that is based on a
  • Microcontroller or microprocessor is running.
  • a robustness measure is derived and made available on the basis of the provided at least one activation difference. This can be a real number, for example, which provides an assessment of the robustness and a
  • activation differences are determined and provided by neurons and / or in areas. This makes it possible to identify neurons and / or areas of the neural network that are particularly affected or sensitive by manipulation of the training data. This enables a detailed analysis of sensitive neurons and / or areas of the neural network, which can be taken into account, for example, in a subsequent adjustment of parameters or a structure or architecture of the neural network. For this purpose, for example, activation differences between the outputs of the neurons of the neural network are formed and provided individually and / or in areas. It can be provided, for example, that an L2 distance (L2 norm) is formed between activation vectors which describe activation of the neurons or areas.
  • L2 norm L2 distance
  • the neural network is designed as a convolution network, it can be provided, for example, that an activation difference is determined and provided for each filter in the convolution network.
  • Activation differences averaged over several neurons and / or over a range the averaged activation differences are provided. This enables an analysis of the activation differences or a sensitivity of the neural network to be analyzed and evaluated more efficiently.
  • a medium For example, a medium
  • Activation difference for several neurons and / or areas can be calculated.
  • the averaging can take place in particular with the aid of statistical methods, for example an expected value can be determined for averaging.
  • weighted Depending on a position of an associated neuron layer within the neural network are provided weighted. This makes it possible to take into account an expected influence on the outputs of the neural network, because as a rule an increased sensitivity of a neuron layer in the vicinity of the input has a smaller influence on the end result delivered by the neural network than an increased sensitivity of a neuron layer in the vicinity of the output. If activation differences of neurons and / or areas of the neural network are averaged, then the weighting can be taken into account when averaging in accordance with a position of the neuron layer in the neural network.
  • the mean can be
  • an expected value can be determined for averaging.
  • activation differences are averaged over several inference runs, the averaged in each case
  • the multiple inference runs are each carried out for training data modified with different manipulation methods.
  • activation differences of individual neurons and / or activation differences averaged over several neurons and / or over areas can also be averaged and taken into account over several interfering influences.
  • the averaging can take place in particular with the aid of statistical methods, for example an expected value can be determined for averaging.
  • certain activation differences are each provided as a function of an associated manipulation method.
  • the respective activation differences can be determined for all neurons in the neural network and made available in each case as a function of the associated manipulation method. This allows neurons and / or areas of the neural network to be sensitive to specific ones
  • a mean value or expected value of the activation difference for the neurons and / or areas of the neural network can be determined, the respective activation differences being weighted into account for the respective associated manipulation method. This gives according to the one used in each case
  • neurons and / or areas of the neural network are sorted as a function of the activation differences determined for them and an associated ranking is provided. It can be provided, for example, to sort all (individual or averaged) activation differences according to their amount and to make them available according to a ranking resulting from the sorting. This makes it possible to cover all of the most sensitively responsive areas either
  • Manipulation procedures averaged or to be identified for individual manipulation procedures In a possibly subsequent step for adapting a structure of the neural network, provision can then be made, for example, to change only the upper 5% or 10% of the most sensitive neurons or areas, but to leave the rest of the neural network unchanged.
  • FIG. 1 shows a schematic representation of an apparatus for carrying out the method
  • FIG. 2 shows a schematic flow diagram of an embodiment of the method for
  • FIG. 3 shows a schematic flow diagram of an embodiment of the method for
  • FIG. 5 shows a schematic representation of activation differences determined in each case for individual filters of a convolution network as a function of different manipulation methods.
  • the device 30 comprises means 31 for carrying out the method.
  • the means 31 include a computing device 32 and a memory 33. To carry out the
  • the computing device 32 can access the memory 33 and carry out computing operations in it.
  • a neural network 1 and a training data set 2 are stored in the memory 33. After the method has been carried out, at least one changed training data set 4 and activations 5 are also determined
  • Activation differences 7 and possibly averaged activation differences 10 and a robustness measure 9 are stored in the memory 33.
  • Activation differences 7 and possibly the averaged activation differences 10 and the robustness measure 9 are output by the computing device 32, for example via a suitable interface (not shown).
  • FIG. 2 shows a schematic flow diagram to illustrate an embodiment of the method for assessing a function-specific robustness of a neural network 1.
  • the neural network 1 has already been trained on the basis of a training data set 2.
  • Training data contained in training data set 2 can be changed for this purpose while maintaining semantically meaningful content.
  • the training data set 2 and the modified training data set 4 are each applied to the neural network 1, that is, they are each fed to the neural network 1 as input data, the input data being supplied by the neural network 1 in the frame be propagated through a feed-forward sequence, so that at an output of the
  • Neural network 1 inferred results can be provided.
  • the neural network 1 receives an undisturbed camera image of the original
  • Training data set 2 supplied. Furthermore, a manipulated or disturbed camera image from the changed training data set 4 is (subsequently) fed to the neural network 1. In this case, activations 5 are determined for individual neurons and / or areas of the neural network and in pairs (undisturbed camera image / disturbed
  • This difference formation step 6 supplies activation differences 7 for the neurons and / or areas under consideration. The activation differences 7 determined are then provided.
  • a robustness measure 9 is determined and provided on the basis of the determined activation differences 7 in a robustness measure determination step 8. For example, a real number between 0 and 1 can be assigned to the specific activation differences 7. Such a robustness measure 9 enables a comparison of the robustness between different neural networks.
  • certain activation differences 7 are provided in a weighted manner as a function of a position of an associated neuron layer within the neural network 1.
  • Inference runs are averaged, the averaged activation differences 10 being provided in each case.
  • neurons and / or areas of the neural network 1 are sorted as a function of the activation differences 7 determined in each case for them and an associated ranking is provided.
  • FIG. 3 shows a schematic flow diagram of an embodiment of the method for assessing a function-specific robustness of a neural network.
  • a neural network is provided.
  • a structure and weightings of the neural network are stored, for example, in a memory of a computer.
  • the neural network has either already been trained on the basis of a training data set comprising training data or is trained in the context of method step 100 on the basis of the training data set.
  • the neural network is trained, for example, to evaluate captured camera images and to determine whether a pedestrian is shown in the camera images.
  • the input data of the neural network are therefore two-dimensional camera images.
  • Manipulation of the training data set is generated, with the training data for this purpose in each case retaining semantically meaningful content (e.g. pedestrians in the
  • Form training data set are changed for this purpose with the help of manipulation methods.
  • noise e.g. Gaussian noise, Salt & Pepper noise
  • a method step 102 the training data of the training data set and the respective associated changed training data of the changed training data set are fed to the neural network as input data, that is, output data are inferred by means of the trained neural network on the basis of this input data.
  • at least one activation difference is determined between activation of the neural network by the training data of the original training data set and activation by the respectively corresponding changed training data of the changed training data sets.
  • a metric for determining the activation differences of the individual filters is the following:
  • Activation difference function an output function of the filter with the index i, Wi x Hi a size of the output feature map of the filter with the index i, N a number of images, x n the original camera image (i.e. the original training date), A x "the changed camera image (ie the changed training date) and f (x) an output function of the filter with the index i.
  • another metric can also be used.
  • An exemplary result of activation differences for each of the filters in a convolution network is shown schematically in FIG. 4, the x-axis 20 showing the index i of the filters in the convolution network and the y-axis 21 showing a normalized activation difference.
  • Activation differences are normalized to the maximum activation difference.
  • a brightness in camera images of the training data set was changed, for example. It can be seen in this example that the convolution network is designed to be particularly sensitive or not very robust, particularly in the case of filters around the filter index of 1000.
  • the activation differences determined are provided.
  • the activation differences can be output in the form of a digital data packet, for example. In the simplest case, only the activation differences are output, for example as measures in a range of 0 (no
  • a robustness measure is derived and provided. This can be done, for example, by deriving a characteristic number for all neurons and / or all areas of the neural network. In the simplest case, for example, all (normalized) activation differences can be added up and made available. However, it can also be provided to provide a function for deriving the robustness measure, which applies the activation differences to a range of real numbers between 0 (neural network is not robust to the disturbances in the input data) and 1 (neural network is completely robust to the disturbances in the input data).
  • Activation differences are provided weighted as a function of a position of an associated neuron layer within the neural network.
  • activation differences of neurons or areas in neuron layers that are closer to the input of the neural network are weighted less heavily than activation differences of neurons or areas in neuron layers that are closer to the output of the neural network.
  • a sensitivity of layers of neurons that are closer to the output of the Neural network this can have a greater influence on the assessment of robustness.
  • activation differences are averaged over several inference runs, the averaged in each case
  • changed training data that have been changed using different manipulation methods can be averaged over the inference runs.
  • the robustness can be assessed averaged over the individual manipulation methods.
  • an expected value is determined for the activation differences determined on the basis of the changed training data (i.e. for an individual neuron or for averaged areas).
  • Activation differences are each provided as a function of an associated manipulation method. This is shown by way of example in FIG. 5, in which activation differences for individual filters of a convolution network are shown for various manipulation methods according to the metric specified above, the x-axis 20 being the index i of the filters in the convolution network and the y-axis 21 being a shows the activation difference normalized to the maximum activation difference. It can be clearly seen that the activation differences for different manipulation methods relate to different areas of the neural network designed as a convolution network. For example, adding noise (Fig. 5: “Gaussian noise” and “Salt & Pepper”) affects almost all filters more or less equally.
  • the determined activation differences can be provided in a weighted manner as a function of a respective associated manipulation method.
  • the individual activation differences would, depending on the respective associated manipulation method, with a
  • Weighting coefficients are multiplied and the products are then added up for the individual filters.
  • the result could be represented graphically in the same way and shows the sensitivity of the neural network averaged over the manipulation methods used.
  • the activation differences shown in FIGS. 4 and 5 and provided with an index i of the filters can be sorted according to their respective height and a ranking corresponding to the sorting can be formed.
  • a number of the filters with the greatest activation differences can then be identified and provided, for example in order to change the neural network on the basis of this information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes (1), umfassend die Schritte: Bereitstellen des Neuronalen Netzes (1), wobei das Neuronale Netz (1) auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes (2) trainiert wird oder trainiert wurde, Erzeugen mindestens eines veränderten Trainingsdatensatzes (4) durch Manipulieren des Trainingsdatensatzes (2), wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden, Bestimmen mindestens einer Aktivierungsdifferenz (7) zwischen einer Aktivierung des Neuronalen Netzes (1) durch die Trainingsdaten des ursprünglichen Trainingsdatensatzes (2) und einer Aktivierung durch die jeweils korrespondierenden Trainingsdaten des mindestens einen veränderten Trainingsdatensatzes (4), Bereitstellen der bestimmten mindestens einen Aktivierungsdifferenz (7). Ferner betrifft die Erfindung eine Vorrichtung (30), ein Computerprogrammprodukt und ein computerlesbares Speichermedium.

Description

Beschreibung
Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes
Die Erfindung betrifft ein Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes. Ferner betrifft die Erfindung eine Vorrichtung zur Datenverarbeitung, ein Computerprogrammprodukt und ein computerlesbares Speichermedium.
Maschinelles Lernen, beispielsweise auf Grundlage von Neuronalen Netzen, hat großes Potenzial für eine Anwendung in modernen Fahrerassistenzsystemen und automatisiert fahrenden Kraftfahrzeugen. Auf tiefen Neuronalen Netzen basierende Funktionen verarbeiten hierbei Sensorrohdaten (zum Beispiel von Kameras, Radar- oder Lidarsensoren), um hieraus relevante Informationen abzuleiten. Diese Informationen umfassen zum Beispiel eine Art und eine Position von Objekten in einem Umfeld des Kraftfahrzeugs, ein Verhalten der Objekte oder eine Fahrbahngeometrie oder -topologie. Unter den Neuronalen Netzen haben sich
insbesondere Faltungsnetze (engl convolutional neural networks) als besonders geeignet für Anwendungen in der Bildverarbeitung erwiesen. Während diese Neuronalen Netze klassische Ansätze an funktionaler Genauigkeit übertreffen, besitzen diese jedoch auch Nachteile. So können beispielsweise Störeinflüsse in erfassten Sensordaten oder auf adversarialen
Störeinflüssen basierende Angriffe dazu führen, dass trotz eines semantisch nicht veränderten Inhalts in den erfassten Sensordaten eine Fehlklassifizierung bzw. falsche semantische
Segmentierung erfolgt. Eine Kenntnis einer funktionsspezifischen Robustheit eines Neuronalen Netzes gegenüber solchen Störeinflüssen ist daher gewünscht.
Aus der DE 10 2018 200 724 A1 ist ein Verfahren zum Erzeugen einer universellen
Datensignalstörung zum Generieren eines manipulierten Datensignals zum Täuschen eines ersten maschinellen Lernsystems bekannt, welches eingerichtet ist, eine semantische
Segmentierung eines empfangenen ein- oder mehrdimensionalen Datensignals zu ermitteln, mit den Schritten: Ermitteln eines Trainingsdatensatzes umfassend Paare von Datensignalen und zugehörigen gewünschten semantischen Segmentierungen, Generieren der
Datensignalstörung, abhängig von den Datensignalen des Trainingsdatensatzes, der zugehörigen gewünschten semantischen Segmentierung sowie geschätzten semantischen Segmentierungen der mit der Datensignalstörung beaufschlagten Datensignale. Ferner wird ein Verfahren zur Beurteilung einer Robustheit eines Aktorensteuerungssystems mit einem maschinellen Lernsystem beschrieben, bei dem in Abhängigkeit von einem ungestörten Ansteuersignal und einem gestörten Ansteuersignal entschieden wird, ob das
Aktorsteuerungsystem robust ist oder nicht.
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes zu verbessern.
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des
Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 10 gelöst. Ferner wird die Aufgabe erfindungsgemäß durch ein Computerprogrammprodukt mit den Merkmalen des Patentanspruchs 11 und ein computerlesbares Speichermedium mit den Merkmalen des Patentanspruchs 12 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Insbesondere wird ein Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes zur Verfügung gestellt, umfassend die Schritte:
- Bereitstellen des Neuronalen Netzes, wobei das Neuronale Netz auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes trainiert wird oder trainiert wurde,
- Erzeugen mindestens eines veränderten Trainingsdatensatzes durch Manipulieren des Trainingsdatensatzes, wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden,
- Bestimmen mindestens einer Aktivierungsdifferenz zwischen einer Aktivierung des
Neuronalen Netzes durch die Trainingsdaten des ursprünglichen Trainingsdatensatzes und einer Aktivierung durch die jeweils korrespondierenden Trainingsdaten des mindestens einen veränderten Trainingsdatensatzes,
- Bereitstellen der bestimmten mindestens einen Aktivierungsdifferenz.
In einem weiteren Aspekt der Erfindung wird eine Vorrichtung zur Datenverarbeitung geschaffen, umfassend Mittel zur Ausführung der Verfahrensschritte des Verfahrens nach einer beliebigen der beschriebenen Ausführungsformen.
Weiter wird ein Computerprogramm geschaffen, umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlassen, die Verfahrensschritte des Verfahrens nach einer beliebigen der beschriebenen Ausführungsformen auszuführen. Ferner wird ein computerlesbares Speichermedium geschaffen, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, die Verfahrensschritte des Verfahrens nach einer beliebigen der beschriebenen Ausführungsformen auszuführen.
Das Verfahren und die Vorrichtung ermöglichen es, eine Robustheit eines Neuronales Netzes, insbesondere eines Faltungsnetzes, gegenüber Störeinflüssen zu beurteilen. Hierzu wird ein Trainingsdatensatz, mit dem das Neuronale Netz trainiert wurde oder trainiert wird, verändert. Die an dem Trainingsdatensatz durchgeführten Veränderungen verändern hierbei nicht einen semantisch bedeutungsvollen Inhalt, sondern lediglich semantisch nicht bedeutungsvolle Inhalte. Ein semantisch bedeutungsvoller Inhalt bezeichnet hierbei insbesondere einen semantischen Kontext, der für eine Funktion des trainierten Neuronalen Netzes von Bedeutung ist. Der semantisch bedeutungsvolle Inhalt ist insbesondere der Inhalt, den die Funktion des trainierten Neuronalen Netzes im Rahmen einer semantischen Segmentierung bzw.
Klassifizierung erkennen soll. Im Gegensatz hierzu ist der semantisch nicht bedeutungsvolle Inhalt insbesondere ein Inhalt, der idealerweise beliebig ausgestaltet sein darf, ohne dass eine Funktion des trainierten Neuronalen Netzes hierdurch beeinträchtigt wird. Der derart veränderte Trainingsdatensatz und der ursprüngliche Trainingsdatensatz werden anschließend auf das trainierte Neuronale Netz angewendet, das heißt die Trainingsdaten und die veränderten Trainingsdaten werden dem trainierten Neuronalen Netz jeweils als Eingangsdaten zugeführt. Anschließend wird mindestens eine Aktivierungsdifferenz zwischen einer durch die
Trainingsdaten hervorgerufenen Aktivierung und einer durch die hiermit korrespondierenden veränderten Trainingsdaten hervorgerufenen Aktivierung des Neuronalen Netzes bestimmt. Die ursprünglichen (d.h. ungestörten) und die veränderten (d.h. gestörten) Trainingsdaten werden hierbei immer paarweise betrachtet. Die bestimmte mindestens einen Aktivierungsdifferenz wird anschließend bereitgestellt und stellt ein Maß für eine Sensitivität bzw. eine Robustheit des Neuronalen Netzes gegenüber einer jeweils beim Verändern des Trainingsdatensatzes mittels eines Manipulationsverfahrens durchgeführten Veränderung dar. Hierbei kann das Neuronale Netz insbesondere als umso robuster beurteilt werden, je geringer die mindestens eine
Aktivierungsdifferenz ist.
Der Vorteil des Verfahrens ist, dass eine Robustheit eines Neuronalen Netzwerks gegenüber gestörten Eingangsdaten verbessert beurteilt werden kann, da eine Aktivierung bzw. eine Aktivierungsdifferenz, insbesondere innerhalb, des Neuronalen Netzes betrachtet wird.
Ein Neuronales Netz ist insbesondere ein Künstliches Neuronales Netz, insbesondere ein Faltungsnetz (engl convolutional neural network). Das Neuronales Netz ist insbesondere auf eine bestimmte Funktion trainiert, beispielsweise eine Wahrnehmung von Fußgängern in erfassten Kamerabildern.
Die Trainingsdaten des Trainingsdatensatzes können eindimensional oder mehrdimensional ausgebildet sein, wobei die Trainingsdaten hinsichtlich eines semantisch bedeutungsvollen Inhalts markiert („gelabelt“) sind. Beispielsweise kann es sich bei den Trainingsdaten um erfasste und hinsichtlich eines semantischen Inhalts markierte Kamerabilder handeln.
Zum Verändern der Trainingsdaten des Trainingsdatensatzes können verschiedene
Manipulationsverfahren eingesetzt werden. Hierbei ist insbesondere vorgesehen, dass ein semantisch bedeutungsvoller Inhalt der Trainingsdaten nicht verändert wird. Dies bedeutet insbesondere, dass nur nicht-relevante Kontextdimensionen verändert werden. Ist das
Neuronale Netz beispielsweise darauf trainiert, Fußgänger in erfassten Kamerabildern zu erkennen, so werden als Trainingsdaten verwendete Kamerabilder beim Verändern derart verändert, dass ein oder mehrere in einem erfassten Kamerabild vorhandene Fußgänger nicht oder nur in nicht relevanter Weise verändert werden. Im Beispiel der Kamerabilder können beispielsweise die folgenden Manipulationsverfahren verwendet werden: photometrische Manipulationsverfahren (z.B. eine Veränderung einer Helligkeit, eines Kontrastes, einer Sättigung), Rauschen und Unschärfe (z.B. Gaußsche Unschärfe, Gaußsches Rauschen, Salt & Pepper Rauschen) oder adversariale Manipulationsverfahren (z.B.„Fast Gradient Sign
Method“). Ferner können als Manipulationsverfahren auch komplexere Verfahren angewendet werden, beispielsweise kann vorgesehen sein, eine Sommerszene in eine Winterszene abzuändern, ohne dass ein semantisch bedeutungsvoller Inhalt (z.B. ein abgebildeter
Fußgänger) selbst entfernt wird. Weiter können beispielsweise Farben, Texturen oder sonstige Eigenschaften von Objekten und/oder Oberflächen der Objekte verändert werden,
beispielsweise kann eine Farbe eines Kraftfahrzeugs verändert werden oder ein
Reflexionsverhalten einer Oberfläche des Kraftfahrzeugs. Es können insbesondere die folgenden Manipulationen einzeln oder in Kombination miteinander vorgenommen werden: ein hinzugefügtes Sensorrauschen in den Trainingsdaten, Kontrast-, Helligkeits- und/oder
Bildschärfeverschiebungen, Farbtonverschiebungen, Farbintensitätsverschiebungen,
Farbtiefeverschiebungen, Farbveränderungen einzelner (semantischer) Objekte, kleine Veränderungen an Objekten (z.B. Schmutz, eine Verbiegung, eine Spiegelung auf dem Objekt, Wettereinflüsse, Aufkleber oder Graffiti auf dem Objekt), eine Rotation und/oder eine
Verschiebung und/oder Verzerrungen in den Trainingsdaten, eine Veränderung der
physikalischen Eigenschaften von Objekten (z.B. der Reflexionseigenschaften oder der Lackeigenschaften eines Kraftfahrzeugs etc.). Eine Aktivierung wird insbesondere auf Grundlage von (inferierten) Werten an Ausgängen von Neuronen des Neuronalen Netzes bestimmt. Zum Bestimmen der Aktivierungsdifferenz werden insbesondere die (inferierten) Werte an den Ausgängen der Neuronen im Neuronalen Netz jeweils paarweise für die ursprünglichen und die veränderten Trainingsdaten miteinander verglichen.
Das Verfahren wird insbesondere als computerimplementierte Erfindung ausgeführt.
Insbesondere wird das Verfahren mittels einer Recheneinrichtung, die auf einen Speicher zugreifen kann, ausgeführt. Die Recheneinrichtung kann als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem
Mikrocontroller oder Mikroprozessor ausgeführt wird.
In einer Ausführungsform ist vorgesehen, dass auf Grundlage der bereitgestellten mindestens einen Aktivierungsdifferenz ein Robustheitsmaß abgeleitet und bereitgestellt wird. Dies kann beispielsweise eine reelle Zahl sein, welche eine Beurteilung der Robustheit und einen
Vergleich einer Robustheit unterschiedlicher Neuronaler Netze miteinander ermöglicht.
In einer Ausführungsform ist vorgesehen, dass Aktivierungsdifferenzen neuronenweise und/oder bereichsweise bestimmt und bereitgestellt werden. Dies ermöglicht es, von einer Manipulation der Trainingsdaten besonders betroffene bzw. sensitive Neuronen und/oder Bereiche des Neuronalen Netzes zu identifizieren. Dies ermöglicht eine detaillierte Analyse von sensitiven Neuronen und/oder Bereichen des Neuronalen Netzes, welche beispielsweise bei einer nachfolgenden Anpassung von Parametern oder eines Aufbaus bzw. einer Architektur des Neuronalen Netzes berücksichtigt werden können. Hierzu werden beispielsweise jeweils Aktivierungsdifferenzen zwischen den Ausgängen der Neuronen des Neuronalen Netzes einzeln und/oder bereichsweise gebildet und bereitgestellt. Es kann beispielsweise vorgesehen sein, dass eine L2-Distanz (L2-Norm) zwischen Aktivierungsvektoren gebildet wird, die eine Aktivierung der Neuronen oder Bereiche beschreiben.
Ist das Neuronale Netz als Faltungsnetz ausgebildet, so kann beispielsweise vorgesehen sein, dass eine Aktivierungsdifferenz für jeden Filter im Faltungsnetz bestimmt und bereitgestellt wird.
In einer weiterbildenden Ausführungsform ist vorgesehen, dass bestimmte
Aktivierungsdifferenzen jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt werden. Dies ermöglicht es, eine Analyse der Aktivierungsdifferenzen bzw. einer Sensitivität des Neuronalen Netzes effizienter zu analysieren und auszuwerten. Beispielsweise kann eine mittlere
Aktivierungsdifferenz für mehrere Neuronen und/oder Bereiche berechnet werden. Das Mitteln kann insbesondere mit Hilfe statistischer Verfahren erfolgen, beispielsweise kann zum Mitteln ein Erwartungswert bestimmt werden.
In einer Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen in
Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes gewichtet bereitgestellt werden. Dies ermöglicht es, einen zu erwartenden Einfluss auf die Ausgänge des Neuronalen Netzes zu berücksichtigen, denn in der Regel hat eine erhöhte Sensitivität einer Neuronenschicht in Eingangsnähe einen geringeren Einfluss auf ein von dem Neuronalen Netz geliefertes Endergebnis als eine erhöhte Sensitivität einer Neuronenschicht in Ausgangsnähe. Werden Aktivierungsdifferenzen von Neuronen und/oder von Bereichen des Neuronalen Netzes gemittelt, so kann die Gewichtung beim Mitteln entsprechend einer Position der Neuronenschicht im Neuronalen Netz berücksichtigt werden. Das Mitteln kann
insbesondere mit Hilfe statistischer Verfahren erfolgen, beispielsweise kann zum Mitteln ein Erwartungswert bestimmt werden.
In einer weiteren Ausführungsform ist vorgesehen, dass Aktivierungsdifferenzen jeweils über mehrere Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten
Aktivierungsdifferenzen bereitgestellt werden. Hierbei kann insbesondere vorgesehen sein, dass die mehreren Inferenzdurchläufe jeweils für mit unterschiedlichen Manipulationsverfahren veränderte Trainingsdaten durchgeführt werden. Hierdurch können Aktivierungsdifferenzen einzelner Neuronen und/oder über mehrere Neuronen und/oder über Bereiche gemittelte Aktivierungsdifferenzen auch über mehrere Störeinflüsse gemittelt und berücksichtigt werden. Das Mitteln kann insbesondere mit Hilfe statistischer Verfahren erfolgen, beispielsweise kann zum Mitteln ein Erwartungswert bestimmt werden.
In einer Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens bereitgestellt werden. Beispielsweise können für mehrere Manipulationsverfahren jeweils für alle Neuronen im Neuronalen Netz die jeweiligen Aktivierungsdifferenzen bestimmt und jeweils in Abhängigkeit des zugehörigen Manipulationsverfahrens bereitgestellt werden. Hierdurch können Neuronen und/oder Bereiche des Neuronalen Netzes hinsichtlich einer Sensitivität auf von bestimmten
Manipulationsverfahren hervorgerufene Störeinflüsse analysiert werden. In einer Weiterbildung ist vorgesehen, dass die bestimmten Aktivierungsdifferenzen in
Abhängigkeit eines jeweils zugehörigen Manipulationsverfahrens gewichtet bereitgestellt werden. Beispielsweise kann ein Mittelwert oder Erwartungswert der Aktivierungsdifferenz für die Neuronen und/oder Bereiche des Neuronalen Netzes bestimmt werden, wobei die jeweiligen Aktivierungsdifferenzen für die jeweils zugehörigen Manipulationsverfahren gewichtet berücksichtigt werden. Man erhält hierdurch nach dem jeweils verwendeten
Manipulationsverfahren gewichtete Aktivierungsdifferenzen oder Mittelwerte oder
Erwartungswerte der Aktivierungsdifferenzen für einzelne Neuronen und/oder über mehrere Neuronen und/oder Bereiche gemittelte Aktivierungsdifferenzen. Dies ermöglicht eine zusammenfassende Beurteilung der Robustheit des Neuronalen Netzes gegenüber mehreren Störungen bzw. Manipulationsverfahren.
In einer Ausführungsform ist vorgesehen, dass Neuronen und/oder Bereiche des Neuronalen Netzes in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen sortiert werden und eine zugehörige Rangfolge bereitgestellt wird. Es kann beispielsweise vorgesehen sein, alle (einzelnen oder gemittelten) Aktivierungsdifferenzen ihrem Betrag nach zu sortieren und entsprechend einer durch die Sortierung entstehenden Rangfolge bereitzustellen. Dies ermöglicht es, die am sensitivsten reagierenden Bereiche entweder über alle
Manipulationsverfahren gemittelt oder für einzelne Manipulationsverfahren zu identifizieren. In einem gegebenenfalls nachfolgenden Schritt zum Anpassen einer Struktur des Neuronalen Netzes kann dann beispielsweise vorgesehen sein, lediglich die oberen 5 % oder 10 % der sensitivsten Neuronen oder Bereiche zu verändern, das restliche Neuronale Netz jedoch unverändert zu lassen.
Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Bezugnahme auf die Figuren näher erläutert. Hierbei zeigen:
Fig. 1 eine schematische Darstellung einer Vorrichtung zum Ausführen des Verfahrens;
Fig. 2 ein schematisches Flussdiagramm einer Ausführungsform des Verfahrens zum
Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes;
Fig. 3 ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum
Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes; Fig. 4 eine schematische Darstellung von jeweils für einzelne Filter eines Faltungsnetzes bestimmten Aktivierungsdifferenzen;
Fig. 5 eine schematische Darstellung von jeweils für einzelne Filter eines Faltungsnetzes bestimmten Aktivierungsdifferenzen in Abhängigkeit von unterschiedlichen Manipulationsverfahren.
In Fig. 1 ist eine schematische Darstellung einer Vorrichtung 30 zum Ausführen des Verfahrens gezeigt. Die Vorrichtung 30 umfasst Mittel 31 zum Ausführen des Verfahrens. Die Mittel 31 umfassen eine Recheneinrichtung 32 und einen Speicher 33. Zum Durchführen der
Verfahrensschritte kann die Recheneinrichtung 32 auf den Speicher 33 zugreifen und in diesem Rechenoperationen durchführen. In dem Speicher 33 sind ein Neuronales Netz 1 und ein Trainingsdatensatz 2 hinterlegt. Nach Durchführen des Verfahrens sind ferner auch mindestens ein veränderter Trainingsdatensatz 4 sowie Aktivierungen 5, bestimmte
Aktivierungsdifferenzen 7 und gegebenenfalls gemittelte Aktivierungsdifferenzen 10 und ein Robustheitsmaß 9 in dem Speicher 33 hinterlegt.
Nach Durchführen der einzelnen Verfahrensschritte werden die bestimmten
Aktivierungsdifferenzen 7 und gegebenenfalls die gemittelten Aktivierungsdifferenzen 10 und das Robustheitsmaß 9 von der Recheneinrichtung 32 ausgegeben, beispielsweise über eine geeignete Schnittstelle (nicht gezeigt).
In Fig. 2 ist ein schematisches Flussdiagramm zum Verdeutlichen einer Ausführungsform des Verfahrens zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes 1 gezeigt. Das Neuronale Netz 1 ist bereits auf Grundlage eines Trainingsdatensatzes 2 trainiert worden.
Es wird mindestens ein veränderter Trainingsdatensatz 4 durch Manipulieren des
Trainingsdatensatzes 2 mittels eines Manipulationsverfahrens 3 erzeugt, wobei die im
Trainingsdatensatz 2 enthaltenen Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden.
Der Trainingsdatensatz 2 und der veränderte Trainingsdatensatz 4 werden jeweils auf das Neuronale Netz 1 angewendet, das heißt diese werden dem Neuronalen Netz 1 jeweils als Eingangsdaten zugeführt, wobei die Eingangsdaten durch das Neuronale Netz 1 im Rahmen einer Feed-Forward-Folge hindurch propagiert werden, sodass an einem Ausgang des
Neuronalen Netzes 1 inferierte Ergebnisse bereitgestellt werden können.
Handelt es sich bei den Trainingsdaten beispielsweise um erfasste Kamerabilder, so wird dem Neuronalen Netz 1 jeweils ein ungestörtes Kamerabild des ursprünglichen
Trainingsdatensatzes 2 zugeführt. Ferner wird dem Neuronalen Netz 1 (anschließend) ein manipuliertes bzw. gestörtes Kamerabild aus dem veränderten Trainingsdatensatz 4 zugeführt. Hierbei werden für einzelne Neuronen und/oder Bereiche des Neuronalen Netzes jeweils Aktivierungen 5 bestimmt und jeweils paarweise (ungestörtes Kamerabild / gestörtes
Kamerabild) miteinander verglichen, beispielsweise in einem Differenzbildungsschritt 6. Dieser Differenzbildungsschritt 6 liefert für die betrachteten Neuronen und/oder Bereiche jeweils Aktivierungsdifferenzen 7. Die bestimmten Aktivierungsdifferenzen 7 werden anschließend bereitgestellt.
Es kann vorgesehen sein, das auf Grundlage der bestimmten Aktivierungsdifferenzen 7 in einem Robustheitsmaßbestimmungsschritt 8 ein Robustheitsmaß 9 bestimmt und bereitgestellt wird. Beispielsweise kann den bestimmten Aktivierungsdifferenzen 7 eine reelle Zahl zwischen 0 und 1 zugeordnet werden. Ein solches Robustheitsmaß 9 ermöglicht einen Vergleich einer Robustheit zwischen verschiedenen Neuronalen Netzen.
Es kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 über mehrere Neuronen und/oder über einen Bereich gemittelt werden, wobei jeweils die gemittelten
Aktivierungsdifferenzen 10 bereitgestellt werden.
Ferner kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes 1 gewichtet bereitgestellt werden.
Weiter kann vorgesehen sein, dass Aktivierungsdifferenzen 7 jeweils über mehrere
Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen 10 bereitgestellt werden. Insbesondere kann hierbei über Inferenzdurchläufe gemittelt werden, die zu veränderten Trainingsdaten 4 gehören, die jeweils mittels unterschiedlicher
Manipulationsverfahren verändert wurden.
Es kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens 3 bereitgestellt werden. Es kann weiterbildend vorgesehen sein, dass die bestimmten Aktivierungsdifferenzen in Abhängigkeit eines jeweils zugehörigen Manipulationsverfahrens gewichtet bereitgestellt werden.
Es kann vorgesehen sein, dass Neuronen und/oder Bereiche des Neuronalen Netzes 1 in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen 7 sortiert werden und eine zugehörige Rangfolge bereitgestellt wird.
In Fig. 3 ist ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes gezeigt.
In einem Verfahrensschritt 100 wird ein Neuronalen Netz bereitgestellt. Eine Struktur und Gewichtungen des Neuronalen Netzes sind beispielsweise in einem Speicher eines Computers hinterlegt. Das Neuronale Netz ist entweder bereits auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes trainiert oder wird im Rahmen des Verfahrensschritts 100 auf Grundlage des Trainingsdatensatzes trainiert. Das Neuronale Netz ist beispielsweise darauf trainiert, erfasste Kamerabilder auszuwerten und festzustellen, ob ein Fußgänger in den Kamerabildern abgebildet ist. Die Eingangsdaten des Neuronalen Netzes sind daher zweidimensionale Kamerabilder. Entsprechend sind die Trainingsdaten des
Trainingsdatensatzes markierte („gelabelte“) Kamerabilder.
In einem Verfahrensschritt 101 werden mehrere veränderte Trainingsdatensätze durch
Manipulieren des Trainingsdatensatzes erzeugt, wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts (z.B. Fußgänger in den
Kamerabildern) verändert werden. Die Kamerabilder, welche die Trainingsdaten des
Trainingsdatensatzes bilden, werden hierzu mit Hilfe von Manipulationsverfahren verändert.
Zum Verändern der Kamerabilder können beispielsweise die folgenden Manipulationen einzeln oder in Kombination durchgeführt werden:
- Hinzufügen eines Rauschens in den Kamerabildern (z.B. Gaußsches Rauschen, Salt & Pepper-Rauschen),
- Kontrast- und/oder Bildschärfeverschiebungen,
- Farbtonverschiebungen,
- Farbintensitätsverschiebungen, Farbtiefeverschiebungen, - Farbveränderungen an einzelnen semantischen Objekten (z.B. abgebildete Kraftfahrzeuge, Gebäude etc. in den Kamerabildern),
- Hinzufügen von Verschmutzungen auf abgebildeten Objekten (z.B. Schmutz,
Wettereinflüsse [Regen, Schnee], Aufkleber, Graffiti,...),
- Rotationen, Verschiebungen und/oder Verzerrungen von Teilen der Kamerabilder,
- Veränderung von physikalischen Eigenschaften von abgebildeten Objekten in den Kamerabildern (Lackeigenschaften, Reflexionseigenschaften,...).
In einem Verfahrensschritt 102 werden die Trainingsdaten des Trainingsdatensatzes und jeweils zugehörige veränderte Trainingsdaten des veränderten Trainingsdatensatzes dem Neuronalen Netz als Eingangsdaten zugeführt, das heißt es werden auf Grundlage dieser Eingangsdaten Ausgangsdaten mittels des trainierten Neuronalen Netzes inferiert. Hierbei wird mindestens eine Aktivierungsdifferenz zwischen einer Aktivierung des Neuronalen Netzes durch die Trainingsdaten des ursprünglichen Trainingsdatensatzes und einer Aktivierung durch die jeweils korrespondierenden veränderten Trainingsdaten der veränderten Trainingsdatensätze bestimmt.
Dies kann sowohl neuronenweise als auch über Bereiche des Neuronalen Netzes gemittelt erfolgen.
Bei einem als Faltungsnetz ausgebildeten Neuronalen Netz kann beispielsweise vorgesehen sein, Aktivierungsdifferenzen für die einzelnen Filter des Faltungsnetzes zu bestimmen. Eine Metrik zum Bestimmen der Aktivierungsdifferenzen der einzelnen Filter ist beispielsweise die folgende:
Figure imgf000013_0001
Hierbei ist , die Aktivierungsdifferenz des Filters mit dem Index i, Al(.,.) eine
Aktivierungsdifferenzfunktion, f(x) eine Ausgangsfunktion des Filters mit dem Index i, Wi x Hi eine Größe der Ausgangs-Feature Map des Filters mit dem Index i, N eine Anzahl von Bildern, xn das ursprüngliche Kamerabild (d.h. das ursprüngliche Trainingsdatum), Ax„ das veränderter Kamerabild (d.h. das veränderte Trainingsdatum) und f(x) eine Ausgangsfunktion des Filters mit dem Index i. Es kann prinzipiell jedoch auch eine andere Metrik verwendet werden. Ein beispielhaftes Ergebnis von Aktivierungsdifferenzen für jeden der Filter in einem Faltungsnetz ist schematisch in der Fig. 4 gezeigt, wobei die x-Achse 20 den Index i der Filter im Faltungsnetz und die y-Achse 21 eine normierte Aktivierungsdifferenz zeigt. Die
Aktivierungsdifferenzen sind hierbei auf die maximale Aktivierungsdifferenz normiert. Zum Manipulieren wurde beispielhaft eine Helligkeit in Kamerabildern des Trainingsdatensatzes verändert. Es ist in diesem Beispiel zu erkennen, dass das Faltungsnetz insbesondere bei den Filtern um den Filterindex von 1000 herum besonders sensitiv bzw. wenig robust ausgebildet ist.
In einem Verfahrensschritt 103 werden die bestimmten Aktivierungsdifferenzen bereitgestellt. Die Aktivierungsdifferenzen können beispielsweise in Form eines digitalen Datenpakets ausgegeben werden. Im einfachsten Fall werden lediglich die Aktivierungsdifferenzen ausgegeben, beispielsweise als Maßzahlen in einem Bereich von 0 (keine
Aktivierungsdifferenz) und 1 (maximale Aktivierungsdifferenz).
Es kann in einem Verfahrensschritt 104 vorgesehen sein, dass auf Grundlage der
bereitgestellten Aktivierungsdifferenzen ein Robustheitsmaß abgeleitet und bereitgestellt wird. Dies kann beispielsweise durch Ableiten einer Kennzahl für alle Neuronen und/oder alle Bereiche des Neuronalen Netzes erfolgen. Im einfachsten Fall können beispielsweise sämtliche (normierten) Aktivierungsdifferenzen aufsummiert und bereitgestellt werden. Es kann jedoch auch vorgesehen sein, zum Ableiten des Robustheitsmaßes eine Funktion vorzusehen, die die Aktivierungsdifferenzen auf einen Bereich der reellen Zahlen zwischen 0 (Neuronales Netz ist nicht robust gegenüber den Störungen in den Eingangsdaten) und 1 (Neuronales Netz ist vollständig robust gegenüber den Störungen in den Eingangsdaten) abbildet.
Es kann im Verfahrensschritt 102 vorgesehen sein, dass bestimmte Aktivierungsdifferenzen jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt werden.
Es kann in Verfahrensschritt 103 ferner vorgesehen sein, dass bestimmte
Aktivierungsdifferenzen in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes gewichtet bereitgestellt werden. Insbesondere werden Aktivierungsdifferenzen von Neuronen oder Bereichen in Neuronenschichten, die näher am Eingang des Neuronalen Netzes liegen, weniger stark gewichtet als Aktivierungsdifferenzen von Neuronen oder Bereichen in Neuronenschichten, die näher am Ausgang des Neuronalen Netzes liegen. Einer Sensitivität von Neuronenschichten, die näher am Ausgang des Neuronalen Netzes liegen, kann hierdurch ein größerer Einfluss bei der Beurteilung der Robustheit gegeben werden.
Es kann im Verfahrensschritt 102 weiter vorgesehen sein, dass Aktivierungsdifferenzen jeweils über mehrere Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten
Aktivierungsdifferenzen bereitgestellt werden. Insbesondere kann über die Inferenzdurchläufe von veränderten Trainingsdaten, welche mit unterschiedlichen Manipulationsverfahren verändert wurden, gemittelt werden. Hierdurch kann die Robustheit gemittelt über die einzelnen Manipulationsverfahren beurteilt werden. Beispielsweise wird hierzu ein Erwartungswert für die auf Grundlage der veränderten Trainingsdaten jeweils bestimmten Aktivierungsdifferenzen (d.h. für ein einzelnes Neuron oder für gemittelte Bereiche) bestimmt.
Es kann in Verfahrensschritt 102 weiter vorgesehen sein, dass bestimmte
Aktivierungsdifferenzen jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens bereitgestellt werden. Dies ist beispielhaft in der Fig. 5 dargestellt, in der für verschiedene Manipulationsverfahren nach der oben angegebenen Metrik bestimmte Aktivierungsdifferenzen für einzelne Filter eines Faltungsnetzes gezeigt sind, wobei die x-Achse 20 den Index i der Filter im Faltungsnetz und die y-Achse 21 eine auf die maximale Aktivierungsdifferenz normierte Aktivierungsdifferenz zeigt. Es ist deutlich zu erkennen, dass die Aktivierungsdifferenzen für verschiedene Manipulationsverfahren unterschiedliche Bereiche des als Faltungsnetzes ausgebildeten Neuronalen Netzes betreffen. So betrifft beispielsweise ein Hinzufügen von Rauschen (Fig. 5:„Gaußsches Rauschen“ und„Salt & Pepper“) fast alle Filter mehr oder weniger gleich stark. Hingegen reagieren auf eine Erhöhung der Farbsättigung („Sättigung+“) besonders die Filter mit kleinem Index (i < 1000) sensitiv. Umgekehrt reagieren auf eine adversariale Attacke mittels der„Fast Gradient Sign Method“ („FGSM“) besonders die Filter mit großem Index (i > 3000) sensitiv.
Es kann weiterbildend vorgesehen sein, dass die bestimmten Aktivierungsdifferenzen in Abhängigkeit eines jeweils zugehörigen Manipulationsverfahrens gewichtet bereitgestellt werden. In dem in Fig. 5 gezeigten Beispiel würden die einzelnen Aktivierungsdifferenzen in Abhängigkeit des jeweils zugehörigen Manipulationsverfahrens mit einem
Gewichtungskoeffizienten multipliziert und die Produkte anschließend für die einzelnen Filter aufsummiert werden. Das Ergebnis ließe sich in gleicher weise grafisch darstellen und zeigt eine über die verwendeten Manipulationsverfahren gemittelte Sensitivität des Neuronalen Netzes. Es kann ferner vorgesehen sein, dass Neuronen und/oder Bereiche des Neuronalen Netzes in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen sortiert werden und eine zugehörige Rangfolge bereitgestellt wird. Beispielweise können die in den Figuren 4 und 5 gezeigten und mit einem Index i der Filter versehenen Aktivierungsdifferenzen nach ihrer jeweiligen Höhe sortiert und eine der Sortierung entsprechende Rangfolge gebildet werden. Anschließend kann eine Anzahl der Filter mit den größten Aktivierungsdifferenzen identifiziert und bereitgestellt werden, beispielsweise um das Neuronale Netz auf Grundlage dieser Information zu verändern.
Bezugszeichenliste
Neuronales Netz
Trainingsdatensatz
Manipulationsverfahren
veränderter Trainingsdatensatz
Aktivierung
Differenzbildungsschritt
Aktivierungsdifferenz
Robustheitsmaßbestimmungsschritt
Robustheitsmaß
gemittelte Aktivierungsdifferenz
x-Achse (Filterindex i)
y-Achse (normierte Aktivierungsdifferenz)
Vorrichtung
Mittel
Recheneinrichtung
Speicher
-103 Verfahrensschritte

Claims

Patentansprüche
1. Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen
Netzes (1), umfassend die Schritte:
- Bereitstellen des Neuronalen Netzes (1), wobei das Neuronale Netz (1) auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes (2) trainiert wird oder trainiert wurde,
- Erzeugen mindestens eines veränderten Trainingsdatensatzes (4) durch Manipulieren des Trainingsdatensatzes (2), wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden,
- Bestimmen mindestens einer Aktivierungsdifferenz (7) zwischen einer Aktivierung des Neuronalen Netzes (1) durch die Trainingsdaten des ursprünglichen Trainingsdatensatzes (2) und einer Aktivierung durch die jeweils
korrespondierenden Trainingsdaten des mindestens einen veränderten Trainingsdatensatzes (4),
- Bereitstellen der bestimmten mindestens einen Aktivierungsdifferenz (7).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass auf Grundlage der
bereitgestellten mindestens einen Aktivierungsdifferenz (7) ein Robustheitsmaß (9) abgeleitet und bereitgestellt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass
Aktivierungsdifferenzen (7) neuronenweise und/oder bereichsweise bestimmt und bereitgestellt werden.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass bestimmte
Aktivierungsdifferenzen (7) jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt werden.
5. Verfahren nach einem Ansprüche 1 bis 4, dadurch gekennzeichnet, dass bestimmte Aktivierungsdifferenzen (7) in Abhängigkeit einer Position einer zugehörigen
Neuronenschicht innerhalb des Neuronalen Netzes (1) gewichtet bereitgestellt werden.
6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass Aktivierungsdifferenzen (7) jeweils über mehrere Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt werden.
7. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass bestimmte Aktivierungsdifferenzen (7) jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens (3) bereitgestellt werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die bestimmten
Aktivierungsdifferenzen (7) in Abhängigkeit eines jeweils zugehörigen
Manipulationsverfahrens (3) gewichtet bereitgestellt werden.
9. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass Neuronen und/oder Bereiche des Neuronalen Netzes (1) in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen (7) sortiert werden und eine zugehörige Rangfolge bereitgestellt wird.
10. Vorrichtung (30) zur Datenverarbeitung, umfassend Mittel (31) zur Ausführung der Verfahrensschritte des Verfahrens nach einem beliebigen der Ansprüche 1 bis 9.
11. Computerprogramm, umfassend Befehle, die bei der Ausführung des
Computerprogramms durch einen Computer diesen veranlassen, die Verfahrensschritte des Verfahrens nach einem beliebigen der Ansprüche 1 bis 9 auszuführen.
12. Computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, die Verfahrensschritte des Verfahrens nach einem beliebigen der Ansprüche 1 bis 9 auszuführen.
PCT/EP2020/062110 2019-05-23 2020-04-30 Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes WO2020233961A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/612,330 US20220318620A1 (en) 2019-05-23 2020-04-30 Method for Assessing a Function-Specific Robustness of a Neural Network
CN202080038184.4A CN113826114A (zh) 2019-05-23 2020-04-30 用于评估神经网络的特定于功能的鲁棒性的方法
EP20724043.3A EP3973455A1 (de) 2019-05-23 2020-04-30 Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019207575.4A DE102019207575A1 (de) 2019-05-23 2019-05-23 Verfahren zum Beurteilen einer funktionsspezifischen Robustheit eines Neuronalen Netzes
DE102019207575.4 2019-05-23

Publications (1)

Publication Number Publication Date
WO2020233961A1 true WO2020233961A1 (de) 2020-11-26

Family

ID=70554037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/062110 WO2020233961A1 (de) 2019-05-23 2020-04-30 Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes

Country Status (5)

Country Link
US (1) US20220318620A1 (de)
EP (1) EP3973455A1 (de)
CN (1) CN113826114A (de)
DE (1) DE102019207575A1 (de)
WO (1) WO2020233961A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021200215A1 (de) 2021-01-12 2022-07-14 Zf Friedrichshafen Ag Ermitteln einer Konfidenz eines künstlichen neuronalen Netzwerks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205037A1 (en) * 2003-04-10 2004-10-14 Thomas Mrziglod Method for training neural networks
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3306528B1 (de) * 2016-10-04 2019-12-25 Axis AB Verwendung von bildanalysealgorithmen zur bereitstellung von trainingsdaten an neuronale netze

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205037A1 (en) * 2003-04-10 2004-10-14 Thomas Mrziglod Method for training neural networks
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BO LUO ET AL: "Towards Imperceptible and Robust Adversarial Example Attacks against Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 January 2018 (2018-01-15), XP081206575 *
HAO-YUN CHEN ET AL: "Improving Adversarial Robustness via Guided Complement Entropy", 23 March 2019 (2019-03-23), pages 1 - 10, XP055715376, Retrieved from the Internet <URL:https://arxiv.org/pdf/1903.09799v1.pdf> [retrieved on 20200716] *
XIN LI ET AL: "Adversarial Examples Detection in Deep Networks with Convolutional Filter Statistics", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 22 December 2016 (2016-12-22), XP080742529, DOI: 10.1109/ICCV.2017.615 *

Also Published As

Publication number Publication date
DE102019207575A1 (de) 2020-11-26
CN113826114A (zh) 2021-12-21
US20220318620A1 (en) 2022-10-06
EP3973455A1 (de) 2022-03-30

Similar Documents

Publication Publication Date Title
DE102019212020A1 (de) Verfahren zum Erkennen einer adversarialen Störung in Eingangsdaten eines Neuronalen Netzes
EP3828758A1 (de) Objektklassifizierungsverfahren, objektklassifizierungsschaltung, kraftfahrzeug
EP3983936A1 (de) Verfahren und generator zum erzeugen von gestörten eingangsdaten für ein neuronales netz
DE102019208735B4 (de) Verfahren zum Betreiben eines Fahrassistenzsystems eines Fahrzeugs und Fahrerassistenzsystem für ein Fahrzeug
EP3973455A1 (de) Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes
EP3973466A1 (de) Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes
WO2020200620A1 (de) Maskierung von in einem bild enthaltenen objekten
DE102018205248B4 (de) Fusionssystem zur Fusion von Umfeldinformation für ein Kraftfahrzeug
DE102021133977A1 (de) Verfahren und System zur Klassifikation von Szenarien eines virtuellen Tests sowie Trainingsverfahren
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
EP3985565A1 (de) Verfahren und vorrichtung zum überprüfen eines beim teilautomatisierten oder vollautomatisierten steuern eines fahrzeugs verwendeten ki-basierten informationsverarbeitungssystems
WO2021078512A1 (de) Verfahren zum robustifizieren eines neuronalen netzes gegen adversariale störungen
WO2020233991A1 (de) Verfahren zum betreiben eines tiefen neuronalen netzes
EP4078237A1 (de) Verfahren und vorrichtung zum erkennen einer entfremdung einer sensordatendomäne von einer referenzdatendomäne
DE102020204321A1 (de) Verfahren zum Betreiben eines Fahrerassistenzsystems und Fahrerassistenzsystem für ein Fahrzeug
DE102019217951A1 (de) Verfahren und Vorrichtung zum Bestimmen einer Domänendistanz zwischen mindestens zwei Datendomänen
DE102019213459A1 (de) Verfahren zum Komprimieren eines Neuronalen Netzes
DE102020205535A1 (de) Charakterisierung, Training und Anwendung von Bildklassifikatoren
DE102019213458A1 (de) Verfahren zum Komprimieren eines Neuronalen Netzes
DE102022213064A1 (de) Erkennung unbekannter Objekte durch neuronale Netze für Fahrzeuge
DE202022103792U1 (de) Vorrichtung zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes
DE102022208384A1 (de) Verfahren zum Ermitteln eines Qualitätszustands eines Prüfobjekts
DE102021214253A1 (de) Bestimmung der für eine Bildverarbeitung mit einem Transformer-Netzwerk entscheidungsrelevanten Bildanteile
WO2022013121A1 (de) Verfahren und vorrichtung zum bewerten und zertifizieren einer robustheit eines ki-basierten informationsverarbeitungssystems
DE102021206106A1 (de) Vorrichtung und Verfahren zum Trainieren eines Maschinenlernsystems zum Entrauschen eines Eingangssignals

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: 20724043

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020724043

Country of ref document: EP

Effective date: 20211223