DE102021212731A1 - REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE - Google Patents

REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE Download PDF

Info

Publication number
DE102021212731A1
DE102021212731A1 DE102021212731.2A DE102021212731A DE102021212731A1 DE 102021212731 A1 DE102021212731 A1 DE 102021212731A1 DE 102021212731 A DE102021212731 A DE 102021212731A DE 102021212731 A1 DE102021212731 A1 DE 102021212731A1
Authority
DE
Germany
Prior art keywords
test
data set
computer
machine learning
learning module
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
DE102021212731.2A
Other languages
German (de)
Inventor
Christoph Gladisch
Konrad Groh
Matthias Woehrle
Christian Heinzemann
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021212731.2A priority Critical patent/DE102021212731A1/en
Publication of DE102021212731A1 publication Critical patent/DE102021212731A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Abstract

Ein erster allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein computer-implementiertes Verfahren zum Überprüfen von Test- und/oder Trainings-Datensätzen für ein computerbasiertes Maschinenlernmodul. Das Verfahren umfasst Empfangen eines ersten Embeddings für ein Datum eines ersten Test- und/oder Trainings Datensatzes für ein computerbasiertes Maschinenlernmodul. Ein Embedding repräsentiert ein Datum nach einer bestimmten Vorschrift durch einen Vektor niedrigerer Dimensionalität als das jeweilige Datum. Das Verfahren umfasst weiterhin Ermitteln eines oder mehrerer Abstände von einem oder mehreren Embeddings eines zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding des ersten Test- und/oder Trainings-Datensätze und Ausgeben von Prüfinformation für den zweiten Test- und/oder Trainings-Datensatz basierend auf den ermittelten einen oder mehreren Abständen.A first general aspect of the present disclosure relates to a computer-implemented method for checking test and/or training data sets for a computer-based machine learning module. The method includes receiving a first embedding for a datum of a first testing and/or training dataset for a computer-based machine learning module. An embedding represents a datum according to a specific rule by a vector with a lower dimensionality than the datum in question. The method further includes determining one or more distances of one or more embeddings of a second test and/or training dataset from the first embedding of the first test and/or training dataset and outputting test information for the second test and/or Training data set based on the determined one or more distances.

Description

Stand der TechnikState of the art

Computerbasierte Maschinenlernmodule - gerade solche für sicherheitskritische Anwendungen wie das autonome oder assistierte Fahren - müssen in vielen Fällen umfangreich getestet werden (in der vorliegenden Offenbarung umfasst der Begriff „Testen“ sowohl eine Validierung im Sinne einer Ermittlung einer Leistungsfähigkeit im Rahmen einer Modellauswahl des computerbasierten Maschinenlernmoduls als auch eine Überprüfung eines Generalisierungsfehlers des gewählten Modells - oft in einem engeren Sinne als „Testen“ bezeichnet). Dazu kann ein trainiertes computerbasiertes Maschinenlernmodul mit einem Test-Datensatz beschickt werden. Die Leistungsfähigkeit und/oder Zuverlässigkeit des trainierten computerbasierten Maschinenlernmoduls kann anhand der Ausgaben (z.B. Klassifikationsergebnisse) des computerbasierten Maschinenlernmoduls für die Daten des Test-Datensatzes bestimmt werden. Hierbei kann es notwendig sein, dass die Trainings- und Testdatensätze verschieden aber ausreichend ähnlich sind (z.B. können die Trainings- und Testdatensätze unabhängig und identisch verteilt aus einer gleichen Quelle gesampelt sein). Wenn das nicht der Fall ist, kann eine Leistungsfähigkeit und/oder Zuverlässigkeit des trainierten computerbasierten Maschinenlernmoduls in manchen Fällen anhand des Testdatensatzes nicht mit ausreichender Sicherheit bestimmt werden. Zum Beispiel ist denkbar, dass ein Test-Datensatz bestimmte Daten der Trainings-Datensatzes nicht oder unzureichend repräsentiert (d.h. eine Abdeckung des Trainings-Datensatzes durch den Test-Datensatz ist nicht ausreichend). In diesen Fällen kann eine Leistungsfähigkeit und/oder Zuverlässigkeit des trainierten computerbasierten Maschinenlernmoduls in Bezug auf die nicht oder unzureichend repräsentierten Daten des Trainings-Datensatzes in manchen Fällen nicht zuverlässig anhand des Test-Datensatzes bestimmt werden.Computer-based machine learning modules - especially those for safety-critical applications such as autonomous or assisted driving - must be extensively tested in many cases (in the present disclosure, the term "testing" includes both a validation in the sense of determining a performance within the framework of a model selection of the computer-based machine learning module as also a check of a generalization error of the chosen model - often referred to as "testing" in a narrower sense). For this purpose, a trained computer-based machine learning module can be loaded with a test data set. The performance and/or reliability of the trained computer-based machine learning module can be determined based on the outputs (e.g. classification results) of the computer-based machine learning module for the data of the test data set. It may be necessary here that the training and test data sets are different but sufficiently similar (e.g. the training and test data sets can be independently and identically distributed and sampled from the same source). If this is not the case, in some cases the performance and/or reliability of the trained computer-based machine learning module cannot be determined with sufficient certainty using the test data set. For example, it is conceivable that a test dataset does not represent certain data of the training dataset or does so insufficiently (i.e. the test dataset does not cover the training dataset sufficiently). In these cases, the performance and/or reliability of the trained computer-based machine learning module in relation to the data of the training dataset that is not represented or is insufficiently represented cannot be reliably determined using the test dataset in some cases.

Daher ist es erstrebenswert, Trainings- und Testdatensätze daraufhin zu prüfen, ob sie ausreichend ähnlich sind und ggf. eine ausreichende Ähnlichkeit der Trainings- und Testdatensätze herzustellen.It is therefore worthwhile to check training and test datasets to see whether they are sufficiently similar and, if necessary, to establish a sufficient similarity between the training and test datasets.

ZusammenfassungSummary

Ein erster allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein computer-implementiertes Verfahren zum Überprüfen von Test- und/oder Trainings-Datensätzen für ein computerbasiertes Maschinenlernmodul. Das Verfahren umfasst Empfangen eines ersten Embeddings für ein Datum eines ersten Test- und/oder Trainings Datensatzes (auch kurz als „erster Datensatz“ bezeichnet) für ein computerbasiertes Maschinenlernmodul. Ein Embedding repräsentiert ein Datum nach einer bestimmten Vorschrift durch einen Vektor niedrigerer Dimensionalität als das jeweilige Datum. Das Verfahren umfasst weiterhin Ermitteln eines oder mehrerer Abstände von einem oder mehreren Embeddings eines zweiten Test- und/oder Trainings-Datensatzes (auch kurz als „zweiter Datensatz“ bezeichnet) von dem ersten Embedding des ersten Test- und/oder Trainings-Datensätze und Ausgeben von Prüfinformation für den zweiten Test- und/oder Trainings-Datensatz basierend auf den ermittelten einen oder mehreren Abständen.A first general aspect of the present disclosure relates to a computer-implemented method for checking test and/or training data sets for a computer-based machine learning module. The method includes receiving a first embedding for a datum of a first testing and/or training dataset (also referred to as “first dataset” for short) for a computer-based machine learning module. An embedding represents a datum according to a specific rule by a vector with a lower dimensionality than the datum in question. The method further includes determining one or more distances of one or more embeddings of a second test and/or training data set (also referred to as “second data set” for short) from the first embedding of the first test and/or training data set and outputting of test information for the second test and/or training data set based on the determined one or more distances.

Ein zweiter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Verfahren zum Erzeugen eines augmentierten Datensatzes für ein computerbasiertes Maschinenlernmodul. Das Verfahren umfasst Feststellen, dass ein oder mehrere Trainings-Daten nicht ausreichend in dem Test-Datensatz repräsentiert sind basierend auf der Prüfinformation und/oder Feststellen, dass ein oder mehrere Test-Daten nicht ausreichend in dem Trainings-Datensatz repräsentiert sind basierend auf der Prüfinformation gemäß dem ersten allgemeinen Aspekt. Das Verfahren umfasst weiterhin Augmentieren des zweiten Test- und/oder Trainingsdatensatzes durch Hinzufügen einer oder mehrerer Daten, so dass ein oder mehrere Abstände von Embeddings des zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding und optional den ein oder mehreren weiteren Embeddings des ersten Test- und/oder Trainings-Datensatzes reduziert werden.A second general aspect of the present disclosure relates to a method for generating an augmented data set for a computer-based machine learning module. The method includes determining that one or more training data is underrepresented in the test data set based on the verification information and/or determining that one or more test data is underrepresented in the training data set based on the verification information according to the first general aspect. The method further includes augmenting the second test and/or training dataset by adding one or more data such that one or more distances of embeddings of the second test and/or training dataset from the first embedding and optionally the one or more further embeddings of the first test and/or training dataset can be reduced.

Ein dritter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Verfahren zum Testen oder Trainieren eines computerbasierten Maschinenlernmoduls. Das Verfahren umfasst Empfangen eines überprüften Test- und/oder Trainings-Datensatzes gemäß dem ersten allgemeinen Aspekt oder eines augmentierten Test- und/oder Trainings-Datensatzes gemäß dem zweiten allgemeinen Aspekt und Testen oder Trainieren des computerbasierten Maschinenlernmoduls mit dem empfangenen Datensatz, um ein getestetes oder trainiertes Maschinenlernmodul zu erhalten.A third general aspect of the present disclosure relates to a method for testing or training a computer-based machine learning module. The method includes receiving a verified test and/or training data set according to the first general aspect or an augmented test and/or training data set according to the second general aspect and testing or training the computer-based machine learning module with the received data set to generate a tested or receive a trained machine learning module.

Ein vierter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Verfahren zum Anwenden eines computerbasierten Maschinenlernmoduls. Das Verfahren umfasst Bereitstellen eines getesteten oder trainierten Maschinenlernmoduls gemäß dem dritten allgemeinen Aspekt und Prozessieren von Anwendungsdaten durch das empfangene Maschinenlernmodul.A fourth general aspect of the present disclosure relates to a method for applying a computer-based machine learning module. The method comprises providing a tested or trained machine learning module according to the third general aspect and processing application data by the received machine learning module.

Ein fünfter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein System, das dazu ausgelegt ist, die Verfahren nach einem der ersten bis vierten allgemeinen Aspekte auszuführen.A fifth general aspect of the present disclosure relates to a system configured to carry out the methods of any one of the first to fourth general aspects.

Die Techniken der ersten bis fünften allgemeinen Aspekte können in manchen Fällen einen oder mehrere Vorteile haben.The techniques of the first through fifth general aspects may have one or more advantages in some cases.

Erstens kann mittels der Techniken der vorliegenden Offenbarung in manchen Fällen überprüft werden, ob Daten eines Test-Datensatzes in einem Trainings-Datensatz ausreichend repräsentiert sind (oder umgekehrt), so dass ein mit dem Trainings-Datensatz trainiertes computerbasiertes Maschinenlernmodul mit ausreichender Zuverlässigkeit mit dem Test-Datensatz getestet werden kann. Damit kann sichergestellt werden, dass Training und/oder Test das computerbasierte Maschinenlernmodul in Bezug auf seine Aufgaben im Feld ausreichend vorbereiten. Indem Abstände der Embeddings der beiden Trainingsdatensätze bestimmt wird, können „Fehlstellen“ in dem zweiten Datensatz (z.B. einem Test-Datensatz oder einem Trainings-Datensatz) effizient erkannt werden. Beispielsweise können Daten in bestimmten Bereichen im Trainings-Datensatz oder im Test-Datensatz fehlen oder in zu geringer Anzahl vorhanden sein (z.B. Bilddaten von bestimmten Schildern bei Nacht und Regen). Solche und andere Probleme können mittels der Analyse der Abstände der Embeddings in manchen Fällen aufgespürt werden (zudem in manchen Situationen relativ zügig). Auf der anderen Seite kann durch Analysieren der Abstände erkannt werden, dass bestimmte Daten in einem Test- und Trainingsdatensatz zu ähnlich sind (auch das kann bezüglich eines zuverlässigen Testens des computerbasierten Maschinenlernmoduls problematisch sein). Dadurch kann in manchen Fällen verhindert werden, dass nicht ausreichend trainiert und/oder getestete computerbasierte Maschinenlernmodule im Feld eingesetzt und dort möglicherweise nicht zufriedenstellend funktionieren (was je nach technischer Umgebung verschiedene Folgen von Ärgernissen bis zu erheblichen Sicherheitsrisiken nach sich ziehen kann).First, in some cases, the techniques of the present disclosure can be used to verify whether data from a test data set is adequately represented in a training data set (or vice versa) such that a computer-based machine learning module trained with the training data set can use the test with sufficient reliability -Record can be tested. It can thus be ensured that the training and/or test adequately prepare the computer-based machine learning module with regard to its tasks in the field. By determining distances between the embeddings of the two training datasets, "missing spots" in the second dataset (e.g. a test dataset or a training dataset) can be efficiently detected. For example, data in certain areas in the training data set or in the test data set may be missing or insufficient (e.g. image data of certain signs at night and in the rain). In some cases, these and other problems can be detected by analyzing the distances between the embeddings (also relatively quickly in some situations). On the other hand, by analyzing the distances, it can be recognized that certain data in a test and training data set is too similar (this too can be problematic in terms of reliable testing of the computer-based machine learning module). In some cases, this can prevent insufficiently trained and/or tested computer-based machine learning modules from being used in the field and possibly not functioning satisfactorily there (which, depending on the technical environment, can have various consequences, from annoyances to significant security risks).

