WO2020233992A1 - Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes - Google Patents

Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes Download PDF

Info

Publication number
WO2020233992A1
WO2020233992A1 PCT/EP2020/062638 EP2020062638W WO2020233992A1 WO 2020233992 A1 WO2020233992 A1 WO 2020233992A1 EP 2020062638 W EP2020062638 W EP 2020062638W WO 2020233992 A1 WO2020233992 A1 WO 2020233992A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
training data
data set
changed
activation
Prior art date
Application number
PCT/EP2020/062638
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 EP20724800.6A priority Critical patent/EP3973466A1/de
Priority to US17/612,241 priority patent/US20220222528A1/en
Priority to CN202080052642.XA priority patent/CN114127749A/zh
Publication of WO2020233992A1 publication Critical patent/WO2020233992A1/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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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

Definitions

  • the invention relates to a method for function-specific robustification of a neural network.
  • the invention also relates to a device for data processing
  • 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
  • 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 a method and a device for
  • a method for function-specific robustification of a neural network comprising the steps:
  • a) Providing the neural network, wherein the neural network is or has been trained on the basis of a training data set comprising training data, b) Generating at least one changed training data set by manipulating the training data set, the training data for this purpose being changed in each case while maintaining semantically meaningful content,
  • Training data set and at least part of the at least one changed training data set are repeated.
  • 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 increase 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.
  • Such a changed training data set 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.
  • the neural network is then changed as a function of a comparison result of a comparison between the application of the original training data set and the at least one changed training data set to the trained neural network.
  • the change takes place by changing parameters of the neural network and / or by changing an architecture or structure of the neural network. This creates a neural network that has changed its parameters and / or its architecture or structure.
  • the changed neural network is then changed on the basis of the training data set and at least part of the at least one
  • the trained, modified neural network is then made available.
  • the advantage of the method is that the robustness of a neural network in relation to disturbed input data can be improved, since parameters and / or an architecture or Structure of the neural network takes place as a function of a comparison result of a comparison between an application of the original training data set and the at least one changed (ie, disturbed) training data set on the trained neural network.
  • a neural network is in particular an artificial neural network, in particular a convolutional neural network.
  • the neural network is trained in particular for 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 captured camera images and marked with regard to semantically meaningful content (e.g. pedestrians).
  • 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 Method ").
  • photometric manipulation methods e.g. a change in brightness, contrast, saturation
  • noise and blurring e.g. Gaussian blurring, Gaussian noise, salt & pepper noise
  • adversarial manipulation methods e.g. " Fast Gradient Sign Method "
  • more complex methods can also be used as the manipulation method, for example provision can be made to change a summer scene into a winter scene without a semantically meaningful content (e.g. a depicted
  • 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: a added sensor noise in the training data, contrast, brightness and / or
  • Shifts and / or distortions in the training data a change in the physical properties of objects (e.g. the reflection properties or the paint properties of a motor vehicle, etc.).
  • Pruning (simplifying, shortening and optimizing parts of the neural network, for example by removing individual neurons or areas of the neural network that are particularly sensitive to the changed training data),
  • meta parameters e.g. parameters of convolution layers and activation functions.
  • 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.
  • steps c) and d) are repeated until at least one termination criterion is met. This allows an iterative
  • Robustness measure for the neural network is determined, the change taking place on the basis of the determined robustness measure.
  • a robustness measure for example, a real A number can be assigned, which enables an assessment of the robustness and a comparison of the robustness of different neural networks with one another.
  • the termination criterion is a convergence of the determined robustness measure.
  • the robustness measure converges to a default value when iterations of the method are carried out.
  • the termination criterion is reaching a target value for a functional quality of the trained modified neural network and / or reaching a target value for the determined robustness measure.
  • the parameters and / or the architecture or structure are changed separately by neurons and / or regions. It can be provided, for example, that only the neurons and / or areas of the neural network that react most sensitively to the changed training data are changed. This makes it possible to only take particularly affected neurons and / or areas into account during the robustification, so that the effort involved in making changes can be reduced.
  • Training data of the original training data set and an activation by the respective corresponding training data of the at least one changed training data set is determined, the changing being based on the determined at least one
  • Activation difference takes place. In this way, a disruptive influence can be determined and analyzed in a particularly meaningful way.
  • An activation is determined in particular on the basis of (inferred) values at the outputs of neurons of the neural network.
  • To determine 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.
  • activation differences are determined and taken into account by neurons and / or regions. 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. In particular, this enables a detailed analysis of sensitive neurons and / or areas of the neural network so that these can be given preference when the parameters and / or the architecture or structure of the neural network are subsequently changed. 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 for example be provided that an L2 distance (L2 standard) between
  • Activation vectors are formed which describe activation of the neurons or areas.
  • 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.
  • certain activation differences are taken into account averaged over a number of neurons and / or over a range. This makes it possible to analyze and evaluate the activation differences or a sensitivity of the neural network 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.
  • the subsequent changing of the parameters and / or the architecture or structure of the neural network then also takes place on the basis of the averaged activation differences, that is, all neurons taken into account in the averaging or the entire area are changed together.
  • certain activation differences are taken into account in a weighted manner as a function of a position of an associated neuron layer within the neural network. 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.
  • certain activation differences are taken into account averaged over several inference runs.
  • 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 weighted taken into account as a function of an associated manipulation method.
  • the respective activation differences can be determined for a number of manipulation methods for all neurons in the neural network and each can be weighted as a function of the associated manipulation method.
  • Neural network whereby selected manipulation methods can be taken into account more strongly than others via the weights, that is, a desired robustness of the
  • Neural network can be prioritized with regard to one or more manipulation methods.
  • neurons and / or areas of the neural network as a function of the respectively determined for them
  • Activation differences are sorted, the changing being carried out on the basis of an associated ranking. 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 identify the most sensitively reacting areas either averaged over all manipulation methods or for individual manipulation methods.
  • provision can then be made, for example, to change only the most sensitive, for example the upper 5% or 10%, of the neurons or areas, but to leave the rest of the neural network unchanged .
  • 1 shows a schematic representation of an apparatus for carrying out the method
  • 2 shows a schematic flow diagram of an embodiment of the method for function-specific robustification of a neural network
  • FIG. 3 shows a schematic flow diagram of an embodiment of the method for function-specific robustification of a neural network
  • FIG. 5 shows a schematic representation of activation differences determined for individual filters of a convolution network as a function of different ones
  • 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.
  • the computing device 32 generates at least one changed training data set 4 by manipulating the training data set 2, the training data being changed to this end while retaining semantically meaningful content, the at least one changed training data set 4 also being stored in the memory 33.
  • the computing device 32 applies the training data set 2 and the changed one
  • Training data set 4 on the neural network 1 in that the respective training data are fed to the inputs of the neural network 1 and propagated through the neural network 1.
  • the computing device 32 changes parameters and / or an architecture or structure of the neural network 1.
  • the changed neural network 10 is also stored in memory 33. After the change, the computing device 32 trains the changed neural network 10
  • the trained changed neural network 12 becomes subsequently provided, for example in the form of a digital data packet, which describes an architecture or structure and parameters and weightings of the trained, modified neural network 12.
  • corresponding training data of the at least one changed training data set 4 is determined, the parameters and / or the architecture or structure of the neural network 1 being changed on the basis of the determined at least one activation difference.
  • FIG. 2 shows a schematic flow diagram to clarify an embodiment of the method for function-specific robustification 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 propagated through the neural network 1 as part of a feed-forward sequence, so that inferred results can be provided at an output of the neural network 1.
  • 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.
  • activations 5 are determined for individual neurons and / or areas of the neural network 1 and in pairs (undisturbed camera image / disturbed
  • This difference formation step 6 supplies activation differences 7 for each of the neurons and / or areas of the neural network 1 under consideration.
  • a change step 8 parameters and / or an architecture or structure of the neural network 1 are changed. The change takes place here as a function of the determined activation differences 7.
  • the neural network 10 modified in this way is then trained in a training step 11 on the basis of the training data set 2 and at least a part of the at least one modified training data set 4 and is provided as a trained modified neural network 12.
  • the parameters and / or the architecture or structure are changed separately by neurons and / or areas. It is provided here that activation differences 7 are determined and taken into account accordingly by neurons and / or regions.
  • the termination criterion 13 is a convergence of the determined robustness measure 9.
  • the termination criterion 13 is reaching a target value for a functional quality of the trained modified neural network 12 and / or reaching a target value for the specific robustness measure 9.
  • certain activation differences 7 are taken into account in a weighted manner as a function of a position of an associated neuron layer within the neural network 1. It can be provided that certain activation differences 7 are taken into account averaged over a number of inference runs. In a further development, it can be provided that certain activation differences 7 are each dependent on an associated
  • Manipulation method 3 be considered weighted.
  • FIG. 3 shows a schematic flow diagram of an embodiment of the method for function-specific robustification 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.
  • manipulations can be carried out individually or in combination:
  • 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.
  • the activation difference (s) can be determined both by neurons and by averaging over areas of the neural network.
  • a metric for determining the activation differences of the individual filters is the following:
  • di is the activation difference of the filter with the index /, (.,.)
  • Activation difference function an output function of the filter with the index /, Wi x H, a size of the output feature map of the filter with the index /, N a number of images, x "the original camera image (ie 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.
  • 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 a 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.
  • a method step 103 parameters and / or an architecture of the neural network are changed as a function of the activation differences determined in each case.
  • Pruning (simplifying, shortening and optimizing parts of the neural network, for example by removing individual neurons or areas of the neural network that are particularly sensitive to the changed training data),
  • metaparameters e.g. hyperparameters of convolution layers and changing activation functions.
  • the modified neural network is then opened in a method step 104
  • a method step 105 it is checked whether at least one termination criterion is met.
  • the termination criterion can, for example, be a convergence of a specific one Be robustness. Alternatively or additionally, the termination criterion can also be a
  • the trained modified neural network is output in a method step 106, for example in the form of a digital data packet that describes the architecture or structure and parameters and weightings of the trained modified neural network.
  • method steps 103 and 104 are carried out again, that is, the neural network is changed again and then trained. In this way, the robustness of the neural network can be increased iteratively.
  • step 102 it can be provided that certain activation differences are averaged over a plurality of neurons and / or over a range, the averaged activation differences being provided in each case and when changing in
  • Method step 103 are taken into account.
  • Activation differences are provided in a weighted manner as a function of a position of an associated neuron layer within the neural network and are taken into account in method step 103 when changing.
  • 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 neuron layers that are closer to the output of the neural network can thereby have a greater influence on the assessment and increase in robustness.
  • activation differences are averaged over several inference runs, the averaged activation differences being provided and taken into account when changing.
  • changed training data that have been changed using different manipulation methods can be averaged over the inference runs. This means that the robustness can be assessed averaged over the individual manipulation methods and taken into account when changes are made. For example, an expected value for this is based on the changed Training data in each case determined activation differences (ie for a single neuron or for averaged areas).
  • Activation differences are each provided and taken into account as a function of an associated manipulation method. This is shown by way of example in FIG. 5, in which certain manipulation methods are determined according to the metric specified above
  • Activation differences for individual filters of a convolution network are shown, the x-axis 20 showing the index i of the filters in the convolution network and the y-axis 21 showing an activation difference normalized to the maximum activation difference.
  • 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.
  • filters with a small index (i ⁇ 1000) react sensitively to an increase in color saturation (“saturation ⁇ ”).
  • filters with a large index i> 3000 react sensitively to an adversarial attack using the “Fast Gradient Sign Method” (“FGSM”).
  • the determined activation differences can be provided weighted as a function of a respective associated manipulation method and to be taken into account when changing in method step 103.
  • the individual activation differences would be multiplied by a weighting coefficient as a function of the respective associated manipulation method and the products would then be added up for the individual filters.
  • the result can be represented graphically in the same way and shows the sensitivity of the neural network averaged over the manipulation methods used. This allows changing to
  • Method step 103 takes place as a function of the activation differences averaged over several manipulation methods, so that the robustness of the neural network can be increased on average with respect to all manipulation methods under consideration.
  • 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 will.

Abstract

Die Erfindung betrifft ein Verfahren zum funktionsspezifischen Robustifizieren eines Neuronalen Netzes (1), umfassend die Schritte: a) Bereitstellen des Neuronalen Netzes (1), wobei das Neuronale Netz (1) auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes (2) trainiert wird oder trainiert wurde, b) 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, c) Verändern von Parametern und/oder einer Architektur des Neuronalen Netzes (1) in Abhängigkeit eines Vergleichsergebnisses eines Vergleichs zwischen einer Anwendung des ursprünglichen Trainingsdatensatzes (2) und des mindestens einen veränderten Trainingsdatensatzes (4) auf das trainierte Neuronale Netz (1), d) Trainieren des veränderten Neuronalen Netzes (10) auf Grundlage des Trainingsdatensatzes (2) und zumindest eines Teils des mindestens einen veränderten Trainingsdatensatzes (4). Ferner betrifft die Erfindung eine Vorrichtung (30), ein Computerprogrammprodukt und ein computerlesbares Speichermedium.

