EP4356305A1 - Verfahren zum übertragen eines netzwerkverhaltens eines trainierten startnetzwerkes auf ein zielnetzwerk ohne verwendung eines originaldatensatzes - Google Patents

Verfahren zum übertragen eines netzwerkverhaltens eines trainierten startnetzwerkes auf ein zielnetzwerk ohne verwendung eines originaldatensatzes

Info

Publication number
EP4356305A1
EP4356305A1 EP22737408.9A EP22737408A EP4356305A1 EP 4356305 A1 EP4356305 A1 EP 4356305A1 EP 22737408 A EP22737408 A EP 22737408A EP 4356305 A1 EP4356305 A1 EP 4356305A1
Authority
EP
European Patent Office
Prior art keywords
network
target
data set
image data
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22737408.9A
Other languages
English (en)
French (fr)
Inventor
Erik Engelhardt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Basler AG
Original Assignee
Basler AG
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 Basler AG filed Critical Basler AG
Publication of EP4356305A1 publication Critical patent/EP4356305A1/de
Pending legal-status Critical Current

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/084Backpropagation, e.g. using gradient descent
    • 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 present invention relates to a method for providing hyperparameters for generating artificial images.
  • the present invention relates to a method for creating a synthetic image data set.
  • the present invention also relates to a method for transferring a network behavior of a starting network to a target network.
  • the present invention relates to a calculation system and a transmission system for transmitting a network behavior of a starting network to a target network.
  • ANNs Artificial neural networks
  • Modern architectures of ANNs which can be referred to as network architectures, are, for example, the residual network (ResNet) or the VGG network (e.g. VGG-16). These two artificial neural networks can be assigned to the class of convolutional neural networks (CNN).
  • CNN convolutional neural networks
  • Modern ANNs achieve good performance for problems of classification or detection on complex data sets with a few hundred to a thousand classes.
  • Such neural networks can also be referred to as deep ANNs.
  • the slowness of the deep ANNs and the computing effort until the inference has taken place thus pose a problem for industrial applications.
  • One example of a problematic area of application are piece goods processes in which several hundred workpieces are processed per second.
  • Another problem is that some of the architecture of deep ANNs cannot be implemented on real-time capable hardware, such as an FPGA.
  • real-time capable hardware usually has very limited memory or memory capacities, so that deep ANNs cannot be loaded into the hardware memory.
  • the computing power of the real-time capable hardware is usually not sufficient to be able to carry out the large number of necessary computing operations in real time.
  • the problem here is that the customer often cannot or is not allowed to provide a training data set for the service provider. Reasons for this can include the protection of his know-how or, for example in the case of medical data sets, data protection concerns.
  • a trained ANN which, however, is not suitable for real-time hardware.
  • customers are able to independently train popular architectures to solve their problems with their data set, since pre-trained networks are readily available and the customers themselves can achieve high test accuracy with the popular architectures.
  • the customer can thus provide a trained ANN that the customer has independently trained with a training data set.
  • This ANN is referred to below as the starting network or the starting network.
  • the training data set with which the customer has trained the starting network is referred to as the original data set.
  • the starting point of the present considerations is therefore that an ANN trained by the customer is provided, which was independently trained by the customer using an original data set and the customer's original data set is not available to train a target network.
  • First approaches such as the transfer of knowledge from a trained star network to a target network without using an original data set are already known.
  • the known methods are very computationally intensive, which means that unnecessary resources such as electricity or time are consumed.
  • the target network may lose accuracy, for example if the target network has a different architecture than the starting network. This negative effect is particularly large when the target network architecture is smaller than the source network architecture.
  • the present invention thus relates to the specific technical implementation of the transfer of behavior or knowledge from a first artificial neural network to a second artificial neural network.
  • the aim is therefore for the second ANN to have the same behavior as the first ANN.
  • the behavior of an ANN is referred to as network behavior and can also be interpreted synonymously as knowledge of an ANN.
  • the transfer of a network behavior or of knowledge can also be interpreted synonymously as the transfer of a control behavior. It goes without saying that the network behavior or the knowledge of an ANN is implemented in the weights or in the layers of the ANN.
  • the present invention therefore relates in principle to all special fields of technology in which artificial neural networks are used, but the present invention particularly relates to fields of technology in which real-time capable hardware is used or is to be used on which an ANN is implemented or is to be implemented.
  • hyperparameters are generally known.
  • a hyperparameter in machine learning is a parameter used to control a training algorithm or method. In contrast to other parameters, its value is defined before the actual training of an ANN.
  • a large number of hyperparameters are known, such as a learning rate, an epoch number, a number of hidden layers, a batch size of samples, penalty terms or factors in a cost function.
  • Other parameters, which are determined, for example, by training, are not hyperparameters, such as the node weights of an ANN or values within a convolution kernel of a convolution layer, which can also be viewed as node weights.
  • the determined or calculated hyperparameters are provided, for example in the form of a data set. Artificial images are then generated on the basis of the hyperparameters provided. Artificial images are images in the form of image data that are synthetically generated using an algorithm.
  • the method includes creating an initial hyperparameter set. So it is suggested that a first set of hyperparameters is created, which serves as a basis for a subsequent optimization. Optimization is also known as tuning.
  • the hyperparameter set is designed to be changeable accordingly.
  • the initial hyperparameter set serves as a starting point or first parameter set, which is used and adapted for the further steps of the method.
  • the method comprises the creation of an initial image data record.
  • the image data set is in the form of samples and is also known as a batch. It is therefore proposed that a first set of images is created, which can have a predetermined size and a predetermined format.
  • the first image data set For example, random images can be created with a fixed size, whose pixel values were randomly generated.
  • the initial image data set also serves as a starting point or first image data set, which is used and adapted for the further steps of the method.
  • an image dataset be generated using an image-optimized method depending on the hyperparameter set.
  • the proposed method is based on the restriction that an original dataset or original dataset is not available in order to be able to train the target network directly with the original dataset. Since the original data set is not available, it is therefore necessary to generate synthetic images that are generated from the knowledge of the trained start network, which is implemented, for example, in the weights of the trained start network. Methods for generating artificial images are already known.
  • a possible classification of the image generation methods existing in this context is a classification into generator-based and image-optimizing methods.
  • generator-based methods a so-called generator network is used, which is trained with the information contained in the starting network. Synthetic images can then be generated with the generator network.
  • image-optimizing methods a generator network G is dispensed with. Instead, the images are optimized directly using a corresponding cost function and a target label, e.g. B. with a gradient descent method.
  • An image-optimized method is therefore proposed in the present case, in which, instead of the weights of a generator network, pixels of images of an image data set are iteratively optimized in order to minimize a cost function. It is further proposed that a starting network be used in the image-optimized method.
  • the starting network is a trained neural network that was trained with an original data set and that is characterized by a starting network architecture and starting network weights, in particular as described above.
  • Examples of a starting network architecture are, for example, the network architectures described above, such as a residual network (eg a ResNet50) or a VGG network (eg VGG16 or VGG11).
  • the numbers next to the type designations of the ANNs indicate the number of hidden layers.
  • a ResNet50 is a residual network with 50 hidden layers. It is therefore proposed that the stored information present in the trained starting network, e.g. B. in the starting net weights, to be used for the optimization of the image data set.
  • the star network itself is therefore not optimized, but an image data set is optimized.
  • at least one target label for the image-optimized method is specified for the starting network.
  • the target label is a given label or target value that the output network should set as an output. For example, so-called soft labels or one-hot-coded labels can be set as target labels.
  • the target label is also known as a target and can be understood as a target value to be set in the sense of a target value.
  • a target label has a target value for each source node or class.
  • the target values of the target label can be set as desired. Different synthetic images can be generated by changing the target label or adjusting the target values of the target label. It is further proposed that the image-optimized method includes the first step, that the image data set is propagated through the starting network. It is therefore proposed that the image data set or its samples propagate through the start network, ie the samples of the image data set run through the layers of the start network. It goes without saying that the propagation refers to the forward direction, i.e. that the image data is entered at an input layer of the start network and then propagates through the intermediate layers of the start network to the output layer in order to obtain at least one estimated value at the output nodes of the output layer with the to create a starting network.
  • the image or the image data record is accordingly classified with the start network and the start network outputs one or more estimated values at its output layer.
  • the number of estimated values that are output at the output layer depends, in a known manner, on how many different classes are to be recognized with the starting network.
  • the image data set be adjusted by means of backward propagation to minimize a cost function. It is therefore proposed to iteratively optimize the pixels of the images of the image dataset directly in order to minimize a cost function.
  • Backward propagation is also known as backpropagation. It describes a common method for training artificial neural networks. It belongs to the group of supervised learning methods.
  • the minimization takes place in such a way that a deviation of one or more estimated values of the starting network is compared with the specified target label and the deviation between the target label and the estimated value of the starting network is then minimized by adjusting the image data set.
  • the initial image data set is adjusted until a synthetic image has been created from the knowledge that is implemented in the trained starting network.
  • the initial image data set can be designed, for example, as a set of noisy random images and is then subsequently optimized by minimizing the cost function to form an image data set that looks natural and contains the classes to be classified.
  • the start network itself is not adjusted, but, to give an example, the images of the image data set are adjusted until the start network assigns the adjusted images to a class or several classes that is or are specified via the target label.
  • the method includes the step that the generated image data set is checked for the presence of a predetermined termination criterion.
  • Predetermined can also be construed as fixed.
  • the termination criterion can, for example, be an automated termination criterion, such as a threshold value.
  • the generated image data set can be output if a manual termination criterion is met.
  • a manual termination criterion is a visual check of the image data set, e.g. B. to artifact in the image data set.
  • the image data set can be output on a display unit, such as a user display, for visual inspection.
  • the hyperparameter set is adapted and the image-optimized method is carried out again with changed hyperparameters if the check shows that the termination criterion is not met. It is therefore proposed that the hyperparameters be adapted if the predetermined termination criterion is not met, ie, for example, a threshold value is not triggered.
  • hyperparameter optimization This optimization is also known as hyperparameter tuning and refers to the search for optimal hyperparameters.
  • the adjustment of the hyperparameter set can be done manually or automatically.
  • a manual adjustment can take place, for example, by changing a selected hyperparameter from the hyperparameter set with a manual input.
  • Automated adjustment can take place, for example, by executing an adjustment algorithm that automatically adjusts the hyperparameters of the hyperparameter set.
  • adaptation algorithms are a grid search, a random search, Bayesian optimization or evolutionary algorithms.
  • the adjusted hyperparameter set is provided as the first hyperparameter set.
  • the hyperparameter set can be interpreted synonymously as a hyperparameter dataset, since the set of hyperparameters is present as a dataset.
  • the hyperparameter optimization is carried out only with the starting network, i.e. without a further artificial neural network.
  • the starting network i.e. without a further artificial neural network.
  • the method for providing the hyperparameters is carried out as an independent and separate calculation process with a calculation unit.
  • a calculation unit can be a GPU that is set up to provide hyperparameters for generating artificial images and that generates the first hyperparameter set in a first calculation process exclusively as a function of the starting network.
  • the entire memory of the GPU can advantageously be used to determine the first hyperparameter set, since no memory capacity, e.g. for another ANN, is required. This makes it possible to determine the hyperparameters more quickly.
  • the proposed method is based on the knowledge that in image-optimized methods, hyperparameter optimization can take place without an additional neural network.
  • the computationally intensive process for determining hyperparameters can be carried out separately in an independent calculation process and correspondingly optimized. Additional memory is freed up if no other neural network is used than the starting network. This free memory can be used for the calculations of the first hyperparameter set. In comparison to known image-optimized methods, the hyperparameters can thus be determined faster and resources such as electricity and time can be saved.
  • the feature that the image-optimized method is exclusively dependent on the starting network thus makes the technical contribution that less memory is occupied in a calculation unit and the free memory can thus be used for other calculation steps. This makes the calculation faster, it can be optimized independently or even outsourced.
  • the target label is designed as a soft label. Labels that are not one-hot coded are referred to as soft labels.
  • soft labels are used as target labels.
  • a target network is later trained with this image data set, losses in accuracy when transferring knowledge from a trained star network to the target network can be reduced.
  • soft labels are used, a more diverse image data set can be created and the entire knowledge of the starting network can be better transformed or transferred to the target network.
  • a one-hot coded label is a label that has all but one target value set to zero.
  • the one-hot coded target label has three target values 1 , 0 and 0 with all but one target value set to zero.
  • a soft label is a label where more than one target value has a value greater than zero.
  • the target label be designed to be changeable with an adjustable mean value and additionally or alternatively an adjustable standard deviation. This makes it easier to change the target value specification.
  • the cost function is minimized by means of a gradient descent method.
  • the gradient descent method is a well-known method for minimizing a cost function. In the present case, this method is suitable for a fast and stable minimization of the cost function.
  • the cost function is formed from a large number of terms and the cost function is minimized by adapting the image data set.
  • the cost function is preferably formed from at least one of the following summed terms,
  • L t describes a measure of how far an estimated label of the starting network deviates from the target label
  • L a describes a measure of how far an adjusted image of the image dataset deviates from a Standard value deviates
  • L v a measure describes how far an adjusted Image of the adjusted image dataset deviates from a variance value
  • L f describes a measure of how similar a feature of the adjusted image of the image dataset is to a feature of the original dataset.
  • the factors a l2 , a v , and a f are scaling factors. These can also be referred to synonymously as weighting factors.
  • L a and L v are used for regularization and ensure that the synthetic images follow certain properties of natural images.
  • the first hyperparameter set comprises at least one hyperparameter, the list of hyperparameters comprising: - a norm scaling factor a l2 , a variance scaling factor a v , a feature scaling factor a f , a learning rate defining with at what rate the minimization of the cost function occurs, - an epoch number that specifies how often a predetermined number of images are propagated through the seed network, a batch size that specifies a number of samples that are propagated through the seed network.
  • the starting net weights are designed to be fixed. Fixed starting net weights are more computationally stable.
  • the starting net weights are designed to be dynamically adjustable. Dynamically adaptable starting grid weights offer the possibility of also improving the quality of the data set to be generated by further optimizing the starting grid. However, there is also the danger of an unstable calculation and a loss of learned features of the starting network. It is preferably proposed that the initial image data set be created with a mean value m in a normalized range from 0 to 0.20 with me [0,1].
  • the initial image data set be created with a normalized standard deviation s in a normalized range from 0.8 to 1 with s e [0,1].
  • An initialization of the image data record with a mean value of zero and a standard deviation of one is particularly preferred.
  • a data set of better quality can be generated more quickly with an image data set initialized in this way. It is preferably proposed that at least the step of generating an image data set using an image-optimized method is carried out using a high-performance calculation unit which has a computing power of at least 500 Giga-FLOP/s.
  • the high-performance computing unit is designed as a GPU or cloud server. It is therefore proposed to use a powerful calculation unit for the hyperparameter optimization and for generating the image data set.
  • a method for creating a synthetic image data set comprises, as a first step, generating an image data set using an image-optimized method depending on a second hyperparameter set, with at least one start network and one intermediate network being used in the image-optimized method.
  • the starting network is a trained neural network that was trained with an original data set and that is characterized by a starting network architecture and starting network weights.
  • the intermediate network is a neural network characterized by an intermediate network architecture and intermediate network weights. At least one destination label, which is designed as a soft label, is specified for the starting network.
  • the image-optimized method comprises at least the steps of propagating the image data set through the starting network and through the intermediate network and adapting the image data set by means of backward propagation to minimize a cost function.
  • the image-optimized method is carried out in the same way as described above.
  • the method for creating a synthetic image dataset includes storing the created image dataset in order to create the synthetic image dataset. It is therefore proposed that the adjusted image datasets are stored in order to generate a synthetic image dataset, which thus consists of a large number of the adjusted image datasets. The adjusted image datasets or batches are therefore output or stored and a synthetic image dataset is created from a large number of the stored image datasets. Saving therefore does not refer to temporary saving during a calculation process, but to permanent saving.
  • the method for creating a synthetic image data record can thus be understood as a method for generating training data for a neural network, since synthetic images are created with the method, on the basis of which a target network can be trained.
  • an intermediate network is used in the image-optimized method in addition to the starting network.
  • the second hyperparameter set has the hyperparameters of the first hyperparameter set and the first hyperparameter set was determined using a method according to one of the above embodiments. It it is therefore proposed that the second hyperparameter set includes the hyperparameters of the first hyperparameter set and is also supplemented with further hyperparameters.
  • hyperparameters are, for example, hyperparameters that relate to the training of the intermediate network, since the intermediate network is only used when generating the image data set, such as the selection of the intermediate network (architecture), the use of soft targets and/or one-hot targets , a learning rate for training the intermediate network, or a feature scale factor a c .
  • the method for creating a synthetic image data set includes at least one of the additional steps:
  • the diversity of the synthetic image data set can be increased by using a trained intermediate network. It is therefore proposed to generate a synthetic image data record with the starting network and the intermediate network, which has the same complexity as the original data record if possible. This is where the intermediate network helps by creating images where the starting network and the intermediate network disagree.
  • At least the step of generating an image data set using an image-optimized method and additionally or alternatively the step of training the intermediate network be carried out using a high-performance computing unit that has a computing power of at least 500 GigaFLOP/s.
  • the high-performance computing unit is particularly preferably designed as a GPU or cloud server.
  • the cost function has a term L c that describes a measure of the difference in the outputs of the starting network and the intermediate network for the images generated.
  • This term is also known as "Compete-Ioss”.
  • a minimization of the term L c leads to the generated images being classified as differently as possible by the start network and the intermediate network. This ensures that multiple images are generated for each class in order to challenge the intermediate network and represent the original dataset as closely as possible.
  • an additional scaling factor a c is part of the second hyperparameter set, which is provided for scaling the term L c .
  • the intermediate network architecture of the intermediate network is designed to be similar or the same size as the starting network architecture of the starting network, the intermediate network architecture and the starting network architecture being characterized by a number of network layers and by a number of network neurons used.
  • the architecture of the intermediate network is similar to the architecture of the start network or if they are even configured the same, for example in order to carry out the image-optimized method with two neural networks of a similar or equal size.
  • the starting network is designed as a ResNet50, for example, it is therefore proposed to also use a ResNet50 as the intermediate network or an ANN that has a similar architecture, ie a similar number of nodes, layers and a similar type of layers.
  • the intermediate network is not the target network and the intermediate network is basically only used to generate the synthetic image data set. After the creation of the synthetic image data set, the intermediate network can be discarded. With a similar architecture of the starting network and the intermediate network, however, an improved training data set or synthetic image data set can be provided, which leads to fewer losses.
  • the at least one target label be designed to be changeable with an adjustable mean value and additionally or alternatively with an adjustable standard deviation.
  • the method for creating a synthetic image data set is carried out until a termination criterion is met.
  • a particularly preferred termination criterion for the method for creating a synthetic image data record is a predetermined total number of images generated, e.g. B 30,000 images, a given total number of generated images for a class, and/or if a term L c describing a measure of the difference in the outputs of the starting network and the intermediate network for the generated images changes only slightly and within of predetermined fluctuation limits.
  • a method for transferring a network behavior of a start network to a target network is proposed according to the invention.
  • the starting network is a trained neural network that was trained with an original data set and that is characterized by a starting network architecture and starting network weights.
  • the target network is an untrained neural network and is characterized by a target network architecture and target network weights.
  • the procedure comprises the steps:
  • the data memory is a graphics memory. Additionally or alternatively it is proposed that the memory is a cloud memory. It is thus proposed that the starting network be loaded into a data store. This can be implemented with a software application, for example.
  • a first hyperparameter set is also loaded into the data memory.
  • the first hyperparameter set has been created using the previously described method for providing hyperparameters for generating artificial images in accordance with one of the above embodiments.
  • a synthetic image data set be generated using an image-optimized method as a function of a second hyperparameter set. It is therefore proposed that image data records are adjusted to minimize a cost function and the adjusted image data records are stored, in particular as described above.
  • the second hyperparameter set includes hyperparameters related to the training of the intermediate network, such as the choice of the intermediate network, the learning rate, etc.
  • At least one starting network and one intermediate network be used in the image-optimized method.
  • the internetwork is characterized by an internetwork architecture and internetwork weights.
  • the intermediate network is a trainable untrained neural network.
  • the synthetic image dataset has been created using the previously described method for creating a synthetic image dataset in accordance with one of the above embodiments.
  • the target network is trained with the generated image data set by adapting the target network weights by means of backward propagation, the target network being trained as a function of a third hyperparameter set.
  • the third hyperparameter set includes hyperparameters related to the training of the target network, such as the choice of the target network, the learning rate, etc.
  • the target network can also be loaded into a data memory of a calculation unit, trained on the basis of the synthetic image data record, and the trained target network then output.
  • KD method Knowledge Distillation method
  • the method for transferring a network behavior of a start network to a target network thus comprises at least the steps that the start network and the hyperparameter set are loaded, then depending on the Hyperparameter set by means of the start network and an intermediate network, a synthetic image data set is generated with an image-optimized method and then a target network is trained with the generated synthetic image data set.
  • the knowledge distillation method as a training method in order to train the target network with the generated synthetic image data set by adapting the target network weights using backward propagation.
  • the KD method is particularly suitable since the target network is not only trained as a function of the image data set, but also as a function of an estimated value of the start network. In this way, faster training of the target network can be implemented.
  • the KD method is therefore particularly advantageous since the starting network is available and the training process for the target network can therefore be carried out more quickly.
  • a supervised learning method as a training method to train the target network with the generated synthetic image data set by adjusting the target network weights using backward propagation and preferably the target labels that were used to generate the synthetic images for training of the target network to use.
  • the target network can thus be trained without using the start network and the target network can be trained more quickly, for example compared to the KD method.
  • the trained target network be checked for a target criterion and the second hyperparameter set adjusted and the third hyperparameter set additionally or alternatively adjusted if the target criterion is not met.
  • the target criterion is therefore also a termination criterion, as described above.
  • a target criterion it is preferably proposed to specify a similarity threshold value that triggers retraining of the target network if an output estimated value of the starting network deviates too far from an output estimated value of the target network, and for example the starting network and the target network identical test image data set is specified.
  • the test data set is a labeled data set on the basis of which the target network is to achieve a specific test accuracy.
  • the target network architecture of the target network is smaller than the starting network architecture of the starting network, for example in order to transfer the behavior of the larger starting network to a smaller starting network and to provide a trained target network with a reduced memory requirement than the starting network.
  • At least one target label which is designed as a soft label, is specified for the start network at least in the step of generating a synthetic image data record.
  • the methods described above therefore build on one another and are related to one another since they provide a solution with which knowledge can be transferred from a first trained artificial neural network to a second artificial neural network in a resource-saving and low-loss manner.
  • a calculation system is also proposed, the calculation system being set up to carry out a method for providing hyperparameters for generating artificial images according to one of the above embodiments in order to provide a first set of hyperparameters.
  • a cloud system or computer system that has high computing power, as described above, is preferably proposed as the calculation system.
  • the calculation unit is set up to carry out a method for creating a synthetic image data set according to one of the above embodiments in order to provide a synthetic image data set for training a target network.
  • the calculation unit is set up to carry out a method for transferring a network behavior of a starting network to a target network according to one of the above embodiments in order to transfer the network behavior or knowledge of a starting network to a target network.
  • a transmission system for transmitting a network behavior of a starting network to a target network is also proposed, the starting network being a trained neural network that trains with an original data set and is characterized by a starting network architecture and starting network weights, and the target network is an untrained neural network and is characterized by a target network architecture and target network weights.
  • the transmission system comprises at least one calculation unit which is set up to provide hyperparameters for generating artificial images, the calculation unit generating a first set of hyperparameters exclusively as a function of the starting network in a first calculation process.
  • the transmission system comprises a calculation unit that is set up to create a synthetic image data set, wherein the calculation unit generates the synthetic image data set in a second calculation process depending on the start network and an intermediate network, and the start network is given at least one target label, which is designed as a soft label is.
  • a calculation unit is proposed, which is set up to train the target network with the synthetic image data set by adjusting the target network weights using backward propagation in order to train the target network with the synthetic image data set in a third calculation process in order to transfer the network behavior of the starting network to the target network, for example without using or directly accessing the original data set.
  • the calculation unit described above can be a single calculation unit that executes the calculation processes in series, or it can also be designed with a plurality of separate calculation units.
  • FIG. 1 schematically shows a flowchart of the method for providing hyperparameters for generating artificial images in one embodiment.
  • 2 schematically shows a block diagram of an image-optimizing method in one embodiment.
  • FIG. 3 schematically shows a flow chart of the method for creating a synthetic image data set in one embodiment.
  • FIG. 4 schematically shows a block diagram of the method for creating a synthetic image data set in one embodiment.
  • 5 schematically shows a flow chart of a method for training a target network with a generated synthetic image data set in one embodiment.
  • FIG. 6 schematically shows a block diagram of a method for training a target network with a generated synthetic image data set in one embodiment.
  • FIG. 7 schematically shows a transmission system for transmitting a network behavior of a starting network to a target network or an overall process of a method for transmitting a behavior of a trained starting network to a target network.
  • 8 schematically shows a process for determining hyperparameters with temporary image generation, as is known from the prior art.
  • Fig. 9A, B show a specification of a target label.
  • FIG. 1 schematically shows a flow chart of the method for providing hyperparameters for generating artificial images in one embodiment.
  • the method is carried out in a first calculation process P1.
  • the calculation process can also be understood as a calculation phase.
  • the first calculation process is carried out with a high-performance calculation unit, namely with a GPU, and can be understood as a high-performance calculation unit, as described above.
  • the starting point for the method shown in FIG. 1 is that a trained starting network T is available, which can also be referred to as a teacher network.
  • a trained starting network T is available, which can also be referred to as a teacher network.
  • an image data set is generated using an image-optimized method.
  • the image data set is generated as a function of a hyperparameter set.
  • the image data set can also be referred to as a batch.
  • the starting network T is used, which is a trained neural network that was trained with an original data set and that is characterized by a starting network architecture and starting network weight
  • At least one target label is specified for the starting network, namely a soft label.
  • Step A1 includes additional steps that are not shown here for the sake of illustration, namely propagation of the image data set through the start network and adaptation of the image data set by means of backward propagation to minimize a cost function. These steps are illustrated in FIG. 2, for example.
  • the generated image data set X is checked for a predetermined termination criterion.
  • the termination criterion can be an automated or a manual debit criterion. It is assumed here that the termination criterion is an automatic termination criterion in the form of a threshold value, and the termination criterion is met when a value of a cost function to be minimized is less than a previously defined threshold value for the cost function.
  • step A3 is carried out.
  • step A3 the hyperparameter set is adapted and the image-optimized method is carried out again in step A2 with changed hyperparameters if the check in step A2 shows that the termination criterion is not met.
  • An iterative calculation process is therefore carried out in the first calculation process P1 to determine suitable hyperparameters, which is repeated until the termination criterion is met. If the termination criterion is met, the currently set hyperparameter record is made available as a data record as the first hyperparameter data record.
  • the first calculation process P1 thus takes place solely as a function of the trained starting network T.
  • the first calculation process P1 can also be understood as hyperparameter tuning for subsequent image generation.
  • FIG. 2 shows a schematic block diagram that illustrates the basic principle of an image-optimizing method in one embodiment and is exclusively dependent on a start network T.
  • the block diagram shown in FIG. 2 can therefore be assigned to step A1 of FIG. 1 and can be run through several times .
  • the basic principle of the block diagram of FIG. 2 is that an image data set X is optimized by pixel values of the image data set X being adjusted. This process is illustrated in FIG. 2 in the image data record X. On the left side of the uppermost image of the image data set X it can be seen that the image shown is still partially pixelated, ie the pixels still have random values. The optimization shown by adjusting the pixel values is therefore not yet complete. When the optimization process is complete, there is an unpixelated and natural-looking image that has been synthetically generated and generated on the basis of the knowledge contained in the layers of the starting network T. The starting network itself has not been adjusted.
  • the image data set X propagates through the start network T.
  • the weights of the start network are fixed.
  • the starting network T correspondingly outputs an estimated value or a prediction y T T .
  • This prediction value y T T is then compared with a specified target label y.
  • the target label y is specified as a soft label, for example.
  • the image data record X is then adapted by means of backward propagation in order to minimize a cost function.
  • the cost function is shown as Lx in Figure 2 and is in the form of
  • the cost function thus consists of a large number of terms and is optimized using a gradient method in order to adjust the image data set X until a predetermined termination criterion is met, as already described for FIG. 1, for example.
  • the terms L t , L l2 , L v and L f have been previously described.
  • the cost function includes weighting factors a l2 , a v and a f , which have also been described above.
  • backpropagation which is also known as backpropagation, is shown schematically in FIG. 2 by the dashed arrows.
  • a block PP is also shown in FIG.
  • This block PP illustrates a pre-processing of the image data set X in order to convert the images into a format that the output network T can process.
  • the prior processing can include the images being randomly scrolled horizontally and vertically by a predetermined maximum value, e.g. 10%, of the pixels for the data sets used.
  • FIG. 3 schematically shows a flow chart of the method for creating a synthetic image data set in one embodiment.
  • the method is carried out in a second calculation phase P2.
  • This phase can also be understood as a second calculation process.
  • the calculation process is carried out with a powerful calculation unit, namely a GPU.
  • an image data set is determined using an image-optimized method, with at least one starting network and one intermediate network being used in the image-optimized method.
  • the starting network is a trained neural network that was trained with an original data set and is characterized by a starting network architecture and starting network weights.
  • the intermediate network is a neural network characterized by an intermediate network architecture and intermediate network weights.
  • At least one destination label, which is designed as a soft label, is specified for the starting network. Since an additional intermediate purpose is used, the image data set is created in the calculation phase P2 with additional hyperparameters, ie as a function of a second hyperparameter set P2.
  • the second hyperparameter set P2 includes the hyperparameters of the first hyperparameter set Pi.
  • the image data set is thus created in a similar way to that described for example in FIGS. 1 and 2, with the difference that an additional intermediate network is used to generate the image data set. This is illustrated in FIG. 4, for example.
  • a second step B2 the generated image data record is stored in order to generate the synthetic image data record D.
  • the adjusted image data sets are therefore not discarded but stored in order to form a large image data set.
  • a third step B3 the intermediate network is then trained with the stored image data record by adapting the intermediate network weights of the intermediate network by means of backward propagation.
  • the image-optimized method is carried out again in step B1 and steps B2 and B3 as long as a termination criterion is not met, as described above.
  • An iterative calculation process is therefore proposed in the second calculation process P2, which is repeated until a termination criterion is met, as already described for FIG. 1, for example.
  • a predetermined number of images to be generated for example 30,000 images, can be used as a termination criterion for the calculation process P2.
  • FIG. 4 schematically shows a block diagram that illustrates the basic principle of an image-optimizing method in one embodiment and is dependent on a starting network T and an intermediate network S1.
  • the block diagram shown in FIG. 4 can be assigned to steps B1 to B2 from FIG. 3, for example, and can be run through several times.
  • steps B1 and B2 are illustrated.
  • the image data set X is optimized by pixel values of the image data set X being adjusted.
  • the image data set X propagates through the starting network T and through the intermediate network Si.
  • the weights of the starting network T are fixed.
  • the weights of the intermediate network Si are variable.
  • the starting network T correspondingly outputs an estimated value or a prediction yr T .
  • the intermediate network outputs an estimate or prediction ys T .
  • the image data record X is then adapted by means of backward propagation in order to minimize a cost function Lx.
  • the cost function is shown as Lx in FIG. 4 and is designed as
  • the cost function consists of a large number of terms and is optimized using a gradient method in order to adjust the image data set X until a predetermined termination criterion is met, as already described for FIG. 1, for example.
  • the terms L t , L l2 , L v , L f and L c have been previously described.
  • the cost function includes weighting factors a l2 , a v , a f and a c , which have also been described previously.
  • step B1 which is also known as back propagation, is shown schematically in FIG. 4 by the dashed arrows.
  • the adjusted image data record is then stored in a data memory as a synthetic image data record D in a second step B2.
  • a third step B3 (not shown), the intermediate network Si is trained with the stored image data set D by adapting the intermediate network weights by means of backward propagation.
  • the training of the intermediate network is not shown in FIG. 4 and is carried out using a KD method, for example, which is shown in FIG. 6, for example.
  • step B1 is carried out again with the trained or adapted intermediate network.
  • no activation function was shown in FIG. 4, such as a softmax function, which can be implemented as a softmax layer.
  • a block PP is shown in FIG. 4, as previously described.
  • FIG. 5 schematically shows a flow chart of a method for training a target network S 2 with a generated synthetic image data record D in one embodiment.
  • the method is carried out in a third calculation phase P3.
  • This phase can also be understood as a third calculation process.
  • the calculation process is carried out with a powerful calculation unit, namely a GPU.
  • the starting point for the method shown in FIG. 5 is that at least one target network S 2 and the generated synthetic image data set D are available.
  • the target network is an untrained neural network and is characterized by a target network architecture and target network weights.
  • the target network S 2 is trained with the generated synthetic image data set D by adapting the target network weights by means of backward propagation, the target network being trained as a function of a third hyperparameter set P3.
  • Various training methods for training the target network are known, for example the knowledge distillation method, as shown in FIG.
  • the third hyperparameter set P3 is intended to regulate the training method of the target network on the basis of the generated synthetic image data set D, and can be configured independently of the first and second hyperparameter sets.
  • the third hyperparameter set P3 is adjusted if a further check reveals that a termination criterion is not met, as described above.
  • FIG. 6 shows a block diagram of a method for training a target network with a generated synthetic image data set in one embodiment.
  • KD Knowledge Distillation
  • the weights of the target network S2 are optimized by minimizing a cost function LKD using a gradient method.
  • This cost function LKD consists of two terms, namely the cross entropy H and the Kullback-Leibler divergence.
  • the cross entropy H is calculated between the labels y and the predictions of the target network ys.
  • the use of cross entropy has proven itself in classical training of ANNs.
  • the cross entropy can be calculated when the target labels have been saved for the respective generated images.
  • the distillation loss LD ensures that the target network S2 learns from the starting network T.
  • the distillation loss LD is usually calculated from the predictions of the start network yT T and the predictions of the target network ys T .
  • KL divergence is a measure of the difference between two probability distributions.
  • the scalar hyperparameter l determines to what extent the target network S2 should learn from the labels y and the predictions of the starting network S2.
  • FIG. 6 shows softmax functions. Different temperature values t can be set for the calculation of the predictions ys, ys T and y T T.
  • the temperature t is a value known from the field of machine learning, with which probability distributions are changed, for example in the softmax layers. So it is understood that the temperature does not refer to the classical temperature.
  • the KD method shown is a suitable method for training the target network with the synthetic image data set D.
  • Figure 7 shows schematically a transmission system 10 for transferring a network behavior of a starting network T to a target network S2, the starting network T being a trained neural network that was trained with an original data set and is characterized by a starting network architecture and starting network weights, and the target network S2 is an untrained neural network and is characterized by a target network architecture and target network weights.
  • the transmission system includes a calculation unit 100 which is set up to provide hyperparameters for generating artificial images, the calculation unit generating a first hyperparameter set P1 in a first calculation process P1 exclusively as a function of the starting network. Only the starting network T is thus loaded into the calculation unit 100 .
  • at least one destination label which is designed as a soft label, is specified for the starting network. This is not shown in FIG.
  • a hyperparameter tuning for an image generation is thus carried out with the calculation unit 100, for example like the process P1 and as previously described for FIGS.
  • Several steps are thus carried out with or on the calculation unit 100 .
  • an image data set X is generated, which is referred to as a batch and corresponds to step A1 from FIG. 1, for example.
  • the adjusted images X are then evaluated in a further step, namely for the presence of a termination criterion.
  • This step corresponds to step A2 from FIG. 1, for example.
  • the hyperparameters are adjusted if a termination criterion is not met. This step corresponds to step A3 from FIG. 1, for example.
  • the transmission system also includes a calculation unit 200, which is set up to create a synthetic image data set D, with the calculation unit generating the synthetic image data set in a second calculation process P2 as a function of the start network and an intermediate network, and at least one destination label being specified for at least the start network , which is designed as a soft label.
  • an image data set X is generated, which is referred to as a batch and corresponds to step B1 from FIG. 3, for example.
  • the adjusted images X are then saved.
  • This step corresponds, for example, to step B2 from FIG. 3.
  • the intermediate network Si referred to as the student, is trained, namely on the basis of the adapted images X or the stored images.
  • This step corresponds, for example, to step B3, which was previously described for FIG.
  • the method is repeated until a termination criterion is met, as described above for FIGS. 3 and 4, for example. If the termination criterion is met, the stored synthetic image data record D is made available by the calculation unit 200 for further processing.
  • the transmission system also includes a calculation unit 300, which is set up to train the target network S2 with the synthetic image data set D by adjusting the target network weights using backward propagation, in order to train the target network with the synthetic image data set D in a third calculation process P3 in order to determine the network behavior of the To transfer starting network T to the target network S2, namely without using or without direct access to an original data set.
  • the destination network is denoted as Student S2 in FIG.
  • the student S2 is trained using a training method, specifically, for example, using the Knowledge Distillation method (KD method) as described above for FIGS.
  • KD method Knowledge Distillation method
  • a first step the target network S2 is trained on the basis of the synthetic image dataset D. This step corresponds, for example, to step C1 from FIG. 5.
  • a second step a third hyperparameter set P3 is adjusted if a termination criterion is not met, as described above for FIGS. 5 and 6, for example. The process is repeated until the termination criterion is met. If the termination criterion is met, the trained student S2 or the target network S2 is made available by the calculation unit 300 for further processing.
  • the transmission system 10 also includes a calculation unit 400 which is set up to check the trained target network S2 for a target criterion in order to verify the trained target network in a fourth calculation process P4.
  • the calculation unit 400 is also set up to trigger or implement an adjustment of the second hyperparameter set P2 and additionally or alternatively an adjustment of the third hyperparameter set P3 if the target criterion is not met.
  • the calculation unit 400 is set up to output the trained target network S2 if the target criterion is met.
  • the evaluation of the target network can be verified with a test data set T in order to check the performance or the accuracy of the target network.
  • FIG. 7 also serves to illustrate a method for transferring a behavior of a trained start network to a target network without using an original data set in one embodiment
  • the four transfer units 100 to 400 can also be used as four calculation processes or calculation steps S1 to
  • FIG. 8 illustrates how, in the prior art, hyperparameters are determined for image generation and image generation and training of the target network, which is shown as student S in FIG.
  • the problem with the method shown in FIG. 8 is that the hyperparameters are determined with the student S. This means that additional resources are required for calculating the hyperparameters. The determination process is therefore very slow.
  • a synthetic data record D is not created by storing the batches for a synthetic image data record ID). The images are only saved temporarily.
  • FIGS. 9A and B illustrate a specification of a target label with a soft label.
  • FIG. 9A illustrates the basic structure of an ANN with which image data or images can be classified. The basic structure of an ANN with which images or image data can be classified is assumed to be known.
  • Such an ANN has at least one input layer with a large number of input nodes, the number of input nodes corresponding to a number of image pixels. Each pixel therefore corresponds to an input node.
  • such an ANN has a large number of hidden layers and an output layer with a large number of output nodes, each output node corresponding to a class that is classified by the ANN.
  • the layers are connected to one another in such a way that the pixel values at the input layer propagate via the hidden layers to the output layer and an estimated value is output at the output view for each output node.
  • the ANN shown in Figure 9A is a trained seed network.
  • a deep ANN is used that has an input layer (“input layer”) with a large number of input nodes, the number of input nodes corresponding to the number of image pixels or the pixels. This is shown with the dashed arrows in Figure 9A.
  • the ANN has a large number of hidden layers (“multiple hidden layers”) and an output layer (“output layer”) with a large number of output nodes. If a random image X propagates through the trained starting network shown, the estimated values 0.5 for a first class could appear at the output layer, the estimated value 0.3 for a second class and the estimated value 0.2 for a third class. The trained ANN thus outputs an estimated value for each class or at each output node.
  • a soft label is provided as the target label, which has the exemplary target value 0.9 for the first class, the target value 0.05 for the second class and the target value 0.05 for the third class.
  • the random image is adjusted. This is shown in Figure 9B by the dashed reverse path. As can be seen, the image X shown is less pixelated than the image X from FIG. 9A. If the adapted image X of FIG. 9B is propagated by the ANN, the target values 0.75, 0.15 and 0.10 could already be set, which are already closer to of the target label specification. Adjusting the pixels of the image gradually creates a natural-looking image. The target values of the target label are therefore set.
  • the images are partially discarded since the data set is always linked to the target network.

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern, umfassend das Erstellen eines initialen Hyperparametersatzes, Erstellen eines initialen Bilddatensatzes, Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens in Abhängigkeit des Hyperparametersatzes, Prüfen des erzeugten Bilddatensatzes auf ein vorbestimmtes Abbruchkriterium, Anpassen des Hyperparametersatzes und erneutes Durchführen des bildoptimierten Verfahrens mit geänderten Hyperparametern, wenn die Prüfung ergibt, dass das Abbruchkriterium nicht erfüllt ist, oder Bereitstellen des angepassten Hyperparametersatzes als erster Hyperparametersatz, wenn die Prüfung ergibt, dass das Abbruchkriterium erfüllt ist.