Zweitens können die Embeddings der Techniken der vorliegenden Offenbarung flexibel gewählt werden und eine größere Aussagekraft haben für die Bestimmung der Abstände der Daten der Datensätze als andere Informationen. Beispielsweise ist es möglich, dass der Vektor des Embeddings sowohl basierend auf den Nutzinformation eines Datums (z.B. den Bilddaten) als auch Metainformationen des Datums (z.B. menschenlesbare Labels) generiert wird. Zudem können für verschiedene Fragestellungen angepasste Embeddings erzeugt und verwendet werden. So kann bspw. das Embedding eine Darstellung aus einer Zwischenschicht eines computerbasierten Maschinenlernmoduls enthalten oder aus dieser ermittelt werden. Das kann hilfreich sein, da die Unterschiede in den Vektoren der Embeddings Unterschiede in den durch die computerbasierten Maschinenlernmodule prozessierten Informationen widerspiegeln können. Das Berechnen von Abständen basierend auf dieser Information kann aussagekräftiger sein für die Frage, ob z.B. die Daten eines Trainings-Datensatzes in einem Test-Datensatz adäquat repräsentiert sind, als Abstände oder andere Vergleiche der Daten selbst. Zudem kann in manchen Fällen die Verarbeitung der niedrigerdimensionalen Vektoren erheblich schneller und/oder ressourcensparender sein als die Verarbeitung der Daten selbst. In manchen Situationen kann das Embedding um Größenordnungen kleiner sein als die Daten selbst, was deren Verarbeitung entsprechend beschleunigen und/oder ressourcensparend gestalten kann. Beide Faktoren können in manchen Fällen zusammenwirken, so dass eine aussagekräftige und effiziente Beurteilung einer gegenseitigen Abdeckung zweier Datensätze möglich wird.Second, the embeddings of the techniques of the present disclosure can be chosen flexibly and have more meaningfulness than other information in determining the distances of the data of the data sets. For example, it is possible that the vector of the embedding is generated both based on the useful information of a datum (e.g. the image data) and meta information of the datum (e.g. human-readable labels). In addition, customized embeddings can be created and used for various questions. For example, the embedding can contain a representation from an intermediate layer of a computer-based machine learning module or be determined from this. This can be helpful as the differences in the vectors of the embeddings can reflect differences in the information processed by the computer-based machine learning modules. Calculating distances based on this information can be more meaningful in determining whether, for example, the data from a training dataset is adequately represented in a test dataset than distances or other comparisons of the data themselves. In addition, in some cases, processing the lower-dimensional Vectors can be significantly faster and/or more resource-efficient than processing the data itself. In some situations, the embedding can be orders of magnitude smaller than the data itself, which can correspondingly speed up its processing and/or make it resource-efficient. In some cases, both factors can interact so that a meaningful and efficient assessment of mutual coverage of two data sets becomes possible.

Drittens können unter Benutzung eines auf der Verteilung von Embeddings ermittelten Abstände von Daten der Datensätze augmentiert werden, um eine durch zu niedrige Abdeckung (z.B. Fehlstellen in den Daten eines Datensatzes) möglicherweise erzeugten Probleme zu vermeiden. Wiederum kann das in manchen Fällen durch die Verwendung der Embeddings erleichtert werden, weil die Embeddings für die Leistungsfähigkeit des computerbasierten Maschinenlernmoduls relevante Merkmale in manchen Situationen besser und/oder klarer widerspiegeln können als die Daten selbst. Die unzureichende Abdeckung im Raum der Embeddings kann somit in manchen Fällen aussagekräftiger sein für das Vorliegen eines Problems als anhand der Daten selbst ermittelte Abdeckungen.Thirdly, using a data spacing determined on the distribution of embeddings, the data sets can be augmented in order to avoid problems that may be caused by insufficient coverage (e.g. gaps in the data of a data set). Again, this can be facilitated in some cases by using the embeddings, because in some situations the embeddings can reflect features relevant to the performance of the computer-based machine learning module better and/or more clearly than the data itself. The insufficient coverage in space of the embeddings can thus be explained in In some cases, be more predictive of the presence of a problem than coverage determined from the data itself.

Einige Begriffe werden in der vorliegenden Offenbarung in bestimmter Weise verwendet.Some terms are used in a specific manner in this disclosure.

Ein „computerbasiertes Maschinenlernmodul“ ist in der vorliegenden Offenbarung jede Vorrichtung, die mittels maschinellen Lernens für eine oder mehrere Aufgaben trainiert werden kann oder wurde. Im Rahmen eines Trainings können dem computerbasierten Maschinenlernmodul Trainingsdaten als Eingabedaten zugeführt und die Eigenschaften des computerbasierten Maschinenlernmodul in Antwort auf die Verarbeitung der Trainingsdaten (bspw. durch eine Analyse der Ausgabedaten) angepasst werden, um die einen oder mehreren Aufgaben in einer definierten Weise (z.B. mit einer bestimmten Genauigkeit) zu lösen. Ein computerbasiertes Maschinenlernmodul kann ein Modell enthalten, das die Form einer Prozessierung der jeweiligen Eingangsdaten zu Ausgangsdaten bestimmt. Das Modell kann parametrisiert sein, wobei die Parameter des computerbasierten Maschinenlernmoduls beim Lernen festgelegt werden. Computerbasierte Maschinenlernmodule können (künstliche) neuronale Netze umfassen (z.B. faltende und/oder rekurrente und/oder tiefe neuronale Netze - erstere werden üblicherweise als CNNs und RNNs bezeichnet), sind aber nicht auf diese beschränkt. Computerbasierte Maschinenlernmodule können für verschiedene Aufgaben eingerichtet (und ggf. trainiert sein). Z.B. kann ein computerbasiertes Maschinenlernmodul eine Klassifikations-Aufgabe oder eine Regressions-Aufgabe ausführen. Computerbasierte Maschinenlernmodule können in jeder geeigneten Form implementiert werden, d.h., in Software, in dedizierter Hardware oder in einer Mischform aus Software und dedizierter Hardware. Daher kann ein computerbasiertes Maschinenlernmodul ein Software-Modul sein (auch in ein übergeordnetes Software-System integriert), dass auf einem Universalprozessor ausgeführt werden kann. In anderen Fällen kann ein computerbasiertes Maschinenlernmodul (zumindest teilweise) schaltungstechnisch implementiert sein.A “computer-based machine learning module” in the present disclosure is any device that can be or has been trained to perform one or more tasks using machine learning. As part of a training, the computer-based machine learning module can be supplied with training data as input data and the properties of the computer-based machine learning module can be adjusted in response to the processing of the training data (e.g. by analyzing the output data) in order to perform the one or more tasks in a defined way (e.g. with a certain accuracy). A computer-based machine learning module can contain a model that determines the form of processing the respective input data into output data. The model may be parameterized, where the parameters of the computer-based machine learning module are fixed during learning. Computer-based machine learning modules can include (artificial) neural networks (e.g. convolutional and/or recurrent and/or deep neural networks - the former are commonly referred to as CNNs and RNNs referred to), but are not limited to these. Computer-based machine learning modules can be set up (and possibly trained) for various tasks. For example, a computer-based machine learning module can perform a classification task or a regression task. Computer-based machine learning modules can be implemented in any suitable form, ie, in software, in dedicated hardware, or in a hybrid of software and dedicated hardware. Therefore, a computer-based machine learning module can be a software module (also integrated into a higher-level software system) that can be executed on a general-purpose processor. In other cases, a computer-based machine learning module may be implemented (at least in part) in circuitry.

Ein „Embedding“ repräsentiert in der vorliegenden Offenbarung ein Datum nach einer bestimmten Vorschrift durch einen Vektor niedrigerer Dimensionalität als das jeweilige Datum. Ein Embedding ist also eine Repräsentation des jeweiligen Datums in einem Raum niedrigerer Dimensionalität als ein Raum, in dem die Daten selbst dargestellt werden können. Der Begriff Embedding sagt aus, dass das jeweilige Datum in den Raum niedrigerer Dimensionalität eingebettet ist, d.h. mittels der bestimmten Vorschrift in diesen Raum transformiert oder projiziert wird. An die bestimmte Vorschrift sind keine weiteren Anforderungen gerichtet. In manchen Beispielen ist die bestimmte Vorschrift das Verarbeiten eines Datums mit einem computerbasierten Maschinenlernmodul, wobei die Embeddings aus dem computerbasierten Maschinenlernmoduls ausgelesen werden (bspw. als eine Mehrzahl von Aktivierungen und/oder Ausgaben von Einheiten des computerbasierten Maschinenlernmoduls). Beispielsweise kann ein Bild-Datum, das 1024x2048 Bildpunkte enthält, wobei jeder Bildpunkt drei Farbwerte mit 16 Bit Farbtiefe aufweist, durch ein Embedding mit 100 Elementen repräsentiert sein (z.B. die Aktivierungswerte an einer bestimmten Stelle eines neuronalen Netzes). Zusätzliche Aspekte der Natur und Erzeugung der Embeddings werden weiter unten besprochen.In the present disclosure, an “embedding” represents a datum according to a specific regulation by a vector of lower dimensionality than the respective datum. An embedding is therefore a representation of the respective date in a space with a lower dimensionality than a space in which the data itself can be represented. The term embedding states that the respective datum is embedded in the space of lower dimensionality, i.e. it is transformed or projected into this space by means of the specific rule. No other requirements are directed to the specific regulation. In some examples, the particular rule is processing a datum with a computer-based machine learning module, wherein the embeddings are read from the computer-based machine learning module (e.g., as a plurality of activations and/or outputs from units of the computer-based machine learning module). For example, an image datum containing 1024x2048 pixels, each pixel having three color values with a color depth of 16 bits, can be represented by an embedding with 100 elements (e.g. the activation values at a specific point in a neural network). Additional aspects of the nature and creation of the embeddings are discussed below.

Der Begriff „Vektor“ beschreibt in der vorliegenden Offenbarung eine geordnete Folge von Elementen (z.B. zehn oder mehr Elemente oder fünfzig oder mehr Elemente oder 100 oder mehr Elemente). Ein Element kann bspw. eine reelle Zahl, eine ganze Zahl oder eine natürliche Zahl sein. Ein Vektor kann in verschiedenen Formen dargestellt und/oder abgespeichert werden. Z.B. sind die Einträge einer Matrix mit mehreren Zeilen und Spalten ein Vektor, da die Inhalte eine geordnete Folge von Elementen enthalten. Gleiches gilt für eine Liste von Tupeln (z.B. die einer Rangnummer oder einem Identifizierer einem Element zuordnet).The term "vector" in the present disclosure describes an ordered sequence of elements (e.g. ten or more elements, or fifty or more elements, or 100 or more elements). For example, an element can be a real number, an integer, or a natural number. A vector can be displayed and/or saved in various forms. For example, the entries in a matrix with multiple rows and columns are a vector because the contents contain an ordered sequence of elements. The same applies to a list of tuples (e.g. that assigns a rank number or an identifier to an element).

Ein „Test-Datensatz“ ist gemäß der vorliegenden Offenbarung eine Sammlung von einer Mehrzahl von Daten, die zum Testen eines computerbasierten Maschinenlernmoduls geeignet und ausgewählt sind. Wie erwähnt werden die Elemente des Datensatzes als Daten (Einzahl Datum) bezeichnet. Je nach Natur des zu testenden computerbasierten Maschinenlernmoduls können die Daten einer Test-Datensatzes ein oder mehrere Label enthalten. So kann jedes Datum eines Test-Datensatzes mit Bilddaten ein Einzelbild (oder ein Ausschnitt daraus) oder ein Video enthalten. Metainformationen und andere dem einzelnen Datum zugeordneten Informationen (z.B. Labels) werden als Teil des Datums bezeichnet. Der Teil des Datums, der von dem computerbasierten Maschinenlernmodul im Rahmen seiner Ausführung prozessiert wird, wird als Nutzinformation bezeichnet (z.B. die Bildinformation in einem Bilddatum).A "test data set" according to the present disclosure is a collection of a plurality of data suitable and selected for testing a computer-based machine learning module. As mentioned, the elements of the dataset are referred to as data (singular date). Depending on the nature of the computer-based machine learning module to be tested, the data in a test data set can contain one or more labels. Each datum of a test data set with image data can contain a single image (or a section from it) or a video. Meta information and other information associated with the individual datum (e.g. labels) are referred to as part of the datum. The part of the datum that is processed by the computer-based machine learning module as part of its execution is referred to as useful information (e.g. the image information in an image datum).

Ein „Trainings-Datensatz“ ist gemäß der vorliegenden Offenbarung eine Sammlung von einer Mehrzahl von Daten, die zum Training eines computerbasierten Maschinenlernmoduls geeignet und ausgewählt sind. Für den Trainingsdatensatz gilt im Übrigen das für Test-Datensätze gesagte gleichsam.According to the present disclosure, a “training dataset” is a collection of a plurality of data suitable and selected for training a computer-based machine learning module. Incidentally, what was said for test data sets also applies to the training data set.

Der Begriff „Datenbank“ umfasst in der vorliegenden Offenbarung jedes System, in dem Daten (z.B. Daten eines Test- und/oder Trainings-Datensatzes) gespeichert und bereitgestellt werden können. Eine Datenbank kann jedwede physikalische Implementierung haben (z.B. über mehrere Orte verteilt sein).In the present disclosure, the term "database" encompasses any system in which data (e.g. data of a test and/or training data set) can be stored and made available. A database can have any physical implementation (e.g. distributed across multiple locations).

Figurenlistecharacter list

  • 1 ist ein Flussdiagramm, dass die Verfahren der vorliegenden Offenbarung illustriert. 1 FIG. 12 is a flow chart illustrating the methods of the present disclosure.
  • 2 zeigt schematisch ein System zur Durchführung der Techniken der vorliegenden Offenbarung. 2 FIG. 12 schematically shows a system for performing the techniques of the present disclosure.
  • 3 zeigt schematisch eine Technik zum Erzeugen von Embeddings gemäß der vorliegenden Offenbarung. 3 FIG. 12 schematically shows a technique for creating embeddings according to the present disclosure.
  • 4 ist eine schematische Darstellung der Abstände von Embeddings des ersten Datensatzes von Embeddings des zweiten Datensatzes. 4 12 is a schematic representation of the distances between embeddings of the first dataset and embeddings of the second dataset.

Detaillierte BeschreibungDetailed description

Zunächst wird anhand von 1 und 2 ein Überblick über die Techniken der vorliegenden Offenbarung gegeben. Danach wird das Erzeugen der Embeddings in Bezug auf 3 genauer erläutert. Schließlich folgt anhand von 4 eine Diskussion der Techniken zum Verwenden der mittels der Techniken der vorliegenden Offenbarung gewonnen Prüfinformation. Zuletzt werden einige konkrete Anwendungen der computerbasierten Maschinenlernmodule der vorliegenden Offenbarung vorgestellt.First, based on 1 and 2 an overview of the techniques of the present disclosure is provided. After that, the creation of the embeddings in relation to 3 explained in more detail. Finally follows with the help of 4 a discussion of techniques for using the techniques obtained using the techniques of the present disclosure test information. Finally, some concrete applications of the computer-based machine learning modules of the present disclosure are presented.