Description

Beschreibung
Verfahren zum funktionsspezifischen Robustifizieren eines Neuronalen Netzes
Die Erfindung betrifft ein Verfahren zum funktionsspezifischen Robustifizieren 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. Daher wird versucht, Neuronale Netze robust gegen diese Art von Störeinflüssen auszugestalten.
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.
Das Robustifizieren von Neuronalen Netzen ist derzeit jedoch nur unbefriedigend gelöst.
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und eine Vorrichtung zum
funktionsspezifischen Robustifizieren eines Neuronalen Netzes zu schaffen.
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des
Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 14 gelöst. Ferner wird die Aufgabe erfindungsgemäß durch ein Computerprogrammprodukt mit den Merkmalen des Patentanspruchs 15 und ein computerlesbares Speichermedium mit den Merkmalen des Patentanspruchs 16 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Insbesondere wird ein Verfahren zum funktionsspezifischen Robustifizieren eines Neuronalen Netzes zur Verfügung gestellt, umfassend die Schritte:
a) Bereitstellen des Neuronalen Netzes, wobei das Neuronale Netz auf Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes trainiert wird oder trainiert wurde, b) Erzeugen mindestens eines veränderten Trainingsdatensatzes durch Manipulieren des Trainingsdatensatzes, wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden,
c) Verändern von Parametern und/oder einer Architektur des Neuronalen Netzes in
Abhängigkeit eines Vergleichs zwischen einer Anwendung des ursprünglichen
Trainingsdatensatzes und des mindestens einen veränderten Trainingsdatensatzes auf das trainierte Neuronale Netz,
d) Trainieren des veränderten Neuronalen Netzes auf Grundlage des
Trainingsdatensatzes und zumindest eines Teils des mindestens einen veränderten Trainingsdatensatzes.
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 erhöhen. 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. Ein derart veränderter 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 das Neuronale Netz in Abhängigkeit eines Vergleichsergebnisses eines Vergleichs zwischen der Anwendung des ursprünglichen Trainingsdatensatzes und des mindestens einen veränderten Trainingsdatensatzes auf das trainierte Neuronale Netz verändert. Das Verändern erfolgt durch Verändern von Parametern des Neuronalen Netzes und/oder durch Verändern einer Architektur bzw. Struktur des Neuronalen Netzes. Hierdurch entsteht ein in seinen Parametern und/oder seiner Architektur bzw. Struktur verändertes Neuronales Netz. Das veränderte Neuronale Netz wird anschließend auf Grundlage des Trainingsdatensatzes und zumindest eines Teils des mindestens einen veränderten
Trainingsdatensatzes trainiert. Das trainierte veränderte Neuronale Netz wird anschließend bereitgestellt.
Der Vorteil des Verfahrens ist, dass eine Robustheit eines Neuronalen Netzes gegenüber gestörten Eingangsdaten verbessert werden kann, da Parameter und/oder eine Architektur bzw. Struktur des Neuronalen Netzes in Abhängigkeit eines Vergleichsergebnisses eines Vergleichs zwischen einer Anwendung des ursprünglichen Trainingsdatensatzes und des mindestens einen veränderten (d.h. gestörten) Trainingsdatensatzes auf das trainierte Neuronale Netz erfolgt.
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 semantisch bedeutungsvollen Inhalts (z.B. Fußgänger) 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 Wnterszene 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.).
Zum Verändern der Parameter des Neuronalen Netzes und/oder der Architektur bzw. Struktur des Neuronalen Netzes können insbesondere die folgenden Verfahren verwendet werden:
- Verändern einer im Neuronalen Netz verwendeten Quantisierungsauflösung (z.B. durch Verändern eines verwendeten Datentyps),
- Pruning (Vereinfachen, Kürzen und Optimieren von Teilen des Neuronalen Netzes, beispielsweise durch Entfernen einzelner Neuronen oder von Bereichen des Neuronalen Netzes, welche besonders sensitiv auf die veränderten Trainingsdaten reagieren),
- Verändern der Gewichte im Neuronalen Netz (Verändern der Zahlenwerte der Gewichte),
- Verändern von Metaparametern (z.B. von Parametern von Faltungsschichten und von Aktivierungsfunktionen).
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 die Schritte c) und d) solange wiederholt werden, bis mindestens ein Abbruchkriterium erfüllt ist. Hierdurch kann eine iterative
Optimierung bzw. Maximierung der Robustheit erzielt werden.
In einer Ausführungsform ist vorgesehen, dass auf Grundlage des Vergleichs ein
Robustheitsmaß für das Neuronale Netz bestimmt wird, wobei das Verändern auf Grundlage des bestimmten Robustheitsmaßes erfolgt. Als Robustheitsmaß kann beispielsweise eine reelle Zahl zugeordnet werden, welche eine Beurteilung der Robustheit und einen Vergleich einer Robustheit unterschiedlicher Neuronaler Netze miteinander ermöglicht.
In einer weiterbildenden Ausführungsform ist vorgesehen, dass das Abbruchkriterium eine Konvergenz des bestimmten Robustheitsmaßes ist. Insbesondere wird hierbei überprüft, ob das Robustheitsmaß bei durchgeführten Iterationen des Verfahrens gegen einen Vorgabewert konvergiert.
In einer weiteren Ausführungsform ist vorgesehen, dass das Abbruchkriterium ein Erreichen eines Zielwertes für eine funktionale Güte des trainierten veränderten Neuronalen Netzes und/oder ein Erreichen eines Zielwertes für das bestimmte Robustheitsmaß ist.
In einer Ausführungsform ist vorgesehen, dass das Verändern der Parameter und/oder der Architektur bzw. Struktur neuronenweise und/oder bereichsweise getrennt erfolgt. Es kann beispielsweise vorgesehen sein, dass nur die auf die veränderten Trainingsdaten am sensitivsten reagierenden Neuronen und/oder Bereiche des Neuronalen Netzes verändert werden. Hierdurch wird es möglich, lediglich besonders betroffene Neuronen und/oder Bereiche beim Robustifizieren zu berücksichtigen, sodass ein Aufwand beim Verändern reduziert werden kann.
In einer Ausführungsform ist vorgesehen, dass beim Vergleichen mindestens eine
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 bestimmt wird, wobei das Verändern auf Grundlage der bestimmten mindestens einen
Aktivierungsdifferenz erfolgt. Hierdurch kann ein Störeinfluss auf besonders aussagekräftige Weise bestimmt und analysiert werden. 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.
In einer weiterbildenden Ausführungsform ist vorgesehen, dass Aktivierungsdifferenzen neuronenweise und/oder bereichsweise bestimmt und berücksichtigt werden. Dies ermöglicht es, von einer Manipulation der Trainingsdaten besonders betroffene bzw. sensitive Neuronen und/oder Bereiche des Neuronalen Netzes zu identifizieren. Insbesondere ermöglicht dies eine detaillierte Analyse von sensitiven Neuronen und/oder Bereichen des Neuronalen Netzes, sodass diese beim nachfolgenden Verändern der Parameter und/oder der Architektur bzw. Struktur des Neuronalen Netzes bevorzugt 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 Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt berücksichtigt werden. Dies ermöglicht es, die Aktivierungsdifferenzen bzw. eine 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. Das anschließende Verändern der Parameter und/oder der Architektur bzw. Struktur des Neuronalen Netzes erfolgt dann ebenfalls auf Grundlage der gemittelten Aktivierungsdifferenzen, das heißt es werden dann auch sämtliche beim Mitteln berücksichtigten Neuronen bzw. der gesamte Bereich gemeinsam verändert.
In einer weiteren Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes gewichtet berücksichtigt 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 Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen jeweils über mehrere Inferenzdurchläufe gemittelt berücksichtigt 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 weiteren Ausführungsform ist vorgesehen, dass bestimmte Aktivierungsdifferenzen jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens gewichtet berücksichtigt 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 gewichtet werden. Dies ermöglicht das
Berücksichtigen sämtlicher verwendeter Manipulationsverfahren beim Verändern des
Neuronalen Netzes, wobei über die Gewichte ausgewählte Manipulationsverfahren stärker berücksichtigt werden können als andere, das heißt eine angestrebte Robustheit des
Neuronalen Netzes kann im Hinblick auf ein oder mehrere Manipulationsverfahren priorisiert werden.
In einer weiteren weiterbildenden Ausführungsform ist vorgesehen, dass Neuronen und/oder Bereiche des Neuronalen Netzes in Abhängigkeit der jeweils für diese bestimmten
Aktivierungsdifferenzen sortiert werden, wobei das Verändern auf Grundlage einer zugehörigen Rangfolge erfolgt. 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. Beim nachfolgenden Verändern der Parameter und/oder der Architektur bzw. Struktur des Neuronalen Netzes kann dann beispielsweise vorgesehen sein, lediglich die sensitivsten, beispielsweise die oberen 5 % oder 10 %, der 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 funktionsspezifischen Robustifizieren eines Neuronalen Netzes;
Fig. 3 ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum funktionsspezifischen Robustifizieren 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. Die Recheneinrichtung 32 erzeugt mindestens einen veränderten Trainingsdatensatz 4 durch Manipulieren des Trainingsdatensatzes 2, wobei die Trainingsdaten hierzu jeweils unter Beibehaltung eines semantisch bedeutungsvollen Inhalts verändert werden, wobei auch der mindestens eine veränderte Trainingsdatensatz 4 in dem Speicher 33 hinterlegt ist.
Die Recheneinrichtung 32 wendet den Trainingsdatensatz 2 und den veränderten
Trainingsdatensatz 4 auf das Neuronale Netz 1 an, indem die jeweiligen Trainingsdaten den Eingängen des Neuronalen Netzes 1 zugeführt werden und durch das Neuronale Netz 1 hindurch propagiert werden. In Abhängigkeit eines Vergleichsergebnisses eines Vergleichs zwischen einer Anwendung des ursprünglichen Trainingsdatensatzes 2 und des mindestens einen veränderten Trainingsdatensatzes 4 auf das trainierte Neuronale Netz 1 verändert die Recheneinrichtung 32 Parameter und/oder eine Architektur bzw. Struktur des Neuronalen Netzes 1. Das veränderte Neuronale Netz 10 ist ebenfalls im Speicher 33 hinterlegt. Nach dem Verändern trainiert die Recheneinrichtung 32 das veränderte Neuronalen Netz 10 auf
Grundlage des Trainingsdatensatzes 2 und zumindest eines Teils des mindestens einen veränderten Trainingsdatensatzes 4. Das trainierte veränderte Neuronale Netz 12 wird anschließend bereitgestellt, beispielsweise in Form eines digitalen Datenpakets, welches eine Architektur bzw. Struktur und Parameter und Gewichtungen des trainierten veränderten Neuronalen Netzes 12 beschreibt.
Es kann vorgesehen sein, dass beim Vergleichen mindestens eine Aktivierungsdifferenz 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 bestimmt wird, wobei das Verändern der Parameter und/oder der Architektur bzw. Struktur des Neuronalen Netzes 1 auf Grundlage der bestimmten mindestens einen Aktivierungsdifferenz erfolgt.
In Fig. 2 ist ein schematisches Flussdiagramm zum Verdeutlichen einer Ausführungsform des Verfahrens zum funktionsspezifischen Robustifizieren eines Neuronalen Netzes 1 gezeigt. Das Neuronale Netz 1 ist hierbei bereits auf Grundlage eines Trainingsdatensatzes 2 trainiert.
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 1 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 betrachtete Neuronen und/oder Bereiche des Neuronalen Netzes 1 jeweils Aktivierungsdifferenzen 7. In einem Veränderungsschritt 8 werden Parameter und/oder eine Architektur bzw. Struktur des Neuronalen Netzes 1 verändert. Das Verändern erfolgt hierbei in Abhängigkeit der bestimmten Aktivierungsdifferenzen 7.
Das derart veränderte Neuronale Netz 10 wird anschließend in einem Trainingsschritt 11 auf Grundlage des Trainingsdatensatzes 2 und zumindest eines Teils des mindestens einen veränderten Trainingsdatensatzes 4 trainiert und als trainiertes verändertes Neuronales Netz 12 bereitgestellt.
Es ist insbesondere vorgesehen, dass das Verändern der Parameter und/oder der Architektur bzw. Struktur neuronenweise und/oder bereichsweise getrennt erfolgt. Hierbei ist vorgesehen, dass Aktivierungsdifferenzen 7 entsprechend neuronenweise und/oder bereichsweise bestimmt und berücksichtigt werden.
Es ist vorgesehen, dass das Verändern und das Trainieren des veränderten Neuronalen Netzes 10 solange wiederholt werden, bis mindestens ein Abbruchkriterium 13 erfüllt ist.
Es kann vorgesehen sein, dass auf Grundlage des Vergleichs, beispielsweise auf Grundlage der bestimmten Aktivierungsdifferenzen 7, ein Robustheitsmaß 9 für das Neuronale Netz 1 bestimmt wird, wobei das Verändern auf Grundlage des bestimmten Robustheitsmaßes 9 erfolgt.
Es kann dann weiterbildend vorgesehen sein, dass das Abbruchkriterium 13 eine Konvergenz des bestimmten Robustheitsmaßes 9 ist.
Ferner kann vorgesehen sein, dass das Abbruchkriterium 13 ein Erreichen eines Zielwertes für eine funktionale Güte des trainierten veränderten Neuronalen Netzes 12 und/oder ein Erreichen eines Zielwertes für das bestimmte Robustheitsmaß 9 ist.
Es kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt berücksichtigt werden.
Ferner kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes 1 gewichtet berücksichtigt werden. Es kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 jeweils über mehrere Inferenzdurchläufe gemittelt berücksichtigt werden. Weiterbildend kann vorgesehen sein, dass bestimmte Aktivierungsdifferenzen 7 jeweils in Abhängigkeit eines zugehörigen
Manipulationsverfahrens 3 gewichtet berücksichtigt werden.
Es kann ferner vorgesehen sein, dass Neuronen und/oder Bereiche des Neuronalen Netzes 1 in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen 7 sortiert werden, wobei das Verändern auf Grundlage einer zugehörigen Rangfolge erfolgt. Es kann
beispielsweise vorgesehen sein, alle (einzelnen oder gemittelten) Aktivierungsdifferenzen 7 ihrem Betrag nach zu sortieren und entsprechend einer durch die Sortierung entstehenden Rangfolge bereitzustellen. Dies ermöglicht es, die am sensitivsten reagierenden Neuronen und/oder Bereiche entweder über alle Manipulationsverfahren 3 gemittelt oder für einzelne Manipulationsverfahren 3 zu identifizieren. Beim nachfolgenden Verändern der Parameter und/oder der Architektur bzw. Struktur des Neuronalen Netzes 1 kann dann beispielsweise vorgesehen sein, lediglich die oberen 5 % oder 10 % der sensitivsten Neuronen oder Bereiche zu verändern, das restliche Neuronale Netz 1 jedoch unverändert zu lassen.
In Fig. 3 ist ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens zum funktionsspezifischen Robustifizieren 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.
Das Bestimmen der Aktivierungsdifferenz(en) 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 imgf000015_0001
Hierbei ist di die Aktivierungsdifferenz des Filters mit dem Index /, (.,.) eine
Aktivierungsdifferenzfunktion, f(x) eine Ausgangsfunktion des Filters mit dem Index /, Wi x H, eine Größe der Ausgangs-Feature Map des Filters mit dem Index /, N eine Anzahl von Bildern, x„ das ursprüngliche Kamerabild (d.h. das ursprüngliche Trainingsdatum), Ax„ das veränderte 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 eine 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 Parameter und/oder eine Architektur des Neuronalen Netzes in Abhängigkeit der jeweils bestimmten Aktivierungsdifferenzen verändert. Zum
Verändern der Parameter des Neuronalen Netzes und/oder der Architektur bzw. Struktur des Neuronalen Netzes können insbesondere die folgenden Verfahren verwendet werden:
- Verändern einer im Neuronalen Netz verwendeten Quantisierungsauflösung (z.B. durch Verändern eines verwendeten Datentyps),
- Pruning (Vereinfachen, Kürzen und Optimieren von Teilen des Neuronalen Netzes, beispielsweise durch Entfernen einzelner Neuronen oder von Bereichen des Neuronalen Netzes, welche besonders sensitiv auf die veränderten Trainingsdaten reagieren),
- Verändern der Gewichte im Neuronalen Netz (Verändern der Zahlenwerte der Gewichte),
- Verändern von Metaparametern (z.B. von Hyperparametern von Faltungsschichten und Verändern von Aktivierungsfunktionen).
Anschließend wird das veränderte Neuronale Netz in einem Verfahrensschritt 104 auf
Grundlage des Trainingsdatensatzes und zumindest eines Teils des mindestens einen veränderten Trainingsdatensatzes trainiert.
In einem Verfahrensschritt 105 wird überprüft, ob mindestens ein Abbruchkriterium erfüllt ist.
Das Abbruchkriterium kann beispielsweise eine Konvergenz eines bestimmten Robustheitsmaßes sein. Alternativ oder zusätzlich kann das Abbruchkriterium auch ein
Erreichen eines Zielwertes für eine funktionale Güte des trainierten veränderten Neuronalen Netzes und/oder ein Erreichen eines Zielwertes für das bestimmte Robustheitsmaß sein.
Ist das Abbruchkriterium erfüllt, so wird das trainierte veränderte Neuronale Netz in einem Verfahrensschritt 106 ausgeben, beispielsweise in Form eines digitalen Datenpakets, dass die Architektur bzw. Struktur und Parameter und Gewichtungen des trainierten veränderten Neuronalen Netzes beschreibt.
Ergibt die Überprüfung in Verfahrensschritt 105 hingegen, dass das Abbruchkriterium nicht erfüllt ist, so werden die Verfahrensschritte 103 und 104 erneut durchgeführt, das heißt das Neuronale Netz wird erneut verändert und anschließend trainiert. Auf diese Weise kann eine Robustheit des Neuronalen Netzes iterativ erhöht werden.
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 und beim Verändern in
Verfahrensschritt 103 berücksichtigt werden.
Es kann im Verfahrensschritt 102 ferner vorgesehen sein, dass bestimmte
Aktivierungsdifferenzen in Abhängigkeit einer Position einer zugehörigen Neuronenschicht innerhalb des Neuronalen Netzes gewichtet bereitgestellt werden und in Verfahrensschritt 103 beim Verändern berücksichtigt 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 und Erhöhung der Robustheit gegeben werden.
Es kann im Verfahrensschritten 102 weiter vorgesehen sein, dass Aktivierungsdifferenzen jeweils über mehrere Inferenzdurchläufe gemittelt werden, wobei jeweils die gemittelten Aktivierungsdifferenzen bereitgestellt und beim Verändern berücksichtigt 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 und beim Verändern berücksichtigt 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 den Verfahrensschritt 102 und 103 weiter vorgesehen sein, dass bestimmte
Aktivierungsdifferenzen jeweils in Abhängigkeit eines zugehörigen Manipulationsverfahrens bereitgestellt und berücksichtigt 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 und beim Verändern in Verfahrensschritt 103 berücksichtigt 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. Hierdurch kann das Verändern in
Verfahrensschritt 103 in Abhängigkeit der über mehrere Manipulationsverfahren gemittelten Aktivierungsdifferenzen erfolgen, sodass eine Robustheit des Neuronalen Netzes gegenüber sämtlichen betrachteten Manipulationsverfahren im Mittel gesteigert werden kann.
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 werden. Beim nachfolgenden Verändern der Parameter und/oder der Architektur bzw. Struktur des Neuronalen Netzes im Verfahrensschritt 103 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. Eine Optimierung bzw. Erhöhung der Robustheit kann hierdurch zielgerichteter und effizienter erfolgen.
Bezugszeichenliste
Neuronales Netz
Trainingsdatensatz
Manipulationsverfahren
veränderter Trainingsdatensatz
Aktivierung
Differenzbildungsschritt
Aktivierungsdifferenz
Veränderungsschritt
Robustheitsmaß
verändertes Neuronales Netz
Trainingsschritt
trainiertes verändertes Neuronales Netz
Abbruchkriterium
x-Achse (Filterindex)
y-Achse (normierte Aktivierungsdifferenz)
Vorrichtung
Mittel
Recheneinrichtung
Speicher
-106 Verfahrensschritte