Description

Verfahren zum Übertragen eines Netzwerkverhaltens eines trainierten Startnetzwerkes auf ein Zielnetzwerk ohne Verwendung eines Originaldatensatzes
Die vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern. Zudem betrifft die vorliegende Erfindung ein Verfahren zum Erstellen eines synthetischen Bilddatensatzes. Die vorliegende Erfindung betrifft auch ein Verfahren zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk. Zudem betrifft die vorliegende Erfindung ein Berechnungssystem und ein Übertragungssystem zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk.
Künstliche neuronale Netze (KNNs) sind Stand der Technik für viele Anwendungen und haben Marktreife für industrielle Anwendungen erlangt, beispielsweise im Bereich Compu- ter Vision.
Moderne Architekturen von KNNs, die als Netzwerkarchitekturen bezeichnet werden können, sind beispielsweise das Residual Network (ResNet) oder das VGG Network (z.B. VGG-16). Diese beiden künstlichen neuronalen Netze sind der Klasse der Convolutional Neural Networks (CNN) zuzuordnen. Modernen KNNs erreichen für Problemstellungen der Klassifikation oder Detektion auf komplexen Datensätzen mit einigen hundert bis tausend Klassen, eine gute Performance. Solche neuronalen Netze können auch als tiefe KNNs bezeichnet werden.
Problematisch bei solchen modernen Architekturen von KNNs ist jedoch, dass diese für den Einsatz in der Industrie und im Besonderen für Echtzeitanwendungen teilweise unge- eignet sind. Industrielle Echtzeitanwendungen werden üblicherweise auf ressourcenbeschränkter Hardware implementiert, was eine Implementierung von großen Architekturen auf dieser Hardware herausfordernd macht. Große Architekturen können zwar sehr genau sein, führen aber viele Rechenoperationen bei der Inferenz durch. Die Inferenz mit einem tiefen KNN kann deshalb für Echtzeitanwendungen zu lange dauern. Inferenz bezeichnet in diesem Zusammenhang eine Schlussfolgerung, die mit einem künstlichen neuronalen Netz, automatisiert aus Daten gewonnen wurde. Ein ungünstiger Effekt dieser Architekturen bzw. KNNs ist auch, dass sie viel Energie verbrauchen, da viele Rechenoperationen durchgeführt werden müssen. Die Langsamkeit der tiefen KNNs und der Rechenaufwand bis die Inferenz erfolgt ist, stellt somit ein Problem für industrielle Anwendungen dar. Ein Beispiel für ein problematisches Anwendungsgebiet sind Stückgutprozesse, bei denen mehrere hundert Werkstücke pro Sekunde verarbeitet werden. Ein weiteres Problem ist, dass die Architektur von tiefen KNNs zum Teil nicht auf einer echtzeitfähigen Hardware implementieren werden kann, wie zum Beispiel auf einem FPGA. Dies liegt zum einen daran, dass echtzeitfähige Hardware üblicherweise sehr begrenzte Speicher bzw. Speicherkapazitäten aufweisen, sodass tiefe KNNs nicht in den Speicher der Hardware geladen werden können. Zum anderen reicht die Rechenleistung der echtzeitfähigen Hardware üblicherweise nicht aus, um die Vielzahl von notwendigen Rechenoperationen in Echtzeit ausführen zu können.
Neben diesen rein technischen Problemen gibt es auch weitere Probleme bei einem Einsatz von KNNs für industrielle Anwendungen. Da Endkunden oft kein tiefgreifendes Knowhow bezüglich der Zielhardware und teilweise auch bezüglich des Trainings von KNNs haben, wird das Finden und Trainieren dieser angepassten Architektur oft von einem Dienstleister übernommen, beispielsweise vom dem Hersteller der echtzeitfähigen Hardware. Für die Dienstleiter besteht dabei aber das Problem, dass er für die Implementierung eines angepassten KNNs dass auf einer echtzeitfähigen Hardware implementiert werden kann, einen Trainingsdatensatz vom Kunden benötigt, um für den Kunden ein KNN trainie- ren zu können.
Problematisch ist dabei, dass der Kunde einen Trainingsdatensatz für den Dienstleister oft nicht zur Verfügung stellen kann oder darf. Gründe hierfür können unter anderem der Schutz seines Knowhows sein oder, beispielsweise bei medizinischen Datensätzen, datenschutzrechtliche Bedenken. Was der Kunde aber üblicherweise bereitstellen kann, ist ein trainiertes KNN, das allerdings für echtzeitfähige Hardware nicht geeignet ist. Teilweise sind Kunden nämlich in der Lage, populäre Architekturen zum Lösen ihrer Probleme eigenständig mit ihrem Datensatz zu trainieren, da vortrainierte Netzwerke leicht erhältlich sind und die Kunden selber hohe Testgenauigkeiten mit den populären Architekturen erreichen können. Der Kunde kann so- mit ein trainiertes KNN bereitstellen, das der Kunde selbstständig mit einem Trainingsdatensatz trainiert hat. Dieses KNN wird nachfolgend als Startnetzwerk oder als Ausgangsnetzwerk bezeichnet. Der Trainingsdatensatz mit dem der Kunde das Startnetzwerk trainiert hat, wird als Originaldatensatz bezeichnet. Ausgangspunkt der vorliegenden Überlegungen ist somit, dass ein vom Kunden trainiertes KNN bereitgestellt wird, das mit einem Originaldatensatz vom Kunden selbstständig trainiert wurde und der Originaldatensatz des Kunden nicht zur Verfügung steht, um ein Zielnetzwerk zu trainieren. Erste Ansätze wie der Transfer von Wissen von einem trainierten Starnetzwerk auf ein Zielnetzwerk ohne die Verwendung eines Originaldatensatzes erfolgt, sind bereits bekannt. Die bekannten Verfahren sind allerdings sehr rechenaufwendig, das heißt, es werden unnötige Ressourcen wie Strom oder Zeit verbraucht.
Hinzu kommt, dass es bei der Übertragung von Wissen von einem trainierten Starnetzwerk auf ein Zielnetzwerk zu Genauigkeitsverlusten des Zielnetzwerkes kommen kann, beispielsweise, wenn das Zielnetzwerk eine andere Architektur aufweist als das Ausgangsnetzwerk. Dieser negative Effekt ist besonders groß, wenn die Zielnetzarchitektur kleiner ist als die Ausgangsnetzarchitektur.
Die vorliegende Erfindung bezieht sich somit auf die spezielle technische Implementierung des Transfers eines Verhaltens bzw. von Wissen von einem ersten künstlichen neuronalen Netz auf ein zweites künstliches neuronales Netz. Es wird also darauf abgezielt, dass das zweite KNN das gleiche Verhalten aufweisen soll, wie das erste KNN. Das Verhalten eines KNNs wird dabei als Netzwerkverhalten bezeichnet und kann auch synonym als Wissen eines KNN aufgefasst werden. Der Transfer eines Netzwerkverhaltens bzw. von Wissen kann in diesem Zusammenhang auch synonym als Übertragung eines Regelverhaltens aufgefasst werden. Es versteht sich, dass das Netzwerkverhalten bzw. das Wissen eines KNN in den Gewichten bzw. in den Schichten des KNN implementiert ist.
Die vorliegende Erfindung betrifft demnach grundsätzlich alle speziellen Technologiefelder in denen künstliche neuronale Netze zum Einsatz kommen, besonders betrifft die vorlie- gende Erfindung aber Technologiefelder in denen echtzeitfähige Hardware zum Einsatz kommt oder kommen soll, auf der ein KNN implementiert ist oder implementiert werden soll.
In dem Recherchebericht der prioritätsbegründenden Anmeldung wurden die folgenden Dokumente vom Deutschen Patent- und Markenamt genannt: US 2021/0142177 A1 und STAMOULIS, Dimitrios S. [et al.]: Hyperpower: Power-and Memory-Constrained Hyper- Parameter Optimization for Neural Networks. In: 2018 Design, Automation & Test in Eu- rope Conference & Exhibition (DATE), IEEE, 2018; S. 19-24. Aufgabe der vorliegenden Erfindung ist es deshalb, eines der oben genannten Probleme zu adressieren, den allgemeinen Stand der Technik zu verbessern oder eine Alternative zu bisher Bekanntem bereitzustellen. Insbesondere soll eine Lösung bereitgestellt werden mit der eine ressourcenschonende und verlustarme Übertragung von Wissen von einem ersten trainierten künstlichen neuronalen Netz auf ein zweites künstliches neuronales Netz erfolgen kann.
Erfindungsgemäß wird somit ein Verfahren gemäß Anspruch 1 vorgeschlagen.
Demnach wird ein Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern vorgeschlagen. Es wird also ein Verfahren vorgeschlagen, in dem Hy- perparameter bestimmt bzw. berechnet werden. Hyperparameter sind grundsätzlich bekannt. Ein Hyperparameter im Bereich des maschinellen Lernens ist ein Parameter, der zur Steuerung eines Trainingsalgorithmus bzw. Trainingsverfahrens verwendet wird. Dessen Wert wird im Gegensatz zu anderen Parametern vordem eigentlichen Training eines KNN festgelegt. Es sind eine Vielzahl von Hyperparameter bekannt, wie zum Beispiel eine Lernrate, eine Epochenanzahl, eine Anzahl von versteckten Schichten, eine Stapelgröße von Samples (engl. „Batchsize“), Bestrafungsterme oder Faktoren in einer Kostenfunktion. Anderer Parameter, die beispielsweise durch das Training bestimmt werden, sind keine Hyperparameter, wie zum Beispiel die Knotengewichte eines KNN oder Werte innerhalb eines Faltungskernels einer Faltungsschicht, die ebenfalls als Knotengewichte aufgefasst werden können.
Die bestimmten bzw. berechneten Hyperparameter werden bereitgestellt, zum Beispiel in Form eines Datensatzes. Auf Basis der bereitgestellten Hyperparameter werden anschließend künstliche Bilder erzeugt. Künstliche Bilder sind dabei Bilder in Form von Bilddaten, die mit einem Algorithmus synthetisch erzeugt werden. Das Verfahren umfasst dabei als einen ersten Schritt, dass ein initialer Hyperparametersatz erstellt wird. Es wird also vorgeschlagen, dass ein erster Satz Hyperparameter erstellt wird, der als Grundlage für eine anschließende Optimierung dient. Die Optimierung ist auch als Tuning bekannt. Der Hyperparametersatz ist entsprechend veränderbar ausgebildet. Der initiale Hyperparametersatz dient als Ausgangspunkt bzw. erster Parametersatz, der für die weiteren Schritte das Verfahrens verwendet und angepasst wird.
Das Verfahren umfasst als einen zweiten Schritt, das Erstellen eines initialen Bilddatensatzes. Der Bilddatensatz liegt in Form von Samples vor und ist auch als Batch bekannt. Es wird also vorgeschlagen, dass ein erster Satz von Bildern erstellt wird, die eine vorgegebene Größe und ein vorgegebenes Format aufweisen können. Als erster Bilddatensatz können beispielsweise Zufallsbilder mit einer festgelegten Größe erstellt werden, dessen Pixelwerte zufällig generiert wurden. Der initiale Bilddatensatz dient ebenfalls als Ausgangspunkt bzw. erster Bilddatensatz, der für die weiteren Schritte das Verfahrens verwendet und angepasst wird. In einem weiteren Schritt wird vorgeschlagen, dass ein Bilddatensatz mittels eines bildoptimierten Verfahrens in Abhängigkeit des Hyperparametersatzes erzeugt wird.
Wie zuvor beschrieben, liegt dem vorgeschlagenen Verfahren die Einschränkung zu Grunde, dass ein originaler Datensatz bzw. Originaldatensatz nicht zur Verfügung steht, um das Zielnetzwerk direkt mit dem Originaldatensatz trainieren zu können. Da der origi- nale Datensatz nicht zur Verfügung steht, ist somit eine Generierung synthetischer Bilder erforderlich, die aus dem Wissen des trainierten Startnetzwerkes erzeugt werden, das beispielsweise in den Gewichten des trainierten Startnetzwerkes implementiert ist. Verfahren zur Erzeugung von künstlichen Bildern sind dabei bereits bekannt.
Eine mögliche Einteilung der in diesem Kontext bestehenden Bildgenerierungsverfahren ist eine Einteilung in generatorbasierte und bildoptimierende Verfahren. Bei generatorbasierten Verfahren wird ein sogenanntes Generatornetzwerk verwendet, das mit den im Startnetzwerk enthaltenen Informationen trainiert wird. Anschließend können mit dem Generatornetzwerk synthetische Bilder erzeugt werden. Bei bildoptimierenden Verfahren wird auf ein Generatornetzwerk G verzichtet. Stattdessen werden die Bilder direkt, anhand einer entsprechenden Kostenfunktion und einem Ziellabel optimiert, z. B. mit einem Gradientenabstiegsverfahren.
Vorliegend wird somit ein bildoptimierten Verfahren vorgeschlagen, bei dem anstatt der Gewichte eines Generatornetzwerkes, Pixel von Bildern eines Bilddatensatzes iterativ optimiert werden, um eine Kostenfunktion zu minimieren. Weiter wird vorgeschlagen, dass in dem bildoptimierten Verfahren ein Startnetzwerk verwendet wird. Das Startnetzwerk ist dabei ein trainiertes neuronales Netzwerk, das mit einem Originaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist, insbesondere wie zuvor beschrieben. Beispiele für eine Startnetzarchitektur sind zum Beispiel die zuvor beschriebenen Netzwerkarchitekturen, wie ein Residual Network (z.B. ein ResNet50) oder ein VGG Network (z.B. VGG16 oder VGG11). Die Zahlen neben den Typenbezeichnungen der KNNs, zeigen dabei die Anzahl der versteckten Schichten an. Ein ResNet50 ist also ein Residual Network mit 50 versteckten Schichten. Es wird demnach vorgeschlagen, die gespeicherten Informationen, die in dem trainierten Startnetzwerk vorhanden sind, z. B. in den Startnetzgewichten, für die Optimierung des Bilddatensatzes zu verwenden. Es wird also nicht das Starnetzwerk selber optimiert, sondern ein Bilddatensatz wird optimiert. Zudem wird vorgeschlagen, dass dem Startnetzwerk wenigstens ein Ziellabel für das bildoptimierte Verfahren vorgegeben wird. Das Ziellabel ist ein vorgegebenes Label bzw. ein Zielwert, den das Ausgangsnetzwerk als Ausgabe einstellen soll. Als Ziellabel können beispielsweise sogenannte Softlabel oder One-Hot-kodierte Label eingestellt werden. Das Ziellabel ist auch als Target bekannt und kann als ein einzustellender Zielwert im Sinne eines Sollwertes aufgefasst werden.
Ein Ziellabel weist für jeden Ausgangsknoten bzw. für jede Klasse einen Zielwert auf.
Die Zielwerte des Ziellabels können dabei beliebig eingestellt werden. Durch eine Veränderung des Ziellabels bzw. Anpassung der Zielwerte des Ziellabels können unterschiedliche synthetische Bilder erzeugt werden. Weiter wird vorgeschlagen, dass das bildoptimierte Verfahren den ersten Schritt umfasst, dass der Bilddatensatz durch das Startnetzwerk propagiert. Es wird also vorgeschlagen, dass der Bilddatensatz bzw. dessen Samples durch das Startnetzwerk propagieren, also die Samples des Bilddatensatzes die Schichten des Startnetzwerkes durchlaufen. Es versteht sich, dass sich das Propagieren auf die Vorwärtsrichtung bezieht, also, dass die Bild- daten an einer Eingangsschicht des Startnetzwerkes eingegeben werden und anschließend durch die Zwischenschichten das Startnetzwerkes zur Ausgangsschicht propagieren, um an den Ausgangsknoten der Ausgangsschicht jeweils wenigstens einen Schätzwert mit dem Startnetzwerk zu erzeugen. Das Bild bzw. der Bilddatensatz wird mit dem Startnetzwerk demnach klassifiziert und das Startnetzwerk gibt an seiner Ausgangsschicht einen oder mehrere Schätzwerte aus. Die Anzahl an Schätzwerten die an der Ausgangsschicht ausgegeben werden, richtet sich in bekannter Weise danach, wie viele unterschiedliche Klassen mit dem Startnetzwerk erkannt werden sollen.
Anschließend wird in einem zweiten Schritt des bildoptimierten Verfahrens vorgeschlagen, dass der Bilddatensatz mittels Rückwärtspropagation zur Minimierung einer Kostenfunk- tion angepasst wird. Es wird also vorgeschlagen direkt die Pixel der Bilder des Bilddatensatzes iterativ zu optimieren, um eine Kostenfunktion zu minimieren. Rückwärtspropagation ist auch als Backpropagation bekannt. Es beschreibt ein verbreitetes Verfahren für das Anlernen von künstlichen neuronalen Netzen. Es gehört zur Gruppe der überwachten Lernverfahren.
Die Minimierung erfolgt dabei so, dass eine Abweichung eines oder mehrerer Schätzwerte des Startnetzwerkes mit dem vorgegebenen Ziellabel verglichen werden und anschließend durch Anpassung des Bilddatensatzes die Abweichung zwischen dem Ziellabel und dem Schätzwert des Ausgangsnetzes minimiert wird.
Vereinfacht ausgedrückt wird also der initiale Bilddatensatz solange angepasst, bis ein synthetisches Bild aus dem Wissen entstanden ist, das in dem trainierten Startnetzwerk implementiert ist. Der initiale Bilddatensatz kann beispielsweise als Satz von verrauschten Zufallsbildern ausgebildet sein und wird dann anschließend durch Minimierung der Kostenfunktion zu einem natürlich aussehenden Bilderdatensatz optimiert, der die zu klassifizierenden Klassen enthält.
Es wird also nicht das Startnetzwerk selber angepasst, sondern, um ein Beispiel zu geben, werden die Bilder des Bilddatensatzes solange angepasst, bis das Startnetzwerk die angepassten Bilder einer Klasse oder mehreren Klassen zuordnet, die über das Ziellabel vorgegeben wird bzw. werden.
Als weiteren Schritt umfasst das Verfahren den Schritt, dass der erzeugte Bilddatensatz auf das Vorliegen eines vorbestimmten Abbruchkriteriums geprüft wird. Vorbestimmt kann auch als festgelegt aufgefasst werden.
Das Abbruchkriterium kann beispielsweise ein automatisiertes Abbruchkriterium sein, wie ein Schwellwert.
In einer besonders bevorzugten Ausführungsform liegt ein automatisiertes Abbruchkriterium vor, wenn ein Wert einer zu minimierenden Kostenfunktion kleiner ist als ein zuvor definierter Schwellenwert; zusätzlich oder alternativ, liegt ein automatisiertes Abbruchkriterium vor, wenn das Startnetzwerk die synthetischen Bilder mit einer festgelegten Genauigkeit klassifiziert; und zusätzlich oder alternativ, liegt ein automatisiertes Abbruchkriterium vor, wenn Pixel der angepassten Bilder des Bilddatensatzes vorbestimmte statistischen Eigenschaft aufweisen, wie eine vordefinierte Verteilungsfunktion oder eine vordefinierte Varianz.
Es kommt auch in Betracht, dass der erzeugte Bilddatensatz ausgegeben wird, wenn ein manuelles Abbruchkriterium erfüllt ist. Ein Beispiel für ein manuelles Abbruchkriterium ist eine optische Prüfung des Bilddatensatzes, z. B. auf Artefakt in dem Bilddatensatz. Zur optischen Prüfung kann der Bilddatensatz an einer Anzeigeeinheit ausgegeben werden, wie ein Userdisplay.
Es versteht sich, dass auch eine Mischform der zuvor beschriebenen Abbruchkriterien in Betracht kommt, also mehrere Prüfkriterien implementiert wurden. Damit können Falschausgaben reduziert werden.
In einem weiteren Schritt wird vorgeschlagen, dass der Hyperparametersatz angepasst wird und das bildoptimierte Verfahren mit geänderten Hyperparametern erneutes durchgeführt wird, wenn die Prüfung ergibt, dass das Abbruchkriterium nicht erfüllt ist. Es wird also vorgeschlagen, dass eine Anpassung der Hyperparameter erfolgt, wenn das vorbestimmte Abbruchkriterium nicht erfüllt ist, also zum Beispiel ein Schwellenwert nicht ausgelöst wird.
Das zuvor beschriebene Verfahren betrifft demnach die sogenannte Hyperparameteroptimierung. Diese Optimierung ist auch als Hyperparametertuning bekannt und bezeichnet die Suche nach optimalen Hyperparametern.
Das Anpassen des Hyperparametersatzes kann dabei manuell oder automatisiert erfolgen.
Ein manuelles Anpassen kann beispielsweise erfolgen, indem ein ausgewählter Hyperparameter aus dem Hyperparametersatz mit einer manuellen Eingabe verändert wird.
Ein automatisiertes Anpassen kann beispielsweise erfolgen, indem ein Anpassungsalgo- rithmus ausgeführt wird, der die Hyperparameter des Hyperparametersatzes automatisiert anpasst. Beispielsweise für solche Anpassungsalgorithmen sind eine Rastersuche (engl. „Grid Search“), eine Zufallssuche (engl. „Random Search“), eine Bayessche Optimierung (engl. „Bayesian Optimization“) oder evolutionäre Algorithmen.
Wenn die Prüfung ergibt, dass das vorbestimmte Abbruch kriterium erfüllt ist, wird der an- gepasste Hyperparametersatz als erster Hyperparametersatz bereitgestellt. Der Hyperparametersatz kann synonym als Hyperparameterdatensatz aufgefasst werden, da der Satz von Hyperparametern als Datensatz vorliegt.
Besonders wird zudem vorgeschlagen, dass in dem bildoptimierten Verfahren ausschließlich das Startnetzwerk verwendet wird. Es wird somit vorgeschlagen, dass die Hyperpara- meteroptimierung nur mit dem Startnetzwerk durchgeführt, also ohne ein weiteres künstliches neuronales Netz durchgeführt wird. Ausschließlich abhängig von dem Startnetzwerk kann also so aufgefasst werden, dass für die Bestimmung der Hyperparameter nur ein einziges neuronales Netz verwendet wird, nämlich das Startnetzwerk.
Dabei wird auch vorgeschlagen, dass das Verfahren zur Bereitstellung der Hyperparame- ter als eigenständiger und getrennter Berechnungsprozess mit einer Berechnungseinheit durchgeführt wird.
Beispielsweise kann eine Berechnungseinheit eine GPU sein, die zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bilder eingerichtet ist, und die in einem ersten Berechnungsprozess den ersten Hyperparametersatz ausschließlich in Abhängig- keit des Startnetzwerkes erzeugt. So kann in vorteilhafter Weise der gesamte Speicherder GPU für die Bestimmung des ersten Hyperparametersatz genutzt werden, da keine Speicherkapazitäten, z.B. für ein weiteres KNN benötigt wird. Damit ist eine schnellere Bestimmung der Hyperparameter möglich.
Dem vorgeschlagenen Verfahren liegt nämlich die Erkenntnis zu Grunde, dass in bildopti- mierten Verfahren eine Hyperparameteroptimierung ohne ein zusätzliches neuronales Netzwerk erfolgen kann.
Zudem kann der rechenaufwendige Prozess zur Bestimmung von Hyperparametern getrennt in einem eigenständigen Berechnungsprozess ausgeführt werden und entsprechend optimiert werden. Es wird zusätzlicher Speicherplatz frei, wenn kein weiteres neuronales Netzwerk als das Startnetzwerk verwendet wird. Dieser freie Speicher kann für die Berechnungen des ersten Hyperparametersatzes genutzt werden. Im Vergleich zu bekannten bild- optimierten Verfahren können die Hyperparameter somit schneller bestimmt werden und Ressourcen wie Strom und Zeit eingespart werden.
Das Merkmal das bildoptimierte Verfahren ausschließlich abhängig ist von dem Startnetz- werk leistet somit den technischen Beitrag, dass weniger Speicher in einer Berechnungseinheit belegt wird und der freie Speicher somit für andere Berechnungsschritte genutzt werden kann. Damit wird die Berechnung schneller, kann eigenständig optimiert werden oder sogar ausgelagert werden.
Vorzugsweise wird vorgeschlagen, dass das Ziellabel als Softlabel ausgebildet ist. Label welche nicht One-Hot-kodiert sind, werden dabei als Softlabel bezeichnet. Es wurde vorliegend erkannt, dass eine Verwendung von Softlabeln als Ziellabel den vorteilhaften Effekt bewirkt, dass ein qualitativ hochwertigerer synthetische Bilddatensatz erzeugt werden kann. Wird später ein Zielnetzwerk mit diesem Bilddatensatz trainiert, können Genauigkeitsverluste bei der Übertragung von Wissen von einem trainierten Starnetzwerk auf das Zielnetzwerk reduziert werden. Es wurde vorliegend erkannt, dass wenn Softlabel genutzt werden, ein vielfältigerer Bilddatensatz erstellt werden kann und das gesamte Wissen des Startnetzwerkes besser auf das Zielnetzwerk transformiert bzw. übertragen werden kann.
Ein One-Hot-kodiertes Label ist ein Label, bei dem alle Zielwerte mit Ausnahme eines Zielwertes auf null gesetzt sind. Ein Beispiel für ein One-Hot-kodiertes Ziellabel für ein KNN mit drei Ausgangsknoten bzw. drei Klassen ist das Label y= (1 ,0,0). Wie in diesem Beispiel zu erkennen ist, weist das One-Hot-kodierte Ziellabel drei Zielwerte 1 , 0 und 0 auf, wobei alle Zielwerte bis auf ein Zielwert auf null gesetzt sind.
Ein Softlabel ist ein Label, bei dem mehr als ein Zielwert einen Wert aufweist, der größer ist als null. Ein Beispiel für ein Softlabel für ein KNN mit drei Ausgangsknoten bzw. drei Klassen ist das Label y= (0.9, 0.1 , 0). Wie diesem Beispiel zu entnehmen ist, weist das Softlabel drei Zielwerte 0.9, 0.1 und 0 auf, wobei zwei Zielwerte größer sind als null. In einer besonders bevorzugten Ausführungsform wird vorgeschlagen, dass das Ziellabel mit einem einstellbaren Mittelwert und zusätzlich oder alternativ einer einstellbaren Standardabweichung veränderbar ausgebildet ist. Damit kann die Zielwertvorgabe einfacher verändert werden.
In einerweiteren bevorzugten Ausführungsform wird vorgeschlagen, dass die Kostenfunk- tion mittels eines Gradientenabstiegsverfahrens minimiert wird. Das Gradientenabstiegsverfahrens ist ein bekanntes Verfahren um eine Kostenfunktion zu minieren. Vorliegend eignet sich dieses Verfahren für eine schnelle und stabile Minimierung der Kostenfunktion.
In einer besonders bevorzugten Ausführungsform wird vorgeschlagen, dass die Kostenfunktion aus einer Vielzahl von Termen ausgebildet ist und die Kostenfunktion durch An- passung des Bilddatensatzes minimiert wird.
Die Kostenfunktion ist vorzugsweise ausgebildet aus wenigstens einem der nachfolgenden aufsummierten Terme,
Lx — Lt + cti2L 2 + ccvLv + <XfLf wobei Lt ein Maß beschreibt, wie weit ein geschätztes Label des Startnetzwerkes von dem Ziellabel abweicht, La ein Maß beschreibt, wie weit ein angepasstes Bild des Bilddatensatzes von einem Normwert abweicht, Lv ein Maß beschreibt, wie weit ein angepasstes Bild des angepassten Bilddatensatzes von einem Varianzwert abweicht und Lf ein Maß beschreibt, wie ähnlich ein Merkmal des angepassten Bildes des Bilddatensatzes einem Merkmal des originalen Datensatzes ist. Die Faktoren al2, av, und af sind Skalierungsfaktoren. Diese können auch synonym als Gewichtungsfaktoren bezeichnet werden. Durch die Minimierung des Terms Lt wird erreicht, dass die generierten Bilder vom Startnetzwerk eindeutig einer Klasse zugeordnet werden.
Die Terme La und Lv dienen der Regularisierung und sorgen dafür, dass die synthetischen Bilder gewissen Eigenschaften von natürlichen Bildern folgen.
Durch die Minimierung des Terms Lf wird die Differenz der Aktivierung innerhalb der Schichten des Startnetzwerkes für die generierten Bilder und die der gespeicherten Aktivierung der originalen Bilder minimiert.
In einer bevorzugten Ausführungsform wird vorgeschlagen, dass der erste Hyperparametersatz wenigstens einen Hyperparameter umfasst, der Liste von Hyperparametern aufweisend: - ein Norm-Skalierungsfaktor al2, ein Varianz-Skalierungsfaktor av, ein Merkmal-Skalierungsfaktor af, eine Lernrate, die festlegt mit welcher Rate die Minimierung der Kostenfunktion erfolgt, - eine Epochenanzahl, die festlegt, wie häufig eine vorbestimmte Anzahl von Bildern durch das Startnetz propagiert, eine Stapelgröße, die eine Anzahl von Samples festlegt, die durch das Startnetzwerk propagiert werden.
In einer weiteren Ausführungsform wird vorgeschlagen, dass die Startnetzgewichte fest ausgebildet sind. Feste Startnetzgewichte sind rechenstabiler.
In einer alternativen Ausführungsform sind die Startnetzgewichte dynamisch anpassbar ausgebildet. Dynamisch anpassbare Startnetzgewichte bieten die Möglichkeit, durch weitere Optimierung des Startnetzes ebenfalls die Qualität des zu generierenden Datensatzes zu verbessern. Allerdings besteht auch die Gefahr einer instabilen Berechnung und einem Verlust von erlernten Merkmalen (engl. „Feature“) des Startnetzwerkes. Vorzugsweise wird vorgeschlagen, dass das Erstellen des initialen Bilddatensatzes mit einem Mittelwert m in einem normierten Bereich von 0 bis 0.20 mit m e [0,1] erfolgt.
Zusätzlich oder alternativ wird vorgeschlagen, dass das Erstellen des initialen Bilddatensatzes mit einer normierten Standardabweichung s in einem normierten Bereich von 0.8 bis 1 mit s e [0,1] erfolgt.
Besonders bevorzugt ist eine Initialisierung des Bilddatensatzes mit einem Mittelwert von null und einer Standardabweichung von eins.
Mit einem so initialisierten Bilddatensatz kann schneller ein Datensatz besserer Qualität erzeugt werden. Vorzugsweise wird vorgeschlagen, dass wenigstens der Schritt Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens mittels einer Hochleistungsberechnungseinheit durchgeführt wird, die eine Rechenleistung von wenigstens 500 Giga-FLOP/s aufweist.
Die Hochleistungsberechnungseinheit ist in einer besonders bevorzugten Ausführungs- form als GPU oder Cloudserver ausgebildet. Es wird also vorgeschlagen, eine leistungsfähige Berechnungseinheit für die Hyperparameteroptimierung und das Generieren des Bilddatensatzes zu verwenden.
Erfindungsgemäß wird zudem ein Verfahren zum Erstellen eines synthetischen Bilddatensatzes vorgeschlagen. Das Verfahren zum Erstellen eines synthetischen Bilddatensatzes umfassend dabei als ersten Schritt ein Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens in Abhängigkeit eines zweiten Hyperparametersatzes, wobei in dem bildoptimierten Verfahren wenigstens ein Startnetzwerk und ein Zwischen netzwerk verwendet wird. Dabei ist das Startnetzwerk ein trainiertes neuronales Netzwerk, das mit einem Originaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist. Das Zwischennetzwerk ist ein neuronales Netzwerk, das durch eine Zwischennetzarchitektur und Zwischennetzgewichte gekennzeichnet ist. Dem Startnetzwerk wird wenigstens ein Ziellabel vorgegeben, das als Softlabel ausgebildet ist.
Das bildoptimierte Verfahren umfasst wenigstens die Schritte Propagieren des Bilddaten- satzes durch das Startnetzwerk und durch das Zwischennetzwerk und Anpassen des Bilddatensatzes mittels Rückwärtspropagation zur Minimierung einer Kostenfunktion. Das bildoptimierte Verfahren wird dabei analog ausgeführt, wie zuvor beschrieben.
Als zweiten Schritt umfasst das Verfahren zum Erstellen eines synthetischen Bilddatensatzes ein Speichern des erzeugten Bilddatensatzes, um den synthetischen Bilddatensatzes zu erzeugen. Es wird also vorgeschlagen, dass die angepassten Bilddatensätze gespeichert werden, um einen synthetischen Bilddatensatzes zu generieren, der somit aus einer Vielzahl der angepassten Bilddatensätze besteht. Die angepassten Bilddatensätze bzw. Batches werden also ausgegeben bzw. gespeichert und ein synthetischer Bilddatensatz aus einer Vielzahl der gespeicherten Bilddatensätze wird erstellt. Das Speichern bezieht sich demnach nicht auf ein temporäres Speichern während eines Berechnungsprozesses, sondern auf ein dauerhaftes Speichern.
Damit ist es möglich, beliebig viele neuronale Zielnetzwerke auf Basis des synthetischen Bilddatensatzes trainieren zu können. Es wird also vorgeschlagen, die erzeugten Bilder nicht zu verwerfen. Das Verfahren zum Erstellen eines synthetischen Bilddatensatzes kann somit als Verfahren zum Erzeugung von Trainingsdaten für ein neuronales Netz verstanden werden, da mit dem Verfahren synthetische Bilder erstellt werden, auf dessen Basis ein Zielnetzwerk trainiert werden kann.
Die Ausführungen zu dem zuvor beschriebenen Verfahren zur Bereitstellung von Hyper- Parametern zur Erzeugung von künstlichen Bildern finden für das Verfahren zum Erzeugung von Trainingsdaten für ein neuronales Netz analog Anwendung.
Im Unterschied zum ersten Verfahren wird in dem bildoptimierten Verfahren zusätzlich zum Startnetzwerk ein Zwischennetzwerk verwendet.
Es wurde vorliegend erkannt, dass eine Verwendung von Softlabeln als Ziellabel den vor- teilhaften Effekt bewirkt, dass ein qualitativ besserer synthetischer Bilddatensatz erstellt wird, mit dem eine höheren Genauigkeit bei der Wissensübertragung erreicht werden kann. Es wird also im Grunde der synthetisch erzeugte Bilddatensatz verbessert, wenn Softlabel verwendet werden.
Vorzugsweise wird vorgeschlagen, dass der zweite Hyperparametersatz die Hyperpara- meter des ersten Hyperparametersatzes aufweist und der erste Hyperparametersatz nach einem Verfahren gemäß einer der vorstehenden Ausführungsformen bestimmt wurde. Es wird also vorgeschlagen, dass der zweite Hyperparametersatz die Hyperparameter des ersten Hyperparametersatzes umfasst und zudem noch mit weiteren Hyperparametern ergänzt werden.
Weitere Hyperparameter sind zum Beispiel Hyperparameter, die das Trainieren des Zwi- schennetzwerkes betreffen, da das Zwischen netzwerk erst bei der Bilddatensatzgenerierung verwendet wird, wie zum Beispiel die Wahl des Zwischennetzwerkes (Architektur), die Verwendung von Softtargets und/oder One-Hot-Targets, eine Lernrate für das Training des Zwischennetzwerkes oder ein Merkmal-Skalierungsfaktor ac.
Vorzugsweise wird vorgeschlagen, dass das Verfahren zum Erstellen eines synthetischen Bilddatensatzes wenigstens einen der zusätzlichen Schritte umfasst:
Trainieren des Zwischen netzwerkes mit dem gespeicherten Bilddatensatz durch Anpassung der Zwischennetzgewichte mittels Rückwärtspropagation; und
Erneutes Durchführen des Schrittes Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens mit dem trainierten Startnetzwerk und dem trainierten Zwischennetz- werk.
Durch die Verwendung eines trainierten Zwischennetzwerkes kann die Diversität des synthetischen Bilddatensatzes erhöht werden. Es wird also vorgeschlagen, einen synthetischen Bilddatensatz mit dem Startnetzwerk und dem Zwischennetzwerk zu erzeugen, der möglichst die gleiche Komplexität aufweist, wie der originale Datensatz. Hierbei hilft das Zwischen netzwerk, in dem Bilder erzeugt werden, wo sich das Startnetzwerk und das Zwischennetzwerk uneinig sind.
Vorzugsweise wird zudem vorgeschlagen, dass wenigstens der Schritt Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens und zusätzlich oder alternativ der Schritt Trainieren des Zwischennetzwerkes mittels einer Hochleistungsberechnungseinheit durchgeführt wird, die eine Rechenleistung von wenigstens 500 Giga-FLOP/s aufweist.
Die Hochleistungsrecheneinheit ist besonders bevorzugt als GPU oder Cloudserver ausgebildet ist.
In einer besonders bevorzugten Ausführungsform wird zudem vorgeschlagen, dass die Kostenfunktion einen Term Lc aufweist, der ein Maß für die Unterschiedlichkeit der Aus- gaben des Startnetzwerk und des Zwischennetzwerkes für die erzeugten Bilder beschreibt. Dieser Term ist auch als „Compete-Ioss“ bekannt. Eine Minimierung des Terms Lc führt dazu, dass die generierten Bilder möglichst unterschiedlich durch das Startnetzwerk und das Zwischennetzwerk klassifiziert werden. Damit wird sichergestellt, dass vielfältige Bilder für jede Klasse generiert werden, um das Zwischennetzwerk herauszufordern und den originalen Datensatz möglichst gut abzubil- den.
In einerweiteren bevorzugten Ausführungsform wird vorgeschlagen, dass ein zusätzlicher Skalierungsfaktor ac Teil des zweiten Hyperparametersatzes ist, der zur Skalierung des Terms Lc vorgesehen ist.
Vorzugsweise wird auch vorgeschlagen, dass die Zwischennetzarchitektur des Zwischen- netzwerks ähnlich oder gleich groß ausgebildet ist wie die Startnetzarchitektur des Startnetzwerkes, wobei die Zwischennetzarchitektur und die Startnetzarchitektur gekennzeichnet sind durch eine Anzahl von Netzwerkschichten und durch eine Anzahl von verwendeten Netzwerkneuronen.
Es wurde vorliegend erkannt, dass ein besserer synthetischer Bilddatensatz erzeugt wer- den kann, wenn die Architektur des Zwischennetzes der Architektur des Startnetzwerkes ähnelt oder diese sogar gleich ausgebildet sind, beispielsweise um das bildoptimierte Verfahren mit zwei ähnlich oder gleich großen neuronalen Netzen durchzuführen. Ist das Startnetzwerk beispielsweise als ResNet50 ausgebildet, wird somit vorgeschlagen, als Zwischennetzwerk ebenfalls ein ResNet50 zu verwenden oder ein KNN das eine ähnliche Ar- chitektur aufweist, also eine ähnliche Anzahl an Knoten, Schichten sowie eine ähnliche Art der Schichten aufweist.
Zudem liegt hier die Erkenntnis zu Grunde, dass das Zwischennetzwerk nicht das Zielnetzwerk ist und das Zwischennetzwerk im Grunde nur zur Erzeugung des synthetischen Bilddatensatzes verwendet wird. Nach der Erzeugung des synthetischen Bilddatensatzes kann das Zwischen netzwerk verworfen werden. Es kann mit einer ähnlichen Architektur des Startnetzwerkes und des Zwischennetzwerkes aber ein verbesserter Trainingsdatensatz bzw. synthetischer Bilddatensatz bereitgestellt werden, der zu weniger Verlusten führt.
Zudem wird vorgeschlagen, dass das wenigstens eine Ziellabel mit einem einstellbaren Mittelwert und zusätzlich oder alternativ mit einer einstellbaren Standardabweichung veränderbar ausgebildet ist. Vorzugsweise wird auch vorgeschlagen, dass das Verfahren zum Erstellen eines synthetischen Bilddatensatzes solange ausgeführt wird, bis ein Abbruchkriterium erfüllt.
Besonders bevorzugt ist als Abbruchkriterium für das Verfahren zum Erstellen eines synthetischen Bilddatensatzes - eine vorgegebene Gesamtanzahl an erzeugten Bilder, z. B 30 000 Bilder, eine vorgegebene Gesamtanzahl an erzeugten Bildern für eine Klasse, und/oder wenn sich ein Term Lc, der ein Maß für die Unterschiedlichkeit der Ausgaben des Startnetzwerk und des Zwischennetzwerkes für die erzeugten Bilder beschreibt, nur noch wenig ändert und innerhalb von vorbestimmten Schwankungsgrenzen liegt. Zudem wird erfindungsgemäß ein Verfahren zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk vorgeschlagen.
Dabei ist das Startnetzwerk ein trainiertes neuronales Netzwerk, das mit einem Originaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist. Das Zielnetzwerk ist ein untrainiertes neuronales Netz und durch eine Zielnetzarchitektur und Zielnetzgewichte gekennzeichnet. Das Verfahren umfassend dabei die Schritte:
Laden des Startnetzwerkes in einen Datenspeicher.
In einer besonders bevorzugten Ausführungsform wird vorgeschlagen, dass der Datenspeicher ein Grafikspeicher ist. Zusätzlich oder alternativ wird vorgeschlagen, dass der Speicher ein Cloudspeicher ist. Es wird also vorgeschlagen, dass das Startnetzwerk in einen Datenspeicher zu laden. Dies kann beispielsweise mit einer Softwareanwendung umgesetzt werden.
Als weiterer Schritt wird vorgeschlagen, dass zudem ein erster Hyperparametersatz in den Datenspeicher geladen wird. In einer besonders bevorzugten Ausführungsform wird vorgeschlagen, dass der erste Hyperparametersatz mit dem zuvor beschriebenen Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern gemäß einer der vorstehenden Ausführungsformen erstellt worden ist. In einem weiteren Schritt wird vorgeschlagen, dass ein Erzeugen eines synthetischen Bilddatensatzes mittels eines bildoptimierten Verfahrens in Abhängigkeit eines zweiten Hyperparametersatzes durchgeführt wird. Es wird also vorgeschlagen, dass Bilddatensätze zur Minimierung einer Kostenfunktion angepasst werden und die angepassten Bilddatensätze gespeichert werden, insbesondere wie zuvor beschrieben. Der zweite Hyperparametersatz umfasst dabei Hyperparameter, die sich auf das Training des Zwischennetzwerkes beziehen, wie die Wahl des Zwischennetzwerkes, die Lernrate usw.
Zudem wird vorgeschlagen, dass in dem bildoptimierten Verfahren wenigstens ein Startnetzwerk und ein Zwischen netzwerk verwendet wird. Das Zwischen netzwerk ist gekenn- zeichnet durch eine Zwischennetzarchitektur und Zwischennetzgewichte. Das Zwischennetzwerk ist ein trainierbares untrainiertes neuronales Netz.
In einer besonders bevorzugten Ausführungsform wird vorgeschlagen, dass der synthetische Bilddatensatz mit dem zuvor beschriebenen Verfahren zum Erstellen eines synthetischen Bilddatensatzes gemäß einer der vorstehenden Ausführungsformen erstellt worden ist.
Zudem wird in einem weiteren Schritt vorgeschlagen, dass ein Trainieren des Zielnetzwerkes mit dem erzeugten Bilddatensatz durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation durchgeführt wird, wobei das Trainieren des Zielnetzwerkes in Abhängigkeit von einem dritten Hyperparametersatz erfolgt. Der dritte Hyperparametersatz um- fasst Hyperparameter, die sich auf das Training des Zielnetzwerkes beziehen, wie die Wahl des Zielnetzwerkes, die Lernrate usw.
Vorliegend wird also vorgeschlagen, dass Zielnetzwerk auf mit dem synthetischen Bilddatendatensatz zu trainieren. Dazu kann das Zielnetzwerk ebenfalls in einen Datenspeicher einer Berechnungseinheit geladen werden, auf Basis des synthetischen Bilddatendaten- satz trainiert werden, und anschließend das trainierte Zielnetzwerk ausgegeben werden.
Da der synthetische Bilddatensatz zur Verfügung steht bzw. erzeugt wurde, kann somit ein übliches Verfahren zum Trainieren des Zielnetzwerkes verwendet werden. Trainingsverfahren zum Trainieren eines neuronalen Netzes auf Basis eines Bilddatensatzes sind dabei grundsätzlich bekannt, wie zum Beispiel das sogenannte Knowledge Distillation-Verfahren (KD-Verfahren) oder ein sonstiges überwachtes Lernverfahren.
Das Verfahren zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk umfasst also zusammengefasst wenigstens die Schritte, dass das Startnetzwerkes und der Hyperparametersatz geladen werden, anschließend in Abhängigkeit des Hyperparametersatzes mittels des Startnetzwerkes und eines Zwischennetzwerkes ein synthetischer Bilddatensatzes mit einem bildoptimierten Verfahrens erzeugt wird und anschließend ein Zielnetzwerk mit dem erzeugten synthetischen Bilddatensatz trainiert wird.
Es wird also vorgeschlagen, dass das Wissen aus dem Startnetzwerk in Form der synthe- tischen Bilder extrahiert wird und mit diesen synthetischen Bildern anschließend das Zielnetzwerk trainiert wird.
In einer besonders bevorzugten Ausführungsform wird vorgeschlagen, das Knowledge Di- stillation-Verfahren als Trainingsverfahren einzusetzen, um das Zielnetzwerkes mit dem erzeugten synthetischen Bilddatensatz durch Anpassen der Zielnetzgewichte mittels Rück- wärtspropagation zu trainieren. Das KD-Verfahren eignet sich besonders gut, da das Zielnetzwerk nicht nur in Abhängigkeit des Bilddatensatzes antrainiert wird, sondern auch in Abhängigkeit eines Schätzwertes des Startnetzwerkes. So kann ein schnelleres Trainieren des Zielnetzwerkes umgesetzt werden. Das KD-Verfahren ist somit besonders vorteilhaft, da das Startnetzwerk zur Verfügung steht und der Trainingsprozess des Zielnetzwerkes somit schneller durchgeführt werden kann.
In einer anderen bevorzugten Ausführungsform wird vorgeschlagen, ein überwachtes Lernverfahren als Trainingsverfahren einzusetzen, um das Zielnetzwerkes mit dem erzeugten synthetischen Bilddatensatz durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation zu trainieren und vorzugsweise die Ziellabel, die für die Erzeugung der syntheti- sehen Bilder verwendet wurden, zum Training des Zielnetzwerkes zu verwenden. So kann das Trainieren des Zielnetzwerkes ohne die Verwendung des Startnetzwerkes erfolgen und eine schnelleres Trainieren des Zielnetzwerkes erfolgen, beispielsweise im Vergleich zum KD-Verfahren.
Zudem wird als optionaler Schritt vorgeschlagen, dass ein Prüfen des trainieren Zielnetz- werk auf ein Zielkriterium erfolgt und ein Anpassen des zweiten Hyperparametersatzes und zusätzlich oder alternativ ein Anpassen des dritten Hyperparametersatzes durchgeführt wird, wenn das Zielkriterium nicht erfüllt ist.
Wird das Zielkriterium erfüllt, wird das trainierte Zielnetzwerkes ausgegeben. Das Zielkriterium ist somit ebenfalls ein Abbruchkriterium, wie zuvor beschrieben. Als Zielkriterium wird vorzugsweise vorgeschlagen, einen Ähnlichkeitsschwellwert vorzugebene, der ein erneutes Trainieren des Zielnetzwerkes auslöst, wenn ein ausgegebener Schätzwert des Startnetzwerkes von einem ausgegebenen Schätzwert des Zielnetzwerkes zu weit abweicht, und beispielsweise dazu dem Startnetzwerk und dem Zielnetzwerk ein identischer Testbilddatensatz vorgegeben wird. Der Testdatensatz ist dabei ein gelabelter Datensatz auf dessen Basis das Zielnetzwerk eine bestimmte Testgenauigkeit erreichen soll.
Vorzugsweise wird vorgeschlagen, dass die Zielnetzarchitektur des Zielnetzwerks kleiner ausgebildet ist als die Startnetzarchitektur des Startnetzwerkes, beispielsweise um das Verhalten des größeren Startnetzwerkes auf ein kleineres Startnetzwerkzu übertragen und um ein trainiertes Zielnetzwerk mit einem verringerten Speicherbedarf als das Startnetzwerk bereitzustellen.
Vorzugsweise wird vorgeschlagen, dass wenigstens im Schritt Erzeugen eines syntheti- sehen Bilddatensatzes dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist.
Die zuvor beschrieben Verfahren bauen demnach aufeinander auf und stehen in Beziehung zueinander, da sie eine Lösung bereitstellen, mit der eine ressourcenschonende und verlustarme Übertragung von Wissen von einem ersten trainierten künstlichen neuronalen Netz auf ein zweites künstliches neuronales Netz erfolgen kann.
Erfindungsgemäß wird zudem ein Berechnungssystem vorgeschlagen, wobei das Berechnungssystem dazu eingerichtet ist, ein Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern nach einer der vorstehenden Ausführungsformen durchzuführen, um einen ersten Hyperparametersatz bereitzustellen. Als Berechnungssystem wird vorzugsweise ein Cloudsystem oder Computersystem vorgeschlagen, das über eine hohe Rechenleistung verfügt, wie zuvor beschrieben.
Zusätzlich oder alternativ ist die Berechnungseinheit dazu eingerichtet, ein Verfahren zum Erstellen eines synthetischen Bilddatensatzes nach einer der vorstehenden Ausführungsformen durchzuführen, um einen synthetischen Bilddatensatz zum Trainieren eines Ziel- netzwerkes bereitzustellen.
Zusätzlich oder alternativ ist die Berechnungseinheit dazu eingerichtet, ein Verfahren zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk nach einerdervorstehenden Ausführungsformen durchzuführen, um das Netzwerkverhalten bzw. Wissen eines Startnetzwerkes auf ein Zielnetzwerk zu übertragen. Erfindungsgemäß wird auch ein Übertragungssystem zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk vorgeschlagen, wobei das Startnetzwerk ein trainiertes neuronales Netzwerk ist, das mit einem Originaldatensatz trainiert wurde und durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist, und das Zielnetzwerk ein untrainiertes neuronales Netz ist und durch eine Zielnetzarchitektur und Zielnetzgewichte gekennzeichnet ist.
Das Übertragungssystem umfasst dabei wenigstens eine Berechnungseinheit, die zur Be- reitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern eingerichtet ist, wobei die Berechnungseinheit in einem ersten Berechnungsprozess einen ersten Hyperparametersatz ausschließlich in Abhängigkeit des Startnetzwerkes erzeugt.
In einer besonders bevorzugten Ausführungsform wird in dem ersten Berechnungsprozess dem Startnetzwerk wenigstens ein Ziellabel vorgegeben, das als Softlabel ausgebildet ist. Zusätzlich oder alternativ umfasst das Übertragungssystem eine Berechnungseinheit, die zum Erstellen eines synthetischen Bilddatensatzes eingerichtet ist, wobei die Berechnungseinheit in einem zweiten Berechnungsprozess den synthetischen Bilddatensatz in Abhängigkeit des Startnetzwerkes und eines Zwischennetzwerkes erzeugt, und dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist. Zudem wird eine Berechnungseinheit vorgeschlagen, die zum Trainieren des Zielnetzwerkes mit dem synthetischen Bilddatensatz durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation eingerichtet ist, um in einem dritten Berechnungsprozess das Zielnetzwerk mit dem synthetischen Bilddatensatz zu trainieren, um das Netzwerkverhalten des Startnetzwerkes auf das Zielnetzwerk zu übertragen, beispielsweise ohne Verwen- düng oder unmittelbaren Zugriff auf den Originaldatensatz.
Die zuvor beschriebene Berechnungseinheit kann eine einzige Berechnungseinheit sein, die die Berechnungsprozesse seriell ausführt oder auch mit mehreren getrennten Berechnungseinheiten ausgebildet sein.
Die vorliegende Erfindung wird nun nachfolgend exemplarisch anhand von Ausführungs- beispielen unter Bezugnahme auf die begleitenden Figuren näher erläutert, wobei für gleiche oder ähnliche Baugruppen dieselben Bezugszeichen verwendet werden:
Fig. 1 zeigt schematisch ein Ablaufdiagramm des Verfahrens zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern in einer Ausführungsform. Fig. 2 zeigt schematisch ein Blockdiagramm eines bildoptimierenden Verfahrens in einer Ausführungsform. Fig. 3 zeigt schematisch ein Ablaufdiagramm des Verfahrens zum Erstellen eines synthetischen Bilddatensatzes in einer Ausführungsform.
Fig. 4 zeigt schematisch ein Blockdiagramm des Verfahrens zum Erstellen eines synthetischen Bilddatensatzes in einer Ausführungsform. Fig. 5 zeigt schematisch ein Ablaufdiagramm eines Verfahrens zum Trainieren eines Zielnetzwerkes mit einem erzeugten synthetischen Bilddatensatz in einer Ausführungsform.
Fig. 6 zeigt schematisch ein Blockdiagramm eines Verfahrens zum Trainieren eines Zielnetzwerkes mit einem erzeugten synthetischen Bilddatensatz in einer Ausführungsform.
Fig. 7 zeigt schematisch ein Übertragungssystem zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk bzw. einen Gesamtprozess eines Verfahrens zum Übertragen eines Verhaltens eines trainierten Startnetzwerkes auf ein Zielnetzwerk. Fig. 8 zeigt schematisch einen Prozess zur Bestimmung von Hyperparametern mit temporärer Bildgenerierung, wie er aus dem Stand der Technik bekannt ist.
Fig. 9A, B zeigen eine Vorgabe eines Ziellabels.
Die Figur 1 zeigt schematisch ein Ablaufdiagramm des Verfahrens zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern in einer Ausführungsform. Das Verfahren wird dabei in einem ersten Berechnungsprozess P1 durchgeführt. Der Berechnungsprozess kann auch als Berechnungsphase verstanden werden. Der erste Berechnungsprozess wird dabei mit einer leistungsstarken Berechnungseinheit durchgeführt, nämlich mit einer GPU, und kann als Hochleistungsberechnungseinheit verstanden werden, wie zuvor beschrieben. Ausgangspunkt für das gezeigte Verfahren in der Figur 1 ist, dass ein trainiertes Startnetzwerk T zur Verfügung steht, dass auch als Lehrernetzwerk (engl. „Teacher“) bezeichnet werden kann. In einem ersten Schritt A1 wird ein Bilddatensatz mittels eines bildoptimierten Verfahrens erzeugt. Der Bilddatensatz wird dabei in Abhängigkeit eines Hyperparametersatzes erzeugt. Der Bilddatensatz kann auch als Batch bezeichnet werden. In dem bildoptimierten Verfahren wird das Startnetzwerk T verwendet, das ein trainiertes neuronales Netzwerk ist, das mit einem Originaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist.
Dem Startnetzwerk wird wenigstens ein Ziellabel vorgegeben, nämlich ein Softlabel.
Der Schritt A1 umfasst noch weitere Schritte, die vorliegend zur Veranschaulichung nicht dargestellt sind, nämlich ein Propagieren des Bilddatensatzes durch das Startnetzwerk und ein Anpassen des Bilddatensatzes mittels Rückwärtspropagation zur Minimierung einer Kostenfunktion. Diese Schritte sind beispielsweise in der Figur 2 veranschaulicht.
In einem zweiten Schritt A2 erfolgt ein Prüfen des erzeugten Bilddatensatzes X auf ein vorbestimmtes Abbruchkriterium. Das Abbruchkriterium kann wie zuvor beschrieben ein automatisiertes oder ein manuelles Abbuchkriterium sein. Vorliegend wird angenommen, dass das Abbruchkriterium ein automatisches Abbruchkriterium in Form eines Schwellenwertes ist, und das Abbruchkriterium erfüllt ist, wenn ein Wert einer zu minimierenden Kostenfunktion kleiner ist als ein zuvor definierter Schwellwert für die Kostenfunktion.
Ist das Abbruchkriterium nicht erfüllt ist, wird der Schritt A3 ausgeführt.
In dem dritten Schritt A3 erfolgt ein Anpassen des Hyperparametersatzes und ein erneutes Durchführen des bildoptimierten Verfahrens in Schritt A2 mit geänderten Hyperparametern, wenn die Prüfung in Schritt A2 ergibt, dass das Abbruchkriterium nicht erfüllt ist.
Es wird also ein iterativer Berechnungsprozess in dem ersten Berechnungsprozess P1 zur Bestimmung geeigneter Hyperparameter durchgeführt, der solange wiederholt wird, bis das Abbruchkriterium erfüllt ist. Ist das Abbruchkriterium erfüllt, wird der aktuell eingestellt Hyperparametersatz als erster Hyperparameterdatensatz als Datensatz bereitgestellt.
Der erste Berechnungsprozess P1 erfolgt somit ausschließlich in Abhängigkeit des trainierten Startnetzwerkes T. Der erste Berechnungsprozess P1 kann auch als Hyperparametertuning für eine anschließende Bildgenerierung verstanden werden.
Weitere Schritte, die in der Figur 1 nicht dargestellt sind, sind die Erstellung eines initialen Hyperparametersatzes Po und eines initialen Bilddatensatzes Xo. Diese Schritte werden einmalig durchgeführt, damit eine Grundlage in Form des initialen Hyperparametersatzes Po und des initialen Bilddatensatzes Xo für das iterative Optimierungsverfahren zur Verfügung steht.
Die Figur 2 zeigt schematisch ein Blockdiagramm, dass das Grundprinzip eines bildoptimierenden Verfahrens in einer Ausführungsform veranschaulicht und ausschließlich ab- hängig ist von einem Startnetzwerk T. Das in der Figur 2 gezeigte Blockdiagramm ist somit dem Schritt A1 der Figur 1 zuzuordnen und kann mehrfach durchlaufen werden.
Das Grundprinzip des Blockdiagramms der Figur 2 ist, dass ein Bilddatensatz X optimiert wird, indem Pixelwerte des Bilddatensatzes X angepasst werden. Dieser Vorgang ist in der Figur 2 in dem Bilddatensatz X veranschaulicht. Auf der linken Seite des obersten Bildes des Bilddatensatzes X ist zu erkennen, dass das gezeigte Bild noch teilweise verpixelt ausgebildet ist, also die Pixel noch zufällige Werte besitzen. Die dargestellte Optimierung durch Anpassung der Pixelwerte ist somit noch nicht abgeschlossen. Ist der Optimierungsvorgang abgeschlossen, liegt ein unverpixeltes und natürlich aussehendes Bild vor, das synthetisch erzeugt wurde und das auf Basis des Wissens erzeugt wurde, das in den Schichten des Startnetzwerk T enthalten ist. Das Startnetzwerk selber wurde nicht angepasst.
Um den Bilddatensatz X zu optimieren, propagiert der Bilddatensatz X durch das Startnetzwerk T. Die Gewichte des Startnetzwerkes sind dabei fest. Das Startnetzwerk T gibt entsprechend einen Schätzwert bzw. eine Vorhersage yT T aus. Dieser Vorhersagewert yT T wird anschließend mit einem vorgegebenen Ziellabel y abgeglichen. Das Ziellabel y wird beispielsweise als Softlabel vorgeben.
Anschließend erfolgt ein Anpassen des Bilddatensatzes X mittels Rückwärtspropagation zur Minimierung einer Kostenfunktion. Die Kostenfunktion ist in der Figur 2 als Lx dargestellt und ist ausgebildet als
Lx — Lt + cti2Lj2 + ccvLv + dfLf. Die Kostenfunktion besteht somit aus einer Vielzahl von Termen und wird mit einem Gradientenverfahren optimiert, um den Bilddatensatz X solange anzupassen, bis ein vorbestimmtes Abbruchkriterium erfüllt ist, wie beispielsweise bereits zur Figur 1 beschrieben. Die Terme Lt, Ll2, Lv und Lf wurden zuvor beschrieben. Zudem umfasst die Kostenfunk- tion Gewichtungsfaktoren al2, av und af, die ebenfalls zuvor beschrieben wurden.
Die Rückwärtspropagation, die auch als Backpropagation bekannt ist, ist in der Figur 2 schematisch durch die gestrichelten Pfeile dargestellt.
Aus Gründen der Übersichtlichkeit wurde auf das Einzeichnen von weiteren Komponenten verzichtet, beispielsweise wurden keine Aktivierungsfunktion in der Figur 2 darge- stellt, wie zum Beispiel eine Softmax-Funktion, die als Softmax-Layer implementiert sein können.
Zudem ist in der Figur 2 ein Block PP dargestellt. Dieser Block PP veranschaulicht eine Vorverarbeitung (engl. „Pre-Processing“) des Bilddatensatzes X, um die Bilder in ein Format zu überführen, die das Ausgangsnetzwerk T verarbeiten kann. Zudem kann die vor Verarbeitung umfassen, dass für die verwendeten Datensätze die Bilder zufällig um einen vorgegebenen Maximalwert, z.B. 10%, der Pixel horizontal und vertikal gerollt werden.
Die Figur 3 zeigt schematisch ein Ablaufdiagramm des Verfahrens zum Erstellen eines synthetischen Bilddatensatzes in einer Ausführungsform.
Das Verfahren wird dabei in einer zweiten Berechnungsphase P2 durchgeführt. Diese Phase kann auch als ein zweiter Berechnungsprozess verstanden werden. Der Berechnungsprozess wird dabei mit einer leistungsstarken Berechnungseinheit durchgeführt, nämlich mit einer GPU.
In einem ersten Schritt B1 wird ein Bilddatensatz mittels eines bildoptimierten Verfahrens bestimmt, wobei in dem bildoptimierten Verfahren wenigstens ein Startnetzwerk und ein Zwischen netzwerk verwendet wird. Das Startnetzwerk ist dabei ein trainiertes neuronales Netzwerk, das mit einem Originaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist. Das Zwischennetzwerk ist ein neuronales Netzwerk, das durch eine Zwischennetzarchitektur und Zwischennetzgewichte gekennzeichnet ist. Dem Startnetzwerk wird dabei wenigstens ein Ziellabel vorgegeben, das als Softlabel ausgebildet ist. Da ein zusätzliches Zwischenzweck verwendet wird, erfolgt das Erstellen des Bilddatensatzes in der Berechnungsphase P2 mit zusätzlichen Hyperparametern, also in Abhängigkeit eines zweiten Hyperparametersatzes P2. Der zweite Hyperparametersatz P2 umfasst dabei die Hyperparameter des ersten Hyperparametersatzes Pi. Das Erstellen des Bilddatensatzes erfolgt somit auf eine ähnliche Weise, wie beispielsweise zur Figur 1 und 2 beschrieben, mit dem Unterschied, dass ein zusätzliches Zwischennetzwerk für die Erzeugung des Bilddatensatzes verwendet wird. Dies ist beispielsweise in der Figur 4 veranschaulicht.
In einem zweiten Schritt B2 erfolgt ein Speichern des erzeugten Bilddatensatzes, um den synthetischen Bilddatensatzes D zu erzeugen. Die angepassten Bilddatensätze werden also nicht verworfen, sondern gespeichert, um einen großen Bilddatensatz auszubilden.
In einem dritten Schritt B3 erfolgt anschließend ein Trainieren des Zwischennetzwerkes mit dem gespeicherten Bilddatensatz durch Anpassung der Zwischennetzgewichte des Zwischen netzwerkes mittels Rückwärtspropagation. Das erneute Durchführen des bildoptimierten Verfahrens in Schritt B1 und der Schritte B2 und B3 erfolgt dabei solange ein Abbruchkriterium nicht erfüllt ist, wie zuvor beschrieben.
Es wird also ein iterativer Berechnungsprozess in dem zweiten Berechnungsprozess P2 vorgeschlagen, der solange wiederholt wird, bis ein Abbruchkriterium erfüllt ist, wie beispielsweise zur Figur 1 bereits beschrieben. Als Abbruchkriterium für den Berechnungs- prozess P2 kann beispielsweise eine vorgegebene Anzahl an Bildern sein, die erzeugt werden soll, beispielsweise 30 000 Bilder.
Die Figur 4 zeigt schematisch ein Blockdiagramm, das das Grundprinzip eines bildoptimierenden Verfahrens in einer Ausführungsform veranschaulicht und abhängig ist von einem Startnetzwerk T und einem Zwischen netzwerk S1. Das in der Figur 4 gezeigte Blockdia- gramm ist beispielsweise den Schritten B1 bis B2 aus der Figur 3 zuzuordnen und kann mehrfach durchlaufen werden.
Wie dem Blockdiagramm der Figur 4 zu entnehmen ist, sind die Schritte B1 und B2 veranschaulicht.
Das Grundprinzip des Blockdiagramms der Figur 4 ist analog zur Figur 2. In dem ersten Schritt B1 wird der Bilddatensatzes X optimiert, indem Pixelwerte des Bilddatensatzes X angepasst werden. Um den Bilddatensatz X zu optimieren, propagiert der Bilddatensatzes X durch das Startnetzwerk T und durch das Zwischennetzwerk Si. Die Gewichte des Startnetzwerkes T sind dabei fest. Die Gewichte des Zwischennerzwerkes Si sind veränderlich ausgebildet. Das Startnetzwerk T gibt entsprechend einen Schätzwert bzw. eine Vorhersage y-rT aus. Zudem gibt das Zwischennetzwerk einen Schätzwert bzw. eine Vorhersage ysT aus.
Anschließend erfolgt ein Anpassen des Bilddatensatzes X mittels Rückwärtspropagation zur Minimierung einer Kostenfunktion Lx. Die Kostenfunktion ist in der Figur 4 als Lx dar- gestellt und ist ausgebildet als
Die Kostenfunktion besteht aus einer Vielzahl von Termen und wird mit einem Gradientenverfahren optimiert, um den Bilddatensatz X solange anzupassen, bis ein vorbestimmtes Abbruchkriterium erfüllt ist, wie beispielsweise zur Figur 1 bereits beschrieben. Die Terme Lt, Ll2, Lv, Lf und Lc wurden zuvor beschrieben. Zudem umfasst die Kostenfunktion Gewichtungsfaktoren al2, av, af und ac, die ebenfalls zuvor beschrieben wurden.
Die Rückwärtspropagation im Schritt B1 , die auch als Backpropagation bekannt ist, ist in der Figur 4 schematisch durch die gestrichelten Pfeile dargestellt.
Ist der Optimierungsvorgang abgeschlossen, liegt ein natürlich aussehendes und synthe- tisch erzeugtes Bild vor. Anschließend wird der angepasste Bilddatensatz in einem zweiten Schritt B2 in einem Datenspeicher als synthetischer Bilddatensatz D abgespeichert.
In einem nicht gezeigten dritten Schritt B3 erfolgt ein Trainieren des Zwischennetzwerkes Si mit dem gespeicherten Bilddatensatz D durch Anpassung der Zwischennetzgewichte mittels Rückwärtspropagation. Das Trainieren des Zwischennetzwerkes ist in der Figur 4 nicht dargestellt und wird beispielsweise mit einem KD-Verfahren durchgeführt, dass beispielsweise in der Figur 6 gezeigt ist.
Wurde das Zwischen netzwerk Si mit einem Trainingsverfahren auf Basis des gespeicherten Bilddatensatzes trainiert, erfolgt ein erneutes Durchführen des Schrittes B1 mit dem trainierten bzw. angepassten Zwischennetzwerk. Aus Gründen der Übersichtlichkeit wurde erneut auf das Einzeichnen von weiteren Komponenten verzichtet, beispielsweise wurden keine Aktivierungsfunktion in der Figur 4 dargestellt, wie zum Beispiel eine Softmax-Funktion, die als Softmax-Layer implementiert sein kann. Zudem ist in der Figur 4 ein Block PP dargestellt, wie zuvor beschrieben.
Die Figur 5 zeigt schematisch ein Ablaufdiagramm eines Verfahrens zum Trainieren eines Zielnetzwerkes S2 mit einem erzeugten synthetischen Bilddatensatz D in einer Ausführungsform.
Das Verfahren wird dabei in einer dritten Berechnungsphase P3 durchgeführt. Diese Phase kann auch als ein dritter Berechnungsprozess verstanden werden. Der Berechnungsprozess wird dabei mit einer leistungsstarken Berechnungseinheit durchgeführt, nämlich mit einer GPU.
Ausgangspunkt für das gezeigte Verfahren in der Figur 5 ist, dass wenigstens ein Zielnetzwerk S2 und der erzeugte synthetische Bilddatensatz D zur Verfügung steht. Das Zielnetz- werk ist ein untrainiertes neuronales Netz und durch eine Zielnetzarchitektur und Zielnetzgewichte gekennzeichnet.
In einem ersten Schritt C1 erfolgt ein Trainieren des Zielnetzwerkes S2 mit dem erzeugten synthetischen Bilddatensatz D durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation, wobei das Trainieren des Zielnetzwerkes in Abhängigkeit von einem dritten Hyperparametersatz P3 erfolgt. Es sind verschiedene Trainingsverfahren zum Trainieren des Zielnetzwerkes bekannt, beispielsweise das Knowledge-Distilation-Verfahren, wie in der Figur 6 gezeigt.
Der dritte Hyperparametersatz P3 ist dabei dazu vorgesehen, dass Trainingsverfahren des Zielnetzwerkes auf Basis des erzeugten synthetischen Bilddatensatzes D zu regulieren, und kann unabhängig von dem ersten und zweiten Hyperparametersatz ausgebildet sein.
In einem zweiten Schritt C2 wird der dritte Hyperparametersatz P3 angepasst, wenn eine weitere Prüfung ergibt, dass ein Abbruchkriterium nicht erfüllt ist, wie zuvor beschrieben.
Ist das Abbruchkriterium erfüllt, wird das trainierte Zielnetzwerk ausgegeben und wird somit für die Implementierung auf einer Hardware bereitgestellt. Wird ein kleineres Netzwerk ausgewählt, kann so ein kleineres trainiertes KNN bereitgestellt werden, dass das gleiche Verhalten wie das Startnetzwerk aufweist, mit dem Unterschied, dass es weniger Speicherbedarf hat. So wird eine Implementierung auf einer echtzeitfähigen Hardware möglich. In der Figur 6 ist schematisch ein Blockdiagramm eines Verfahrens zum Trainieren eines Zielnetzwerkes mit einem erzeugten synthetischen Bilddatensatz in einer Ausführungsform dargestellt.
Eine Möglichkeit das Wissen von einem KNN auf ein anderes zu übertragen ist das Knowledge Distillation (KD)-Verfahren, das in der Figur 6 dargestellt ist. Dabei lernt ein Zielnetzwerk S2 von dem bereits trainierten Starnetzwerk T mithilfe des synthetischen Datensatzes. Für das KD-Verfahren wird üblicherweise der originale Datensatz verwendet, da dieser aber vorliegend nicht zur Verfügung steht, wird der synthetisch erzeugte Bilddatensatz D verwendet. Der Datensatz D besteht aus den Bilddaten X.
Allgemein werden die Gewichte des Zielnetzwerkes S2 über die Minimierung einer Kosten- funktion LKD mit einem Gradientenverfahren optimiert. Diese Kostenfunktion LKD setzt sich aus zwei Termen zusammen, nämlich aus der Kreuzentropie H und der Kullback-Leibler- Divergenz. Die Kreuzentropie H wird zwischen den Labein y und den Vorhersagen des Zielnetzwerkes ys berechnet. Die Verwendung der Kreuzentropie hat sich beim klassischen Training von KNNs bewährt. Die Kreuzentropie kann berechnet werden, wenn die Ziellabel zu den jeweiligen erzeugten Bildern abgespeichert wurden. Der Distillation-Loss LD sorgt dafür, dass das Zielnetzwerk S2 vom Startnetzwerk T lernt. Üblicherweise berechnet sich der Distillation-Loss LD aus den Vorhersagen des Startnetzwerkes yTT und den Vorhersagen des Zielnetzwerkes ysT.
Die am weitesten verbreitete Variante, um die Vorhersagen des Zielnetzwerkes ysT auf die des Startnetzwerkes yT T anzupassen, ist die Minimierung der Kullback-Leibler (KL)- Divergenz zwischen ysT und yrT. Die KL-Divergenz ist ein Maß für die Unterschiedlichkeit zwischen zwei Wahrscheinlichkeitsverteilungen. Der skalare Hyperparameter l legt fest, zu welchen Anteilen das Zielnetzwerk S2 aus den Labein y und den Vorhersagen des Startnetzwerkes S2 lernen soll. Im Gegensatz zu den zuvor beschriebenen Blockdiagrammen sind in der Figur 6 Softmax- Funktionen dargestellt. Für die Berechnung der Vorhersagen ys, ysT und yT T können verschiedene Temperaturwerte t gesetzt werden. Die Temperatur t ist dabei ein aus dem Bereich des maschinellen Lernens bekannter Wert, mit dem Wahrscheinlichkeitsverteilung verändert werden, beispielsweise in den Softmax-Schichten. Es versteht sich also, dass sich die Temperatur nicht auf die klassische Temperatur bezieht.
Das gezeigte KD-Verfahren ist dabei ein geeignetes Verfahren, um das Zielnetzwerk mit dem synthetischen Bilddatensatz D anzutrainieren.
Die Figur 7 zeigt schematisch ein Übertragungssystem 10 zum Übertragen eines Netz- Werkverhaltens eines Startnetzwerkes T auf ein Zielnetzwerk S2, wobei das Startnetzwerk T ein trainiertes neuronales Netzwerk ist, das mit einem Originaldatensatz trainiert wurde und durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist, und das Zielnetzwerk S2 ein untrainiertes neuronales Netz ist und durch eine Zielnetzarchitektur und Zielnetzgewichte gekennzeichnet ist. Das Übertragungssystem umfasst eine Berechnungseinheit 100, die zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bilder eingerichtet ist, wobei die Berechnungseinheit in einem ersten Berechnungsprozess P1 einen ersten Hyperparametersatz P1 ausschließlich in Abhängigkeit des Startnetzwerkes erzeugt. In die Berechnungseinheit 100 ist somit nur das Startnetzwerk T geladen. Zudem wird in dem ersten Berechnungs- prozess dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist. Dies ist in der Figur 7 nicht dargestellt.
Mit der Berechnungseinheit 100 wird also ein Hyperparametertuning für eine Bildgenerierung durchgeführt, beispielsweise wie der Prozess P1 und wie zuvor zu den Figuren 1 und 2 beschrieben. Mit bzw. auf der Berechnungseinheit 100 werden somit mehrere Schritte ausgeführt. In einem ersten Schritt wird ein Bilddatensatz X generiert, der als Batch bezeichnet ist und beispielsweise dem Schritt A1 aus der Figur 1 entspricht. Die angepassten Bilder X werden anschließend in einem weiteren Schritt beurteilt, nämlich auf das Vorliegen eines Abbruchkriteriums. Dieser Schritt entspricht beispielsweise dem Schritt A2 aus der Figur 1 . In einem dritten Schritt werden die Hyperparameter angepasst, wenn ein Abbruchkriterium nicht erfüllt ist. Dieser Schritt entspricht beispielsweise dem Schritt A3 aus der Figur 1 . Ist das Abbruchkriterium erfüllt, wird der aktuell eingestellte Hyperparametersatz P1 durch die Berechnungseinheit 100 zur weiteren Verarbeiten bereitstellt. Das Übertragungssystem umfasst zudem eine Berechnungseinheit 200, die zum Erstellen eines synthetischen Bilddatensatzes D eingerichtet ist, wobei die Berechnungseinheit in einem zweiten Berechnungsprozess P2 den synthetischen Bilddatensatz in Abhängigkeit des Startnetzwerkes und eines Zwischen netzwerkes erzeugt, und wenigstens dem Start- netzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist.
Dazu werden mit bzw. auf der Berechnungseinheit 200 mehrere Schritte ausgeführt. In einem ersten Schritt wird ein Bilddatensatz X generiert, der als Batch bezeichnet ist und beispielsweise dem Schritt B1 aus der Figur 3 entspricht. Die angepassten Bilder X werden anschließend gespeichert. Dieser Schritt entspricht beispielsweise dem Schritt B2 aus der Figur 3. In einem dritten Schritt wird das Zwischennetzwerk Si trainiert, das als Student bezeichnet wird, nämlich auf Basis der angepassten Bilder X bzw. der gespeicherten Bilder. Dieser Schritt entspricht beispielsweise dem Schritt B3, der zuvor zur Figur 3 beschrieben wurde. Das Verfahren wird dabei solange wiederholt, bis ein Abbruchkriterium erfüllt wird, wie beispielsweise zuvor zu den Figur 3 und 4 beschrieben. Ist das Abbruchkriterium erfüllt, wird der gespeicherte synthetische Bilddatensatz D durch die Berechnungseinheit 200 zur weiteren Verarbeitung bereitstellt.
Das Übertragungssystem umfasst zudem eine Berechnungseinheit 300, die zum Trainieren des Zielnetzwerkes S2 mit dem synthetischen Bilddatensatz D durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation eingerichtet ist, um in einem dritten Be- rechnungsprozess P3 das Zielnetzwerk mit dem synthetischen Bilddatensatz D zu trainieren, um das Netzwerkverhalten des Startnetzwerkes T auf das Zielnetzwerk S2 zu übertragen, nämlich ohne Verwendung oder ohne unmittelbaren Zugriff auf einen Originaldatensatz. Das Zielnetzwerk wird als Student S2 in der Figur 7 bezeichnet. In dem dritten Berechnungsprozess P3 wird der Student S2 mittels eines Trainingsverfahren trainiert, näm- lieh beispielsweise mit dem Knowledge-Distillation-Verfahren (KD-Verfahren), wie zuvor zu den Figuren 5 und 6 beschrieben.
Dazu werden mit bzw. auf der Berechnungseinheit 300 mehrere Schritte ausgeführt. In einem ersten Schritt wird das Zielnetzwerk S2 auf Basis des synthetischen Bilddatensatzes D trainiert. Dieser Schritt entspricht beispielsweise dem Schritt C1 aus der Figur 5. In einem zweiten Schritt wird ein dritter Hyperparametersatz P3 angepasst, wenn ein Abbruchkriterium nicht erfüllt ist, wie beispielsweise zuvor zu der Figur 5 und 6 beschrieben. Das Verfahren wird dabei solange wiederholt, bis das Abbruchkriterium erfüllt wird. Ist das Abbruchkriterium erfüllt, wird der trainierte Student S2 bzw. das Zielnetzwerk S2 durch die Berechnungseinheit 300 zur weiteren Verarbeiten bereitstellt. In einerweiteren optionalen Ausführungsform wird vorgeschlagen, dass das Übertragungssystem 10 zudem eine Berechnungseinheit 400 umfasst, die zur Prüfung des trainierten Zielnetzwerkes S2 auf ein Zielkriterium eingerichtet ist, um in einem vierten Berechnungsprozess P4 das trainierte Zielnetzwerk zu verifizieren. Die Berechnungseinheit 400 ist zudem dazu eingerichtet, ein Anpassen des zweiten Hyperparametersatzes P2 und zusätzlich oder alternativ ein Anpassen des dritten Hyperparametersatzes P3 auszulösen oder umzusetzen, wenn das Zielkriterium nicht erfüllt ist.
Zudem ist die Berechnungseinheit 400 dazu eingerichtet, das trainierte Zielnetzwerkes S2 auszugeben, wenn das Zielkriterium erfüllt ist. Die Evaluation des Zielnetzwerkes kann mit einem Testdatensatz T verifiziert werden, um die Performance bzw. die Genauigkeit des Zielnetzwerkes zu überprüfen.
Gleichzeitig dient die Figur 7 auch als Veranschaulichung eines Verfahrens zum Übertragen eines Verhaltens eines trainierten Startnetzwerkes auf ein Zielnetzwerk ohne Verwendung eines Originaldatensatzes in einer Ausführungsform, die vier Übertragungseinheiten 100 bis 400 können auch als vier Berechnungsprozesse bzw. Berechnungsschritte S1 bis
S4 aufgefasst werden.
Die Figur 8 veranschaulicht wie im Stand der Technik eine Bestimmung von Hyperparametern für eine Bildgenerierung sowie eine Bildgenerierung und ein Training des Zielnetzwerkes erfolgt, der als Student S in der Figur 8 gezeigt ist. Problematisch an dem gezeigten Verfahren in der Figur 8 ist, dass die Bestimmung der Hyperparameter mit dem Studenten S erfolgt. Damit werden zusätzliche Ressourcen für die Berechnung der Hyperparameter benötigt. Der Bestimmungsprozess ist damit sehr langsam.
Zudem erfolgt keine Erstellung eines synthetischen Datensatzes D durch Abspeichern der Batches zu einem synthetischen Bilddatensatz ID). Die Bilder werden nur temporär gespeichert.
Ein weiterer Nachteil ist, dass im Stand der Technik keine Softlabel verwendet werden, die die Performance bei der Übertragung des Wissens von einem Startnetzwerk auf ein Ausgangsnetz erhöhen. Die Figuren 9A und B veranschaulichen eine Vorgabe eines Ziellabels mit einem Softlabel. Zudem veranschaulicht die Figur 9A den grundlegenden Aufbau eines KNN mit dem Bilddaten bzw. Bilder klassifiziert werden können. Der grundlegende Aufbau eines KNN mit dem Bilder bzw. Bilddaten klassifiziert werden können, wird als bekannt voraussetzt.
Ein solches KNN weist wenigstens eine Eingangsschicht (engl. „Input Layer“) mit einer Vielzahl von Eingangsknoten auf, wobei die Anzahl der Eingangsknoten einer Anzahl an Bildpixel entspricht. Jedes Pixel entspricht demnach einem Eingangsknoten. Zudem weist ein solches KNN eine Vielzahl von verstecken Schichten (engl „hidden layers“) und eine Ausgangsschicht (engl. „Output layer“) mit einer Vielzahl von Ausgangsknoten auf, wobei jeder Ausgangsknoten einer Klasse entspricht, die durch das KNN klassifiziert wird. Die Schichten sind dabei so miteinander verbunden, dass die Pixelwerte an der Eingangsschicht über die versteckten Schichten zu der Ausgangsschicht propagieren und an der Ausgangssicht pro Ausgangsknoten ein Schätzwert ausgeben wird.
Es versteht sich, dass das zuvor beschriebene Startnetzwerk, das Zwischennetzwerk und das Zielnetzwerk einen solchen Aufbau aufweisen. Das in der Figur 9A gezeigte KNN ist ein trainiertes Startnetzwerk.
Wie zu erkennen ist, wird ein tiefes KNN verwendet, dass eine Eingangsschicht („Input Layer“) mit einer Vielzahl von Eingangsknoten aufweist, wobei die Anzahl an Eingangsknoten der Anzahl an Bildpixeln bzw. den Pixeln entspricht. Dies ist mit den gestrichelten Pfeilen in der Fig. 9A dargestellt. Zudem weist das KNN eine Vielzahl von verstecken Schichten („Multiple hidden layers“) und eine Ausgangsschicht („Output layer“) mit einer Vielzahl von Ausgangsknoten auf. Propagiert ein Zufallsbild X durch das gezeigte trainiere Startnetzwerk, könnten sich an der Ausgangsschicht die Schätzwerte 0.5 für eine erste Klasse einstellen, der Schätzwert 0.3 für eine zweite Klasse und der Schätzwert 0.2 für eine dritte Klasse. Das trainierte KNN gibt also jeweils einen Schätzwert für jede Klasse bzw. an jedem Ausgangsknoten aus.
Als Ziellabel ist ein Softlabel vorgesehen, das den beispielshaften Zielwert 0.9 für die erste Klasse, den Zielwert 0.05 für die zweite Klasse und den Zielwert 0.05 für die dritte Klasse aufweist.
Da die Schätzwerte für die Klassen nicht mit den Zielwerten des Ziellabels übereinstimmen, erfolgt eine Anpassung des Zufallsbildes. Dies ist in der Figur 9B durch den gestrichelten Rückwärtspfad dargestellt. Wie zu erkennen ist, ist das gezeigte Bild X weniger verpixelt als das Bild X aus der Figur 9A. Propagiert das angepasst Bild X der Figur 9B durch das KNN könnten sich bereits die Zielwerte 0.75, 0.15 und 0.10 einstellen, die schon näher an der Ziellabelvorgabe liegen. Durch die Anpassung der Pixel des Bildes entsteht nach und nach ein natürliches aussehendes Bild. Die Zielwerte des Ziellabels stellen sich also ein.
Um den Unterschied zu einem One-Hot-Label aufzuzeigen ist ein solches Label in der Figur 9A ebenfalls mit den Zielwerten 0,1 ,0 dargestellt. Alle Zielwerte des One-Hot-Labels sind mit Ausnahme eines Wertes null.
Durch zuvor beschriebene und vorgeschlagenen Verfahren ergeben sich einige Vorteile.
Beispielsweise wird vorgeschlagen, die Bestimmung der Hyperparameter von der Bildgenerierung zu trennen. Damit kann können Ressourcen und Zeit gespart werden.
Zudem besteht nach der Bildgenerierung ein Datensatz mit dem anschließend jedes belie- bige Netzwerk trainieren kann.
Im Stand der Technik, werden die Bilder teilweise verworfen, da der Datensatz immer an das Zielnetzwerk gekoppelt ist.

