-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf eine Berechnung durch dezentralisierte Netzwerke.
-
Beschreibung der verwandten Techniken
-
Das Entwurfsprinzip einer dezentralisierten, sicheren und transparenten Transaktionsverwaltung wirft ein neues Licht auf Algorithmen für maschinelles Lernen (ML), besonders auf dem Gebiet des föderierten Lernens. Darüber hinaus wird das herkömmliche Verständnis von Sicherheit in Teilen durch einen stochastischen Ansatz beim Validieren der Datenkonsistenz ersetzt.
-
KURZDARSTELLUNG
-
Manche Ausführungsformen der Offenbarung stellen eine Rahmenstruktur zum kollaborativen Lernen bereit, die durch mehrere Netzwerkknoten realisiert wird, die durch ein Netzwerk miteinander verbunden werden. Die Netzwerkknoten gehören zu mehreren Client-Systemen der Rahmenstruktur. Ein Netzwerkknoten, der zu einem ersten Client-System gehört, erzeugt ein prädiktives Modell für das erste Client-System unter Verwendung eines Musterwörterbuchs, das auf Grundlage eines Konsenses zwischen den mehreren Client-Systemen erstellt wird. Der Netzwerkknoten berechnet auf Grundlage von Rohdaten des ersten Client-Systems einen Satz von lokalen Statistiken für das erste Client-System. Der Netzwerkknoten berechnet einen Konsenssatz von lokalen Statistiken durch Aggregieren von Sätzen von lokalen Statistiken von den mehreren Client-Systemen. Der Netzwerkknoten aktualisiert das Musterwörterbuch auf Grundlage von aktuellen Werten des Musterwörterbuchs und des Konsenssatzes von lokalen Statistiken.
-
Bei manchen Ausführungsformen berechnet der Netzwerkknoten den Konsenssatz von lokalen Statistiken durch Verteilen verschiedener Teilsätze des Satzes von lokalen Statistiken des ersten Client-Systems an verschiedene Netzwerkknoten, die zu verschiedenen Client-Systemen gehören. Die verschiedenen Teilsätze des Satzes von lokalen Statistiken des ersten Client-Systems werden an Netzwerkknoten verteilt, die auf Grundlage einer zufällig erzeugten Inzidenzmatrix identifiziert werden.
-
Gemäß einem Aspekt wird ein computerrealisiertes Verfahren zum kollaborativen Lernen durch eine Mehrzahl von Netzwerkknoten bereitgestellt, die durch ein Netzwerk miteinander verbunden werden, wobei die Mehrzahl von Netzwerkknoten zu einer Mehrzahl von Client-Systemen gehört, wobei das Verfahren aufweist: Erzeugen eines prädiktiven Modells in einem ersten Netzwerkknoten, der zu einem ersten Client-System gehört, für das erste Client-System, unter Verwendung eines Musterwörterbuchs, das auf Grundlage eines Konsenses zwischen der Mehrzahl von Client-Systemen erstellt wird; Berechnen eines Satzes von lokalen Statistiken für das erste Client-System auf Grundlage von Rohdaten für das erste Client-System; Berechnen eines Konsenssatzes von lokalen Statistiken durch Aggregieren von Sätzen von lokalen Statistiken von der Mehrzahl von Client-Systemen; und Aktualisieren des Musterwörterbuchs auf Grundlage von aktuellen Werten des Musterwörterbuchs und des Konsenssatzes von lokalen Statistiken.
-
Gemäß einem weiteren Aspekt wird ein Computerprogrammprodukt bereitgestellt, das einen Netzwerkknoten in einer Mehrzahl von Netzwerkknoten realisiert, die durch ein Netzwerk miteinander verbunden werden, wobei die Mehrzahl von Netzwerkknoten zu einer Mehrzahl von Client-Systemen in einer Rahmenstruktur zum kollaborativen Lernen gehört, wobei das Computerprogrammprogramm aufweist: eine oder mehrere nicht transitorische, computerlesbare Speichereinheiten und Programmanweisungen, die in mindestens einer der einen oder der mehreren nicht transitorischen Speichereinheiten gespeichert werden, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, wobei die Programmanweisungen Sätze von Anweisungen aufweisen zum: Erzeugen eines prädiktiven Modells für ein erstes Client-System in einem ersten Netzwerkknoten, der zu dem ersten Client-System gehört, unter Verwendung eines Musterwörterbuchs, das auf Grundlage eines Konsenses zwischen der Mehrzahl von Client-Systemen erstellt wird; Berechnen eines Satzes von lokalen Statistiken für das erste Client-System auf Grundlage von Rohdaten für das erste Client-System; Berechnen eines Konsenssatzes von lokalen Statistiken durch Aggregieren von Sätzen von lokalen Statistiken von der Mehrzahl von Client-Systemen; und Aktualisieren des Musterwörterbuchs auf Grundlage von aktuellen Werten des Musterwörterbuchs und des Konsenssatzes von lokalen Statistiken.
-
Gemäß einem weiteren Aspekt wird eine Datenverarbeitungseinheit bereitgestellt, die einen Netzwerkknoten in einer Mehrzahl von Netzwerkknoten realisiert, die durch ein Netzwerk miteinander verbunden werden, wobei die Mehrzahl von Netzwerkknoten zu einer Mehrzahl von Client-Systemen in einer Rahmenstruktur zum kollaborativen Lernen gehört, wobei die Datenverarbeitungseinheit aufweist: einen Prozessor und eine Speichereinheit, die einen Satz von Anweisungen speichert, wobei eine Ausführung des Satzes von Anweisungen durch den Prozessor die Datenverarbeitungseinheit konfiguriert, Handlungen auszuführen, aufweisend: Erzeugen eines prädiktiven Modells für ein erstes Client-System in einem ersten Netzwerkknoten, der zu dem ersten Client-System gehört, unter Verwendung eines Musterwörterbuchs, das auf Grundlage eines Konsenses zwischen der Mehrzahl von Client-Systemen erstellt wird; Berechnen eines Satzes von lokalen Statistiken für das erste Client-System auf Grundlage von Rohdaten des ersten Client-Systems; Berechnen eines Konsenssatzes von lokalen Statistiken durch Aggregieren von Sätzen von lokalen Statistiken von der Mehrzahl von Client-Systemen; und Aktualisieren des Musterwörterbuchs auf Grundlage von aktuellen Werten des Musterwörterbuchs und des Konsenssatzes von lokalen Statistiken.
-
Die vorangegangene Kurzdarstellung soll als eine kurze Einführung in einige Ausführungsformen der Offenbarung dienen. Sie ist nicht als eine Einführung in oder ein Überblick über alle in diesem Dokument offenbarten Erfindungsgegenstände gedacht. Die folgende ausführliche Beschreibung und die Zeichnungen, auf die in der ausführlichen Beschreibung Bezug genommen wird, beschreiben die in der Kurzdarstellung erläuterten Ausführungsformen sowie andere Ausführungsformen weitergehend. Entsprechend werden zum Verständnis aller durch dieses Dokument beschriebenen Ausführungsformen eine Kurzdarstellung, eine ausführliche Beschreibung und die Zeichnungen bereitgestellt. Darüber hinaus soll der beanspruchte Gegenstand nicht auf die veranschaulichten Einzelheiten in der Kurzdarstellung, der ausführlichen Beschreibung und den Zeichnungen beschränkt sein, sondern vielmehr durch die beigefügten Ansprüche definiert werden, da der beanspruchte Gegenstand in anderen spezifischen Formen enthalten sein kann, ohne vom gedanklichen Wesensgehalt des Gegenstands abzuweichen.
-
Figurenliste
-
Die Zeichnungen zeigen veranschaulichende Ausführungsformen. Sie zeigen nicht alle Ausführungsformen. Zusätzlich oder anstatt dessen können auch andere Ausführungsformen verwendet werden. Offensichtliche oder unnötige Einzelheiten können weggelassen werden, um Platz zu sparen oder eine effektivere Darstellung zu ermöglichen. Manche Ausführungsformen können mit zusätzlichen Komponenten oder Schritten und/oder ohne alle veranschaulichten Komponenten oder Schritte realisiert werden. Wenn in verschiedenen Zeichnungen dieselbe Bezugsziffer verwendet wird, bezieht sie sich auf dieselben oder ähnliche Komponenten oder Schritte.
- 1 veranschaulicht ein dezentralisiertes System 100, das im Einklang mit einer beispielhaften Ausführungsform eine Rahmenstruktur zum kollaborativen Lernen realisiert.
- 2 veranschaulicht Konsensknoten verschiedener Client-Systeme, die im Einklang mit einer beispielhaften Ausführungsform ein kollaboratives Lernen eines Wörterbuchs durchführen.
- Die 3a bis 3c veranschaulichen einen Konsensknoten eines Client-Systems, der gemäß einer bevorzugten Ausführungsform ein kollaboratives Lernen eines Wörterbuchs durchführt.
- Die 4a bis 4h veranschaulichen Beispiele für zyklische Graphen, die als eine Inzidenzmatrix für einen Konsensknoten verwendet werden.
- 5 veranschaulicht auf konzeptionelle Weise einen Prozess 500 zum kollaborativen Lernen eines Wörterbuchs im Einklang mit einer beispielhaften Ausführungsform.
- 6 zeigt ein Blockschaubild der Komponenten eines Datenverarbeitungssystems gemäß einer veranschaulichenden Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Einzelheiten als Beispiele dargelegt, um ein gründliches Verständnis der relevanten Lehren bereitzustellen. Allerdings sollte klar sein, dass die vorliegenden Lehren auch ohne solche Einzelheiten realisiert werden können. In anderen Fällen wurden bekannte Verfahren, Verfahrensweisen, Komponenten und/oder Schaltungen auf einer vergleichsweise allgemeinen Ebene ohne Einzelheiten beschrieben, um zu verhindern, dass Aspekte der dargelegten Lehren unnötigerweise unklar gemacht werden.
-
Kollaboratives Lernen mit loT-Einheiten (Internet of Things, Internet der Dinge) ist eine der Anwendungen eines verteilten Lernens. Die statistische Natur von loT-Daten unterscheidet sich von Transaktionsdaten zwischen Finanzentitäten, da es sich meist um unscharfe, multivariate Daten mit reellen Werten handelt. Daten mit reellen Werten können zu speziell sein (Low-Level-Daten), um mit vorhandenen Verschlüsselungstechnologien geschützt zu werden. Zusätzlich unterscheiden sich Sicherheitsanforderungen an loT-Daten von denjenigen für eine Geldüberweisung. Bei vielen loT-Anwendungen sind übergeordnete (High-Level-)Statistiken wie z.B. eine Ertragsrate oft von größerem Interesse als die exakten Werte einzelner Datenstichproben.
-
Manche Ausführungsformen stellen eine Rahmenstruktur zum kollaborativen Lernen in einer dezentralisierten Multitasking-Umgebung bereit. Die Rahmenstruktur führt ein kollaboratives Lernen in drei Schritten durch: lokale Aktualisierungen, Konsensherstellung und Optimierung. Eine Datenverarbeitungseinheit, die ein Client-System der Rahmenstruktur zum kollaborativen Lernen realisiert, ist in der Lage, eine Konsensherstellung und einen Datenschutz ohne den Rechenaufwand einer mehrere Parteien umfassenden Berechnung auf Verschlüsselungsgrundlage zu erreichen, insbesondere bei Transaktionen, die eine große Anzahl von Low-Level-Sensordaten von loT-Einheiten einbeziehen. Auf diese Weise verwendet die hierin offenbarte Datenverarbeitungseinheit, die das Client-System realisiert, weniger Rechenressourcen, wie beispielsweise Rechenzyklen und Arbeitsspeicher.
-
Die Rahmenstruktur zum kollaborativen Lernen kann für eine kollaborative Anomalie-Erkennung von Industrieanlagen verwendet werden, die sich im Besitz verschiedener Unternehmen befinden. Die Rahmenstruktur zum kollaborativen Lernen ermöglicht jedem Client-System, auf Grundlage von sicheren, kollaborativen Aktivitäten S Anomalie-Erkennungsmodelle zu lernen, die auf jede Anlage zugeschnitten sind. Andere Beispiele für eine Verwendung der Rahmenstruktur zum kollaborativen Lernen enthalten: eine kollaborative Krankheits- oder Symptomanalyse auf Grundlage von Biomarkern, die durch verschiedene medizinische Einrichtungen gesammelt werden; ein kollaboratives Anti-Geldwäschemodell auf Grundlage von Transaktionsdaten von verschiedenen Finanzentitäten; und eine Vorhersage der Batterielebensdauer auf Grundlage von Batteriesensordaten von verschiedenen Elektrofahrzeugen.
-
Bei manchen Ausführungsformen veranschaulicht 1 im Einklang mit einer beispielhaften Ausführungsform der Offenbarung ein dezentralisiertes System 100, das eine Rahmenstruktur zum kollaborativen Lernen realisiert. Wie veranschaulicht, wird das dezentralisierte System 100 über ein Netzwerk 105 realisiert, das S Client-Systeme wie z.B. Client-Systeme 111 bis 119 miteinander verbindet (wobei die Client-Systeme 113 bis 118 nicht veranschaulicht werden). Jedes Client-System kann zu einem Unternehmen, einer Finanzinstitution, einer Regierungsbehörde, einer Privatwohnung oder anderen Arten von Entitäten gehören, die daran interessiert sein können, nützliche Informationen von anderen Client-Systemen zu verwenden. Jedes Client-System oder Unternehmen möchte sein eigenes Vorhersagemodell verbessern, indem es Daten verwendet, die anderen Client-Systemen gehören, ohne jedoch seine eigenen Daten mit seinen Wettbewerbern oder externen Entitäten zu teilen.
-
Jedes Client-System verwendet eine oder mehrere Datenverarbeitungseinheiten wie z.B. Datenverarbeitungseinheiten, die über das Netzwerk 105 verbunden werden. Von dem Administrator des Netzwerks 105 wird erwartet, dass er Buchhaltungsaufgaben wie z.B. ein Verwalten von Datenübertragungspfaden, eine Synchronisierung der Uhrzeit usw. durchführt. Der Administrator des Netzwerks 105 ist nicht befugt, Rohdaten der Clients einzusehen. Jedes Client-System enthält eine oder mehrere Datenverarbeitungseinheiten, die als Netzwerkknoten mit dem Netzwerk 105 verbunden werden. Die Netzwerkknoten eines Client-Systems können einen Client-Knoten und einen Konsensknoten enthalten, die Partner sind. Wie veranschaulicht, hat das Client-System 111 einen Client-Knoten 121 und einen Konsensknoten 131, das Client-System 112 hat einen Client-Knoten 122 und einen Konsensknoten 132, und das Client-System 119 hat einen Client-Knoten 129 und einen Konsensknoten 139. Konsensknoten sind Netzwerkknoten des Netzwerks 105. Bei manchen Ausführungsformen sind einige oder alle Client-Knoten keine Netzwerkknoten des Netzwerks 105 und werden nicht direkt mit dem Netzwerk 105 verbunden.
-
Ein Client-Knoten ist ein Besitzer von lokalen Daten eines Client-Systems, indem er z.B. mit einer Datenbank des Client-Systems verbunden wird. Ein Client-Knoten eines Client-Systems kann sich als der Verwalter eines Netzwerkknotens (z.B. eines Konsensknotens) des Client-Systems verhalten. Bei manchen Ausführungsformen können mehrere Client-Knoten mit einem Konsensknoten verbunden werden. Ein Client-Knoten tauscht nur mit einem vorab ausgewählten, vertrauenswürdigen Partner-Konsensknoten (z.B. dem Konsensknoten desselben Client-Systems) Daten aus. Ein Konsensknoten tauscht mit anderen Konsensknoten Daten aus, um einen Konsens (in Form eines Musterwörterbuchs) herzustellen. Zum Beispiel ist der Client-Knoten 121 der Besitzer von lokalen Daten des Client-Systems 111 und überträgt und empfängt Daten, die zu dem Client-System 111 gehören. Der Konsensknoten 131 ist der vertrauenswürdige Partner-Konsensknoten des Client-Knoten 121 und empfängt Statistiken von dem Client-Knoten 121. Der Konsensknoten 131 tauscht Daten mit den Konsensknoten aus, die zu anderen Client-Systemen gehören, wie z.B. dem Konsensknoten 132 des Client-Systems 112 und dem Konsensknoten 139 des Client-Systems 119.
-
Ein Client-Knoten und sein Partner-Konsensknoten können in ein und derselben Datenverarbeitungseinheit realisiert werden. Zum Beispiel werden der Client-Knoten 122 und der Konsensknoten 132 des Client-Systems 112 durch ein und dieselbe Datenverarbeitungseinheit 102 realisiert. Ein Client-Knoten und sein Partner-Konsensknoten können auch durch verschiedene Datenverarbeitungseinheiten realisiert werden. Die beiden Datenverarbeitungseinheiten, die den Client-Knoten und den Konsensknoten realisieren, können durch eine private Verbindung innerhalb des Client-Systems verbunden werden. Die beiden Datenverarbeitungseinheiten können sich auch an verschiedenen physischen Orten befinden und durch das Netzwerk 105 miteinander verbunden werden. Bei manchen Ausführungsformen kann der Netzwerkverkehr zwischen einem Client-Knoten und seinem Partner-Konsensknoten eines einzelnen Client-Systems gemäß der Datenschutzanforderung des Clients verschlüsselt werden, während der Netzwerkverkehr zwischen Konsensknoten verschiedener Client-Systeme nicht verschlüsselt wird. Bei manchen Ausführungsformen werden Client-Knoten nicht mit dem Netzwerk verbunden, um ein Datenleck von Client-Rohdaten aus dem Client-System zu verhindern.
-
2 veranschaulicht im Einklang mit einer Ausführungsform der Offenbarung Konsensknoten verschiedener Client-Systeme, die ein kollaboratives Lernen eines Wörterbuchs durchführen. Die Konsensknoten verschiedener Client-Systeme tauschen miteinander Daten aus, um auf kollaborative Weise ein Musterwörterbuch zu erstellen, das durch jedes Client-System verwendet werden kann, um ein prädiktives Modell zu erzeugen. Die Figur veranschaulicht die Operationen des Konsensknotens 139 für das Client-System 119 (den Client 5). Der Konsensknoten 139 empfängt Client-spezifische Daten von dem (nicht veranschaulichten) Partner-Client-Knoten 129 des Client-Systems 119. Der Konsensknoten 139 tauscht mit anderen Konsensknoten anderer Client-Systeme (z.B. dem Konsensknoten 131 von Client 1 und dem Konsensknoten 132 von Client 2) über das Netzwerk 105 Daten aus, um auf kollaborative Weise ein Musterwörterbuch zu erstellen und zu aktualisieren, das in einer Blockchain 239 gespeichert wird.
-
Bei manchen Ausführungsformen realisiert eine Datenverarbeitungseinheit, die das Client-System 119 realisiert, den Konsensknoten 139 und die Blockchain 239. Bei manchen Ausführungsformen sind der Konsensknoten 139 und die Blockchain 239 Module von Software-Anweisungen, die durch eine oder mehrere Verarbeitungseinheiten (z.B. einen Prozessor) der Datenverarbeitungseinheit 105 ausgeführt werden. Bei manchen Ausführungsformen sind der Konsensknoten 139 und die Blockchain 239 Module von Hardware-Schaltungen, die durch eine oder mehrere integrierte Schaltungen (Integrated Circuits, ICs) einer elektronischen Vorrichtung realisiert werden. Eine Beispiel-Datenverarbeitungseinheit 600, die das Client-System 119 realisieren kann, wird im Folgenden in Bezug auf 6 beschrieben.
-
Der Konsensknoten 139 erzeugt die Aktualisierung für das (in der Blockchain 239 gespeicherte) Musterwörterbuch Θ auf Grundlage von Rohdaten 219 (xS), den Mischgewichtungen 229 (πS) und dem aktuellen Inhalt des Musterwörterbuchs 239, wobei gleichzeitig Konsensinformationen 250 über das Netzwerk 105 mit anderen Konsensknoten ausgetauscht werden. Die Rohdaten 219 und die Mischgewichtung 229 sind informationsspezifisch oder proprietär für das Client-System 119 (den Client S). Das Musterwörterbuch 239 speichert das Ergebnis des kollaborativen Lernens durch die verschiedenen Konsensknoten der verschiedenen Client-Systeme. Der Inhalt der Blockchain 239 (Musterwörterbuch Θ) ist ein Konsens zwischen den verschiedenen Client-Systemen. Das Musterwörterbuch Θ enthält K Modellparameter oder Wörter {θ1, ... θK}, wobei jedes Wort einer Mischungskomponente entspricht, die zum Berechnen eines prädiktiven Modells 249 verwendet wird. Das Client-System 119 mischt die entsprechenden Komponenten des Musterwörterbuchs 239, der Rohdaten 219 und der Mischgewichtungen 229, um ein prädiktives Modell 249 für das Client-System 119 zu erzeugen. Das prädiktive Modell 249 wird durch Anwendungen des Client-Systems verwendet, um z.B. einem Steuerungsmodul 259 einen Reiz bereitzustellen. Bei manchen Ausführungsformen werden die Anwendungen des Client-Systems 119 wie z.B. das prädiktive Modell 249 und das Steuerungsmodul 259 nicht mit dem Netzwerk 105 verbunden, um ein Datenleck von Client-Rohdaten zu verhindern.
-
Die Rohdaten 219 (xS) sind Daten, Statistiken oder Messwerte, die spezifisch oder proprietär für das Client-System 119 (den Client S) sind und nicht mit anderen Client-Systemen geteilt werden sollen. Bei manchen Ausführungsdaten hält jeder Client seine eigenen Rohdaten privat in einer Datenbank vor. Bei manchen Ausführungsformen können die Rohdaten 219 unscharfe, multivariate Daten mit reellen Werten sein, wie z.B. Messwerte oder Sensordaten, die durch loT-Einheiten erzeugt werden, die im Besitz des Client-Systems 119 sind. Bei manchen Ausführungsformen werden die Rohdaten 219 dem Konsensknoten 139 über das Netzwerk 105 durch dessen Partner-Client-Knoten bereitgestellt.
-
Die Mischgewichtung 229 (π
S) wird verwendet, um zu ermitteln, wie viel Gewicht dem Wort oder den Mischungskomponenten des Musterwörterbuchs 239 beigemessen wird. Die Mischgewichtungen
werden entsprechend auf die Mischungskomponenten des Musterwörterbuchs {θ
1, ... θ
K} angewendet, wenn ein Mischen mit den privaten Rohdaten 219 (x
S) erfolgt, um das prädiktive Modell P
s für das Client-System S (das Client-System 119) zu ermitteln.
-
Das Musterwörterbuch 239 ist eine Blockchain-Struktur, die die Wörter oder Mischungskomponenten {θ1, ..., θK} des Musterwörterbuchs Θ speichert. Die Blockchain ist ein unveränderlicher Datensatz, der für eine Prüfung, Preisfestsetzung, Evaluierung usw. verwendet werden kann. Ergebnisse eines sicheren, kollaborativen Lernens werden in jedem Client-System in der Blockchain gespeichert. Die Blockchains der verschiedenen Client-Systeme (Blockchains 213 bis 239 der Client-Systeme 111 bis 119) haben denselben Inhalt auf Grundlage des Algorithmus für die Konsensherstellung. Bei manchen Ausführungsformen wird ein neuer Block zu den Blockchains hinzugefügt, wenn eine Iteration oder ein Durchlauf des Algorithmus für die Konsensherstellung beendet wird. Jeder Block enthält ein aktualisiertes, vereinbartes Musterwörterbuch. Das gelernte Wörterbuch enthält einen Satz von Modellparameter-Vektoren als Wörter {θ1, ..., θK}, wobei jedes Wort ein multivariater, reeller Wert ist. Wenn Konvergenzkriterien erfüllt werden, stoppt das Musterwörterbuch die Aktualisierung, und die Blockchain wird „verriegelt“. Die endgültigen Wörterbuchwörter werden in dem letzten Block der Blockchains gespeichert.
-
Die Client-Systeme s = 1, ... 5 haben privat ihre eigenen Rohdaten, sodass:
wobei:
N
s die Anzahl von Stichproben des s-ten Clients ist und
M die Dimensionalität der Daten ist, die für alle Client-Systeme gleich sein soll.
-
Das prädiktive Modell für ein Client-System S ist eine Wahrscheinlichkeitsverteilung p
s, die wie folgt ermittelt wird:
wobei:
- {θ1, ... θK} Mischungskomponenten des Musterwörterbuchs sind, während die entsprechenden Mischgewichtungen der Mischungskomponenten für das Client-System s sind;
- K (großgeschrieben) die Anzahl der Muster in dem Musterwörterbuch ist;
- k (kleingeschrieben) der Index eines Musters in dem Musterwörterbuch ist;
- S (großgeschrieben) die Anzahl von Entitäten in dem Netzwerk ist; und
- s (kleingeschrieben) der Index eines Clients in dem Netzwerk ist.
-
Eine Datenverarbeitungseinheit in einem Client-System s kann auf Grundlage der kollaborativ ermittelten prädiktiven Verteilungen p
s gemäß (2) eine Ermittlung durchführen und/oder eine entsprechende Aktion auslösen. Zum Beispiel kann das System zum kollaborativen Lernen verwendet werden, um auf Grundlage von Sensordaten aus Industrieanlagen verschiedener Unternehmen eine Anomalie zu erkennen. Bei manchen Ausführungsformen kann ein Anomaliewert wie folgt als negativer Logarithmus der Mutmaßlichkeit (negative Log-Likelihood) berechnet werden.
wobei
der neue Messwert ist, der in dem Client-System s erfasst wird.
-
Bei manchen Ausführungsformen kann das Problem eines kollaborativen Lernens eines Wörterbuchs als eine kollaborative Dichteschätzung von Mischungen einer Exponentialfamilie formalisiert werden. Auf Grundlage der Exponentialfamilie führt die Rahmenstruktur zum kollaborativen Lernen ein kollaboratives Lernen eines Wörterbuchs in drei Schritten durch: lokale Aktualisierungen, Konsensherstellung und Optimierung.
-
Die Exponentialfamilie für die Wahrscheinlichkeitsdichte wird ausgedrückt als:
wobei:
- τ der transponierte Vektor (bzw. die transponierte Matrix) ist;
- H(.), G(.) Skalarfunktionen sind; und
- η(.), T(.) (Spalten-)Vektorfunktionen, die erforderliche mathematische Eigenschaften aufweisen, als eine Funktion der Wahrscheinlichkeitsverteilung sind.
-
Insbesondere ist T(x
s) eine suffiziente Statistik auf Grundlage von Rohdaten x
s des Clients s. Eine Statistik ist suffizient für eine Familie einer Wahrscheinlichkeitsverteilung (z.B. eine Exponentialfamilie), wenn die Stichprobe, anhand derer sie berechnet wird, keine über die Statistik hinausgehenden, zusätzlichen Informationen dazu aufweist, welche dieser Wahrscheinlichkeitsverteilungen der Population zugehörig ist, aus der die Stichprobe genommen wurde. Auf Grundlage der Gleichung (4) können die Wörterbuchwörter {θ
k} ermittelt werden, indem Folgendes maximiert wird:
-
In Gleichung 5 werden alle von Θ unabhängigen Terme gestrichen.
ist ein Satz von lokalen suffizienten Statistiken auf Grundlage der Rohdaten des Client-Systems s für eine Mischungskomponente k.
ist eine Stichprobengröße für das Client-System s für die Mischungskomponente k. N
s ist eine Gesamt-Stichprobengröße aller Mischungskomponenten in einem Client-System s. Zum Beispiel kann das System zum kollaborativen Lernen durch verschiedene Finanzinstitute (als verschiedene Client-Systeme) verwendet werden, um Unregelmäßigen zu erkennen, N
s steht für die Gesamtzahl von Konten bei einer bestimmten Bank, und
steht für eine Anzahl von Konten bei der bestimmten Bank, die eine bestimmtes Merkmal aufweisen (z.B. Konten mit einem Guthaben von über einer Million).
-
und
der verschiedenen Client-Systeme werden wie folgt zu einem Konsenssatz von Stichprobengrößen N
k und einem Konsenssatz von suffizienten Statistiken T
k aggregiert:
-
Somit können die Wörterbuchwörter {θ
k} gefunden werden, indem der Ausdruck (5) wie folgt maximiert wird:
-
Da alle Terme der Gleichung (7) dem Client-System bereits zur Verfügung stehen, kann die Gleichung (7) ohne jeglichen Datenaustausch zwischen den Client-Systemen ausgewertet werden. Indem das kollaborative Lernen als eine Exponentialfamilie formalisiert wird, kann das kollaborative Lernen in drei einzelnen Schritten durchgeführt werden: (i) lokale Aktualisierungen, (ii) Konsens und (iii) Optimierung. Während des Schritts der lokalen Aktualisierung ermittelt das Client-System
und
, die ohne einen Datenaustausch mit anderen Client-Systemen vollständig in dem Client-System s ermittelt werden können. Während des Konsensschritts tauscht das Client-System s mit Konsensknoten anderer Client-Systeme auf Grundlage der Gleichung (6) Daten aus, um den aggregierten Konsens N
k und T
k zu berechnen. Während des Optimierungsschritts berechnet das Client-System θ
k auf Grundlage der Gleichung (7), wobei dies vollständig innerhalb des Client-Systems erfolgt, auf Grundlage der aggregierten Werte N
k und T
k sowie ohne Datenaustausch mit anderen Konsensknoten.
-
Die 3a bis 3c veranschaulichen einen Konsensknoten eines Client-Systems, der ein kollaboratives Lernen eines Wörterbuchs durchführt. Im Besonderen veranschaulichen die Figuren, wie der Konsensknoten 139 des Client-Systems 119 die Schritte einer lokalen Aktualisierung, einer Konsensherstellung und einer Optimierung durchführt, um den Inhalt des Musterwörterbuchs 239 zu aktualisieren, indem die Parameter der Exponentialfamilie (z.B. die aggregierten suffizienten Statistiken Tk und die aggregierte Stichprobengröße Nk) ermittelt und über das Netzwerk 105 mit anderen Konsensknoten Daten ausgetauscht werden.
-
3a veranschaulicht den Schritt einer lokalen Aktualisierung des kollaborativen Lernens eines Wörterbuchs. Wie veranschaulicht, empfängt der Konsensknoten 139 die Mischgewichtungen 229 und die Rohdaten 219 des Client-Systems 119 (z.B. von dem Partner-Client-Knoten). Der Konsensknoten 139 wiederum berechnet auf Grundlage der Rohdaten 219 eine lokale Aktualisierung für die suffizienten Statistiken
und die Stichprobengröße
für das Client-System 119 (den Client s). Der Konsensknoten verwendet bei dieser Operation keine Informationen von anderen Client-Systemen. Die berechneten/aktualisierten suffizienten Statistiken
und die Stichprobengröße
werden in dem Client-System 119 lokal als Kollaborationsdaten 319 gespeichert.
-
Bei manchen Ausführungsformen berechnet der Konsensknoten Stichprobengewichtungen
und
auf Grundlage von
(den Mischgewichtungen 229) wie folgt:
wobei
die Stichprobengewichtung der n-ten Stichprobe der k-ten Mischungskomponente des Clients s ist.
-
Bei manchen Ausführungsformen können die suffizienten Statistiken
einer Mischungskomponente k in einem Client-System s wie folgt definiert werden:
-
3b veranschaulicht den Schritt der Konsensherstellung des kollaborativen Lernens eines Wörterbuchs. Wie veranschaulicht, tauscht der Konsensknoten 139 mit Konsensknoten anderer Client-Systeme über das Netzwerk 105 Daten aus, um
und
Werte anderer Client-Systeme zu erhalten und die lokalen
und
(aus den Kollaborationsdaten 319) an die Konsensknoten anderer Client-Systeme zu übertragen. Der Konsensknoten 139 aggregiert dann die
- und
der verschiedenen Client-Systeme zu suffizienten Konsens-Statistiken T
k und der Konsens-Stichprobengröße N
k für verschiedene Mischungskomponenten (z.B. durch Verwendung der Gleichungen (6)). Die suffizienten Konsens-Statistiken T
k und die Konsens-Stichprobengröße N
k werden auch als die Kollaborationsdaten 319 gespeichert.
-
3c veranschaulicht den Optimierungsschritt des kollaborativen Lernens eines Wörterbuchs. Bei dieser Operation verwendet der Konsensknoten 139 die suffizienten Konsens-Statistiken Tk und die Konsens-Stichprobengröße Nk, um den aktualisierten Inhalt des Musterwörterbuchs θk für verschiedene Mischungskomponenten zu ermitteln, der in der Blockchain 239 gespeichert werden soll. Da Tk und Nk in dem Konsensknoten 139 aggregiert (und als die Kollaborationsdaten 319 gespeichert) wurden, stehen sie dem Konsensknoten 139 ohne einen Datenaustausch mit anderen Client-Systemen bereits zur Verfügung.
-
Bei manchen Ausführungsformen können die Summierungen von Gleichung (6) für T
k und N
k Element-für-Element erfolgen und als eine Summe von Skalaren verallgemeinert werden:
wobei:
- ξs ein Satz von lokalen Statistiken für das Client-System s ist (z.B. die suffizienten Statistiken oder die Stichprobengröße und
- ξ der Konsenssatz von lokalen Statistiken ist, die aus verschiedenen Client-Systemen aggregiert werden.
-
Bei manchen Ausführungsformen wird der Datenübertragungspfad zwischen den Konsensknoten verschiedener Client-Systeme auf Grundlage eines verbundenen Graphen A beschränkt. Der verbundene Graph A wird auch als eine Inzidenzmatrix bezeichnet, bei der „1“ angibt, dass eine Kante oder ein Pfad vorhanden ist, und „0“ angibt, dass eine Kante oder ein Pfad nicht vorhanden ist. In jedem Konsensknoten eines Client-Systems wird der Satz von lokalen Statistiken ξ
s wie folgt iterativ aktualisiert:
wobei ∈ ein Parameter ist, der eine Konvergenz steuert.
-
Bei manchen Ausführungsformen wird ∈ auf Grundlage der Inzidenzmatrix A so gewählt, dass ∈ = 1/d
max gilt, wobei d
max der maximale Knotengrad oder die Anzahl von Inzidenzkanten eines Konsensknotens ist. Zur Sicherstellung des Datenschutzes kann bei manchen Ausführungsformen der Satz von lokalen Statistiken ξ
s des Client-Systems s in N
cBlöcke
aufgeteilt werden, sodass:
-
Das Client-System s kann ermitteln, wie ξs in NcBlöcke oder Teilsätze unterteilt werden soll. Bei manchen Ausführungsformen erzeugt der Konsensknoten 119 bei jeder Iteration des Konsensherstellungsschritts aus 3b zufällig die Inzidenzmatrix und verteilt die Blöcke oder Teilsätze des Satzes von lokalen Statistiken auf Grundlage der zufällig erzeugten Inzidenzmatrix an die Konsensknoten anderer Client-Systeme. Ein stochastisches Verteilen der Teilsätze der lokalen Statistiken an die anderen Konsensknoten während der Konsensherstellung verbessert die Sicherheit des Client-Systems, da andere Client-Systeme nicht in der Lage sind, die privaten Rohdaten zu rekonstruieren.
-
Sogar N
c = 2 kann ausreichen, um einen Datenschutz sicherzustellen, wenn die Inzidenzmatrix A nicht überlappend ist und der Router immer eine Matrix A wählt, die sich von derjenigen der vorangegangenen Iteration der Konsensherstellung und der Aufteilung von lokalen Statistiken in Blöcke unterscheidet. Auch wenn es nicht möglich ist, mehrere nicht überlappende Inzidenzmatrizen zu erzeugen (was der Fall sein kann, wenn A dicht besetzt ist oder wenn der Router den Arbeitsspeicher einer zuvor verwendeten Matrix A nicht aufrechterhalten kann), gilt für die Wahrscheinlichkeit einer Datenschutzverletzung p
b eine Obergrenze wie folgt:
wobei dmax der Maximalgrad der Inzidenzmatrix A ist. Solange A dünn besetzt und dmax somit sehr viel kleiner als S ist, kann p
b beliebig klein sein, indem N
c ausreichend groß gewählt wird.
-
Um eine Gleichheit der verschiedenen Konsensknoten sicherzustellen, werden bei manchen Ausführungsformen zyklische Graphen, die regelmäßig und dünn besetzt sind, als Inzidenzmatrix verwendet. Die 4a bis 4h veranschaulichen Beispiele für zyklische Graphen, die als Inzidenzmatrix für einen Konsensknoten verwendet werden. In jeder Figur steht jeder Eckpunkt für einen Konsensknoten, und jede Kante steht für einen Datenübertragungspfad, der durch den Konsensknoten verwendet werden kann, um einen Teilsatz seiner lokalen Statistiken zur Konsensherstellung bereitzustellen.
-
Zur Verbesserung einer Konvergenzgeschwindigkeit wird bei manchen Ausführungsformen ein Expander-Graph als die Inzidenzmatrix verwendet, um Teilsätze von lokalen Statistiken zu verteilen. Konkret stellt für jeden Konsensknoten s = 1, ...S die Inzidenzmatrix auf Grundlage eines Expander-Graphen einem Konsensknoten s -1, s + 1, und j eine Kante bereit, wobei j die Lösung von (s - 1)(j - 1) mod S = 1 ist. Die Verwendung des Expander-Graphen ergibt ~log(S) Iterationen zur Erreichung einer bestimmten Genauigkeit.
-
5 veranschaulicht auf konzeptionelle Weise einen Prozess 500 zum kollaborativen Lernen eines Wörterbuchs im Einklang mit einer beispielhaften Ausführungsform. Das kollaborative Lernen wird durch mehrere Netzwerkknoten durchgeführt, die durch ein Netzwerk miteinander verbunden werden und zu mehreren unterschiedlichen Client-Systemen einer Rahmenstruktur zum kollaborativen Lernen gehören. Bei manchen Ausführungsformen führen eine oder mehrere Verarbeitungseinheiten (z.B. ein Prozessor) einer Datenverarbeitungseinheit, die einen Netzwerkknoten eines Client-Systems (z.B. den Konsensknoten 139 des Client-Systems 119) realisiert, den Prozess 500 durch, indem Anweisungen ausgeführt werden, die auf einem computerlesbaren Medium gespeichert werden.
-
Der Netzwerkknoten erzeugt (in 510) ein prädiktives Modell für ein erstes Client-System unter Verwendung eines Musterwörterbuchs, das auf Grundlage eines Konsenses zwischen den mehreren Client-Systemen erstellt wird. Das Musterwörterbuch kann in einer Hash-Chain-Datenstruktur gespeichert werden. Das prädiktive Modell des ersten Client-Systems kann eine Wahrscheinlichkeitsverteilung (ps) sein, die auf Grundlage der Rohdaten des ersten Client-Systems (xs), eines Satzes von Mischgewichtungen (πs) des ersten Client-Systems und aktuellen Werten des Musterwörterbuchs (Θ) ermittelt wird. Die Rohdaten können unscharfe, reelle Zahlenwerte enthalten, die durch eine oder mehrere loT-Einheiten erzeugt werden. Bei manchen Ausführungsformen ist der erste Netzwerkknoten ein Konsensknoten des ersten Client-Systems, und die Rohdaten des ersten Client-Systems werden mit einer Verschlüsselung von einem Client-Knoten des ersten Client-Systems empfangen.
-
Der Netzwerkknoten berechnet (in 520) auf Grundlage von Rohdaten des ersten Client-Systems einen Satz von lokalen Statistiken (ξ
s) für das erste Client-System. Der Satz von lokalen Statistiken kann einen Satz von suffizienten Statistiken (T
S) und einen Satz von Stichprobengrößen (N
S) enthalten. Der Netzwerkknoten kann den Satz von Stichprobengrößen für das erste Client-System auf Grundlage eines Satzes von Stichprobengewichtungen des ersten Client-Systems aktualisieren. Bei manchen Ausführungsformen aktualisiert der Netzwerkknoten auch einen Satz von Stichprobengewichtungen (r
s(n)) des ersten Client-Systems auf Grundlage der Rohdaten des ersten Client-Systems und des Musterwörterbuchs, und der Satz von Stichprobengrößen (N
S) wird auf Grundlage der Stichprobengewichtungen ermittelt. Bei manchen Ausführungsformen enthalten das Musterwörterbuch, der Satz von lokalen Statistiken, der Satz von Stichprobengewichtungen und der Satz von Mischgewichtungen jeweils Komponenten
die jeweils einem Satz von Mischungskomponenten entsprechen.
-
Der Netzwerkknoten berechnet (in 530) einen Konsenssatz von lokalen Statistiken (ξ̅) durch Aggregieren von Sätzen von lokalen Statistiken (ξ
s) von den mehreren Client-Systemen, z.B. durch Berechnen eines Konsenssatzes von suffizienten Statistiken (T
k), indem Sätze von suffizienten Statistiken
aggregiert werden, und/oder durch Berechnen eines Konsenssatzes von Stichprobengrößen (N
k), indem Sätze von Stichprobengrößen
aus den mehreren Client-Systemen aggregiert werden. Bei manchen Ausführungsformen berechnet der Netzwerkknoten den Konsenssatz von lokalen Statistiken durch Verteilen verschiedener Teilsätze des Satzes von lokalen Statistiken für das erste Client-System an verschiedene Netzwerkknoten, die zu verschiedenen Client-Systemen gehören. Bei manchen Ausführungsformen werden die verschiedenen Teilsätze des Satzes von suffizienten Statistiken des ersten Client-Systems an Netzwerkknoten verteilt, die auf Grundlage einer zufällig erzeugten Inzidenzmatrix identifiziert werden.
-
Der Netzwerkknoten aktualisiert (in 540) das Musterwörterbuch (Θ) auf Grundlage von aktuellen Werten des Musterwörterbuchs und des Konsenssatzes von lokalen Statistiken (ξ̅). Bei manchen Ausführungsformen kann der Netzwerkknoten zu 520 zurückkehren, um die nächste Iteration einer lokalen Aktualisierung, Konsensherstellung und Optimierung zu berechnen. Der Prozess 500 kann enden, wenn die Konvergenz oder der Konsens erreicht wird, zum Beispiel, wenn die lokalen Statistiken verschiedener Client-Systeme denselben Wert haben oder innerhalb eines Schwellenwerts voneinander liegen.
-
Bei der vorliegenden Anmeldung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen enthalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Offenbarung auszuführen.
-
Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit behalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (Random Access Memory, RAM), ein Nur-Lese-Speicher (Read-only Memory, ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert werden, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll in der Verwendung hierin nicht als transitorische Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk (Local Area Network, LAN), ein Weitverkehrsnetzwerk (Wide Area Network, WAN) und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter. Bei computerlesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Offenbarung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandseinstellende Daten, Konfigurationsdaten für eine integrierte Schaltung oder sowohl um Quellcode als auch um Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Bei manchen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, Field Programmable Gate Arrays) oder programmierbare Logikanordnungen (PLA, Programmable Logic Arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Offenbarung durchzuführen.
-
Aspekte der vorliegenden Offenbarung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbarer Programmanweisungen ausgeführt werden können. Diese computerlesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert werden, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der bzw. des in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktion/Schritts umsetzen.
-
Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen computerrealisierten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder festgelegten Funktionen/Schritte umsetzen. Der Ablaufplan und die Blockschaubilder in den Figuren (z.B. 5) veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion bzw. Funktionen aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
6 zeigt ein Blockschaubild der Komponenten von Datenverarbeitungssystemen 600 und 650, die verwendet werden können, um gemäß einer veranschaulichenden Ausführungsform der vorliegenden Offenbarung ein Client-System oder einen Konsensknoten in einer Rahmenstruktur zum kollaborativen Lernen zu realisieren. Dabei sollte klar sein, dass 6 lediglich eine Veranschaulichung einer Ausführung bereitstellt und keinerlei Beschränkungen mit Blick auf die Umgebungen impliziert, in denen verschiedene Ausführungsformen realisiert werden können. Auf Grundlage von Entwurfs- und Realisierungsanforderungen können zahlreiche Änderungen an den abgebildeten Umgebungen vorgenommen werden.
-
Die Datenverarbeitungssysteme 600 und 650 sind repräsentativ für jede beliebige elektronische Einheit, die in der Lage ist, maschinenlesbare Programmanweisungen auszuführen. Die Datenverarbeitungssysteme 600 und 650 können repräsentativ für ein Smartphone, ein Computersystem, einen PDA oder andere elektronische Einheiten sein. Ohne darauf beschränkt zu sein, enthalten Beispiele von Datenverarbeitungssystemen, Umgebungen und/oder Konfigurationen, die durch die Datenverarbeitungssysteme 600, 650 repräsentiert werden können, Personal-Computersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf Grundlage von Mikroprozessoren, Netzwerk-PCs, Mini-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die beliebige der obigen Systeme oder Einheiten enthalten.
-
Die Datenverarbeitungssysteme 600 und 650 können einen Satz von internen Komponenten 605 und einen Satz von externen Komponenten 655 enthalten, die in 6 veranschaulicht werden. Der Satz der internen Komponenten 605 enthält einen oder mehrere Prozessoren 620, einen oder mehrere computerlesbare RAMs 622 und einen oder mehrere computerlesbare ROMs 624 auf einem oder mehreren Bussen 626 sowie ein oder mehrere Betriebssysteme 628 und eine oder mehrere computerlesbare, physische Speichereinheiten 630. Das eine oder die mehreren Betriebssysteme 628 und Programme wie z.B. die Programme zum Ausführen des Verfahrens 500 werden auf einem oder mehreren der computerlesbaren, physischen Speichereinheiten 630 gespeichert, um über einen oder mehrere der RAMs 622 (die üblicherweise einen Cache-Arbeitsspeicher enthalten) durch einen oder mehrere der Prozessoren 620 ausgeführt zu werden. Bei der in 6 veranschaulichten Ausführungsform ist jede der computerlesbaren, physischen Speichereinheiten 630 eine Magnetplattenspeichereinheit einer internen Festplatte. Alternativ ist jede der computerlesbaren, physischen Speichereinheiten 630 eine Halbleiterspeichereinheit wie z.B. ein ROM 624, ein EPROM, ein Flash-Arbeitsspeicher oder jede andere computerlesbare, physische Speichereinheit, die ein Computerprogramm und digitale Daten speichern kann.
-
Jeder Satz der internen Komponenten 605 enthält außerdem ein Lese/Schreib-Laufwerk bzw. eine Lese/Schreib-Schnittstelle 632, um von einer oder mehreren tragbaren, computerlesbaren, physischen Speichereinheiten 686 wie z.B. einem CD-ROM, einer DVD, einem Speicher-Stick, einem Magnetband, einer Magnetplatte, einer optischen Platte oder einer Halbleiterspeichereinheit lesen und darauf schreiben zu können. Die Anweisungen zum Ausführen des Prozesses 500 können auf einer oder mehreren der betreffenden tragbaren, computerlesbaren, physischen Speichereinheiten 686 gespeichert, über das betreffende Lese/Schreib-Laufwerk bzw. die betreffende Lese/Schreib-Schnittstelle 632 gelesen und auf die betreffende Festplatte 630 geladen werden.
-
Der Satz der internen Komponenten 605 kann außerdem Netzwerkadapter (oder Switch-Port-Karten) bzw. Netzwerkschnittstellen 636 wie z.B. TCP/IP-Adapterkarten, WLAN-Funkschnittstellenkarten oder 3G- bzw. 4G-Funkschnittstellenkarten oder andere drahtgebundene oder drahtlose Datenübertragungsverbindungen enthalten. Die Anweisungen von hier beschriebenen Prozessen oder Programmen können über ein Netzwerk (zum Beispiel das Internet, ein lokales Netzwerk oder aber ein Weitverkehrsnetzwerk) und die betreffenden Netzwerkadapter oder Netzwerkschnittstellen 636 von einem externen Computer (z.B. Server) heruntergeladen werden. Von den Netzwerkadaptern (oder Switch-Port-Adaptern) bzw. Netzwerkschnittstellen 636 werden die Anweisungen und Daten der beschriebenen Programme oder Prozesse auf die betreffende Festplatte 630 geladen. Das Netzwerk kann Kupferkabel, Lichtwellenleiter, eine drahtlose Übertragung, Router, Firewalls, Switches, Gateway Computer und/oder Edge-Server aufweisen.
-
Der Satz der externen Komponenten 655 kann einen Computer-Anzeigebildschirm 670, eine Tastatur 680 und eine Computermaus 684 enthalten. Der Satz der externen Komponenten 655 kann außerdem berührungsempfindliche Bildschirme, virtuelle Tastaturen, Tastfelder, Zeigeeinheiten und andere Benutzerinteraktionseinheiten enthalten. Der Satz der internen Komponenten 605 enthält außerdem Einheitentreiber 640, um eine Schnittstelle mit dem Computer-Anzeigebildschirm 670, der Tastatur 680 und der Computermaus 684 bereitzustellen. Die Einheitentreiber 640, das Lese/Schreib-Laufwerk bzw. die Lese/Schreib-Schnittstelle 632 und der Netzwerkadapter bzw. die Netzwerkschnittstelle 636 weisen Hardware und Software auf (die in der Speichereinheit 630 und/oder dem ROM 624 gespeichert werden).
-
Die obigen einen oder mehreren Ausführungsformen realisieren ein Client-System oder einen Netzwerkknoten einer Rahmenstruktur zum kollaborativen Lernen innerhalb einer Computerinfrastruktur, indem eine oder mehrere Datenverarbeitungseinheiten lokale Statistiken aktualisieren. Die Datenverarbeitungseinheiten tauschen die aktualisierten lokalen Statistiken außerdem über ein Netzwerk mit anderen Client-Systemen oder Netzwerkknoten aus, um einen Konsens in Gestalt eines in der Blockchain gespeicherten Musterwörterbuchs herzustellen. Die Datenverarbeitungseinheiten unterteilen die aktualisierten lokalen Statistiken zudem in Teilsätze und verteilen die Teilsätze stochastisch an andere Datenverarbeitungseinheiten.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Offenbarung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Modifikationen und Abwandlungen möglich sind, ohne vom inhaltlichen Umfang und gedanklichen Wesensgehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.