Claims

Patentansprüche
1. Verfahren zum funktionsspezifischen Robustifizieren eines Neuronalen Netzes (1),
umfassend die Schritte:
a) Bereitstellen des Neuronalen Netzes (1), wobei das Neuronale Netz (1) auf
Grundlage eines Trainingsdaten umfassenden Trainingsdatensatzes (2) trainiert wird oder trainiert wurde,
b) 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,
c) Verändern von Parametern und/oder einer Architektur des Neuronalen Netzes (1) in Abhängigkeit eines Vergleichsergebnisses eines Vergleichs zwischen einer Anwendung des ursprünglichen Trainingsdatensatzes (2) und des mindestens einen veränderten Trainingsdatensatzes (4) auf das trainierte Neuronale Netz (1), d) Trainieren des veränderten Neuronalen Netzes (10) auf Grundlage des
Trainingsdatensatzes (2) und zumindest eines Teils des mindestens einen veränderten Trainingsdatensatzes (4).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die Schritte c) und d) solange wiederholt werden, bis mindestens ein Abbruchkriterium (13) erfüllt ist.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass auf Grundlage des Vergleichs ein Robustheitsmaß (9) für das Neuronale Netz (1) bestimmt wird, wobei das Verändern auf Grundlage des bestimmten Robustheitsmaßes (9) erfolgt.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Abbruchkriterium (13) eine Konvergenz des bestimmten Robustheitsmaßes (9) ist.
5. Verfahren nach Anspruch 2 bis 4, dadurch gekennzeichnet, dass das
Abbruchkriterium (13) ein Erreichen eines Zielwertes für eine funktionale Güte des trainierten veränderten Neuronalen Netzes (12) und/oder ein Erreichen eines Zielwertes für das bestimmte Robustheitsmaß (9) ist.
6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Verändern der Parameter und/oder der Architektur neuronenweise und/oder bereichsweise getrennt erfolgt.
7. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass beim Vergleichen mindestens eine 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) bestimmt wird, wobei das Verändern auf Grundlage der bestimmten mindestens einen
Aktivierungsdifferenz (7) erfolgt.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass Aktivierungsdifferenzen (7) neuronenweise und/oder bereichsweise bestimmt und berücksichtigt werden.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass bestimmte
Aktivierungsdifferenzen (7) jeweils über mehrere Neuronen und/oder über einen Bereich gemittelt berücksichtigt werden.
10. Verfahren nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass bestimmte Aktivierungsdifferenzen (7) in Abhängigkeit einer Position einer zugehörigen
Neuronenschicht innerhalb des Neuronalen Netzes (1) gewichtet berücksichtigt werden.
11. Verfahren nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, dass bestimmte Aktivierungsdifferenzen (7) jeweils über mehrere Inferenzdurchläufe gemittelt berücksichtigt werden.
12. Verfahren nach einem der Ansprüche 7 bis 11 , dadurch gekennzeichnet, dass bestimmte Aktivierungsdifferenzen (7) jeweils in Abhängigkeit eines zugehörigen
Manipulationsverfahrens (3) gewichtet berücksichtigt werden.
13. Verfahren nach einem der Ansprüche 7 bis 12, dadurch gekennzeichnet, dass Neuronen und/oder Bereiche des Neuronalen Netzes (1) in Abhängigkeit der jeweils für diese bestimmten Aktivierungsdifferenzen (7) sortiert werden, wobei das Verändern auf Grundlage einer zugehörigen Rangfolge erfolgt.
14. Vorrichtung (30) zur Datenverarbeitung, umfassend Mittel (31) zur Ausführung der Verfahrensschritte des Verfahrens nach einem beliebigen der Ansprüche 1 bis 13.
15. 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 13 auszuführen.
16. 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 13 auszuführen.
PCT/EP2020/062638 2019-05-23 2020-05-06 Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes WO2020233992A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20724800.6A EP3973466A1 (de) 2019-05-23 2020-05-06 Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes
US17/612,241 US20220222528A1 (en) 2019-05-23 2020-05-06 Method for Making a Neural Network More Robust in a Function-Specific Manner
CN202080052642.XA CN114127749A (zh) 2019-05-23 2020-05-06 用于特定于功能地鲁棒化神经网络的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019207573.8 2019-05-23
DE102019207573.8A DE102019207573A1 (de) 2019-05-23 2019-05-23 Verfahren zum funktionsspezifischen Robustifizieren eines Neuronalen Netzes