1 ist ein Flussdiagramm, dass die Verfahren der vorliegenden Offenbarung illustriert. 1 zeigt in drei verschiedenen Spalten ein Verfahren zum Erzeugen der Embeddings 110 (links), ein Verfahren zum Überprüfen von Test- und/oder Trainings-Datensätzen für ein computerbasiertes Maschinenlernmodul 120 (Mitte) und ein Verfahren zur Verwendung der ermittelten Prüfinformation 130 (rechts). 1 FIG. 12 is a flow chart illustrating the methods of the present disclosure. 1 shows in three different columns a method for generating the embeddings 110 (left), a method for checking test and/or training data sets for a computer-based machine learning module 120 (middle) and a method for using the determined test information 130 (right).

Ein computer-implementiertes Verfahren zum Überprüfen von Test- und/oder Trainings-Datensätzen für ein computerbasiertes Maschinenlernmodul. Das Verfahren umfasst Empfangen 121 eines ersten Embeddings für ein Datum eines ersten Test- und/oder Trainings Datensatzes (auch kurz als „erster Datensatz“ bezeichnet) für ein computerbasiertes Maschinenlernmodul. Ein Embedding repräsentiert ein Datum nach einer bestimmten Vorschrift durch einen Vektor niedrigerer Dimensionalität als das jeweilige Datum. In manchen Beispielen kann das erste Embedding durch einen Benutzer ausgewählt werden.A computer-implemented method for checking test and/or training data sets for a computer-based machine learning module. The method includes receiving 121 a first embedding for a datum of a first testing and/or training dataset (also referred to as “first dataset” for short) for a computer-based machine learning module. An embedding represents a datum according to a specific rule by a vector with a lower dimensionality than the datum in question. In some examples, the first embedding can be selected by a user.

Das Verfahren umfasst weiterhin Ermitteln 122 Ermitteln eines oder mehrerer Abstände von einem oder mehreren Embeddings eines zweiten Test- und/oder Trainings-Datensatzes (auch kurz als „zweiter Datensatz“ bezeichnet) von dem ersten Embedding des ersten Test- und/oder Trainings-Datensatze.The method further includes determining 122 determining one or more distances of one or more embeddings of a second test and/or training dataset (also referred to as “second dataset” for short) from the first embedding of the first test and/or training dataset .

In manchen Beispielen umfasst das Ermitteln eines oder mehrerer Abstände Verwendung eines Datenmodells für die Embeddings des zweiten Test- und/oder Trainings-Datensatzes, um die einen oder mehrere Abstände von dem ersten Embedding des ersten Test- und/oder Trainings-Datensatzes zu ermitteln. Das Datenmodell kann ein knn-Graph, k-nearest-neighbors-Graph, sein oder jedes andere Datenmodell, das geeignet ist, die benötigten Abstände zwischen Embeddings der ersten und zweiten Datensätze zu ermitteln (und ggf. eine Anzahl von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings).In some examples, determining one or more distances includes using a data model for the embeddings of the second testing and/or training dataset to determine the one or more distances from the first embedding of the first testing and/or training dataset. The data model can be a knn graph, k-nearest-neighbors graph, or any other data model that is suitable for determining the required distances between embeddings of the first and second datasets (and possibly a number of embeddings of the second dataset in an environment of the first embedding).

