-
Stand der Technik
-
Die Erfindung geht von einer Vorrichtung und einem insbesondere computerimplementierten Verfahren zur Bestimmung einer Ähnlichkeit zwischen Datensätzen, insbesondere Bildern aus.
-
Offenbarung der Erfindung
-
Ein Verfahren, insbesondere ein computerimplementiertes Verfahren, zur Bestimmung einer Ähnlichkeit von Datensätzen sieht vor, dass ein erster Datensatz vorgegeben wird, der eine Vielzahl von ersten Embeddings umfasst, wobei ein zweiter Datensatz vorgegeben wird, der eine Vielzahl von zweiten Embeddings umfasst, wobei ein erstes Modell auf dem ersten Datensatz trainiert wird, wobei ein zweites Modell auf dem zweiten Datensatz trainiert wird, wobei ein Satz von ersten Features des ersten Modells auf dem zweiten Datensatz bestimmt wird, der je zweitem Embedding ein Feature des ersten Modells umfasst, wobei ein Satz von zweiten Features des zweiten Modells auf dem zweiten Datensatz bestimmt wird, der je zweitem Embedding ein Feature des zweiten Modells umfasst, wobei eine Abbildung bestimmt wird, die den Satz von ersten Features möglichst gut auf den Satz von zweiten Features abbildet, wobei die Ähnlichkeit abhängig von einem Abstand der Abbildung von einer Referenz bestimmt wird. Das Verfahren ist mit Modellen, die Featurrepräsentationen bereitstellen, unabhängig von einer jeweiligen Modellarchitektur anwendbar. Damit wird eine Ähnlichkeit der Datensätze signifikant besser erfasst.
-
Vorzugsweise repräsentieren die ersten Embeddings der Vielzahl von ersten Embeddings je ein digitales Bild aus einer Vielzahl erster digitaler Bilder, wobei die zweiten Embeddings der Vielzahl von zweiter Embeddings je ein digitales Bild aus einer Vielzahl zweiter digitaler Bilder repräsentieren. Dadurch sind zwei Datensätze mit digitalen Bildern auffindbar, deren Inhalt besonders ähnlich zueinander ist.
-
Vorzugsweise repräsentieren die ersten Embeddings der Vielzahl von ersten Embeddings je einen Teil eines ersten Corpus, wobei die zweiten Embeddings der Vielzahl von zweiter Embeddings je einen Teil eines zweiten Corpus repräsentieren. Dadurch sind zwei Corpora auffindbar, deren Inhalt besonders ähnlich zueinander ist.
-
Es kann vorgesehen sein, dass das erste Modell ein künstliches neuronales Netzwerk mit einer Eingangsschicht und einer Ausgangsschicht umfasst, wobei je zweitem Embedding an der Eingangsschicht des ersten Modells eine Ausgabe einer zwischen der Eingangsschicht und der Ausgangsschicht angeordneten Schicht, insbesondere einer letzten Schicht vor der Ausgangsschicht, bestimmt wird, die ein dem zweiten Embedding zugeordnetes Feature charakterisiert, und/oder dass das zweite Modell ein künstliches neuronales Netzwerk mit einer Eingangsschicht und einer Ausgangsschicht umfasst, wobei je zweitem Embedding an der Eingangsschicht des zweiten Modells eine Ausgabe einer zwischen der Eingangsschicht und der Ausgangsschicht angeordneten Schicht, insbesondere einer letzten Schicht vor der Ausgangsschicht, bestimmt wird, die ein dem zweiten Embedding zugeordnetes Feature charakterisiert.
-
Vorzugsweise ist vorgesehen, dass die künstlichen neuronalen Netzwerke mit derselben Architektur, insbesondere einer Architektur eines Klassifikators, vorgegeben werden oder dass die Schichten deren Ausgabe die Features charakterisieren dieselbe Dimension aufweisen.
-
Es kann vorgesehen sein, dass für ein Training ein Trainingsdatensatz bestimmt wird, der den ersten Datensatz oder einen Teil davon umfasst, wenn die Ähnlichkeit des ersten Datensatzes zum zweiten Datensatz größer ist, als eine Ähnlichkeit eines dritten Datensatzes zum zweiten Datensatz, und dass anderenfalls der Trainingsdatensatz abhängig vom dritten Datensatz bestimmt wird, wobei das zweite Modell in einem Training mit Daten des Trainingsdatensatzes vortrainiert und dann mit Daten des zweiten Datensatzes trainiert wird. Dadurch wird das zweite Modell auf Daten aus einem Datensatz vortrainiert, der besonders große Ähnlichkeit zum zweiten Datensatz aufweist.
-
Vorzugsweise wird der insbesondere bestmöglichste Datensatz zum Vortrainieren ausgewählt, indem der Datensatz mit minimaler Distanz zum zweiten Datensatz gewählt wird.
-
Vorzugsweise wird die Abbildung abhängig von Distanzen je eines ersten Features zu je einem zweiten Feature insbesondere mittels Prokrustes-Methode bestimmt, die diese Distanzen minimiert.
-
Vorzugsweise wird die Ähnlichkeit abhängig von einer Norm des Abstands der Abbildung von der Referenz bestimmt.
-
In einem Aspekt ist vorgesehen, dass das zweite Modell für eine Klassifikation von Embeddings trainiert ist oder trainiert wird, wobei wenigstens ein Embedding eines digitalen Bildes oder eines Teils eines Corpus erfasst oder empfangen wird, und das Embedding durch das zweite Modell klassifiziert wird.
-
Eine Vorrichtung zur Bestimmung einer Ähnlichkeit von Datensätzen, ist ausgebildet, das Verfahren auszuführen.
-
Ein Computerprogramm, das computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer das Verfahren abläuft, ist ebenfalls vorgesehen.
-
Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung. In der Zeichnung zeigt:
- 1 eine schematische Darstellung von Teilen einer Vorrichtung zur Bestimmung einer Ähnlichkeit von Datensätzen,
- 2 Schritte in einem Verfahren zur Bestimmung einer Ähnlichkeit von Datensätzen.
-
In 1 ist eine schematische Darstellung von Teilen einer Vorrichtung 100 zur Bestimmung einer Ähnlichkeit von Datensätzen dargestellt. Dies wird im Folgenden anhand eines ersten Datensatzes 101 und eines zweiten Datensatzes 102 beschrieben. Die Datensätze sind im Beispiel digitale Repräsentationen, insbesondere nummerische oder alphanumerische Repräsentationen von Bildern, Metadaten von Bildern oder Teilen von Corpora. Im Beispiel ist der zweite Datensatz 102 ein Zieldatensatz auf den ein Modell zur Lösung einer Aufgabe trainiert werden soll. Im Beispiel ist der erste Datensatz 101 ein Kandidat für einen Trainingsdatensatz auf dem das Modell vortrainiert werden soll, wenn sich dieser als dafür geeignet herausstellt.
-
Die Vorrichtung 100 ist ausgebildet, eine Ähnlichkeit von Datensätzen zum zweiten Datensatz 102 festzustellen. Dies wird beispielhaft für die Ähnlichkeit zwischen dem ersten Datensatz 101 und dem zweiten Datensatz 102 beschrieben.
-
Die Vorrichtung 100 umfasst eine Vielzahl von Modellen. In 1 sind ein erstes Modell und ein zweites Modell schematisch dargestellt. Die Vorrichtung 100 ist ausgebildet, mit dem ersten Modell und dem zweiten Modell eine Ähnlichkeit des ersten Datensatzes 101 zum zweiten Datensatz 102 zu bestimmen. Die Vorrichtung 100 kann ein drittes Modell umfassen, mit dem eine Ähnlichkeit eines dritten Datensatz zum zweiten Datensatz 102 wird. Die Vorrichtung 100 kann beliebig viele weitere Modelle für andere Datensätze umfassen.
-
Im Beispiel ist das erste Modell ein erstes künstliches neuronales Netzwerk 103 mit einer Eingangsschicht 104 und einer Ausgangsschicht 105 sowie einer zwischen der Eingangsschicht 104 und der Ausgangsschicht 105 angeordneten Schicht 106.
-
Im Beispiel ist das zweite Modell ein zweites künstliches neuronales Netzwerk 107 mit einer Eingangsschicht 108 und einer Ausgangsschicht 109 sowie einer zwischen der Eingangsschicht 108 und der Ausgangsschicht 109 angeordneten Schicht 110.
-
Die künstlichen neuronalen Netzwerke können Klassifikatoren sein. Die künstlichen neuronalen Netzwerke weisen im Beispiel dieselbe Architektur auf. Die Architektur muss nicht identisch sein.
-
Die Vorrichtung 100 umfasst eine Recheneinrichtung 111. Die Recheneinrichtung 111 ist ausgebildet, die Modelle mit den jeweiligen Datensätzen zu trainieren. Die Recheneinrichtung 111 ist beispielsweise ausgebildet, das erste Modell mit Embeddings 112 aus dem ersten Datensatz 101 zu trainieren. Die Recheneinrichtung 111 ist beispielsweise ausgebildet, das zweite Modell mit Embeddings 113 aus dem zweiten Datensatz 102 zu trainieren.
-
Die Recheneinrichtung 111 ist ausgebildet, Features 114 aus der Schicht 106 zu extrahieren. Die Recheneinrichtung 115 ist ausgebildet, Features 112 aus der Schicht 110 zu extrahieren. Die Schichten 106, 110 deren Ausgabe die Features 114, 115 charakterisieren weisen im Beispiel dieselbe Dimension auf. Die Dimensionen müssen nicht identisch sein.
-
Die Recheneinrichtung 111 ist ausgebildet, einen Datensatz aus der Vielzahl der Datensätze auszuwählen, der eine größere Ähnlichkeit zum zweiten Datensatz 102 aufweist, als ein anderer Datensatz oder als alle andere Datensätze aus der Vielzahl der Datensätze. Die Recheneinrichtung 111 ist im Beispiel ausgebildet, dazu das im Folgenden beschriebene Verfahren auszuführen.
-
Die Recheneinrichtung 111 ist beispielsweise ausgebildet, einen ausgewählten Datensatz 116 abhängig von den Features 114, 115 zu bestimmen, die aus den Schichten 106, 110 extrahiert sind.
-
Die Recheneinrichtung 111 ist beispielsweise ausgebildet, das zweite Modell in einem Training zuerst mit dem ausgewählten Datensatz 116 und anschließend mit dem zweiten Datensatz 102 zu trainieren.
-
In einem Beispiel soll das zweite Modell mit dem zweiten Datensatz 102 für eine Aufgabe trainiert werden. Für den zweiten Datensatz 102 gibt es im Beispiel nur wenige Trainingsdaten. Für den ersten Datensatz 101 und andere Datensätze aus der Vielzahl der Datensätze gibt es im Beispiel demgegenüber mehr Trainingsdaten.
-
Mit dem im Folgenden beschriebenen Verfahren wird bestimmt welcher der Datensätze aus der Vielzahl der Datensätze am nächsten zum zweiten Datensatz 102 ist und sich zum Vortrainieren des zweiten Modells eignet. Das zweite Modell wird mit dem so bestimmten Datensatz vortrainiert und dann mit dem zweiten Datensatz 102 trainiert. Dadurch wird eine bessere Performance erzielt, als dies beim Training des zweiten Modells nur mit dem zweiten Datensatz 102 zu erwarten ist.
-
Dies wird am Beispiel des ersten Datensatzes 101 und des zweiten Datensatzes 102 sowie des dritten Datensatzes beschrieben. Das Verfahren ist auf die Vielzahl der Datensätze entsprechend anwendbar.
-
Statt einen der genannten Datensätze zu verwenden kann auch nur ein insbesondere zufällig ausgewählter Teil der Datensätze verwendet werden.
-
Das Verfahren ist für verschiedene Datensätze anwendbar. Die ersten Embeddings 112 können beispielsweise je ein digitales Bild aus einer Vielzahl erster digitaler Bilder repräsentieren. Die zweiten Embeddings 113 können beispielsweise je ein digitales Bild aus einer Vielzahl zweiter digitaler Bilder repräsentieren. Diese Embeddings können je Pixel eines Bildes beispielsweise dessen jeweiligen Rot-, Grün-, und Blauanteil nummerisch repräsentieren.
-
Die ersten Embeddings 112 können je einen Teil eines ersten Corpus, z.B. ein Wort, einen Teil eines Wortes oder einen Teil eines Satzes nummerisch repräsentieren. Die zweiten Embeddings 113 können je einen Teil eines zweiten Corpus, z.B. ein Wort, einen Teil eines Wortes oder einen Teil eines Satzes nummerisch repräsentieren.
-
Im Verfahren wird in einem Schritt 202 ein erster Datensatz 101 vorgegeben, der eine Vielzahl von ersten Embeddings 112 umfasst.
-
Im Verfahren wird in einem Schritt 204 ein zweiter Datensatz 102 vorgegeben, der eine Vielzahl von zweiten Embeddings 113 umfasst.
-
In einem Schritt 206 wird das erste künstliche neuronale Netzwerk 103 auf dem ersten Datensatz 101 trainiert.
-
In einem Schritt 208 wird das zweite künstliche neuronale Netzwerk 107 auf dem zweiten Datensatz 102 trainiert.
-
Die künstlichen neuronalen Netzwerke werden im Beispiel zur Klassifikation trainiert. Im Beispiel wird überwacht trainiert. Im Beispiel umfassen die Trainingsdaten Labels, die den einzelnen Embeddings eine der Klassen zuordnen, in die das jeweilige künstliche neuronale Netzwerk die Embeddings Klassifizieren kann. Digitale Bilder in den Trainingsdaten können beispielsweise nach einem Objekt oder Subjekt klassifiziert sein, das sie darstellen. Corpora können beispielsweise nach Namen klassifiziert sein, die sie umfassen.
-
Diese Schritte können nacheinander oder zeitlich im Wesentlichen parallel zueinander ausgeführt werden.
-
Anschließend wird in einem Schritt 210 ein Satz von ersten Features 114 des ersten künstlichen neuronalen Netzwerks 103 auf dem zweiten Datensatz 102 bestimmt. Im Beispiel wird je Embedding 113 des zweiten Datensatzes 102 ein Feature 114 des ersten künstlichen neuronalen Netzwerks 103 bestimmt und zum Satz von ersten Features 114 hinzugefügt. Das Feature 114 ist eine Ausgabe der Schicht 106 auf die das erste künstliche neuronale Netzwerk 103 das Embedding 113 an der Eingangsschicht 104 abbildet.
-
In einem Schritt 212 wird ein Satz von zweiten Features 115 des zweiten künstlichen neuronalen Netzwerks 107 auf dem zweiten Datensatz 102 bestimmt. Im Beispiel wird je zweitem Embedding 113 des zweiten Datensatzes 102 ein Feature 115 des zweiten künstlichen neuronalen Netzwerks 107 bestimmt und zum Satz von zweiten Features 115 hinzugefügt. Die Schritte 212 können nacheinander oder zeitlich im Wesentlichen parallel zueinander ausgeführt werden. Das Feature 115 ist eine Ausgabe der Schicht 110 auf die das zweite künstliche neuronale Netzwerk 107 das Embedding 113 an der Eingangsschicht 108 abbildet.
-
Anschließend wird in einem Schritt 214 eine Abbildung MP bestimmt, die den Satz von ersten Features 114 möglichst gut auf den Satz von zweiten Features 115 abbildet.
-
Ein erstes Features 114 aus dem Satz von ersten Features 114 ist im Beispiel ein Vektor F1(v) für ein jeweiliges Embedding v. Ein zweites Feature 115 aus dem Satz von zweiten Features 115 ist im Beispiel ein Vektor F2(v) für das jeweilige Embedding v. Die Embeddings sind im Beispiel ebenfalls Vektoren. Die Abbildung MP ist in einem Beispiel abhängig durch eine Matrix M mit den Dimensionen der Features definiert:
-
Die Abbildung MP wird im Beispiel derart bestimmt, dass die Features F1 nach der Abbildung sehr ähnlich zu den Features F2 sind. Diese Abbildung wird im Beispiel mit Hilfe der Prokrustes Methode bestimmt, indem eine Matrix M mit den punktweisen Distanzen der Vektoren durch Verschieben, Skalieren und Rotieren der Features minimiert werden:
-
Die Abbildung MP kann auch anders berechnet werden.
-
Anschließend wird in einem Schritt 216 die Ähnlichkeit abhängig von einem Abstand der Abbildung MP von einer Referenz bestimmt.
-
Im Beispiel wird die Abbildung mit Hilfe einer Matrixnorm mit einer Einheitsmatrix I als Referenz verglichen. Der Abstand zwischen den Modellen wird beispielweise aus der Differenz von
und der Einheitsmatrix I bestimmt. Eine große Abweichung wird im Beispiel als eine große Distanz zwischen den Modellen und daher den Datensätzen interpretiert, mit denen diese Modelle trainiert wurden.
-
Die Schritt 202 bis 216 können für den Vergleich einer Vielzahl von anderen Datensätzen mit dem zweiten Datensatz 102 ausgeführt werden. Im Beispiel werden diese Schritt zumindest für einen dritten Datensatz ausgeführt.
-
Anschließend wird in einem Schritt 218 geprüft, ob eine Ähnlichkeit des ersten Datensatzes 101 zum zweiten Datensatz 102 größer ist, als eine Ähnlichkeit des dritten Datensatzes zum zweiten Datensatz 102. Wenn die Ähnlichkeit des ersten Datensatzes 101 zum zweiten Datensatz 102 größer ist, wird ein Schritt 220 ausgeführt. Anderenfalls wird ein Schritt 222 ausgeführt
-
Im Schritt 220 wird ein Trainingsdatensatz bestimmt, der den ersten Datensatz 101 oder einen Teil davon umfasst. Anschließend wird der Schritt 224 ausgeführt.
-
Im Schritt 222 wird ein Trainingsdatensatz bestimmt, der den dritten Datensatz oder einen Teil davon umfasst. Anschließend wird der Schritt 224 ausgeführt.
-
Im Schritt 224 wird das zweiten künstliche neuronale Netzwerk 107 in einem Training mit Daten des Trainingsdatensatzes vortrainiert und dann mit Daten des zweiten Datensatzes 102 trainiert.
-
Im Beispiel wird anschließend ein Schritt 226 ausgeführt.
-
Im Schritt 226 wird wenigstens ein Embedding erfasst oder vorgegeben und mit dem so trainierten zweiten künstlichen neuronale Netzwerk 107 klassifiziert.
-
Das Embedding ist abhängig davon, wofür trainiert wurde, ein Embedding eines digitalen Bildes oder eines Teils eines Corpus.