Publications (1)

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

Family

ID=70617110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/062638 WO2020233992A1 (de) 2019-05-23 2020-05-06 Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes

Country Status (5)

Country Link
US (1) US20220222528A1 (de)
EP (1) EP3973466A1 (de)
CN (1) CN114127749A (de)
DE (1) DE102019207573A1 (de)
WO (1) WO2020233992A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210365770A1 (en) * 2020-05-21 2021-11-25 Applied Materials, Inc. Predictive modeling of a manufacturing process using a set of inverted models

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018200724A1 (de) 2017-04-19 2018-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
ADNAN SIRAJ RAKIN ET AL: "Defend Deep Neural Networks Against Adversarial Examples via Fixed and Dynamic Quantized Activation Functions", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 18 July 2018 (2018-07-18), XP081113638 *
IAN J GOODFELLOW ET AL: "Explaining and Harnessing Adversarial Examples", 20 March 2015 (2015-03-20), XP055535149, Retrieved from the Internet <URL:https://arxiv.org/pdf/1412.6572.pdf> [retrieved on 20181217] *
JI GAO ET AL: "Workshop track -ICLR 2017 DEEPCLOAK: MASKING DEEP NEURAL NETWORK MODELS FOR ROBUSTNESS AGAINST ADVERSARIAL SAMPLES", 17 April 2017 (2017-04-17), XP055713816, Retrieved from the Internet <URL:https://arxiv.org/pdf/1702.06763.pdf> [retrieved on 20200710] *
LIAO FANGZHOU ET AL: "Defense Against Adversarial Attacks Using High-Level Representation Guided Denoiser", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, IEEE, 18 June 2018 (2018-06-18), pages 1778 - 1787, XP033476142, DOI: 10.1109/CVPR.2018.00191 *
NICOLAS PAPERNOT ET AL: "Distillation as a Defense to Adversarial Perturbations Against Deep Neural Networks", 2016 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 1 May 2016 (2016-05-01), pages 582 - 597, XP055569149, ISBN: 978-1-5090-0824-7, DOI: 10.1109/SP.2016.41 *
PAVLO MOLCHANOV ET AL: "PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE", 8 June 2017 (2017-06-08), pages 1 - 17, XP055507236, Retrieved from the Internet <URL:https://arxiv.org/pdf/1611.06440.pdf> [retrieved on 20180914] *
VALENTINA ZANTEDESCHI ET AL: "Efficient Defenses Against Adversarial Attacks", PROCEEDINGS OF THE 10TH ACM WORKSHOP ON ARTIFICIAL INTELLIGENCE AND SECURITY, AISEC '17, 1 January 2017 (2017-01-01), New York, New York, USA, pages 39 - 49, XP055713796, ISBN: 978-1-4503-5202-4, DOI: 10.1145/3128572.3140449 *
WANG SIYUE ET AL: "Defending DNN Adversarial Attacks with Pruning and Logits Augmentation", 2018 IEEE GLOBAL CONFERENCE ON SIGNAL AND INFORMATION PROCESSING (GLOBALSIP), IEEE, 26 November 2018 (2018-11-26), pages 1144 - 1148, XP033520775, DOI: 10.1109/GLOBALSIP.2018.8646578 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210365770A1 (en) * 2020-05-21 2021-11-25 Applied Materials, Inc. Predictive modeling of a manufacturing process using a set of inverted models
US11829873B2 (en) * 2020-05-21 2023-11-28 Applied Materials, Inc. Predictive modeling of a manufacturing process using a set of trained inverted models