Claims

Ansprüche
1. Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern, umfassend die Schritte:
(i) Erstellen eines initialen Hyperparametersatzes; (ii) Erstellen eines initialen Bilddatensatzes;
(iii) Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens in Abhängigkeit des Hyperparametersatzes, wobei in dem bildoptimierten Verfahren ein Startnetzwerk verwendet wird, das ein trainiertes neuronales Netzwerk ist, das mit einem Originaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und Start- netzgewichte gekennzeichnet ist, wobei dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, und wobei das bildoptimierte Verfahren wenigstens die Schritte umfasst:
(a) Propagieren des Bilddatensatzes durch das Startnetzwerk;
(b) Anpassen des Bilddatensatzes mittels Rückwärtspropagation zur Minimie- rung einer Kostenfunktion;
(iv) Prüfen des erzeugten Bilddatensatzes auf ein vorbestimmtes Abbruchkriterium;
(v) Anpassen des Hyperparametersatzes und erneutes Durchführen des bildoptimierten Verfahrens mit geänderten Hyperparametern, wenn die Prüfung ergibt, dass das Abbruchkriterium nicht erfüllt ist, oder Bereitstellen des angepassten Hyperparametersatzes als erster Hyperparametersatz, wenn die Prüfung ergibt, dass das Abbruchkriterium erfüllt ist, dadurch gekennzeichnet, dass in dem bildoptimierten Verfahren ausschließlich das Startnetzwerk verwendet wird.
2. Verfahren nach Anspruch 1 , wobei in dem bildoptimierten Verfahren ein Startnetz- werk verwendet wird, dem wenigstens ein Ziellabel vorgegeben, das als Softlabel ausgebildet ist, wobei das Ziellabel vorzugsweise mit einem einstellbaren Mittelwert und/oder einer einstellbaren Standardabweichung veränderbar ausgebildet ist.
3. Verfahren nach Anspruch 1 oder 2, wobei das Erstellen des initialen Bilddatensatzes (Xo) im Schritt (ii) mit einem Mittelwert von null und einer Standardabweichung von eins erfolgt.
4. Verfahren nach einem der vorstehenden Ansprüche, wobei wenigstens der Schritt (iii) mittels einer Hochleistungsberechnungseinheit durchgeführt wird, die eine Rechenleistung von wenigstens 500 Giga-FLOP/s aufweist, wobei die Hochleistungsberechnungseinheit vorzugsweise als GPU oder Cloudserver ausgebildet ist.
5. Verfahren zum Erstellen eines synthetischen Bilddatensatzes, umfassend die Schritte:
(i) Erzeugen eines Bilddatensatzes mittels eines bildoptimierten Verfahrens in Abhängigkeit eines zweiten Hyperparametersatzes, wobei in dem bildoptimierten Verfahren wenigstens ein Startnetzwerk und ein Zwischen netzwerk verwendet wird, wobei das Startnetzwerk ein trainiertes neuronales Netzwerk ist, das mit einem Ori- ginaldatensatz trainiert wurde und das durch eine Startnetzarchitektur und
Startnetzgewichte gekennzeichnet ist, und das Zwischennetzwerk ein neuronales Netzwerk ist, das durch eine Zwischennetzarchitektur und Zwischennetzgewichte gekennzeichnet ist, und dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softla- bei ausgebildet ist, wobei das bildoptimierte Verfahren wenigstens die Schritte umfasst:
(a) Propagieren des Bilddatensatzes durch das Startnetzwerk und durch das Zwischennetzwerk; und
(b) Anpassen des Bilddatensatzes mittels Rückwärtspropagation zur Minimie- rung einer Kostenfunktion;
(ii) Speichern des angepassten Bilddatensatzes, um den synthetischen Bilddatensatz zu erzeugen.
6 Verfahren nach Anspruch 5, wobei der zweite Hyperparametersatz die Hyperparameter des ersten Hyperparametersatzes aufweist und der erste Hyperparametersatz nach einem Verfahren gemäß Anspruch 1 bis 4 bestimmt wurde.
7. Verfahren nach Anspruch 5 oder 6, wobei das Verfahren wenigstens einen der zu- sätzlichen Schritte umfasst:
(iii) Trainieren des Zwischennetzwerkes mit dem gespeicherten Bilddatensatz durch Anpassung der Zwischennetzgewichte mittels Rückwärtspropagation;
(iv) Erneutes Durchführen des Schrittes (i) mit dem trainierten Startnetzwerk und dem trainierten Zwischennetzwerk.
8. Verfahren nach einem der vorstehenden Ansprüche 5 bis 7, wobei wenigstens der Schritt (i) und/oder der Schritt (iii) mittels einer Hochleistungsrecheneinheit durchgeführt wird, die eine Rechenleistung von wenigstens 500 Giga-FLOP/s aufweist, wobei die Hochleistungsrecheneinheit vorzugsweise als GPU oder Cloud- server ausgebildet ist.
9. Verfahren nach einem der vorstehenden Ansprüche 5 bis 8, wobei die Zwischennetzarchitektur des Zwischennetzwerks ähnlich oder gleich groß ausgebildet ist wie die Startnetzarchitektur des Startnetzwerkes, wobei die Zwischennetzarchitektur und die Startnetzarchitektur gekennzeichnet sind durch eine Anzahl von Netzwerkschichten und durch eine Anzahl von verwendeten Netzwerkneuronen, insbesondere um das bildoptimierte Verfahren mit wenigstens zwei ähnlich oder gleich großen neuronalen Netzen durchzuführen.
10. Verfahren nach einem der vorstehenden Ansprüche 5 bis 9, wobei das wenigstens eine Ziellabel mit einem einstellbaren Mittelwert und/oder einer einstellbaren Standardabweichung veränderbar ausgebildet ist.
11. Verfahren zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein
Zielnetzwerk, wobei das Startnetzwerk ein trainiertes neuronales Netzwerk ist, das mit einem Originaldatensatz trainiert wurde und durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist, und das Zielnetzwerk ein untrainiertes neuronales Netz ist und durch eine Zielnetzarchitektur und Zielnetzgewichte gekennzeich- net ist, umfassend die Schritte: (i) Laden des Startnetzwerkes in einen Datenspeicher, insbesondere in einen Grafikspeicher oder einen Cloudspeicher;
(ii) Laden eines ersten Hyperparametersatzes in den Datenspeicher, wobei der erste Hyperparametersatz vorzugsweise mit dem Verfahren nach Anspruch 1 bis 4 erstellt wird;
(iii) Erzeugen eines synthetischen Bilddatensatzes mittels eines bildoptimierten Verfahrens in Abhängigkeit eines zweiten Hyperparametersatzes, wobei in dem bildoptimierten Verfahren wenigstens das Startnetzwerk und ein Zwischennetzwerk verwendet wird, wobei der synthetische Bilddatensatz vorzugsweise mit dem Verfahren nach Anspruch 5 bis 10 erzeugt wird;
(iv) T rainieren des Zielnetzwerkes mit dem erzeugten synthetischen Bilddatensatz durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation, wobei das Trainieren des Zielnetzwerkes in Abhängigkeit von einem dritten Hyperparametersatz erfolgt, und optional (v) Prüfen des trainierten Zielnetzwerkes auf ein Zielkriterium und
Anpassen des zweiten Hyperparametersatzes und/oder des dritten Hyperparametersatzes, wenn das Zielkriterium nicht erfüllt ist, oder
Ausgeben des trainierten Zielnetzwerkes, wenn das Zielkriterium erfüllt ist.
12. Verfahren nach Anspruch 11 , wobei die Zielnetzarchitektur des Zielnetzwerks kleiner ausgebildet ist als die Startnetzarchitektur des Startnetzwerkes, insbesondere um das Netzwerkverhalten des größeren Startnetzwerkes auf ein kleineres Zielnetzwerk zu übertragen und um ein trainiertes Zielnetzwerk mit einem verringerten Speicherbedarf als das Startnetzwerk bereitzustellen.
13. Verfahren nach Anspruch 11 oder 12, wobei wenigstens in Schritt (iii) dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist.
14. Berechnungssystem, insbesondere Cloudsystem oder Computersystem, wobei das Berechnungssystem dazu eingerichtet ist, ein Verfahren zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bildern nach einem der Ansprüche 1 bis 4 durchzuführen, um einen ersten Hyperparametersatz bereitzustellen, und/oder ein Verfahren zum Erstellen eines synthetischen Bilddatensatzes nach einem der Ansprüche 5 bis 10 durchzuführen, um einen synthetischen Bilddatensatzes zum Trainieren eines Zielnetzwerkes bereitzustellen, und/oder ein Verfahren zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk nach einem der Ansprüche 11 bis 13 durchzuführen, um das Netzwerkverhalten des Startnetzwerkes auf das Zielnetzwerkzu über- tragen.
15. Übertragungssystem zum Übertragen eines Netzwerkverhaltens eines Startnetzwerkes auf ein Zielnetzwerk, wobei das Startnetzwerk ein trainiertes neuronales Netzwerk ist, das mit einem Originaldatensatz trainiert wurde und durch eine Startnetzarchitektur und Startnetzgewichte gekennzeichnet ist, und das Zielnetz- werk ein untrainiertes neuronales Netz ist und durch eine Zielnetzarchitektur und
Zielnetzgewichte gekennzeichnet ist, umfassend: eine Berechnungseinheit, die zur Bereitstellung von Hyperparametern zur Erzeugung von künstlichen Bilder eingerichtet ist, wobei die Berechnungseinheit in einem ersten Berechnungsprozess einen ersten Hyperparametersatz aus- schließlich in Abhängigkeit des Startnetzwerkes erzeugt, und vorzugsweise in dem ersten Berechnungsprozess dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist; und/oder eine Berechnungseinheit, die zum Erstellen eines synthetischen Bilddatensatzes eingerichtet ist, wobei die Berechnungseinheit in einem zweiten Berech- nungsprozess den synthetischen Bilddatensatz in Abhängigkeit des Startnetzwerkes und eines Zwischen netzwerkes erzeugt, und dem Startnetzwerk wenigstens ein Ziellabel vorgegeben wird, das als Softlabel ausgebildet ist, und eine Berechnungseinheit, die zum Trainieren des Zielnetzwerkes mit dem synthetischen Bilddatensatz durch Anpassen der Zielnetzgewichte mittels Rückwärtspropagation eingerichtet ist, um in einem dritten Berechnungsprozess das Zielnetzwerk mit dem synthetischen Bilddatensatz zu trainieren, um das Netzwerkverhalten des Startnetzwerkes auf das Zielnetzwerk zu übertragen, insbesondere ohne Verwendung oder unmittelbaren Zugriff auf den Originaldatensatz.
EP22737408.9A 2021-06-15 2022-06-15 Verfahren zum übertragen eines netzwerkverhaltens eines trainierten startnetzwerkes auf ein zielnetzwerk ohne verwendung eines originaldatensatzes Pending EP4356305A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021115425.1A DE102021115425A1 (de) 2021-06-15 2021-06-15 Verfahren zum Übertragen eines Netzwerkverhaltens eines trainierten Startnetzwerkes auf ein Zielnetzwerk ohne Verwendung eines Originaldatensatzes
PCT/EP2022/066386 WO2022263554A1 (de) 2021-06-15 2022-06-15 Verfahren zum übertragen eines netzwerkverhaltens eines trainierten startnetzwerkes auf ein zielnetzwerk ohne verwendung eines originaldatensatzes