Das Ermitteln der einen oder mehreren Abstände kann eine Analyse einer Umgebung des ersten Embeddings (d.h., in einem Teil-Raum des Raums des Embeddings mit vorbestimmten maximalen Erstreckungen um das erste Embedding) in dem Raum der Embeddings des zweiten Datensatzes umfassen. Zum Beispiel kann eine Dichte von Embeddings in der Umgebung des ersten Embeddings ermittelt werden. Die Dichte kann kleiner oder größer sein, abhängig von einer Anzahl von Embeddings des zweiten Datensatzes in der Umgebung des ersten Datensatzes (zum Beispiel kann eine Dichte null sein, wenn in der Umgebung des ersten Datensatzes keine Embeddings des zweiten Datensatzes zu finden sind). Wie zu erkennen ist, entspricht eine Analyse der Umgebung des ersten Embeddings (z.B. einer Dichte von Embeddings) dem Ermitteln eines oder mehrerer Abstände von Embeddings des zweiten Datensatzes, da zumindest implizit die Abstände der Embeddings des zweiten Datensatzes ermittelt werden. Wird zum Beispiel erkannt, dass eine Dichte von Embeddings des zweiten Datensatzes in der Umgebung des ersten Embeddings einen bestimmten Wert hat, bedeutet das, dass die entsprechenden Abstände der Embeddings des zweiten Datensatzes bestimmte Werte annehmen. Die Operation des „Ermittelns der einen oder mehreren Abstände“ ist also nicht auf die explizite Berechnung eines Abstandsmaßes beschränkt.Determining the one or more distances may include an analysis of a neighborhood of the first embedding (i.e., in a sub-space of the embedding's space with predetermined maximum extents around the first embedding) in the embedding's space of the second data set. For example, a density of embeddings in the vicinity of the first embedding can be determined. The density may be smaller or larger depending on a number of embeddings of the second dataset in the vicinity of the first dataset (e.g. a density may be zero if no embeddings of the second dataset are found in the vicinity of the first dataset). As can be seen, an analysis of the environment of the first embedding (e.g. a density of embeddings) corresponds to determining one or more distances from embeddings of the second data set, since the distances between the embeddings of the second data set are determined at least implicitly. If, for example, it is recognized that a density of embeddings of the second dataset in the vicinity of the first embedding has a specific value, this means that the corresponding distances between the embeddings of the second dataset assume specific values. The operation of "determining the one or more distances" is therefore not limited to the explicit calculation of a distance measure.

Dementsprechend ist ein Abstand zwischen zwei Embeddings (nur) in manchen Beispielen ein mittels einer geeigneten Abstandsmetrik ermitteltes explizites Abstandsmaß. Beispielsweise können Abstände zwischen den Vektoren der zwei Embeddings berechnet werden. In anderen Beispielen wird ein Abstand implizit bei der Berechnung einer anderen Größe (z.B. Dichte von Embeddings) ermittelt. Ein Abstand kann nachprozessiert werden, z.B. durch die Aggregation mehrerer Abstände zu mehreren Embeddings des zweiten Datensatzes.Accordingly, a distance between two embeddings is (only) in some examples an explicit distance measure determined using a suitable distance metric. For example, distances between the vectors of the two embeddings can be calculated. In other examples, a distance is determined implicitly when calculating another quantity (e.g. density of embeddings). A distance can be post-processed, e.g. by aggregating several distances into several embeddings of the second data set.

In manchen Beispielen können die ein oder mehreren Embeddings des zweiten Test- und/oder Trainings-Datensatzes die nächsten Nachbarn des ersten Embeddings des ersten Test- und/oder Trainings-Datensatzes in dem zweiten Test- und/oder Trainings-Datensatzes sein (d.h. in dem Raum der Embeddings). In anderen Worten, das Verfahren umfasst Bestimmen einer oder mehrerer nächster Nachbarn (z.B. einen nächsten Nachbarn, fünf oder mehr nächste Nachbarn oder zehn oder mehr nächste Nachbarn). Alternativ oder zusätzlich können die ein oder mehreren Embeddings des zweiten Test- und/oder Trainings-Datensatzes die Embeddings sein, die in einer bestimmten Umgebung (d.h., in einem Teil-Raum des Raums des Embeddings mit vorbestimmten maximalen Erstreckungen um das erste Embedding) des ersten Embeddings liegen. Auch in diesem Fall werden Nachbarn des ersten Embedding unter den zweiten Embeddings ermittelt. Eine Anzahl von nächsten Nachbarn unter den Embeddings des zweiten Datensatzes, deren Abstände zu dem ersten ermittelt wird, kann in manchen Beispielen benutzerdefiniert sein.In some examples, the one or more embeddings of the second testing and/or training dataset may be the nearest neighbors of the first embedding of the first testing and/or training dataset in the second testing and/or training dataset (i.e., in the room of the embeddings). In other words, the method includes determining one or more nearest neighbors (e.g., one nearest neighbor, five or more nearest neighbors, or ten or more nearest neighbors). Alternatively or additionally, the one or more embeddings of the second test and/or training dataset can be the embeddings that are in a specific environment (i.e., in a sub-space of the space of the embedding with predetermined maximum extents around the first embedding) of the first embeddings lie. In this case too, neighbors of the first embedding are determined under the second embeddings. A number of nearest neighbors among the embeddings of the second dataset whose distances to the first are determined may be user-defined in some examples.

Das Verfahren umfasst zudem Ausgeben 123 von Prüfinformation für den zweiten Test- und/oder Trainings-Datensatz basierend auf den ermittelten einen oder mehreren Abständen. Die Prüfinformation kann die ein oder mehreren Abstände (oder einen daraus errechneten Kennwert) umfassen (ggf. nach einem oder mehreren Verarbeitungsschritten). Zum Beispiel kann die Prüfinformation einen Mittelwert, einen Minimalwert und/oder einen Maximalwert der Abstände der einen oder mehreren Embeddings des zweiten Datensatzes von dem Embedding des ersten Datensatzes umfassen. In manchen Beispielen umfasst die Prüfinformation einen maximalen Abstand der ein oder mehreren Embeddings des zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding des ersten Test- und/oder Trainings-Datensatzes (z.B. einen maximalen Abstand von einem oder mehrerer nächster Nachbarn des ersten Embeddings unter den Embeddings des zweiten Datensatzes). Zusätzlich oder alternativ kann in manchen Beispielen die Prüfinformation einen minimalen Abstand der ein oder mehreren Embeddings des zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding des ersten Test- und/oder Trainings-Datensatzes umfassen (z.B. einen minimalen Abstand von einem oder mehrerer nächster Nachbarn des ersten Embeddings unter den Embeddings des zweiten Datensatzes). Die Prüfinformation kann zusätzlich oder alternativ auch Informationen zu einer Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings umfassen.The method also includes outputting 123 test information for the second test and/or training data set based on the determined ten one or more distances. The test information can include the one or more distances (or a characteristic value calculated therefrom) (possibly after one or more processing steps). For example, the check information can include an average value, a minimum value and/or a maximum value of the distances of the one or more embeddings of the second data set from the embedding of the first data set. In some examples, the test information includes a maximum distance of the one or more embeddings of the second test and/or training data set from the first embedding of the first test and/or training data set (e.g. a maximum distance of one or more nearest neighbors of the first embeddings under the embeddings of the second record). Additionally or alternatively, in some examples, the test information may include a minimum distance of the one or more embeddings of the second test and/or training data set from the first embedding of the first test and/or training data set (e.g. a minimum distance of one or several nearest neighbors of the first embedding among the embeddings of the second dataset). The check information can additionally or alternatively also include information about a density of embeddings of the second data set in an area surrounding the first embedding.

Die Prüfinformation kann verschiedene Formate annehmen. Ein Format der Prüfinformation kann davon abhängen, wie die Prüfinformation weiterverwendet werden soll. In manchen Beispielen wird die Prüfinformation an einen Benutzer ausgegeben. In diesem Fall kann die Prüfinformation in einem menschenlesbaren Format ausgegeben werden. In anderen Beispielen kann die Prüfinformation automatisiert verarbeitet werden. In diesem Fall kann die Prüfinformation in einem maschinenlesbaren Format ausgegeben werden.The verification information can take various formats. A format of the check information can depend on how the check information is to be used further. In some examples, the verification information is provided to a user. In this case, the check information can be output in a human-readable format. In other examples, the verification information can be processed in an automated manner. In this case, the test information can be output in a machine-readable format.

In manchen Beispielen umfasst das Verfahren Erstellen eines Datenmodells aus den Embeddings des zweiten Test- und/oder Trainings-Datensatzes (z.B. ein knn-Graph, k-nearest-Neighbors-Graph), das für die Ermittlung der ein oder mehreren Abstände geeignet ist.In some examples, the method includes creating a data model from the embeddings of the second test and/or training data set (e.g., a knn graph, k-nearest neighbors graph) suitable for determining the one or more distances.

In manchen Beispielen ist der erste Test- und/oder Trainings-Datensatz ein Trainings-Datensatz und der zweite Test- und/oder Trainings-Datensatz ein Test-Datensatz. Es ist aber auch denkbar, dass sowohl der erste als auch der zweite Test- und/oder Trainings-Datensatz ein Trainings-Datensatz sind oder dass sowohl der erste als auch der zweite Test- und/oder Trainings-Datensatz ein Test-Datensatz sind.In some examples, the first testing and/or training dataset is a training dataset and the second testing and/or training dataset is a testing dataset. However, it is also conceivable that both the first and the second test and/or training data record are a training data record or that both the first and the second test and/or training data record are a test data record.

In manchen Beispielen ist der erste Datensatz ein Trainings-Datensatz für ein computerbasiertes Maschinenlernmodul und der zweite Datensatz ein Test-Datensatz für ein computerbasiertes Maschinenlernmodul.In some examples, the first data set is a training data set for a computer-based machine learning module and the second data set is a testing data set for a computer-based machine learning module.

In diesen Beispielen kann das Verfahren weiter Feststellen 131 umfassen, dass ein oder mehrere Test-Daten nicht ausreichend in dem Trainings-Datensatz repräsentiert sind basierend auf der Prüfinformation. In anderen Worten kann anhand der Prüfinformation ermittelt werden, ob in dem Trainings-Datensatz Daten fehlen. In manchen Fällen kann das Feststellen umfassen, eine in der Prüfinformation enthaltene Information zu den Abständen zu analysieren. Zum Beispiel kann geprüft werden, ob ein oder mehrere Abstände (z.B. ein maximaler Abstand oder ein mittlerer Abstand) ein vorbestimmtes Kriterium erfüllen. Das vorbestimmte Kriterium kann sein, dass die ein oder mehreren Abstände (z.B. ein maximaler Abstand oder ein mittlerer Abstand) größer als ein bestimmter Schwellwert sind. Zum Beispiel kann ermittelt werden, ob ein maximaler Abstand von ein oder mehreren nächsten Nachbarn des ersten Embeddings größer als ein bestimmter Schwellwert ist. In anderen Beispielen kann die Prüfinformation Informationen zu einer Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings enthalten. In diesen Beispielen kann das vorbestimmte Kriterium sein, dass eine Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings niedriger als eine vorbestimmte Dichte ist. Erfüllen die ein oder mehrere Abstände und/oder die Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings das vorbestimmte Kriterium, kann festgestellt werden, dass in dem Trainings-Datensatz Daten fehlen.In these examples, the method may further include determining 131 that one or more test data is not adequately represented in the training data set based on the test information. In other words, the test information can be used to determine whether data is missing in the training data set. In some cases, the determining may include analyzing distance information contained in the verification information. For example, it can be checked whether one or more distances (e.g. a maximum distance or an average distance) meet a predetermined criterion. The predetermined criterion may be that the one or more distances (e.g., a maximum distance or an average distance) are greater than a certain threshold. For example, it may be determined whether a maximum distance from one or more nearest neighbors of the first embedding is greater than a certain threshold. In other examples, the check information may include information about a density of embeddings of the second dataset in a neighborhood of the first embedding. In these examples, the predetermined criterion may be that a density of embeddings of the second dataset in a vicinity of the first embedding is lower than a predetermined density. If the one or more distances and/or the density of embeddings of the second dataset in a vicinity of the first embedding meet the predetermined criterion, it can be determined that data is missing in the training dataset.

Zusätzlich oder alternativ kann das Verfahren weiter Feststellen 131 umfassen, dass ein oder mehrere Test-Daten den Daten des Trainings-Datensatzes zu ähnlich sind basierend auf der Prüfinformation. In manchen Fällen kann das Feststellen umfassen, eine in der Prüfinformation enthaltene Information zu den Abständen zu analysieren. Zum Beispiel kann geprüft werden, ob ein oder mehrere Abstände (z.B. ein minimaler Abstand oder ein mittlerer Abstand) ein vorbestimmtes Kriterium erfüllen. Das vorbestimmte Kriterium kann sein, dass die ein oder mehreren Abstände (z.B. ein minimaler Abstand oder ein mittlerer Abstand) kleiner als ein bestimmter Schwellwert sind. Zum Beispiel kann ermittelt werden, ob ein minimaler Abstand von ein oder mehreren nächsten Nachbarn des ersten Embeddings kleiner als ein bestimmter Schwellwert ist. In anderen Beispielen kann die Prüfinformation Informationen zu einer Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings enthalten. In diesen Beispielen kann das vorbestimmte Kriterium sein, dass eine Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings höher als eine vorbestimmte Dichte ist. Erfüllen die ein oder mehrere Abstände und/oder die Dichte von Embeddings des zweiten Datensatzes in einer Umgebung des ersten Embeddings das vorbestimmte Kriterium, kann festgestellt werden, dass ein oder mehrere Test-Daten den Daten des Trainings-Datensatzes zu ähnlich sind.Additionally or alternatively, the method may further include determining 131 that one or more test data is too similar to the data of the training data set based on the test information. In some cases, the determining may include analyzing distance information contained in the verification information. For example, it can be checked whether one or more distances (eg a minimum distance or an average distance) meet a predetermined criterion. The predetermined criterion may be that the one or more distances (eg, a minimum distance or an average distance) are less than a certain threshold. For example, it can be determined whether a minimum distance from one or more nearest neighbors of the first embedding is less than a certain threshold. In other examples, the check information may include information about a density of embeddings of the second dataset in a neighborhood of the first embedding. In these examples, the predetermined criterion may be that a density of embeddings of the second dataset in a vicinity of the first embedding is higher than a predetermined density. If the one or more distances and/or the density of embeddings of the second dataset in a neighborhood of the first embedding meet the predetermined criterion, it can be determined that one or more test datasets are too similar to the data of the training dataset.

In anderen Beispielen ist der erste Datensatz ein Test-Datensatz für ein computerbasiertes Maschinenlernmodul und der zweite Datensatz ein Trainings-Datensatz für ein computerbasiertes Maschinenlernmodul. In diesen Beispielen kann das Verfahren weiter Feststellen 131 umfassen, dass ein oder mehrere Trainings-Daten nicht ausreichend in dem Test-Datensatz repräsentiert sind basierend auf der Prüfinformation. In anderen Worten kann anhand der Prüfinformation ermittelt werden, ob in dem Test-Datensatz Daten fehlen. Die im letzten Absatz diskutierten Möglichkeiten zum Ausgestalten des Feststellens können in diesem Fall angewendet werden. Die Verfahren zum Feststellen 131 einer zu großen Ähnlichkeit basierend auf der Prüfinformation können ebenso verwendet werden.In other examples, the first data set is a test data set for a computer-based machine learning module and the second data set is a training data set for a computer-based machine learning module. In these examples, the method may further include determining 131 that one or more training data sets are not adequately represented in the test data set based on the testing information. In other words, the test information can be used to determine whether data is missing in the test data set. The options for designing the determination discussed in the last paragraph can be used in this case. The methods of determining 131 too much similarity based on the check information can also be used.

In manchen Beispielen können die Abstände approximiert werden (z.B. eine Dimensionalität der Embeddings kann reduziert werden und/oder eine Verteilung der Embeddings kann approximiert werden).In some examples, the distances can be approximated (e.g., a dimensionality of the embeddings can be reduced and/or a distribution of the embeddings can be approximated).

In manchen Beispielen umfasst das Verfahren zudem Empfangen eines oder mehrerer weiterer Embeddings für Daten des ersten Test- und/oder Trainings Datensatzes, Ermitteln eines oder mehrerer weiterer Abstände von einem oder mehreren Embeddings des zweiten Test- und/oder Trainings-Datensatzes von den einen oder mehreren weiteren Embeddings des ersten Test- und/oder Trainings-Datensatzes Ausgeben von Prüfinformation für den zweiten Test- und/oder Trainings-Datensatz basierend auf den ermittelten einen oder mehreren weiteren Abständen. In manchen Beispielen können also Abstände für eine Mehrzahl (z.B. für alle) Embeddings des ersten Test- und/oder Trainings-Datensatzes von entsprechenden Embeddings des zweiten Test- und/oder Trainings-Datensatzes ermittelt werden und die Prüfinformation basierend auf den so ermittelten Abständen ausgeben werden.In some examples, the method also includes receiving one or more further embeddings for data of the first test and/or training data set, determining one or more further distances of one or more embeddings of the second test and/or training data set from the one or several further embeddings of the first test and/or training data set outputting test information for the second test and/or training data set based on the determined one or more further distances. In some examples, distances for a plurality (e.g. for all) embeddings of the first test and/or training data set can be determined from corresponding embeddings of the second test and/or training data set and the test information can be output based on the distances determined in this way become.

In manchen Beispielen kann das Verfahren Erzeugen 110 der Embeddings für das erste Datum und ggf. weitere Embeddings des ersten Test- und/oder Trainings-Datensatzes und/oder die Embeddings des zweiten Test- und/oder Trainings-Datensatzes umfassen (dazu mehr in Bezug auf 3). In anderen Beispielen können die Embeddings aus einer Embedding-Datenbank ausgelesen werden (d.h., die Embeddings wurden zu einem früheren Zeitpunkt erzeugt und für eine spätere Verwendung in der Datenbank gespeichert).In some examples, the method may include generating 110 the embeddings for the first datum and possibly further embeddings of the first test and/or training data set and/or the embeddings of the second test and/or training data set (more on this in relation to on 3 ). In other examples, the embeddings may be read from an embedding database (ie, the embeddings were previously created and stored in the database for later use).

2 zeigt schematisch ein System 20 zur Durchführung der Techniken der vorliegenden Offenbarung. Das System 20 ist in diesem Beispiel in eine Bearbeitungseinheit 21 und eine Ausgabeschnittstelle 22 unterteilt. 2 FIG. 1 schematically shows a system 20 for performing the techniques of the present disclosure. In this example, the system 20 is divided into a processing unit 21 and an output interface 22 .

Die Daten des ersten Test- und/oder Trainings-Datensatzes können in einer ersten Datenbank 23 gespeichert sein. Die Daten des zweiten Test- und/oder Trainings-Datensatzes können in einer zweiten Datenbank 24 gespeichert sein. Eine Verarbeitungseinheit 25 ist mit den ersten und zweiten Datenbanken 23, 24 gekoppelt. Die Verarbeitungseinheit kann ein erste Untereinheit 26 aufweisen, die aus den Test- und/oder Trainings-Datensätzen die jeweiligen ersten und zweiten Embeddings berechnet. In anderen Beispielen können die ersten und zweiten Embeddings in einer Embedding-Datenbank (nicht in 2 gezeigt) abgelegt sein. Die Verarbeitungseinheit kann zudem eine zweite Untereinheit 27 aufweisen, die dazu ausgelegt ist, die ersten und zweiten Embeddings zu empfangen und ein oder mehrere Abstände des ersten Embeddings des ersten Test- und/oder Trainings-Datensatzes von Embeddings des zweiten Test- und/oder Trainings-Datensatzes zu berechnen (und ggf. weitere Schritte durchzuführen). Eine ermittelte Prüfinformation kann über die Ausgabeschnittstelle 22 ausgegeben werden.The data of the first test and/or training data record can be stored in a first database 23 . The data of the second test and/or training data record can be stored in a second database 24 . A processing unit 25 is coupled to the first and second databases 23,24. The processing unit can have a first sub-unit 26, which calculates the respective first and second embeddings from the test and/or training data sets. In other examples, the first and second embeddings can be stored in an embedding database (not in 2 shown) must be filed. The processing unit may also have a second sub-unit 27 configured to receive the first and second embeddings and one or more offsets of the first embedding of the first test and/or training dataset from embeddings of the second test and/or training dataset -Calculate the data set (and carry out further steps if necessary). An item of test information that has been determined can be output via the output interface 22 .

Die Aufteilung gemäß 2 ist nur beispielhaft. Generell betrifft die vorliegende Offenbarung jedes System, dass dazu ausgelegt ist, dazu ausgelegt ist, die Verfahren nach gemäß der vorliegenden Offenbarung auszuführen (z.B. ein Stand-Alone-System oder ein verteiltes System). Das System kann in jeder geeigneten Hardwareumgebung implementiert sein. In manchen Beispielen umfasst das System einen Speicher, der Anweisungen zur Ausführung der Schritte der Verfahren der vorliegenden Offenbarung enthält und einen Prozessor, der ausgelegt ist, die Anweisungen in dem Speicher auszuführen (ein Prozessor und ein Speicher sind hierbei nicht auch eine einzelne physikalische Komponente beschränkt.The division according to 2 is just an example. In general, the present disclosure relates to any system configured to perform the methods according to the present disclosure (eg, a stand-alone system or a distributed system). The system can be implemented in any suitable hardware environment. In some examples, the system includes a memory containing instructions for performing the steps of the methods of the present disclosure and a processor configured to execute the instructions in the memory (a processor and a memory are not limited to a single physical component .

In der Folge wird die Natur und das Erzeugen der Embeddings genauer beschrieben. 3 zeigt schematisch eine Technik 30 zum Erzeugen von Embeddings gemäß der vorliegenden Offenbarung.The nature and creation of the embeddings is described in more detail below. 3 FIG. 3 schematically shows a technique 30 for creating embeddings according to the present disclosure.

In manchen Beispielen kann das Verfahren das Erzeugen des ersten Test- und/oder Trainings-Datensatzes und des zweiten Test- und/oder Trainings-Datensatzes durch Filtern von umfassenderen Datensätzen, die die ersten und zweiten Test- und/oder Trainings-Datensätze beinhalten, umfassen. In manchen Beispielen kann das Filtern Daten der umfassenderen Datensätze mit bestimmten Merkmalen umfassen (z.B. Bilddaten mit bestimmten Inhalten).In some examples, the method may include generating the first testing and/or training dataset and the second testing and/or training dataset by filtering larger Data sets containing the first and second test and/or training data sets include. In some examples, the filtering may include data from the broader datasets with certain characteristics (eg, image data with certain content).

In manchen Beispielen können die Vektoren der Embeddings zumindest teilweise (d.h., der komplette Vektor oder nur ein Teil des Vektors) durch Verarbeiten des jeweiligen Datums durch ein computerbasiertes Maschinenlernmodul erzeugt werden. In anderen Worten wird ein Datum eines Test- und/oder Trainings-Datensatzes in ein computerbasiertes Maschinenlernmodul geschickt und durch dieses prozessiert. Bei dieser Prozessierung anfallende Werte können den Vektor des jeweiligen Embeddings bilden (ggf. nach entsprechenden Nachprozessierungsschritten). Das computerbasierte Maschinenlernmodul zur Erzeugung der Embeddings kann dem computerbasierten Maschinenlernmodul entsprechen (z.B. mit diesem identisch sein), für das die ersten und zweiten Test- und/oder Trainingsdatensätze bestimmt sind. In anderen Beispielen kann das computerbasiertes Maschinenlernmodul zur Erzeugung der Embeddings ein von dem computerbasierten Maschinenlernmodul, für das die ersten und zweiten Test- und/oder Trainingsdatensätze bestimmt sind, unterschiedliches computerbasiertes Maschinenlernmodul sein. Die Embeddings können Aktivierungswerte von Einheiten und/oder Ausgabewerte von Einheiten des jeweiligen computerbasierten Maschinenlernmoduls beim Verarbeiten des jeweiligen Datums durch das computerbasierte Maschinenlernmodul umfassen (ggf. nach entsprechenden Nachprozessierungsschritten). Zum Beispiel kann das computerbasierte Maschinenlernmodul zur Erzeugung der Embeddings ein faltendes neuronales Netz („CNN“) umfassen. Die Embeddings können dann aus den Daten von Filtern (d.h. Einheiten) des faltenden neuronalen Netzes erzeugt werden.In some examples, the vectors of the embeddings may be generated at least in part (i.e., the complete vector or only part of the vector) by processing the respective datum through a computer-based machine learning module. In other words, a piece of data from a test and/or training data set is sent to and processed by a computer-based machine learning module. Values arising during this processing can form the vector of the respective embedding (possibly after appropriate post-processing steps). The computer-based machine learning module for generating the embeddings can correspond to (e.g. be identical to) the computer-based machine learning module for which the first and second test and/or training data sets are intended. In other examples, the computer-based machine learning module for generating the embeddings can be a different computer-based machine learning module than the computer-based machine learning module for which the first and second test and/or training data sets are intended. The embeddings can include activation values of units and/or output values of units of the respective computer-based machine learning module when the respective data item is processed by the computer-based machine learning module (possibly after corresponding post-processing steps). For example, the computer-based machine learning module for generating the embeddings may include a convolutional neural network ("CNN"). The embeddings can then be generated from the data from filters (i.e. units) of the convolutional neural network.

In manchen Beispielen können die Aktivierungswerte von Einheiten und/oder Ausgabewerte von Einheiten des jeweiligen computerbasierten Maschinenlernmoduls beim Verarbeiten des jeweiligen Datums und/oder die Embeddings nachprozessiert werden (z.B. mittels einer Aktivierungs-Aggregation und/oder Normalisierung). In 3 ist ein Nachprozessierungs-Modul 34 gezeigt, in dem diese Schritte stattfinden können.In some examples, the activation values of units and/or output values of units of the respective computer-based machine learning module can be post-processed when processing the respective data and/or the embeddings (eg by means of an activation aggregation and/or normalization). In 3 a post-processing module 34 is shown in which these steps can take place.

Alternativ oder zusätzlich können die Vektoren der Embeddings zumindest teilweise (d.h., der komplette Vektor oder nur ein Teil des Vektors) durch Verarbeiten des jeweiligen Datums durch ein anderes computerbasiertes Modul als ein computerbasiertes Maschinenlernmodul erzeugt werden. Zum Beispiel können Werte aus einem computerbasierten Modul zum Erkennen von Kanten- oder Eckfällen („edge cases“ oder „corner cases“) verwendet werden zur Erzeugung der Embeddings.Alternatively or additionally, the vectors of the embeddings may be generated at least in part (i.e., the complete vector or only part of the vector) by processing the respective datum by a computer-based module other than a computer-based machine learning module. For example, values from a computer-based edge or corner case detection module may be used to generate the embeddings.

In allen Beispielen kann sich in dem Embedding ein durch Verarbeiten des jeweiligen Datums durch ein computerbasiertes Maschinenlernmodul (oder eines anderen computerbasierten Moduls) Eigenschaften widerspiegeln, die dem Datum innewohnen, wenn es „durch die Brille“ des jeweiligen computerbasiertes Maschinenlernmoduls gesehen wird. Dadurch kann ein Abstand (also ein Unterschied), der unter Verwendung der Embeddings berechnet wird, in manchen Fällen aussagekräftiger sein als Abstände (oder Unterschiede) der Daten selbst. Die mittels der Techniken der vorliegenden Offenbarung berechneten Abstandsmaße können daher in manchen Fällen eine verbesserte Aussage darüber erlauben, ob ein Embedding und damit ein Datum des ersten Datensatzes in dem zweiten Datensatz ausreichend repräsentiert ist, um z.B. ein aussagekräftiges Testen eines trainierten computerbasiertes Maschinenlernmoduls zu gewährleisten.In all examples, the processing of the particular datum by a computer-based machine learning module (or another computer-based module) may reflect in the embedding properties inherent in the datum when viewed "through the glasses" of the particular computer-based machine learning module. As a result, a distance (i.e., difference) calculated using the embeddings can in some cases be more meaningful than distances (or differences) of the data itself. The distance measures calculated using the techniques of the present disclosure can therefore in some cases be more meaningful about whether an embedding and thus a date of the first data set is sufficiently represented in the second data set, e.g. to ensure meaningful testing of a trained computer-based machine learning module.

In manchen Beispielen können die Embeddings auch auf Teilen eines Datums des jeweiligen Test- und/oder Trainings-Datensatzes ermittelt werden (z.B. auf Bildausschnitten oder Teilbildern im Falle von Bilddaten oder auf Teilen von Zeitreihen im Falle von Zeitreihendaten).In some examples, the embeddings can also be determined on parts of a datum of the respective test and/or training data set (e.g. on image sections or sub-images in the case of image data or on parts of time series in the case of time series data).

In 3 sind mehrere beispielhafte computerbasierte Maschinenlernmodule 33 zum Erzeugen der Embeddings 35, 37 gezeigt (wobei jeweils nur eines oder eine Auswahl der computerbasierten Maschinenlernmodule zum Erzeugen der Embeddings verwendet wird). Die Daten des ersten oder zweiten Test- und/oder Trainingsdatensatzes werden aus einer Test- und/oder Trainingsdatenbank 31 dem jeweiligen computerbasierten Maschinenlernmodul 33 zugeführt (Schritt 111 in 1). Die Embeddings 35 (bzw. die Elemente deren Vektoren) können aus dem jeweiligen computerbasierten Maschinenlernmodul 33 gewonnen werden, wenn die Daten des ersten oder zweiten Test- und/oder Trainingsdatensatzes prozessiert werden (z.B. als Aktivierungswerte von Einheiten und/oder Ausgabewerte von Einheiten, ggf. nach einem oder mehreren Nachprozessierungsschritten) (Schritt 112 in 1).In 3 1, several exemplary computer-based machine learning modules 33 are shown for creating the embeddings 35, 37 (each using only one or a selection of the computer-based machine learning modules for creating the embeddings). The data of the first or second test and/or training data record is fed from a test and/or training database 31 to the respective computer-based machine learning module 33 (step 111 in 1 ). The embeddings 35 (or the elements of their vectors) can be obtained from the respective computer-based machine learning module 33 when the data of the first or second test and/or training data set is processed (e.g. as activation values of units and/or output values of units, possibly . after one or more post-processing steps) (step 112 in 1 ).

In manchen Beispielen kann das computerbasierte Maschinenlernmodul 33 zum Erzeugen der Embeddings ein mit einem Datensatz, der dem ersten und/oder zweiten Test- und/oder Trainingsdatensatz entspricht, trainiertes computerbasiertes Maschinenlernmodul sein. Das computerbasierte Maschinenlernmodul 33 kann zur Lösung derselben Aufgabe trainiert sein, wie das computerbasierte Maschinenlernmodul, für das die ersten und/oder zweiten Test- und/oder Trainingsdatensätze bestimmt sind.In some examples, the computer-based machine learning module 33 for generating the embeddings may be a computer-based machine learning module trained with a data set corresponding to the first and/or second test and/or training data set. The computer-based machine learning module 33 can be trained to solve the same task as the computer-based machine learning module for which the first and/or second test and/or training data sets are determined.

In anderen Beispielen kann das computerbasierte Maschinenlernmodul 33 zum Erzeugen der Embeddings ein computerbasiertes Maschinenlernmodul sein, das für eine Teilaufgabe der Aufgabe, für die das computerbasierte Maschinenlernmodul, für das die ersten und/oder zweiten Test- und/oder Trainingsdatensätze bestimmt sind, trainiert ist. Zum Beispiel kann ein computerbasiertes Maschinenlernmodul zum Erkennen spezieller Merkmale in den Daten trainiert sein (wobei das computerbasierte Maschinenlernmodul, für das die ersten und/oder zweiten Test- und/oder Trainingsdatensätze bestimmt sind, zum Erkennen dieser Merkmale und anderer Merkmale und/oder zum Lösen einer Aufgabe, für die das Erkennen der speziellen Merkmale notwendig ist, ausgelegt ist).In other examples, the computer-based machine learning module 33 for generating the embeddings can be a computer-based machine learning module that is trained for a subtask of the task for which the computer-based machine learning module for which the first and/or second test and/or training data sets are intended. For example, a computer-based machine learning module may be trained to recognize specific features in the data (wherein the computer-based machine learning module for which the first and/or second test and/or training data sets are intended for recognizing those features and other features and/or solving a task for which recognition of the special features is necessary).

In anderen Beispielen kann das computerbasierte Maschinenlernmodul 33 zum Erzeugen der Embeddings das computerbasierte Maschinenlernmodul sein (z.B. eine Kopie dessen), für das die ersten und/oder zweiten Test- und/oder Trainingsdatensätze bestimmt sind.In other examples, the computer-based machine learning module 33 for creating the embeddings may be (e.g., a copy of) the computer-based machine learning module for which the first and/or second test and/or training data sets are intended.

In wieder anderen Beispielen kann das computerbasierte Maschinenlernmodul einen Autoencoder (zum Beispiel einen Variational Autoencoder) enthalten. Die Embeddings können hierbei aus einer Zwischenschicht des Autoencoders erzeugt werden, wenn ein jeweiliges Datum verarbeitet wird (z.B. einer Schicht, die einer latente Repräsentation eines (Eingangs-)Datums darstellt).In still other examples, the computer-based machine learning module may include an autoencoder (e.g., a variational autoencoder). The embeddings can be generated from an intermediate layer of the autoencoder when a respective datum is processed (e.g. a layer that represents a latent representation of an (input) datum).

Alternativ oder zusätzlich können in manchen Beispielen die Embeddings durch Nutzung eines Datums selbst erzeugt werden (d.h. die Nutzinformationen und/oder Metainformationen). In manchen Beispielen kann das Datum ein oder mehrere Vorprozessierungsschritte durchlaufen.Alternatively or additionally, in some examples, the embeddings may be generated using a datum itself (i.e., the payload and/or meta-information). In some examples, the datum may go through one or more pre-processing steps.

In einem konkreten Beispiel sind die Daten Bilddaten. Bspw. kann ein Bilddatum durch eine Anzahl von Bildpunkten dargestellt werden (z.B. N * M Bildpunkte, wobei N und M natürliche Zahlen, z.B. größer als 50, sind). Für jeden Punkt können nun ein oder mehr Elemente (z.B. C Elemente, wobei C eine natürliche Zahl ist, z.B. ein Grauwert und/oder ein oder mehrere Farbwerte) gegeben sein. Das Bild kann somit als Vektor mit N* M * C Elementen gesehen werden. Der Vektor eines Embeddings kann nun E-dimensional sein (d.h., E Elemente aufweisen, wobei E eine natürliche Zahl ist). In manchen Fällen ist E kleiner als N* M * C. Der Vektor eines Embeddings kann nun durch Verarbeiten des Bilddatums durch ein computerbasiertes Maschinenlernmodul zur Bildverarbeitung erzeugt werden (z.B. basierend auf Aktivierungen und/oder Ausgaben von Einheiten des computerbasierten Maschinenlernmoduls zur Bildverarbeitung). Das Bilddatum wird nun durch einen E-dimensionalen Vektor repräsentiert.In a specific example, the data is image data. For example, an image datum can be represented by a number of pixels (e.g. N * M pixels, where N and M are natural numbers, e.g. greater than 50). One or more elements (e.g. C elements, where C is a natural number, e.g. a gray value and/or one or more color values) can now be given for each point. The image can thus be seen as a vector with N*M*C elements. The vector of an embedding can now be E-dimensional (that is, have E elements, where E is a natural number). In some cases, E is less than N* M * C. The vector of an embedding can now be generated by processing the image datum by an image processing computer-based machine learning module (e.g. based on activations and/or outputs from units of the image processing computer-based machine learning module). The image datum is now represented by an E-dimensional vector.

Alternativ oder zusätzlich können die Vektoren der Embeddings 37 zumindest teilweise (d.h., der komplette Vektor oder nur ein Teil des Vektors) basierend auf Metainformationen des jeweiligen Datums des Test- und/oder Trainings-Datensatzes erzeugt werden. In manchen Beispielen umfassen die Metainformationen menschenlesbare Informationen, die das jeweilige Datum beschreiben. Die Metainformationen können diskrete oder kontinuierliche Werte annehmen. Die Metainformation wird in der vorliegenden Offenbarung als Teil eines jeweiligen Datums angesehen. Das heißt allerdings nicht (ist jedoch möglich), dass die Metainformation zwangsläufig zusammen mit den Nutzinformationen des Datums gespeichert sind (z.B. in einer Datenstruktur). Vielmehr ist die Metainformation lediglich dem Datum zugeordnet. Dieselbe Metainformation kann in manchen Beispielen mehreren Daten zugeordnet sein. In 3 ist eine Datenbank für die Metainformationen 32 gezeigt.Alternatively or additionally, the vectors of the embeddings 37 can be generated at least partially (ie the complete vector or only part of the vector) based on meta information of the respective date of the test and/or training data set. In some examples, the meta information includes human-readable information that describes the particular datum. The meta information can take on discrete or continuous values. In the present disclosure, the meta information is regarded as part of a respective data item. However, this does not mean (although it is possible) that the meta information is necessarily stored together with the useful information of the datum (e.g. in a data structure). Rather, the meta information is only assigned to the date. The same meta information may be associated with multiple pieces of data in some examples. In 3 a database for the meta information 32 is shown.

Die Metainformationen können beispielsweise Parameterwerte enthalten, die die Nutzinformation des jeweiligen Datums charakterisieren. In manchen Beispielen können eine oder mehrere Eigenschaften der Nutzinformation des Datums parametrisch charakterisiert werden (z.B. Kontrast, Saturierung, Helligkeit, und/oder Bildfrequenzen für Bilddaten). Die Parameterwerte können sich auf Teile der Nutzinformation beziehen (z.B. ein fester Ausschnitt eines Bilddatums oder eine semantische Region).The meta information can contain, for example, parameter values that characterize the useful information of the respective date. In some examples, one or more properties of the datum payload may be parametrically characterized (e.g., contrast, saturation, brightness, and/or frame rates for image data). The parameter values can relate to parts of the useful information (e.g. a fixed section of an image datum or a semantic region).

Alternativ oder zusätzlich können die Metainformationen ein oder mehrere Informationen umfassen die einen Inhalt des jeweiligen Datums und/oder einen Kontext beschreiben. Zum Beispiel können die ein oder mehreren Informationen einen Datenerhebungsprozess beschreiben (z.B. Typ eines Sensors, mit dem das Datum erhoben wurde, geografische Information und/oder Zeitstempel). Zusätzlich oder alternativ können die ein oder mehreren Informationen den Inhalt des jeweiligen Datums durch eine Klassifikation in zwei oder mehr Klassen beschreiben. Zusätzlich oder alternativ können die ein oder mehreren Informationen den Inhalt des jeweiligen Datums durch eine Angabe beschreiben, ob ein spezifischer Inhalt in den Nutzinformationen des jeweiligen Datums enthalten ist.Alternatively or additionally, the meta information can include one or more pieces of information that describe a content of the respective date and/or a context. For example, the one or more pieces of information may describe a data collection process (e.g., type of sensor used to collect the date, geographic information, and/or timestamp). In addition or as an alternative, the one or more items of information can describe the content of the respective datum through a classification into two or more classes. Additionally or alternatively, the one or more items of information can describe the content of the respective date by specifying whether a specific content is contained in the useful information of the respective date.

Zusätzlich oder alternativ können die Metainformationen Label für die Nutzinformation des jeweiligen Datums umfassen.Additionally or alternatively, the meta information can include labels for the useful information of the respective date.

In einem Beispiel von Bilddaten können die Metainformationen z.B. eine Tageszeit einer Aufnahme eines Bilddatums (z.B. Tag/Nacht) geografische Informationen zum Bilddatum, Domänen Informationen zu dem Bilddatum (z.B. draußen/innen), Informationen zu der Perspektive, aus der das Bilddatum aufgenommen wurde,
Kameraeigenschaften, und/oder spezifische Bildinhalte (z.B. Existenz von bestimmten Objekten wie Fußgängern, Autos, ...) umfassen.
In an example of image data, the meta information can be, for example, a time of day of an on Taking a picture datum (e.g. day/night) Geographical information about the picture datum Domains Information about the picture datum (e.g. outside/inside) Information about the perspective from which the picture datum was taken
Camera properties and / or specific image content (e.g. existence of specific objects such as pedestrians, cars, ...) include.

In manchen Fällen wird der Vektor eines Embeddings ausschließlich basierend auf den Nutzinformation eines jeweiligen Datums (z.B. den Bilddaten) erzeugt. Alternativ kann der Vektor eines Embeddings ausschließlich basierend auf den Metainformationen eines jeweiligen Datums erzeugt werden. In wieder anderen Beispielen kann der Vektor eines Embeddings 35, 37 teilweise basierend auf den Nutzinformation eines jeweiligen Datums (z.B. die Bilddaten) und teilweise basierend auf den Metainformationen eines jeweiligen Datums erzeugt werden. Diese Art von Embeddings wird in der Folge auch als kombinierte Embeddings bezeichnet. In manchen Beispielen kann ein kombiniertes durch Verkettung eines ersten (Teil-)Vektors, der basierend auf den Nutzinformationen eines Datums und eines zweiten (Teil-)Vektors, der basierend auf den Metainformationen eines Datums erzeugt wurde, generiert werden.In some cases, the vector of an embedding is generated solely based on the useful information of a given datum (e.g. the image data). Alternatively, the vector of an embedding can be generated solely based on the meta information of a given datum. In still other examples, the vector of an embedding 35, 37 may be generated based in part on a particular datum's payload (e.g., the image data) and based in part on a particular datum's meta-information. This type of embedding is also referred to below as combined embedding. In some examples, a combined may be generated by concatenating a first (partial) vector generated based on the payload of a datum and a second (partial) vector generated based on the meta information of a datum.

In einem Beispiel von Bilddaten kann, wie oben beschrieben, ein Teil des Embeddings, der basierend auf den Nutzinformationen erzeugt wird, durch einen E-dimensionalen Vektor dargestellt werden (d.h., E Elemente aufweisen, wobei E eine natürliche Zahl ist). Ein weiterer Teil des Embeddings, der basierend auf den Metainformationen erzeugt wird, kann durch einen F-dimensionalen Vektor dargestellt werden (d.h., F Elemente aufweisen, wobei F eine natürliche Zahl ist). Der kombinierte Vektor entsteht durch Verkettung des E-dimensionalen und des F-dimensionalen Vektors. Z.B. kann der F-dimensionale Vektor einen Wert für die Helligkeit und einen Wert für die Sättigung des Bilddatums enthalten.In an example of image data, as described above, a portion of the embedding generated based on the payload may be represented by an E-dimensional vector (i.e., having E elements, where E is a natural number). Another part of the embedding that is generated based on the meta-information can be represented by an F-dimensional vector (i.e., have F elements, where F is a natural number). The combined vector is created by concatenating the E-dimensional and F-dimensional vectors. For example, the F-dimensional vector may contain a value for the lightness and a value for the saturation of the image datum.

In anderen Beispielen kann ein kombiniertes Embedding basierend auf den Nutzinformation eines jeweiligen Datums (z.B. den Bilddaten) erzeugt werden, die aber auf zwei oder mehr verschiedenen Weisen verarbeitet und in dem kombinierten Embedding kombiniert werden. Zum Beispiel kann ein erster Teil des Vektors eines Embeddings mittels eines ersten computerbasierten Maschinenlernmoduls (z.B. eines der oben genannten computerbasierten Maschinenlernmodule) und ein zweiter Teil des Vektors eines Embeddings mittels eines zweiten computerbasierten Maschinenlernmoduls (z.B. eines anderen der oben genannten computerbasierten Maschinenlernmodule) erzeugt werden (wobei die oben beschriebenen Verfahren eingesetzt werden können).In other examples, a combined embedding may be generated based on each datum's payload (e.g., the image data), but processed in two or more different ways and combined in the combined embedding. For example, a first part of the vector of an embedding can be generated by means of a first computer-based machine learning module (e.g. one of the above computer-based machine learning modules) and a second part of the vector of an embedding can be generated by means of a second computer-based machine learning module (e.g. another of the above computer-based machine learning modules) ( the methods described above can be used).

Die Verwendung von kombinierten Embeddings kann eine Aussagekraft die ermittelten Abstände in manchen Fällen (weiter) erhöhen. Die Metainformation kann Unterschiede zwischen zwei Datensätzen klarer zu Tage treten lassen als die (verarbeiteten) Nutzinformation allein. So können Bilder, die bei Tag aufgenommen werden durch einen Helligkeitswert oder ein entsprechendes Label üblicherweise leicht von solchen unterschieden werden, die bei Nacht aufgenommen wurden. Diese Unterscheidung kann dagegen in den durch ein computerbasiertes Maschinenlernmodul prozessierten Daten weniger klar hervortreten.The use of combined embeddings can (further) increase the significance of the determined distances in some cases. The meta information can reveal differences between two data sets more clearly than the (processed) useful information alone. Thus, images that are captured during the day can usually be easily distinguished from those that were captured at night by a brightness value or a corresponding label. In contrast, this distinction may be less clear in the data processed by a computer-based machine learning module.

In manchen Beispielen können die ermittelten Embeddings einem oder mehreren Nachprozessierungsschritten unterzogen werden (z.B. in Modul 36). In manchen Beispielen können zwei oder mehr Embeddings zusammengefasst werden (z.B. durch eine Aggregation, eine Mittelwertbildung und/oder eine ähnliche Operation). Die Embeddings können zusätzlich oder alternativ normalisiert werden.In some examples, the determined embeddings can be subjected to one or more post-processing steps (e.g. in module 36). In some examples, two or more embeddings may be combined (e.g., through an aggregation, averaging, and/or similar operation). The embeddings can be normalized additionally or alternatively.

Zusätzlich oder alternativ können in manchen Beispielen die Embeddings (bzw. die Vektoren) verkürzt werden (d.h. eine Dimensionalität der Vektoren kann verkleinert werden). Dafür kann eine oder mehrere der folgenden Techniken eingesetzt werden. In manchen Beispielen kann eine Korrelationsanalyse der Elemente der Embeddings durchgeführt werden. Sind zwei oder mehr Elemente der Embeddings stärker als mit einem bestimmten Grenzwert korreliert, so kann eine Teilemenge der korrelierten Elemente als Repräsentant ausgewählt werden (z.B. eines der Elemente). Die anderen Elemente der Teilemenge können gestrichen werden, um so die Vektoren der Embeddings zu verkürzen. Zusätzlich oder alternativ kann in manchen Beispielen eine Sensitivitätsanalyse durchgeführt werden, um ein oder mehrere Elemente der Embedding zu identifizieren, die für eine Leistungsfähigkeit des computerbasierten Maschinenlernmoduls den geringsten Einfluss haben. Diese Elemente können aus den Embeddings gestrichen werden, um so die Vektoren der Embeddings zu verkürzen.Additionally or alternatively, in some examples, the embeddings (or the vectors) can be shortened (i.e. a dimensionality of the vectors can be reduced). One or more of the following techniques can be used for this. In some examples, a correlation analysis of the elements of the embeddings can be performed. If two or more elements of the embeddings are correlated more than a certain threshold value, a subset of the correlated elements can be selected as a representative (e.g. one of the elements). The other elements of the subset can be deleted in order to shorten the vectors of the embeddings. Additionally or alternatively, in some examples, a sensitivity analysis may be performed to identify one or more elements of the embedding that have the least impact on a performance of the computer-based machine learning module. These elements can be removed from the embeddings to shorten the embedding vectors.

In manchen Beispielen umfassen die Techniken der vorliegenden Offenbarung zudem
Prüfen, ob die Embeddings ein vorbestimmtes Qualitätskriterium erfüllen (Schritt 113 in 1). Wenn die Embeddings das vorbestimmte Qualitätskriterium nicht erfüllen, kann eine Warnung vor falschen Ergebnissen erfolgen und/oder eine Nicht-Berücksichtigung von Embeddings, die das vorbestimmtes Qualitätskriterium nicht erfüllen bei der Berechnung der Abstände und/oder der Erstellung des Datenmodells für den zweiten Datensatz. In manchen Fällen kann das Prüfen Ermitteln eines Verlustwerts bei der Verarbeitung der zu den Embeddings gehörenden Daten durch ein computerbasiertes Maschinenlernmodul, mit dem die Vektoren der Embeddings zumindest teilweise erzeugt werden, beinhalten (d.h. ein Verlustwert pro Datum). Zum Beispiel kann, wenn das computerbasierte Computermodul, für das die ersten und zweiten Trainings- und/oder Testdatensätze bestimmt sind, zum Erzeugen der Embeddings (oder Teilen davon) verwendet wird, um durch die Ermittlung eines Trainingsverlustes (beim Erzeugen von Embeddings aus Trainingsdaten) Daten und zugehörige Embeddings identifiziert werden, die durch das computerbasierte Computermodul nicht adäquat repräsentiert werden (z.B. ein Trainingsverlust liegt über einer bestimmten Schwelle). Alternativ kann bei der Nutzung eines Autoencoders für das Erzeugen der Vektoren der Embeddings (oder Teilen davon) durch die Ermittlung eines Wiederherstellungs-Verlusts Daten und zugehörige Embeddings identifiziert werden, die durch den Autoencoder nicht adäquat repräsentiert werden (z.B. ein Wiederherstellungs-Verlust eines Datums liegt über einer bestimmten Schwelle). Das Verfahren kann umfassen, die identifizierten Embeddings zu entfernen und/oder eine Angabe zu einer Menge der Daten/Embeddings, die identifiziert wurden, an einen Nutzer auszugeben.
In some examples, the techniques of the present disclosure also include
Check whether the embeddings meet a predetermined quality criterion (step 113 in 1 ). If the embeddings do not meet the predetermined quality criterion, a warning of incorrect results can be given and/or embeddings that do not meet the predetermined quality criterion can be disregarded when calculating the distances and/or creating the data model for the second dataset. In some cases, the checking can include determining a loss value in processing the data associated with the embeddings through computer-based machine learning module with which the vectors of the embeddings are at least partially generated (ie one loss value per data item). For example, if the computer-based computing module for which the first and second training and/or test data sets are intended is used to generate the embeddings (or parts thereof), by determining a training loss (when generating embeddings from training data) Data and associated embeddings are identified that are not adequately represented by the computer-based computer module (e.g. a training loss is above a certain threshold). Alternatively, when using an autoencoder to generate the vectors of the embeddings (or parts thereof) by determining a recovery loss, data and associated embeddings can be identified that are not adequately represented by the autoencoder (e.g. a recovery loss of a datum is located above a certain threshold). The method may include removing the identified embeddings and/or providing an indication to a user of a set of the data/embeddings that have been identified.

Die mittels der oben genannten Verfahren erzeugten Embeddings in einer Embedding-Datenbank 38 gespeichert werden (aus der sie z.B. zur Ermittlung von Abständen und/oder der Erstellung eines Datenmodells gemäß den Verfahren der vorliegenden Offenbarung ausgelesen werden können).The embeddings generated using the above methods are stored in an embedding database 38 (from which they can be read, e.g., to determine distances and/or create a data model according to the methods of the present disclosure).

Die mittels der Techniken der vorliegenden Offenbarung ermittelte und ausgegebene Prüfinformation kann in manchen Beispielen in einer oder mehrerer der folgenden Arten verwendet werden.The audit information determined and output using the techniques of the present disclosure may, in some examples, be used in one or more of the following ways.

In manchen Beispielen kann die ermittelte Prüfinformation an eine Mensch-Maschine-Schnittstelle ausgegeben werden. Damit kann einem Nutzer ermöglicht werden, die Ergebnisse der Verfahren zum Überprüfen von Test- und/oder Trainings-Datensätzen für ein computerbasiertes Maschinenlernmodul gemäß der vorliegenden Offenbarung in Augenschein zu nehmen (und ggf. weitere Maßnahmen einzuleiten). In manchen Beispielen kann die Prüfinformation zudem Visualisierungen der Abstände zwischen Embeddings der ersten und zweiten Datensätze umfassen (z.B. über eine Mensch-Maschine-Schnittstelle, bspw. eine grafische Benutzeroberfläche). 4 ist eine schematische Darstellung von Prüfinformation 400 in der Form von Verteilungen von Abständen (z.B. maximalen Abständen). Eine erster Teil 410 der Verteilung kann Embeddings (und somit Daten) des ersten Test- und/oder Trainings-Datensatzes enthalten, zu denen unter den Embeddings des zweiten Test- und/oder Trainings-Datensatzes Embeddings mit geringeren Abständen existieren (Anzahl der auf der y-Achse aufgetragen und maximaler Abstand auf der x-Achse aufgetragen). Diese ersten Embeddings können als in dem zweiten Test- und/oder Trainings-Datensatzes ausreichend repräsentiert erkannt werden. Eine zweiter Teil 420 der Verteilung kann Embeddings (und somit Daten) des ersten Test- und/oder Trainings-Datensatzes enthalten, zu denen unter den Embeddings des zweiten Test- und/oder Trainings-Datensatzes Embeddings mit höheren Abständen existieren. Diese ersten Embeddings können als in dem zweiten Test- und/oder Trainings-Datensatzes als nicht ausreichend repräsentiert erkannt werden.In some examples, the determined test information can be output to a human-machine interface. A user can thus be enabled to view the results of the methods for checking test and/or training data sets for a computer-based machine learning module according to the present disclosure (and, if necessary, to initiate further measures). In some examples, the verification information can also include visualizations of the distances between embeddings of the first and second data sets (eg via a human-machine interface, eg a graphical user interface). 4 12 is a schematic representation of verification information 400 in the form of distributions of distances (eg, maximum distances). A first part 410 of the distribution can contain embeddings (and thus data) of the first test and/or training data set, for which embeddings with smaller distances exist under the embeddings of the second test and/or training data set (number of on the plotted on the y-axis and maximum distance plotted on the x-axis). These first embeddings can be recognized as sufficiently represented in the second test and/or training data set. A second part 420 of the distribution may contain embeddings (and thus data) of the first test and/or training data set, to which embeddings with higher distances exist under the embeddings of the second test and/or training data set. These first embeddings can be identified as being insufficiently represented in the second test and/or training data set.

Zusätzlich oder alternativ können die Verfahren Erkennen des zweiten Test- und/oder Trainings-Datensatzes als valide umfassen 124, wenn die Prüfinformation (z.B. die Abstände und/oder die Dichte) ein vorbestimmtes Kriterium erfüllt (z.B., wenn wie oben festgestellt wurde, dass in dem zweiten Test- und/oder Trainings-Datensatzes Daten fehlen). In anderen Worten kann eine Validierung des zweiten Test- und/oder Trainings-Datensatzes automatisch (d.h. ohne Nutzereinwirkung) erfolgen. Wie oben beschrieben, kann sich das vorbestimmte Kriterium aus der verwendeten Prüfinformation ergeben. In manchen Beispielen (z.B. bei Verwendung eines Abstandmaßes) kann ein größerer Wert eine schlechtere Repräsentation des ersten Embeddings (und somit des zugehörigen Datums) in dem zweiten Datensatz signalisieren. In diesem Fall kann das vorbestimmte Kriterium einen oberen Grenzwert definieren. In anderen Beispielen kann ein großer Wert eine bessere Repräsentation des ersten Embeddings (und somit des zugehörigen Datums) in dem zweiten Datensatz signalisieren. In diesem Fall kann das vorbestimmte Kriterium einen unteren Grenzwert definieren. Wenn ein Test- und/oder Trainings-Datensatz als valide erkannt wurde, kann der Test- und/oder Trainings-Datensatzes zur Verwendung zum Testen- oder Trainieren des computerbasierten Maschinenlernmoduls freigegeben werden (wiederum automatisch oder durch einen Nutzer).Additionally or alternatively, the method can include recognizing the second test and/or training data set as valid 124 if the test information (e.g. the distances and/or the density) meets a predetermined criterion (e.g. if it has been determined as above that in the second test and/or training data set is missing data). In other words, the second test and/or training data set can be validated automatically (i.e. without user intervention). As described above, the predetermined criterion can result from the test information used. In some examples (e.g. when using a distance measure), a larger value may signal a poorer representation of the first embedding (and thus the associated datum) in the second record. In this case, the predetermined criterion can define an upper limit value. In other examples, a large value may signal a better representation of the first embedding (and thus its datum) in the second record. In this case, the predetermined criterion can define a lower limit value. If a test and/or training data set has been recognized as valid, the test and/or training data set can be released (again automatically or by a user) for use in testing or training the computer-based machine learning module.

Wenn ein Test- und/oder Trainings-Datensatz als nicht valide erkannt wurde, kann der Test- und/oder Trainings-Datensatzes für die Verwendung zum Testen- oder Trainieren des computerbasierten Maschinenlernmoduls gesperrt werden (wiederum automatisch oder durch einen Nutzer). Zusätzlich oder alternativ können die hierin beschriebenen Augmentationsverfahren durchgeführt werden.If a test and/or training data set is determined to be invalid, the test and/or training data set may be blocked (again automatically or by a user) from being used to test or train the computer-based machine learning module. Additionally or alternatively, the augmentation procedures described herein may be performed.

Die vorliegende Offenbarung betrifft auch Verfahren zum Erzeugen eines augmentierten Test- und/oder Trainings-Datensatzes für ein für ein computerbasiertes Maschinenlernmodul (siehe Schritt 132 in 1). Das Verfahren umfasst Überprüfen eines Test- und/oder Trainings-Datensatzes mittels eines Verfahrens gemäß der vorliegenden Offenbarung und Augmentieren des Test- und/oder Trainings-Datensatzes durch Hinzufügen einer oder mehrerer Daten in den zweiten Datensatz, die in dem Test-Datensatz oder dem Trainings-Datensatz nicht ausreichend repräsentiert sind. In manchen Beispielen kann durch das Hinzufügen der ein oder mehreren Abstände von Embeddings des zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding und optional den ein oder mehreren weiteren Embeddings des ersten Test- und/oder Trainings-Datensatzes reduziert wird. (z.B. in einem iterativen und optional automatisierten Prozess). In manchen Beispielen umfasst das Verfahren weiter Bestimmen einer Veränderung der Abstände der ersten Embeddings des ersten Datensatzes von den zweiten Embeddings des zweiten Datensatzes nach Hinzufügen von Daten eines vorbestimmten Typs in den zweiten Datensatz. Wenn der Abstand zwischen Embeddings des ersten und des zweiten Datensatzes nach Hinzufügen der Daten eines vorbestimmten Typs sinkt, kann der zweite Datensatz mit weiteren Daten des vorbestimmten Typs augmentiert werden.The present disclosure also relates to methods for generating an augmented test and/or training data set for a computer-based machine learning module (see step 132 in 1 ). The method includes examining a test and/or training data set using a method according to the present disclosure and augmenting the test and/or training data nings dataset by adding one or more data to the second dataset that is not adequately represented in the test dataset or the training dataset. In some examples, adding the one or more distances of embeddings of the second test and/or training data set from the first embedding and optionally the one or more further embeddings of the first test and/or training data set can reduce. (e.g. in an iterative and optionally automated process). In some examples, the method further includes determining a change in the distances of the first embeddings of the first dataset from the second embeddings of the second dataset upon adding data of a predetermined type to the second dataset. If the distance between embeddings of the first and second data set decreases after adding the data of a predetermined type, the second data set can be augmented with further data of the predetermined type.

Die Daten des vorbestimmten Typs können in manchen Beispielen durch Translation von Nutzinformationen innerhalb einer oder mehrerer Daten der Datensätze erzeugt werden (z.B. durch Translation von Teilen von Bilddaten). Das Verfahren kann dann umfassen, zu überprüfen, ob nach dem Einfügen der durch Translation von Nutzinformationen erzeugten Daten die Abstände von Embeddings der ersten und zweiten Test- und/oder Trainingsdatensätze sinken. Zusätzlich oder alternativ können die Daten des vorbestimmten Typs in manchen Beispielen „Adversarial Samples“ (auf Deutsch „gegnerische Beispiele“) sein.The data of the predetermined type may be generated, in some examples, by translating payloads within one or more data of the data sets (e.g., by translating portions of image data). The method can then include checking whether the distances between embeddings of the first and second test and/or training data sets decrease after the insertion of the data generated by translation of useful information. Additionally or alternatively, in some examples, the data of the predetermined type may be "adversarial samples".

Zusätzlich oder alternativ können die Daten des vorbestimmten Typs aus Daten erzeugt werden (z.B. durch Interpolation), deren Embeddings in dem zweiten Datensatz Nachbarn des ersten Embeddings sind, das in dem Test-Datensatz oder dem Trainings-Datensatz nicht ausreichend repräsentiert ist.Additionally or alternatively, the data of the predetermined type may be generated (e.g. by interpolation) from data whose embeddings in the second data set are neighbors of the first embedding that is not sufficiently represented in the test data set or the training data set.

Die vorliegende Offenbarung betrifft auch Verfahren zum Testen oder Trainieren eines computerbasierten Maschinenlernmoduls (siehe Schritt 133 in 1). Das Verfahren umfasst Empfangen eines überprüften Test- und/oder Trainings-Datensatzes gemäß einem der vorliegenden Offenbarung oder eines augmentierten Test- und/oder Trainings-Datensatzes gemäß der vorliegenden Offenbarung und Testen oder Trainieren des computerbasierten Maschinenlernmoduls mit dem empfangenen Datensatz, um ein getestetes oder trainiertes Maschinenlernmodul zu erhalten.The present disclosure also relates to methods for testing or training a computer-based machine learning module (see step 133 in 1 ). The method includes receiving a verified test and/or training data set according to any one of the present disclosure or an augmented test and/or training data set according to the present disclosure and testing or training the computer-based machine learning module with the received data set to generate a tested or receive a trained machine learning module.

Die vorliegende Offenbarung betrifft auch Verfahren zum Anwenden eines computerbasierten Maschinenlernmoduls (siehe Schritt 134 in 1). Das Verfahren umfasst Bereitstellen eines getestetes oder trainiertes Maschinenlernmoduls gemäß der vorliegenden Offenbarung und Prozessieren von Anwendungsdaten durch das empfangene Maschinenlernmodul.The present disclosure also relates to methods of applying a computer-based machine learning module (see step 134 in 1 ). The method includes providing a tested or trained machine learning module according to the present disclosure and processing application data by the received machine learning module.

Wie bereits diskutiert können die computerbasierten Maschinenlernmodule für eine Vielzahl von Anwendungen ausgelegt und/oder trainiert sein.As previously discussed, the computer-based machine learning modules can be designed and/or trained for a variety of applications.

In manchen Beispielen sind die computerbasierte Maschinenlernmodule (bspw. die computerbasierten Maschinenlernmodule, für die die ersten und zweiten Datensätze bestimmt sind oder die computerbasierten Maschinenlernmodule zum Erzeugen der Embeddings) für die Bildverarbeitung ausgelegt. In diesem Beispiel können die ersten und eines zweiten Test- und/oder Trainings-Datensätze Bilddaten enthalten (z.B. Einzelbilddaten oder Videodaten). In manchen Beispielen kann das computerbasierte Maschinenlernmodul ein Bildklassifikator sein (z.B. ein Bildklassifikator, der Bilddaten pixelweise oder bereichsweise semantisch segmentiert). Basierend auf dem Klassifikationsergebnis kann eine Vorrichtung (z.B. ein Fahrzeug, ein Roboter, eine Industrieanlage, ein medizintechnisches Gerät oder ein Haushaltsgerät) überwacht und/oder gesteuert werden. Die Bilddaten können mittels verschiedener Sensoren (z.B. Kameras, Radar, Lidar, Ultraschall- oder Wärmesensoren) erzeugt werden und/oder synthetische Bilddaten umfassen.In some examples, the computer-based machine learning modules (e.g. the computer-based machine learning modules for which the first and second data sets are intended or the computer-based machine learning modules for generating the embeddings) are designed for image processing. In this example, the first and a second test and/or training data set may include image data (e.g., still image data or video data). In some examples, the computer-based machine learning module may be an image classifier (e.g., an image classifier that semantically segments image data pixel-by-pixel or region-by-region). Based on the classification result, a device (e.g. a vehicle, a robot, an industrial plant, a medical device or a household appliance) can be monitored and/or controlled. The image data can be generated using various sensors (e.g. cameras, radar, lidar, ultrasonic or thermal sensors) and/or can comprise synthetic image data.

Zusätzlich oder alternativ kann das computerbasierte Maschinenlernmodul dazu ausgelegt sein, eine Anomalie in einer Datenreihe (z.B. Sensordaten) zu detektieren. In diesem Beispiel können die ersten und eines zweiten Test- und/oder Trainings-Datensätze Datenreihen (z.B. Zeitreihen) enthalten. Die Datenreihen (z.B. Zeitreihen) können mittels verschiedener Sensoren (z.B. Kameras, Radar, Lidar, Ultraschall- oder Wärmesensoren) erzeugt werden und/oder synthetische Datenreihen (z.B. Zeitreihen) umfassen. Wiederum kann basierend auf dem Ergebnis der Anomalie-Detektion eine Vorrichtung (z.B. ein Fahrzeug, ein Roboter, eine Industrieanlage, ein medizintechnisches Gerät oder ein Haushaltsgerät) überwacht und/oder gesteuert werden (zum Beispiel in einen sicheren Zustand gebracht werden und/oder angehalten werden).Additionally or alternatively, the computer-based machine learning module may be configured to detect an anomaly in a data set (e.g., sensor data). In this example, the first and a second test and/or training data set may include data series (e.g., time series). The data series (e.g. time series) can be generated using various sensors (e.g. cameras, radar, lidar, ultrasonic or thermal sensors) and/or can comprise synthetic data series (e.g. time series). In turn, based on the result of the anomaly detection, a device (e.g., a vehicle, a robot, an industrial plant, a medical device, or a household appliance) can be monitored and/or controlled (e.g., brought into a safe state and/or stopped ).

In wieder anderen Beispielen kann das computerbasierte Maschinenlernmodul dazu ausgelegt sein, Umfeld- und/oder Zustandsdaten einer Vorrichtung (z.B. Sensordaten) zu empfangen und basierend auf den Umfeld- und/oder Zustandsdaten die Vorrichtung (z.B. ein Fahrzeug, ein Roboter, eine Industrieanlage, ein medizintechnisches Gerät oder ein Haushaltsgerät) zu steuern.In still other examples, the computer-based machine learning module can be designed to receive environment and/or status data of a device (e.g. sensor data) and based on the environment and/or status data the device (e.g. a vehicle, a robot, an industrial plant, a medical device or a household appliance).

Die Vorrichtungen können Systeme für Fahrzeuge (z.B. Systeme für das assistierte oder autonome Fahren) sein. In diesem Fall können die computerbasierten Maschinenlernmodulen in das System für Fahrzeuge integriert sein (z.B. in die Systeme für das assistierte oder autonome Fahren), um eine Funktionalität für das Fahrzeug bereitzustellenThe devices may be systems for vehicles (e.g. systems for assisted or auto nome driving). In this case, the computer-based machine learning modules can be integrated into the system for vehicles (eg, the systems for assisted or autonomous driving) to provide functionality for the vehicle

Die vorliegende Offenbarung betrifft auch ein Computer-Programm, das dazu ausgelegt ist, die Verfahren der vorliegenden Offenbarung auszuführen.The present disclosure also relates to a computer program configured to perform the methods of the present disclosure.

Die vorliegende Offenbarung betrifft auch Signal oder computer-lesbares Medium, das das Computer-Programm gemäß der vorliegenden Offenbarung codiert oder enthält.The present disclosure also relates to a signal or computer-readable medium that encodes or contains the computer program according to the present disclosure.

Claims (16)

Computer-implementiertes Verfahren zum Überprüfen von Test- und/oder Trainings-Datensätzen für ein computerbasiertes Maschinenlernmodul, umfassend: Empfangen (121) eines ersten Embeddings (35, 37) für ein Datum eines ersten Test- und/oder Trainings Datensatzes für ein computerbasiertes Maschinenlernmodul, wobei ein Embedding ein Datum nach einer bestimmten Vorschrift durch einen Vektor niedrigerer Dimensionalität als das jeweilige Datum repräsentiert; Ermitteln (122) eines oder mehrerer Abstände von einem oder mehreren Embeddings (35, 37) eines zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding des ersten Test- und/oder Trainings-Datensatzes; und Ausgeben (123) von Prüfinformation (400) für den zweiten Test- und/oder Trainings-Datensatz basierend auf den ermittelten einen oder mehreren Abständen.A computer-implemented method for checking test and/or training data sets for a computer-based machine learning module, comprising: Receiving (121) a first embedding (35, 37) for a datum of a first test and/or training data set for a computer-based machine learning module, where an embedding represents a datum according to a specific rule by a vector with a lower dimensionality than the respective datum; determining (122) one or more distances of one or more embeddings (35, 37) of a second test and/or training data set from the first embedding of the first test and/or training data set; and Outputting (123) of test information (400) for the second test and/or training data set based on the determined one or more distances. Verfahren gemäß einem der vorangehenden Anspruch 1, wobei Ermitteln eines oder mehrerer Abstände umfasst: Verwendung eines Datenmodells für die Embeddings (35, 37) des zweiten Test- und/oder Trainings-Datensatzes, um die einen oder mehrere Abstände von dem ersten Embedding (35, 37) des ersten Test- und/oder Trainings-Datensatzes zu ermitteln, optional wobei das Datenmodell ein knn-Graph, k-nearest-neighbors-Graph, ist.Method according to any of the foregoing claim 1 , wherein determining one or more distances comprises: using a data model for the embeddings (35, 37) of the second test and/or training data set in order to calculate the one or more distances from the first embedding (35, 37) of the first test and/or training data set, optionally wherein the data model is a knn graph, k-nearest-neighbors graph. Verfahren gemäß einem der vorangehenden Ansprüche 1 bis 2, wobei die Prüfinformation (400) basierend auf einem maximalen oder einem minimalen Abstand von mehreren Embeddings (35, 37) des zweiten Test- und/oder Trainings-Datensatzes von dem ersten Embedding (35, 37) des ersten Test- und/oder Trainings-Datensatzes ermittelt wird.Method according to any of the foregoing Claims 1 until 2 , wherein the test information (400) based on a maximum or a minimum distance of multiple embeddings (35, 37) of the second test and / or training data set from the first embedding (35, 37) of the first test and / or training data record is determined. Verfahren gemäß einem der vorangehenden Ansprüche 1 bis 3, wobei die ein oder mehrere Embeddings (35, 37) des zweiten Test- und/oder Trainings-Datensatzes die nächsten Nachbarn des ersten Embeddings (35, 37) des ersten Test- und/oder Trainings-Datensatzes in dem zweiten Test- und/oder Trainings-Datensatzes sind.Method according to any of the foregoing Claims 1 until 3 , wherein the one or more embeddings (35, 37) of the second test and/or training data set are the nearest neighbors of the first embedding (35, 37) of the first test and/or training data set in the second test and/or or training data set. Verfahren gemäß einem der Ansprüche 1 bis 4, wobei die Vektoren der Embeddings (35, 37) zumindest teilweise durch Verarbeiten des jeweiligen Datums durch ein computerbasiertes Maschinenlernmodul (33) erzeugt werden.Method according to one of Claims 1 until 4 , wherein the vectors of the embeddings (35, 37) are generated at least in part by processing the respective datum by a computer-based machine learning module (33). Verfahren gemäß Anspruch 5 wobei die Embeddings (35, 37) Aktivierungswerte von Einheiten und/oder Ausgabewerte von Einheiten des computerbasiertes Maschinenlernmoduls (33) beim Verarbeiten des jeweiligen Datums durch das computerbasierte Maschinenlernmodul (33) umfassen.procedure according to claim 5 wherein the embeddings (35, 37) comprise activation values of units and/or output values of units of the computer-based machine learning module (33) when the respective data item is processed by the computer-based machine learning module (33). Verfahren gemäß einem der Ansprüche 1 bis 6, wobei die Vektoren der Embeddings (35, 37) zumindest teilweise basierend auf Metainformationen des jeweiligen Datums des Test- und/oder Trainings-Datensatzes erzeugt werden, optional wobei die Metainformationen menschenlesbare Informationen umfassen, die das jeweilige Datum beschreiben.Method according to one of Claims 1 until 6 , wherein the vectors of the embeddings (35, 37) are generated at least partially based on meta information of the respective date of the test and/or training dataset, optionally wherein the meta information includes human-readable information that describes the respective date. Verfahren gemäß einem der Ansprüche 1 bis 7, wobei der erste Datensatz ein Test-Datensatz für ein computerbasiertes Maschinenlernmodul ist und wobei der zweite Datensatz ein Trainings-Datensatz für ein computerbasiertes Maschinenlernmodul ist, wobei das Verfahren weiter umfasst: Feststellen (131), dass ein oder mehrere Trainings-Daten nicht ausreichend in dem Test-Datensatz repräsentiert sind basierend auf der Prüfinformation (400), oder wobei der erste Datensatz ein Trainings-Datensatz für ein computerbasiertes Maschinenlernmodul ist und wobei der zweite Datensatz ein Test-Datensatz für ein computerbasiertes Maschinenlernmodul ist, wobei das Verfahren weiter umfasst: Feststellen (131), dass ein oder mehrere Test-Daten nicht ausreichend in dem Trainings-Datensatz repräsentiert sind basierend auf der Prüfinformation (400).Method according to one of Claims 1 until 7 , wherein the first data set is a test data set for a computer-based machine learning module and wherein the second data set is a training data set for a computer-based machine learning module, the method further comprising: determining (131) that one or more training data sets are insufficient in are represented in the test data set based on the test information (400), or wherein the first data set is a training data set for a computer-based machine learning module and the second data set is a test data set for a computer-based machine learning module, the method further comprising: ascertaining (131) that one or more test data are not sufficiently represented in the training data set based on the test information (400). Verfahren zum Erzeugen eines augmentierten (132) Datensatzes für ein für ein computerbasiertes Maschinenlernmodul, umfassend: Feststellen (131), dass ein oder mehrere Trainings-Daten nicht ausreichend in dem Test-Datensatz repräsentiert sind basierend auf der Prüfinformation und/oder Feststellen (131), dass ein oder mehrere Test-Daten nicht ausreichend in dem Trainings-Datensatz repräsentiert sind basierend auf der Prüfinformation gemäß Anspruch 8; Augmentieren des zweiten Test- und/oder Trainingsdatensatzes durch Hinzufügen einer oder mehrerer Daten, die in dem Test-Datensatz oder dem Trainings-Datensatz nicht ausreichend repräsentiert sind.A method for generating an augmented (132) data set for a computer-based machine learning module, comprising: determining (131) that one or more training data sets are not adequately represented in the test data set based on the test information and/or determining (131) that one or more test data are not adequately represented in the training data set based on the test information according to claim 8 ; Augmenting the second test and/or training data set by adding one or more data that is not sufficiently represented in the test data set or the training data set. Verfahren zum Testen oder Trainieren (133) eines computerbasierten Maschinenlernmoduls: Empfangen eines als valide erkannten Datensatz gemäß einem der Ansprüche 1 bis 8 oder eines augmentierten Datensatzes gemäß dem Anspruch 9; und Testen oder Trainieren des computerbasierten Maschinenlernmoduls mit dem empfangenen Datensatz, um ein getestetes oder trainiertes Maschinenlernmodul zu erhalten.Method for testing or training (133) a computer-based machine learning module: receiving a data set recognized as valid according to one of Claims 1 until 8th or an augmented data set according to the claim 9 ; and testing or training the computer-based machine learning module with the received data set to obtain a tested or trained machine learning module. Verfahren zum Anwenden (134) eines computerbasierten Maschinenlernmoduls: Bereitstellen eines getestetes oder trainiertes Maschinenlernmoduls gemäß Anspruch 10; und Prozessieren von Anwendungsdaten durch das empfangene Maschinenlernmodul.Method for applying (134) a computer-based machine learning module: providing a tested or trained machine learning module according to claim 10 ; and processing application data by the received machine learning module. Verfahren gemäß einem der vorangehenden Ansprüche 1 bis 11, wobei das jeweilige computerbasierte Maschinenlernmodul für die Bildverarbeitung ausgelegt ist und wobei die ersten und eines zweiten Test- und/oder Trainings-Datensätze Bilddaten enthalten oder wobei das computerbasierte Maschinenlernmodul für die Anomaliedetektion ausgelegt ist und die ersten und eines zweiten Test- und/oder Trainings-Datensätze Zeitreihendaten enthalten.Method according to any of the foregoing Claims 1 until 11 , wherein the respective computer-based machine learning module is designed for image processing and wherein the first and a second test and/or training data set contain image data or wherein the computer-based machine learning module is designed for anomaly detection and the first and a second test and/or training data set -Records contain time series data. Verfahren gemäß Anspruch 12, wobei das jeweilige computerbasierte Maschinenlernmodul ein Bildklassifikator ist, optional ein Bildklassifikator, der Bilddaten pixelweise oder bereichsweise semantisch segmentiert.procedure according to claim 12 , wherein the respective computer-based machine learning module is an image classifier, optionally an image classifier that semantically segments image data pixel by pixel or by region. System (20), das dazu ausgelegt ist, die Verfahren nach einem der Ansprüche 1 bis 13 auszuführen.System (20) designed to implement the methods of any one of Claims 1 until 13 to execute. Computer-Programm, das dazu ausgelegt ist, die Verfahren eines der Ansprüche 1 bis 13 auszuführen.Computer program designed to perform the procedures of any of Claims 1 until 13 to execute. Signal oder computer-lesbares Medium, das das Computer-Programm gemäß Anspruch 15 codiert oder enthält.Signal or computer-readable medium corresponding to the computer program claim 15 encoded or contained.
DE102021212731.2A 2021-11-11 2021-11-11 REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE Pending DE102021212731A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021212731.2A DE102021212731A1 (en) 2021-11-11 2021-11-11 REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021212731.2A DE102021212731A1 (en) 2021-11-11 2021-11-11 REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE

Publications (1)

Publication Number Publication Date
DE102021212731A1 true DE102021212731A1 (en) 2023-05-11

Family

ID=86053131

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021212731.2A Pending DE102021212731A1 (en) 2021-11-11 2021-11-11 REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE

Country Status (1)

Country Link
DE (1) DE102021212731A1 (en)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CLOISTERED MONKEY: Implementing k-Nearest Neighbor for Machine Translation. 22. Oktober 2020. URL: https://necromuralist.github.io/Neurotic-Networking/posts/nlp/machine-translation-k-nearest-neighbors/ [recherchiert und abgerufen am 26.10.2022]
HAN, H., Wang, W.-Y., Mao, B.-H.: Borderline-SMOTE: a new over-sampling method in imbalanced data sets learning. In: International conference on intelligent computing. Springer, Berlin, Heidelberg, 2005. S. 878-887. doi: 10.1007/11538059_91
HEIMERL, F., Gleicher, M.: Interactive analysis of word vector embeddings. In: Computer Graphics Forum. 2018. S. 253-265. doi: 10.1111/cgf.13417
SHARMA, M. K., Sheet, D., Biswas, P. K.: Image embedding for detecting irregularity. In: Proceedings of 3rd International Conference on Computer Vision and Image Processing. Springer, Singapore, 2020. S. 243-255. doi: 10.1007/978-981-32-9291-8_20
SHARMA, M. K., Sheet, D., Biswas, P. K.: Local instance and context dictionary-based detection and localization of abnormalities. In: Machine Vision and Applications, 2021, 32. Jg., Nr. 3, S. 1-21. doi: 10.1007/s00138-021-01179-5
TAO, G., et al.: Trader: Trace divergence analysis and embedding regulation for debugging recurrent neural networks. In: 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE). IEEE, 2020. S. 986-998. doi: 10.1145/3377811.3380423

Similar Documents

Publication Publication Date Title
DE112017005651T5 (en) Device for classifying data
DE112016007498T5 (en) INVESTIGATION EQUIPMENT AND INVESTIGATION PROCEDURES
DE112010002232T5 (en) Semantic scene segmentation using random multinominal logit (RML)
DE102018128531A1 (en) System and method for analyzing a three-dimensional environment represented by a point cloud through deep learning
DE112009000949T5 (en) Detection of a free driving path for a vehicle
WO2020049154A1 (en) Method and device for classifying objects
DE102021201124A1 (en) TRAINING IMAGE CLASSIFIER NETWORKS
DE102019209553A1 (en) Method for evaluating a state of a three-dimensional test object and corresponding evaluation system
DE102019204139A1 (en) Training for artificial neural networks with better utilization of the learning data sets
EP1180258B1 (en) Pattern recognition by means of an examination of supplementary features after a partial processing
EP3782081A1 (en) Method for producing a test data record, method for testing, method for operating a system, apparatus, control system, computer program product, computer-readable medium, production and use
DE102021207613A1 (en) Process for quality assurance of a system
DE102020200503A1 (en) Method for generating labeled data, in particular for training a neural network, by improving initial labels
DE102021212731A1 (en) REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE
DE102021212732A1 (en) REVIEWING TESTING AND/OR TRAINING RECORDS FOR A COMPUTER-BASED MACHINE LEARNING MODULE
DE102021204040A1 (en) Method, device and computer program for creating training data in the vehicle
DE102021104181A1 (en) IMAGE ENHANCEMENT FOR REALITY
DE102020209958A1 (en) Device for learning an image of a vehicle camera and method therefor
DE102019217951A1 (en) Method and apparatus for determining a domain distance between at least two data domains
DE102022200259A1 (en) ANALYZING TRAINING AND/OR VALIDATION DATASETS FOR A COMPUTER-BASED MACHINE LEARNING SYSTEM
DE102022110871A1 (en) AUTOMATIC ANNOTATION USING GROUND TRUTH DATA FOR MACHINE LEARNING MODELS
DE102022204618A1 (en) Effective quality determination of object recognition by a neural network
DE102020133626A1 (en) Method for recognizing scenes, assistance devices and motor vehicles which are difficult to classify correctly for a neural network
DE112022001417T5 (en) OBJECT RECOGNITION DEVICE AND OBJECT RECOGNITION METHOD
DE102021210322A1 (en) Method for generating a data set for training and/or testing a machine learning algorithm based on an ensemble of data filters

Legal Events

Date Code Title Description
R163 Identified publications notified