Also Published As

Publication number Publication date
DE102019207573A1 (de) 2020-11-26
CN114127749A (zh) 2022-03-01
US20220222528A1 (en) 2022-07-14
EP3973466A1 (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
WO2020233992A1 (de) Verfahren zum funktionsspezifischen robustifizieren eines neuronalen netzes
DE102018113621A1 (de) Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem
EP3973455A1 (de) Verfahren zum beurteilen einer funktionsspezifischen robustheit eines neuronalen netzes
DE102019208735B4 (de) Verfahren zum Betreiben eines Fahrassistenzsystems eines Fahrzeugs und Fahrerassistenzsystem für ein Fahrzeug
DE102021200643B3 (de) Verfahren zur Umfelderkennung für teilautonome oder autonome Fahrfunktionen eines Kraftfahrzeugs mittels eines neuronalen Netzes
WO2021078512A1 (de) Verfahren zum robustifizieren eines neuronalen netzes gegen adversariale störungen
DE102019219927A1 (de) Verfahren und Vorrichtung zum Erkennen einer Entfremdung einer Sensordatendomäne von einer Referenzdatendomäne
EP3973458A1 (de) Verfahren zum betreiben eines tiefen neuronalen netzes
WO2021063572A1 (de) Vorrichtung und verfahren zum verarbeiten von daten eines neuronalen netzes
DE102019213458A1 (de) Verfahren zum Komprimieren eines Neuronalen Netzes
DE102020205535A1 (de) Charakterisierung, Training und Anwendung von Bildklassifikatoren
DE202022103792U1 (de) Vorrichtung zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes
WO2021122340A1 (de) Verfahren und vorrichtung zum erzeugen und bereitstellen einer datenbank mit darin hinterlegten sensordatenpatches zur verwendung beim quilting
DE102021214552A1 (de) Verfahren zum Evaluieren eines trainierten tiefen neuronalen Netz
DE102022206892A1 (de) Verfahren zum Bestimmen einer optimalen Architektur eines künstlichen neuronalen Netzes
DE102019213459A1 (de) Verfahren zum Komprimieren eines Neuronalen Netzes
WO2024037811A1 (de) Verfahren zum evaluieren eines trainierten tiefen neuronalen netzes
DE102019219926A1 (de) Verfahren und Vorrichtung zum Trainieren eines Neuronalen Netzes
WO2022033905A1 (de) Verfahren zum betreiben eines assistenzsystems zur bestimmung einer länge eines objekts, computerprogrammprodukt, computerlesbares speichermedium sowie assistenzsystem
EP4179471A1 (de) Verfahren und vorrichtung zum bewerten und zertifizieren einer robustheit eines ki-basierten informationsverarbeitungssystems
DE102021115879A1 (de) Verfahren zum Bereitstellen eines komprimierten neuronalen Netzes
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: 20724800

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020724800

Country of ref document: EP

Effective date: 20211223