Publications (1)

Publication Number Publication Date
EP4356305A1 true EP4356305A1 (de) 2024-04-24

Family

ID=82385491

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22737408.9A Pending EP4356305A1 (de) 2021-06-15 2022-06-15 Verfahren zum übertragen eines netzwerkverhaltens eines trainierten startnetzwerkes auf ein zielnetzwerk ohne verwendung eines originaldatensatzes

Country Status (3)

Country Link
EP (1) EP4356305A1 (de)
DE (1) DE102021115425A1 (de)
WO (1) WO2022263554A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210142177A1 (en) 2019-11-13 2021-05-13 Nvidia Corporation Synthesizing data for training one or more neural networks

Also Published As

Publication number Publication date
DE102021115425A1 (de) 2022-12-15
WO2022263554A1 (de) 2022-12-22

Similar Documents

Publication Publication Date Title
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
DE68928484T2 (de) Verfahren zum erkennen von bildstrukturen
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
WO2013170843A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE112020002186T5 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
WO2021130340A1 (de) System und verfahren zur qualitätszusicherung von datenbasierten modellen
DE112020003446T5 (de) Validierung einer Leistung eines neuronalen Netzes, das mit markierten Trainingsdaten trainiert wurde
DE102019214625A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines künstlichen neuronalen Netzes
DE112021006212T5 (de) Modulation auf Gewichtungsgrundlage in neuronalen Netzwerken
EP3748551A1 (de) Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
WO2021094597A1 (de) Mikroskop und verfahren mit ausführen eines faltenden neuronalen netzes
DE202019105304U1 (de) Vorrichtung zum Erstellen eines künstlichen neuronalen Netzes
DE202023103073U1 (de) Ein System zur Segmentierung synthetischer Bilder unter Verwendung einer Glühwürmchen-Technik auf Basis des Absorptionskoeffizienten
DE102019104571A1 (de) Künstliches neuronales netz
EP4356305A1 (de) Verfahren zum übertragen eines netzwerkverhaltens eines trainierten startnetzwerkes auf ein zielnetzwerk ohne verwendung eines originaldatensatzes
DE102019204118A1 (de) Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild
DE102020132591A1 (de) Auswählen von rechenkernvarianten unter verwendung neuronaler netzwerke
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE202019105256U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
DE102019207911A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Vorhersage einer Lernkurve
DE102023203460B3 (de) Computerimplementiertes Verfahren zum Betrieb einer Bildgebungseinrichtung, Bildgebungseinrichtung, Computerprogramm und elektronisch lesbarer Datenträger
DE102021124252A1 (de) Neuronale Netzwerksysteme für abstraktes Denken

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240115

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR