The present invention relates to a method for generating data on the basis of data already available having individual annotated data points, to a method for training a predictor with thusly generated data, to a computer program, and to a data carrier.
In the field of machine learning, a predictor is an approximation of a multi-dimensional function.
Determining which data points are to be collected, generated, and used from the entire data realm for an AI (artificial intelligence) method is generally based on a selection made by humans, firm guidelines or happenstance.
Methods of active data generation are necessary, for example, in order to allow for “cooperative learning” with domain experts so as to support the (human) experts' iterative calibration or parameterization tasks. In such scenarios, it is the task of the experts to manually select and evaluate data points (e.g. system parameters) in order to achieve a given optimization goal. However, even with fully automated data collection, methods of active data generation are also necessary.
Methods of “active learning” allow the determination of which data points are to be annotated with target values (e.g. classes, positions or KPIs (key performance indicators)) and are based on an already available set of (unannotated) data. In the article “Counterexample-Guided Data Augmentation” by Tommaso Dreossi, Shromona Ghosh, Xiangyu Yue, Kurt Keutzer, Alberto Sangiovanni-Vincentelli and Sanjit A. Seshia, published in the Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence on pages 2071-2078 in July 2018 (https://doi.org/10.24963/ijcai.2018/286), an alternative method is described which additionally can targetedly determine which data points are to be generated. Additionally, in the article “A Theory of Formal Synthesis via Inductive Learning” by S. Jha and S.A: Seshia, published in Acta Informatica (2017) 54, on page 693 (https://doi.org/10.1007/s00236-017-0294-5), a formal frame concept is described which covers an entire class of concepts without focusing on potential realizations.
Data generation and collection is time consuming, costly, and one-sided, such that it is not sufficient to improve the annotation process.
From the state of the art, a method for generating data is known which maximizes the prediction errors of a predictor in order to generate new data using a data description of the data with the maximized prediction error.
According to the state of the art, the selection of the data points to be generated is the task of an expert. First automated methods for selecting data points to be generated exist, but these only consider which data points are (potentially) difficult to predict for an Al method without taking into account the reliability of the prediction. Therefore, sufficient coverage of the desired or needed data realm cannot be reasonably ensured. Moreover, these known methods are only applicable to 0/1 fields. Such 0/1 fields do not indicate a degree of error, instead only differentiating between error (=1) and no error (=0).
In order to in particular minimize the manual work of the expert, it is therefore of great importance to minimize data generation. Additionally, well selected training data can increase the reliability of the prediction and therefore the quality of the AI method. By using a continuous error standard, an improvement of the estimation of the quality or of the error of the AI method can also be achieved. This way, active, guided data generation can be used which takes both the optimization goal and the coverage of the data realm into consideration.
A method according to the invention therefore comprises the steps of training a first predictor on the basis of data already available, determining a prediction error of the first predictor for each data point, training a second predictor to determine an anticipated prediction error of the first predictor and an uncertainty, determining a data description which maximizes a combination of anticipated prediction error and uncertainty, and generating data on the basis of the previously determined data description.
By data points being targetedly generated which are particularly relevant for the problem at hand and also ensure a sufficient coverage of the data realm, the amount of necessary data can be reduced.
The use of a second predictor allows the method to also be applied in cases in which the first predictor is not invertible or the input space of the predictor cannot be used for data generation.
A further method according to the invention serves to train a predictor with the data generated by the aforementioned method and further comprises the steps of checking if a previously determined quality of the first predictor is achieved and annotating and adding the new data to the data already available.
A computer program according to the invention comprises commands which cause a computer system to carry out one of the aforementioned methods. This has the advantage that the methods can be applied particularly fast and efficiently.
On a data carrier according to the invention, the aforementioned computer program can be stored. This has the advantage that the computer program can be easily transported and reproduced.
Further features of the present invention become apparent from the following description and the attached claims in combination with the figures.
In
In
In step S3, a second predictor is then trained to determine an anticipated prediction error of the first predictor and an uncertainty. In particular, this is done on the basis of the prediction error of the data points of the first predictor. Advantageously, the description of the data points or a description of the data realm is also used to this end.
Then, in step S4, a data description which maximizes a combination of expected prediction error and uncertainty is determined by an algorithm. For example, the upper confidence bound (UCB), which maximizes the sum of expected prediction error and a potentially expanded or condensed uncertainty due to a constant, can be used as a standard for this purpose. For example, by a random generation of data descriptions, the data description which maximizes the standard can be selected this way.
In step S5, new data are then generated based on the data description determined previously in S4. The new data can, for example, at least partially describe a region of the data realm for which the first predictor still makes substantial errors or which is not covered by the first predictor.
A method for training a predictor using the method according to the invention for generating data comprises the steps S1 to S5 as well as a step S2.1 and a step S6 and is represented in
In step S2.1, it is checked whether the quality of the first predictor is sufficient or maximal at this position for the desired application. If so, the method can be concluded here; otherwise, the method is continued in step S3. Here, the quality of the predictor is determined at this position using a suitable standard or another suitable computation rule. For example, the quality of the first predictor can be generated from the arithmetic mean of the prediction errors of the individual data points. The decision regarding how high the quality of the first predictor should or must be is application-specific. As such, when it comes to security-related applications, for example, error probabilities of under 1% are often necessary and with other applications, the consequences (e.g. increased costs) can be estimated by an estimator and a threshold value can be determined up to which the quality is sufficient.
In step S6, the data generated or collected in S5 are annotated and added to the annotated data already available. The method is then continued again in step S1.
The method according to the invention can, for example, be used to generate data for a predictor for predicting the power of an engine on the basis of engine parameters in order to train such a predictor. To this end, annotated data which comprise the parameters of the engine and measured power data are used as a basis (S1 in
For the training of the predictor, it is now checked whether the necessary prediction error has already been achieved and, if so, the training method is concluded at this point (S2.1 in
Subsequently, the data description comprising the maximizing engine parameters relating to the second predictor is determined (S4 in
The method according to the invention can also be used to generate data for a predictor which can find erroneous positions on images of circuit boards and to train such a predictor. Here, annotated images of known errors or erroneous circuit boards are used as data. The prediction error of the first predictor can then, for example, be a position deviation of predicted errors and known errors on the circuit board. The second predictor can then be trained to predict expected position deviations of errors on the basis of circuit board descriptions. Then, the maximizing circuit description is selected and new data are generated. This can, for example, comprise generating one or several intentionally erroneous circuit boards with different errors and error positions which fulfill the circuit board description. The predictor can, for example, be installed in an inspection device which checks the circuit boards for errors after or during a production process. To this end, the inspection device can be equipped with a data carrier on which at least the predictor, but advantageously also one of the computer programs according to the invention, in order to carry out the invention according to the invention for generating data or for training a predictor, and in particular also the data used to train the predictor are stored, a computing unit which can carry out the predictor, the training of the predictor and the generation of data, as well as a camera for data reception. The inspection device can comprise a communication unit for wired or wireless communication and can also be part of a networked structure, in particular a client/server, master/slave, cloud, internet of things architecture, such that the predictor, the computer programs and/or the data do not need to be locally present on the inspection device, at least not permanently.
The computing unit can control the inspection device and in particular the camera. The computing unit can in particular also be suited to, due to in particular new data which can also be recorded by the camera, perform the method according to the invention for generating data and the training of the predictor.
The inspection device, the predictor, the method for generating data, and the method for training the predictor can also be implemented for other products and production processes, in particular for those which necessitate a low error rate and/or which adaptively and flexibly, and in particular also quickly, adjust to new and changing parameters or errors. This is in particular also the case in the fields of optics production, medicine technology, pharmaceutical production, and chip manufacturing. In this way, such an inspection device can also be installed in the aforementioned power measurement stand or vehicle, in particular for power measurement of the engine, as well as for facial recognition in a vehicle.
Such an inspection device, which can also be an inspection device according to the invention, is schematically represented in
Because data can be more targetedly generated by the method for generating data in order to use the data realm as optimally as possible, systems with fewer hardware resources can also be suited to carrying out the method.
The method according to the invention can also be implemented to generate data for facial recognition and train a predictor for said facial recognition, in particular for facial recognition in a vehicle. Here, data points with a relevant annotation, e.g. the position of the face, as well as a description comprising e.g. lighting conditions, vehicle type, type of person, and accessories are provided. Using a partial set of the data points, the first predictor is trained and the remaining data points are used to determine the deviation between the prediction and the annotation. In this way, for the determination of the facial position, the deviation between the predicted and the annotated facial position is then determined on the remaining data points.
With the description of the data points and the deviation between the prediction and the annotation, the second predictor is then trained to predict the deviation between the prediction and the annotation with a certain uncertainty on the basis of the description. The second predictor can, for example, comprise a Gaussian process which determines such a prediction value and an uncertainty, for example in the form of a confidence interval.
Then, (random) descriptions are generated based on the possible values of the description. For these descriptions, the expected prediction error and the uncertainty are determined by the second predictor and those descriptions are selected which deliver a maximum or high values from a combination of the prediction error and uncertainty. Based on the selected descriptions, one or several data points are then generated which correspond to these descriptions. For example, images of faces fulfilling these descriptions can be created using a rendering software. For images generated in such a way, the annotation is advantageously particularly easy to realize. The annotated data points can then be added to the data points and the first predictor can be trained again.
The result is a predictor for determining facial positions in which, due to the presented method, the expected prediction quality for new images is maximized. Additionally, the necessary number of data points (images) has been minimized by the method. In the same way, the predictor or other predictors can be trained to perform expression recognition and other forms of facial recognition in an improved manner.
In particular, the method for generating data, the method for training a predictor, and the predictor itself can be implemented for facial recognition in a vehicle. The vehicle can in this case comprise at least a camera or another sensor in order to generate new data. The vehicle can also comprise a computing unit in order to, in particular also due to in particular new data which can also be recorded by the camera or the sensor, carry out the method according to the invention for generating data, the training of the predictor and the predictor. The vehicle can also comprise a data carrier on which data for training a predictor and computer programs for carrying out the method for generating data, for training a predictor, and of the predictor are stored.
Such a vehicle, which can also be a vehicle according to the invention, is represented in
In the vehicle, the methods according to the invention presented her can also be used for other devices which can function and be improved with trained algorithm and data analysis. In particular, this can be advantageous when it comes to the quickly changing conditions and the amount of data involved in the usage of a vehicle, in particular an autonomous vehicle.
In
A1-A5 method step
S1-S6, S2.1 method step
1 inspection device
2 camera
3 computing unit
4 data carrier
5 communication unit
10 vehicle
Number | Date | Country | Kind |
---|---|---|---|
10 2019 208 121.5 | Jun 2019 | DE | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2020/065219 | 6/2/2020 | WO | 00 |