-
Gebiet der Erfindung
-
Die Erfindung betrifft ein Computer-implementiertes Verfahren zur Verwaltung von Datensätzen zum Trainieren von künstlicher Intelligenz, ein Datenverarbeitungssystem, ein Computerprogramm sowie ein computerlesbares Medium.
-
Hintergrund
-
Künstliche Intelligenz wird für verschiedenste Anwendungen und auf unterschiedlichsten Gebieten verwendet und muss, um zu funktionieren, zumeist trainiert bzw. angelernt werden. Hierzu werden der künstlichen Intelligenz Trainingsdaten zur Verfügung gestellt, die neben Eingabedaten auch die erwünschten Ergebnisdaten beinhalten. Mit Hilfe dieser Trainingsdaten werden dann Gewichte, z.B. von einem Neuron zu einem anderen Neuron in einem künstlichen neuronalen Netz, bzw. Parameter, z.B. eines phänomenologischen Modells, angepasst und optimiert.
-
Die Erstellung solcher Trainingsdaten sowie das Trainieren der künstlichen Intelligenz mit diesen Trainingsdaten ist in der Regel aufwendig. Daher ist es vorteilhaft, wenn auf schon vorhandene Trainingsdaten zurückgegriffen werden kann und insbesondere, wenn zu diesen Trainingsdaten schon Gewichte und/oder Parameter für die künstliche Intelligenz vorliegen. Solche Trainingsdaten können von einem oder von mehreren Bereitstellern solcher Trainingsdaten bereitgestellt werden.
-
Es ist jedoch noch kein Verfahren bekannt, das solche Trainingsdaten flexibel, nachvollziehbar und effizient verwaltet.
-
Zusammenfassung
-
Es ist die Aufgabe der Erfindung, ein Verfahren vorzuschlagen, das Datensätze zum Trainieren von künstlicher Intelligenz flexibel, nachvollziehbar und effizient verwaltet. Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen und der folgenden Beschreibung.
-
Ein Aspekt der Erfindung betrifft ein Computer-implementiertes Verfahren zur Verwaltung von Datensätzen zum Trainieren von künstlicher Intelligenz. Bei der künstlichen Intelligenz kann es sich dabei beispielsweise um ein künstliches neuronales Netzwerk oder um ein phänomenologisches Modell handeln.
-
Bei dem Verfahren wird zunächst ein Distributed Ledger Technologie (DLT)-Objekt erzeugt. Hierbei ist eine Vielzahl an Arten des DLT-Objekts denkbar. Diesem DLT-Objekt werden sodann Datensätze hinzugefügt.
-
Jeder solche Datensatz umfasst einen Hashwert von Trainingsdaten. Der hierbei verwendete Hash-Algorithmus ist dabei vorgegeben, aber weitgehend beliebig. Die Trainingsdaten enthalten sowohl die Eingabedaten als auch die erwünschten Ergebnisdaten. Die kompletten Trainingsdaten können dabei eine große Datenmenge aufweisen, beispielsweise, wenn es sich hierbei um Bilddaten handelt. Ein Hashwert der Trainingsdaten weist hingegen lediglich eine kleine Datenmenge auf, die effizient gespeichert oder übertragen werden kann. Darüber hinaus ist der Hashwert eine Kennung der jeweiligen Trainingsdaten, wobei es sehr unwahrscheinlich ist, dass zwei verschiedene Trainingsdaten die gleichen Hashwerte aufweisen. Durch einen Vergleich von den Hashwerten von zwei Trainingsdaten kann also darauf geschlossen werden, ob es sich um die gleichen oder um unterschiedliche Trainingsdaten handelt.
-
Des Weiteren umfasst jeder Datensatz einen Wert, der von zu den Trainingsdaten zugehörigen Gewichten und/oder Parametern für eine künstliche Intelligenz abhängt. Der Wert, der von zu den Trainingsdaten zugehörigen Gewichten und/oder Parametern für die künstliche Intelligenz abhängt, können beispielsweise die zu den Trainingsdaten zugehörigen Gewichte und/oder Parameter für eine künstliche Intelligenz selbst sein. Mittels der zu den Trainingsdaten zugehörigen Gewichten und/oder Parametern können die Gewichte und Parameter der künstlichen Intelligenz direkt angepasst werden, ohne dass die künstliche Intelligenz mit den Trainingsdaten selbst trainiert werden muss. Über die Verbindung zu den Trainingsdaten innerhalb des Datensatzes ist allerdings nachvollziehbar, auf welchen Trainingsdaten die Gewichte und/oder Parameter basieren.
-
Darüber hinaus umfasst jeder Datensatz eine Signatur eines Bereitstellers des Datensatzes. Dadurch ist es nachvollziehbar, welcher Bereitsteller den Datensatz dem DLT-Objekt hinzugefügt hat.
-
Schließlich wird das DLT-Objekt nach Datensätzen durchsucht. Ein solches Durchsuchen kann beispielsweise durchgeführt werden, um zu überprüfen, welche Datensätze des DLT-Objekts schon zum Trainieren der künstlichen Intelligenz verwendet wurden und welche noch nicht verwendet wurden, beispielsweise, weil sie neu hinzugekommen sind.
-
Das beschriebene Computer-implementierte Verfahren ist nachvollziehbar, da zu Gewichten und/oder Parametern innerhalb des Datensatzes eine Kennung der den Gewichten und/oder Parametern zu Grunde liegenden Trainingsdaten sowie eine Signatur des Bereitstellers des Datensatzes vorliegen.
-
Das beschriebene Computer-implementierte Verfahren ist auch effizient, da im DLT-Objekt nicht die gesamten Trainingsdaten sondern lediglich ein Hashwert der Trainingsdaten gespeichert wird, wobei der Hashwert in der Regel eine weitaus kleinere Datenmenge umfasst als die Trainingsdaten selbst. Auch das Übertragen eines solchen DLT-Objekts ist durch die geringere Datenmenge effizienter.
-
Des Weiteren ist das beschriebene Computer-implementierte Verfahren flexibel, da neue Datensätze einfach von verschiedenen Bereitstellern von Datensätzen dem DLT-Objekt hinzugefügt werden können.
-
In einigen Ausführungsformen ist das DLT-Objekt eine Blockchain. Blockchains sind weit verbreitete DLT-Objekte und daher sind viele und gute Implementierungen von Blockchains verfügbar. Des Weiteren ist dadurch, dass jeder Block mit dem vorherigen Block kryptographisch verkettet ist, eine besonders gute Nachvollziehbarkeit der Datensätze gegeben.
-
In einigen Ausführungsformen umfassen die zu den Trainingsdaten zugehörigen Gewichte und/oder Parameter auch Gewichte und/oder Parameter von Zwischenergebnissen. Es kann also zum einen sein, dass die Gewichte und/oder Parameter die Gewichte und/oder Parameter von Zwischenergebnissen sind, wobei mit Zwischenergebnis das Zwischenergebnis des Trainings der künstlichen Intelligenz gemeint ist. Es kann aber auch sein, dass die Gewichte und/oder Parameter ein Endergebnis des Trainings der künstlichen Intelligenz sind und der Datensatz zusätzlich Gewichte und/oder Parameter von Zwischenergebnissen enthält, auf denen die Gewichte und/oder Parameter des Endergebnisses basieren. Selbstverständlich ist es auch denkbar, dass der Datensatz Gewichte und/oder Parameter von mehreren Zwischenergebnissen umfasst, wobei jeweils ein Zwischenergebnis auf einem vorherigen Zwischenergebnis basiert. So ist eine eindeutige und nachvollziehbare Sequenz gegeben, die zu den Gewichten und/oder Parametern führt.
-
In einigen Ausführungsformen ist der Wert, der von zu den Trainingsdaten zugehörigen Gewichten und/oder Parametern für eine künstliche Intelligenz abhängt, ein Hashwert der Gewichte und/oder Parameter. Dabei ist ebenfalls der verwendete Hash-Algorithmus vorgegeben, aber weitgehend beliebig. Durch die Verwendung des Hashwerts der Gewichte und/oder Parameter wird, sofern die Datenmenge der Gewichte und/oder Parameter die Datenmenge des Hashwerts übersteigt, die zu speichernde und zu übertragende Datenmenge reduziert. Dabei ist der Hashwert der Gewichte und/oder Parameter eine Kennung der jeweiligen Gewichte und/oder Parameter, so dass durch einen Vergleich von den Hashwerten von zwei Gewichten und/oder Parametern darauf geschlossen werden kann, ob es sich um die gleichen oder um unterschiedliche Gewichte und/oder Parameter handelt. Ein solcher Vergleich kann zusätzlich zu einem Vergleich der Hashwerte von Trainingsdaten notwendig sein, da es zu den gleichen Trainingsdaten unterschiedliche Gewichte und/oder Parameter geben kann, beispielsweise für unterschiedliche Arten der künstlichen Intelligenz oder bei der gleichen künstlichen Intelligenz durch unterschiedliche Trainingsstrategien bzw. -abläufe.
-
In einigen Ausführungsformen umfasst jeder Datensatz ferner eine Kennung des Typs der künstlichen Intelligenz. Dies ist insbesondere dann wichtig, wenn einem DLT-Objekt Datensätze für unterschiedliche Typen von künstlicher Intelligenz hinzugefügt werden. Dann ist es entscheidend zu wissen, für welchen Typ der künstlichen Intelligenz die zugehörigen Gewichte und/oder Parameter erzeugt wurden, da die Gewichte und/oder Parameter selbstverständlich jeweils nur zu dem Typ der künstlichen Intelligenz passen, mit dem sie erzeugt wurden.
-
In einigen Ausführungsformen umfasst jeder Datensatz ferner einen weiteren Wert, der von zu dem Datensatz zugehörigen Metadaten abhängt. Dieser weitere Wert können beispielsweise die zu dem Datensatz zugehörigen Metadaten selbst sein. Die Metadaten liefern wichtige zusätzliche Informationen zu den Trainingsdaten und erhöhen damit die Nützlichkeit der Datensätze des DLT-Objekts.
-
In einigen Ausführungsformen umfassen die Metadaten Labels und/oder Informationen zur Qualität der Trainingsdaten, Gewichte und/oder Parameter und/oder Informationen zu dem Typ der künstlichen Intelligenz. Die Labels können dabei beispielsweise die Trainingsdaten genauer kennzeichnen, z.B. die auf einem Bild erkennbaren Objekte beschreiben. Informationen zur Qualität der Trainingsdaten können beispielsweise Aufschluss über eine Erkennungsrate, die mit der künstlichen Intelligenz mit den gegebenen Gewichten und/oder Parametern erzielt werden kann, geben. Informationen zum Typ der künstlichen Intelligenz können beispielsweise den Typ der künstlichen Intelligenz genauer kennzeichnen oder das Trainingsverfahren, das zum Training der künstlichen Intelligenz verwendet wurde, charakterisieren.
-
In einigen Ausführungsformen ist der weitere Wert, der von zu dem Datensatz zugehörigen Metadaten abhängt, ein Hashwert der Metadaten. Auch hier ist der verwendete Hash-Algorithmus vorgegeben, aber weitgehend beliebig. Durch die Verwendung des Hashwerts der Metadaten wird, sofern die Datenmenge der Metadaten die Datenmenge des Hashwerts übersteigt, die zu speichernde und zu übertragende Datenmenge reduziert. Dabei ist der Hashwert der Metadaten eine Kennung der jeweiligen Metadaten, so dass durch einen Vergleich von den Hashwerten von zwei Metadaten darauf geschlossen werden kann, ob es sich um die gleichen oder um unterschiedliche Metadaten handelt.
-
In einigen Ausführungsformen werden beim Durchsuchen des DLT-Objekts nach Datensätzen die Hashwerte der Trainingsdaten mit einem oder mehreren vorgegebenen Hashwerten von Trainingsdaten verglichen. Beispielsweise kann das DLT-Objekt nach neuen Trainingsdaten durchsucht werden. Hierzu werden die Hashwerte der Trainingsdaten mit einer Liste von Hashwerten der Trainingsdaten, die ein Benutzer schon zur Verfügung hat oder schon verwendet, verglichen. Es kann auch möglich sein, dass ein Satz an Trainingsdaten als fehlerhaft erkannt wird. Dann wird über die Suche nach diesem Satz an Trainingsdaten der dazugehörige Datensatz und damit der dazugehörige Bereitsteller des Datensatzes ermittelt.
-
In einigen Ausführungsformen werden beim Durchsuchen des DLT-Objekts die weiteren Werte, die von zu den Datensätzen zugehörigen Metadaten abhängen, mit einem oder mehreren vorgegebenen Werten, die von zu den Datensätzen zugehörigen Metadaten abhängen, verglichen. So kann beispielsweise nach Datensätzen gesucht werden, die vorgegebene Labels für die Trainingsdaten aufweisen.
-
In einigen Ausführungsformen werden die Trainingsdaten, Gewichte und/oder Parameter, und/oder Metadaten vom Bereitsteller des Datensatzes angefordert und übertragen. Für die Gewichte und/oder Parameter und/oder Metadaten ist dies dann notwendig, wenn die jeweiligen Gewichte und/oder Parameter und/oder Metadaten benötigt werden, der Wert, der von den Gewichten und/oder Parametern abhängt bzw. der weitere Wert, der von den Metadaten abhängt, aber keinen Rückschluss auf die zu Grunde liegenden Gewichte und/oder Parameter bzw. Metadaten zulässt, beispielsweise, weil der Wert bzw. der weitere Wert ein Hashwert ist. Die vollständigen Trainingsdaten, Gewichte und/oder Parameter und/oder Metadaten werden nur dann übertragen, wenn sie wirklich benötigt werden, was, wie schon oben beschrieben, zur Effizienz des Verfahrens beiträgt. So können auch beispielsweise lediglich die Gewichte und/oder Parameter übertragen werden, wenn die zu Grunde liegenden Trainingsdaten für den Benutzer uninteressant sind. Es ist auch möglich, dass der Bereitsteller das Übertragen der Trainingsdaten und/oder Gewichte und/oder Parameter verweigert, beispielsweise dann, wenn der Datensatz zuvor als fehlerhaft erkannt wurde. Des Weiteren ist es möglich, dass der Bereitsteller des Datensatzes für das Übertragen der Trainingsdaten und/oder Gewichte und/oder Parameter vergütet wird.
-
In einigen Ausführungsformen umfassen die Trainingsdaten Bilddaten und die Labels kennzeichnen Objekte auf den Bilddaten. Die künstliche Intelligenz ist dabei zur Erkennung von Objekten auf Bildern ausgebildet. Zum Trainieren einer künstlichen Intelligenz zur Bilderkennung, beispielsweise für Systeme in Fortbewegungsmitteln oder für medizinische Zwecke, ist eine sehr große Anzahl an Trainingsdaten erforderlich. Mittels des beschriebenen Verfahrens kann diese große Anzahl an Trainingsdaten, insbesondere bei verschiedenen Bereitstellern der Trainingsdaten, effizient, flexibel und nachvollziehbar verwaltet werden.
-
Ein weiterer Aspekt der Erfindung betrifft ein Datenverarbeitungssystem, das dazu ausgebildet ist, die Schritte des oben beschriebenen Computer-implementierten Verfahrens auszuführen. Mittels dieses Datenverarbeitungssystems lassen sich Datensätze zum Trainieren von künstlicher Intelligenz effizient, flexibel und nachvollziehbar verwalten.
-
Ein weiterer Aspekt der Erfindung betrifft ein Computerprogramm, umfassend Anweisungen, die, wenn das Computerprogramm auf einem Computer ausgeführt wird, den Computer zum Ausführen der Schritte des oben beschriebenen Computer-implementierten Verfahrens veranlassen.
-
Ein weiterer Aspekt der Erfindung betrifft ein computerlesbares Medium, umfassend Anweisungen, die, wenn das Computerprogramm auf einem Computer ausgeführt wird, den Computer zum Ausführen der Schritte des oben beschriebenen Computer-implementierten Verfahrens veranlassen.
-
Zur weiteren Verdeutlichung wird die Erfindung anhand von in den Figuren abgebildeten Ausführungsformen beschrieben. Diese Ausführungsformen sind nur als Beispiel, nicht aber als Einschränkung zu verstehen.
-
Figurenliste
-
Dabei zeigt:
- 1 einen schematischen Ausschnitt eines DLT-Objekts und
- 2 einen Ablauf des Verfahrens zur Verwaltung von Datensätzen.
-
Detaillierte Beschreibung von Ausführungsformen
-
1 zeigt einen schematischen Ausschnitt eines als Blockchain ausgebildeten Distributed Ledger Technologie (DLT)-Objekts 1. Das DLT-Objekt 1 umfasst dabei eine Vielzahl an Datensätzen 2, wobei jeder Datensatz 2 mit dem zuvor gehenden Datensatz 2 kryptographisch verbunden ist.
-
Jeder der Datensätze 2 umfasst einen Hashwert 3 von Trainingsdaten 4 zum Trainieren einer künstlichen Intelligenz, einen als Hashwert ausgebildeten Wert 5 von zu den Trainingsdaten 4 zugehörigen Gewichten und/oder Parametern 6 und einen weiteren Wert 7, der von zu den Trainingsdaten 4 zugehörigen Metadaten 8 abhängt. Die Metadaten 8 umfassen dabei Labels zu den Trainingsdaten 4 und Informationen zur Qualität der Gewichte und/oder Parameter 6. Des Weiteren umfasst jeder Datensatz 2 eine Kennung 9 des Typs der künstlichen Intelligenz sowie eine Signatur 10 eines Bereitstellers des Datensatzes 2.
-
2 zeigt einen Ablauf des Verfahrens zur Verwaltung von Datensätzen 2 zum Trainieren von künstlicher Intelligenz. Dabei werden die folgenden Schritte ausgeführt:
- Erzeugen 11 von Gewichten und/oder Parametern 6: Ein Bereitsteller B von Datensätzen 2 trainiert eine künstliche Intelligenz mit Trainingsdaten 4. Die künstliche Intelligenz kann dabei beispielsweise ein künstliches neuronales Netzwerk oder ein phänomenologisches Modell sein. Als Ergebnis des Trainierens der künstlichen Intelligenz werden die Gewichte und/oder Parameter 6 für die künstliche Intelligenz erhalten. Bei den Gewichten und/oder Parametern 6 kann es sich dabei auch um Zwischenergebnisse des Trainierens der künstlichen Intelligenz handeln. Solche Zwischenergebnisse können auch als Startpunkt für das weitere Trainieren der künstlichen Intelligenz dienen.
-
Hinzufügen 12 eines Datensatzes 2: Der Bereitsteller B der Datensätze 2 fügt dem DLT-Objekt 1 einen neuen Datensatz 2 hinzu, wobei der Datensatz 2 einen Hashwert 3 der Trainingsdaten 4, einen Wert 5, der von den erzeugten Gewichten und/oder Parametern 6 abhängt, einen weiteren Wert 7, der von zu den Trainingsdaten 4 zugehörigen Metadaten 8 abhängt, eine Kennung 9 des Typs der künstlichen Intelligenz, mit der die Gewichte und Parameter 6 erzeugt wurden sowie eine Signatur 10 des Bereitstellers B des Datensatzes 2 umfasst.
-
Durchsuchen 13 des DLT-Objekts 1: Ein Benutzer N durchsucht das DLT-Objekt 1, beispielsweise nach neuen Trainingsdaten 4, die der Benutzer N noch nicht zur Verfügung hat. Dazu vergleicht der Benutzer N für jeden Datensatz 2 des DLT-Objekts 1, ob der Hashwert 3 der Trainingsdaten 4 mit einem Hashwert 3 von Trainingsdaten 4 aus einer Liste der dem Benutzer N zur Verfügung stehenden Trainingsdaten 4 übereinstimmt.
-
Anfordern 14 von Trainingsdaten 4 und Gewichten und/oder Parametern 6: Wenn der Benutzer N einen Datensatz 2 mit Trainingsdaten 4, die ihm noch nicht zur Verfügung stehen, gefunden hat - im vorliegenden Beispiel sei dies der Datensatz 2, der zuvor vom Bereitsteller B hinzugefügt wurde - und Interesse an den Trainingsdaten 4 dieses Datensatzes 2 hat, fordert der Benutzer N die Trainingsdaten 4 und Gewichte und/oder Parameter 6 vom Bereitsteller B des Datensatzes 2 an.
-
Übertragen 15 von Trainingsdaten 4 und Gewichten und/oder Parametern 6: Der Bereitsteller B des Datensatzes 2 überträgt daraufhin die Trainingsdaten 4 und Gewichte und/oder Parameter 6 an den Benutzer N.
-
Die Übertragung der Trainingsdaten 4 und Gewichten und/oder Parametern 6 kann vom Bereitsteller B des Datensatzes 2 auch verweigert werden, beispielsweise, wenn sich der Datensatz 2 zwischenzeitlich als fehlerhaft erwiesen hat oder wenn der Benutzer N keine Berechtigung hat, den Datensatz 2 zu erhalten. Das Übertragen des Trainingsdaten 4 und Gewichte und/oder Parameter 6 kann der Bereitsteller B des Datensatzes 2 auch von einer Vergütung durch den Benutzer N abhängig machen.
-
Bezugszeichenliste
-
- 1
- DLT-Objekt
- 2
- Datensatz
- 3
- Hashwert
- 4
- Trainingsdaten
- 5
- Wert
- 6
- Gewichte und/oder Parameter
- 7
- weiterer Wert
- 8
- Metadaten
- 9
- Kennung
- 10
- Signatur
- 11
- Erzeugen von Gewichten und/oder Parametern
- 12
- Hinzufügen eines Datensatzes
- 13
- Durchsuchen des DLT-Objekts
- 14
- Anfordern von Trainingsdaten und Gewichten und/oder Parametern
- 15
- Übertragen von Trainingsdaten und Gewichten und/oder Parametern
- B
- Bereitsteller
- N
- Benutzer