-
QUERVERWEISE AUF VERWANDTE ANMELDUNG(EN)
-
Diese Anmeldung beansprucht die Prioritäten der vorläufige
US-Anmeldung Nr. 62/955,297 , angemeldet am 30. Dezember 2019, und der US-Anmeldung Nr.
16/854,107 , angemeldet am 21. April 2020. Die vorgenannten Anmeldungen werden hiermit durch Bezugnahme in ihrer Gesamtheit für jeden Zweck einbezogen.
-
HINTERGRUND
-
Maschinelles Lernen umfasst allgemein eine Vielzahl von Verfahren zur Verwendung von einem oder mehreren Berechnungsmodellen, um Daten zu klassifizieren oder um anderweitig eine Bedeutung aus diesen Daten abzuleiten. Beispiele für Modelle umfassen, aber nicht hierauf beschränkt, künstliche neuronale Netzwerke (tiefe und flache, konvolutionale, rekurrente, probabilistische grafische Modelle, Bayes'sche neuronale Netzwerke, usw.), auf Entscheidungsbäumen basierte Verfahren und Support-Vektor-Maschinen, einschließlich sogenannte „Kernelized“ Versionen. In einigen Fällen kann ein Modell einen oder mehrere Algorithmen und verschiedene Netzwerk-Architekturen umfassen. Zum Trainieren des Modells gehört in der Regel die Bereitstellung eines Trainingsdatensatzes. Die Computervorrichtung analysiert den Trainingsdatensatz, um das Modell zu entwickeln. Das trainierte Modell kann dann (von derselben Computervorrichtung oder einer anderen Computervorrichtung) verwendet werden, um neue Datensätze zu analysieren, um eine oder mehrere Aufgaben zu erfüllen, wie zum Beispiel die Bereitstellung einer Ausgabe als Reaktion auf eine Anfrage. Das Training kann beaufsichtigt, unbeaufsichtigt oder halb-beaufsichtigt erfolgen. In einigen Fällen kann das Modell auf der Grundlage zusätzlicher Daten, die nach dem anfänglichen Training empfangen wurden, weiter trainiert und/oder im Laufe der Zeit modifiziert werden, was als dynamisch trainiertes Modell bezeichnet wird.
-
In einigen Anwendungen können die Trainingsdaten und/oder zusätzlichen Daten sensible Informationen enthalten (z.B. personenbezogene Informationen, Finanzinformationen, geschützte Geschäftsinformationen). Durch Offenlegung der sensiblen Informationen kann Personen oder Unternehmen Schaden zugefügt werden (z.B. Identitätsdiebstahl). Folglich kann es gewünscht sein, die Veröffentlichung von sensiblen Informationen in Trainingsdaten und/oder zusätzlichen Daten, die dem Modell zur Verfügung gestellt werden, zu verhindern.
-
ZUSAMMENFASSUNG
-
Gemäß mindestens einem Beispiel der vorliegenden Erfindung kann eine Vorrichtung einen Prozessor und ein nichttransitorisches computerlesbares Medium umfassen, das ausgestaltet ist, um eine von einer anderen Vorrichtung empfangene Eingabe zu speichern, wobei das nichttransitorische computerlesbare Medium mit Instruktionen kodiert ist, die, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen, aus der Eingabe unter Verwendung eines maschinellen Lernmodells einen ersten Wert, der ein Ergebnis anzeigt, und einen zweiten Wert, der ein Konfidenzniveau angibt, zu erzeugen, den zweiten Wert mit einem Grenzwert zu vergleichen, wobei der Grenzwert den ersten Wert angibt, der einen dritten Wert umfasst, der aus einem Trainingsdatensatz gespeichert wurde, der verwendet wurde, um das maschinelle Lernmodell zu trainieren, und um eine Ausgabe, basierend auf diesem Vergleich, an die andere Vorrichtung bereitzustellen.
-
Gemäß mindestens einem Beispiel der vorliegenden Erfindung kann ein Verfahren das Empfang einer Dateneingabe, das Erzeugen, aus der Dateneingabe, unter Verwendung eines maschinellen Lernmodells, eines ersten Wertes, der ein Ergebnis angibt, und eines zweiten Wertes, der ein Konfidenzniveau angibt, das Vergleichen des zweiten Wertes mit einem Grenzwert, wobei der Grenzwert den ersten Wert angibt, der einen dritten Wert enthält, der aus einem Trainingsdatensatz gespeichert wurde, der zum Trainieren des maschinellen Lernmodells verwendet wird, und das Bereitstellen einer Ausgabe auf Basis des Vergleichs umfassen.
-
Gemäß mindestens einem Beispiel der vorliegenden Erfindung kann ein Gerät einen Prozessor und ein nichttransitorisches computerlesbares Medium umfassen, das zum Speichern von Daten ausgestaltet ist, wobei das nichttransitorische computerlesbare Medium mit Instruktionen kodiert ist, die, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlassen, einen ersten Wert zu erzeugen, der einen Rang angibt, wobei der erste Wert anzeigt, wie oft ein oder mehrere Werte in den Daten enthalten sind, einen zweiten Wert zu erzeugen, der eine Klassifizierung angibt, wobei der zweite Wert einen oder mehrere Datentypen angibt, die in den Daten enthalten sind, einen Wert des einen oder der mehreren Werte, die in den Daten enthalten sind, auf Basis des ersten Wertes und des zweiten Wertes zu ändern, und einen Trainingsdatensatz zu erzeugen, der die Daten einschließlich des geänderten Wertes umfasst.
-
Gemäß mindestens einem Beispiel der vorliegenden Offenbarung kann ein Verfahren das Empfangen von Daten, das Erzeugen eines ersten Wertes, der einen Rang angibt, wobei der erste Wert angibt, wie oft ein oder mehrere Werte in den Daten enthalten sind, das Erzeugen eines zweiten Wertes, der eine Klassifizierung angibt, wobei der zweite Wert einen oder mehrere Datentypen angibt, die in den Daten enthalten sind, das Verändern eines Wertes des einen oder der mehreren Werte, die in den Daten enthalten sind, auf der Grundlage des ersten Wertes und des zweiten Wertes und das Erzeugen eines Trainingsdatensatzes, der die Daten mit dem veränderten Wert enthält, umfassen.
-
Figurenliste
-
- 1A zeigt Beispiele eines maschinellen Lernmodells, das trainiert wurde, um beschreibende Textbeschriftungen für Bilder bereitzustellen.
- 1B zeigt Beispiele eines maschinellen Lernmodells, das trainiert wurde, um Textausgaben für Spracheingaben zu liefern.
- 2 ist eine schematische Darstellung einer Computervorrichtung, die gemäß Beispielen der vorliegenden Erfindung ausgestaltet ist.
- 3 ist ein funktionales Blockdiagramm einer maschinellen Lernanwendung zum Abstrahieren und/oder Maskieren von Daten gemäß Beispielen der vorliegenden Erfindung.
- 4 zeigt ein Beispiel für das Tokenisieren von Daten gemäß Beispielen der vorliegenden Erfindung.
- 5 ist ein Flussdiagramm eines Verfahrens gemäß Beispielen der vorliegenden Erfindung.
- 6 ist ein funktionales Blockdiagramm einer maschinellen Lernanwendung zum Bereitstellen von Ausgaben gemäß der vorliegenden Erfindung.
- 7 ist eine Darstellung eines neuronalen Netzwerks gemäß Beispielen der vorliegenden Erfindung.
- 8 ist eine Darstellung eines neuronalen Netzwerks und ein Beispiel für die Ausgabewahrscheinlichkeitsverteilung gemäß Beispielen der vorliegenden Erfindung.
- 9 ist ein Flussdiagramm eines Verfahrens gemäß Beispielen der vorliegenden Erfindung.
- 10 ist ein Computersystem gemäß Beispielen der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Sensible Daten können in Trainingsdaten enthalten sein, die zum Trainieren eines Modells einer maschinellen Lernanwendung bereitgestellt werden, und/oder in anderen Daten, die einem dynamisch trainierten Modell bereitgestellt werden. Obwohl die Modelle trainiert werden, um Daten auf Basis des Trainingssatzes und/oder anderer Daten zu klassifizieren oder anderweitig eine Bedeutung daraus abzuleiten, kann sich das Modell in einigen Fällen aufgrund des Trainingsverfahrens und/oder der Inhalte des Trainingssatzes Daten aus dem Trainingssatz „merken“. In diesen Fällen kann das Modell die gespeicherten Daten als Reaktion auf eine bestimmte Klassifizierung oder Schlussfolgerung auf Basis der in das Modell eingegebenen Daten ausgeben. In einigen Fällen kann es sich bei den gespeicherten Daten um sensible Daten handeln, die nicht offengelegt werden sollten. In einigen Fällen kann es sich bei den gespeicherten Daten um persönliche Informationen eines Benutzers handeln, von dem Trainingsdaten erhalten wurden, und/oder die gespeicherten Daten können Hinweise für einen Konkurrenten liefern, der versucht, das Modell zurückzuentwickeln, wie das Modell trainiert wurde und/oder Inhalte des Trainingsdatensatzes. Folglich sind maschinelle Lernmodelle und/oder Anwendungen mit mehr datenschutzfreundlichen Fähigkeiten gewünscht.
-
1A zeigt Beispiele für ein maschinelles Lernmodell 102, das trainiert wurde, um beschreibende Textbeschriftungen für Bilder zur Verfügung zu stellen. Das maschinelle Lernmodell 102 wurde trainiert, um eine Textausgabe für eine Bildeingabe zu liefern. Das Training kann das Bereitstellen eines Trainingsdatensatzes mit Hunderten oder Tausenden von Bildern (z.B. Eingaben) mit Textbeschriftungen (z.B. gewünschtes Ergebnis) umfassen, die die in den Bildern enthaltenen Elemente beschreiben. Auf der Grundlage des Trainingsdatensatzes kann das maschinelle Lernmodell lernen, verschiedene Elemente in Bildern zu erkennen und mit diesen Elementen verbundene Texte zur Verfügung zu stellen. In einigen Beispielen kann das maschinelle Lernmodell ein neuronales Netzwerk enthalten.
-
In einem ersten Beispiel, das in 1A dargestellt ist, wird dem trainierten maschinellen Lernmodell 102 ein Bild 100 zur Verfügung gestellt. Das maschinelle Lernmodell 102 analysiert das Bild 100 und liefert als Ergebnis eine Beschriftung 104 „Straße, die zu den Bergen führt“. In einem zweiten Beispiel wird dem maschinellen Lernmodell 102 ein Bild 110 zur Verfügung gestellt. Das Modell analysiert das Bild 110 und liefert eine Beschriftung 114 „ein benutzter Schreibtisch mit Laptop, Brille, Becher und einem Klebezettel mit dem Passwort 1 p5x3c9r“.
-
Im ersten Beispiel liefert das maschinelle Lernmodell 102 eine Beschriftung 104, die den Inhalt des Bildes 100 wiedergibt, aber wahrscheinlich auch viele andere Bilder beschreibt. Im zweiten Beispiel liefert das maschinelle Lernmodell 102 eine Beschriftung 114, die den Inhalt des Bildes 110 wiedergibt, aber die Beschriftung 114 beschreibt das Bild 110 detaillierter und beschreibt wahrscheinlich weniger andere Bilder. Aus der Beschriftung 114 kann geschlossen werden, dass der Trainingsdatensatz wahrscheinlich nur wenige Bilder von Schreibtischen mit anderen in der Beschriftung 114 beschriebenen Elementen enthielt. In diesem Fall kann das maschinelle Lernmodell 102 ein Trainingsbild und/oder seine zugehörigen Beschriftungen gespeichert haben. In einigen Fällen kann man daraus schließen, dass das Bild 110 im Trainingsdatensatz enthalten war. Diese Analyse der Ergebnisse des maschinellen Lernmodells 102 kann es einem Benutzer ermöglichen, Eigenschaften und/oder Inhalte des Trainingsdatensatzes zu bestimmen und/oder zu ermitteln, wie das maschinelle Lernmodell 102 trainiert wurde.
-
Darüber hinaus enthält die Beschriftung 114 ein Passwort. Das Passwort kann in einigen Beispielen in einem Bild im Trainingsdatensatz enthalten sein. In einigen Fällen kann es sich bei dem Passwort um sensible Informationen handeln, die nicht als Ergebnis des maschinellen Lernmodells 102 bereitgestellt werden sollten.
-
1B illustriert Beispiele eines maschinellen Lernmodells 122, das trainiert wurde, um Textausgaben 132 als Reaktion auf Spracheingaben 120 zur Verfügung zu stellen. Wie in 1B gezeigt, kann ein Benutzer eine Spracheingabe 120, wie zum Beispiel „Bitte geben Sie die beste Route zu Margarets Haus an“, an eine Computervorrichtung liefern. Die Schallwellen der Spracheingabe 120 können von einem in der Computervorrichtung enthaltenen Lautsprecher empfangen werden, und die Computervorrichtung kann auf den Schallwellen basierte Signale (z.B. digitale Signale) an das maschinelle Lernmodell 122 liefern, das in der Computervorrichtung enthalten sein kann und/oder das sich in einem Cloud-Computersystem befinden kann, das mit der Computervorrichtung kommuniziert. Wie in Block 124 gezeigt, kann das maschinelle Lernmodell 122 Rückschlüsse aus den Signalen ziehen, um zu bestimmen, welche Wörter gesprochen wurden. Sobald die Wörter bestimmt sind, wie in Block 126 gezeigt, kann das maschinelle Lernmodell 122 aus den Wörtern eine Absicht des Benutzers ableiten, wie in Block 128 gezeigt. Vereinfacht ausgedrückt, kann das maschinelle Lernmodell 122 ermitteln, was der Benutzer vom Computersystem möchte, dass es tun soll. Auf Basis der abgeleiteten Absicht kann das maschinelle Lernmodell 122 eine Antwort (z.B. eine Ausgabe) formulieren, wie in Block 130 dargestellt. Die Ausgabe kann dann dem Benutzer der Computervorrichtung zur Verfügung gestellt werden, zum Beispiel durch Anzeige auf einem Bildschirm. In diesem Beispiel, wie in Block 132 gezeigt, ist die Ausgabe eine Wegbeschreibung zu Margarets Haus.
-
Die Ausgabe des maschinellen Lernmodells 122 kann wünschenswert sein, wenn Margaret ein Name eines öffentlich zugänglichen Geschäfts ist oder wenn Margaret eine dem Benutzer bekannte Person ist. Beispielsweise kann der Benutzer der Computervorrichtung sein persönliches Adressbuch zur Analyse durch das maschinelle Lernmodell 122 zur Verfügung gestellt haben, und Margaret kann ein Kontakt in dem Adressbuch sein. Es kann jedoch unerwünscht sein, dem Benutzer eine Wegbeschreibung zum Haus von Margaret zu geben, wenn Margaret eine Einzelperson ist und dem Benutzer nicht bekannt ist. In diesen Fällen kann es wünschenswert sein, die Computervorrichtung daran zu hindern, dem Benutzer das Ergebnis zu liefern und/oder ein alternatives Ergebnis zu liefern, wie zum Beispiel eine Wegbeschreibung zu einem öffentlich zugänglichen Geschäft mit einem ähnlich klingenden Namen (z.B. „Margarita Hut“ in diesem Beispiel).
-
Obwohl die in 1A gezeigten Beispiele Bildeingaben und Textausgaben und das in 1B gezeigte Beispiel Spracheingaben und Textausgaben vorsieht, kann die maschinelle Lernspeicherung auch mit anderen Datentypen erfolgen, wie zum Beispiel mit Text sowohl für Eingaben als auch für Ergebnisse, mit Sprachdaten für Eingaben und Ergebnisse, mit Sprachdaten für Eingaben und Text für Ergebnisse, usw. Zum Beispiel kann es zu einer Speicherung kommen, wenn Text sowohl die Eingabe als auch das Ergebnis ist, wie zum Beispiel dann, wenn ein maschinelles Lernmodell einem Benutzer, der ein Dokument (z.B. eine E-Mail) eingibt, Wörter oder Sätze vorschlägt, die zumindest teilweise auf den Buchstaben oder Wörtern basieren, die der Benutzer bereits eingegeben hat. In diesem Beispiel könnte der Benutzer getippt haben: „Lass uns bei Janes Hause treffen um“, und wenn das maschinelle Lernmodell ein Ergebnis auf der Grundlage der Eingabe gespeichert hat, kann das maschinelle Lernmodell einen Vorschlag hinsichtlich einer bestimmten Adresse für das Haus liefern. In diesem Fall kann die Privatsphäre eines Bewohners der spezifischen Adresse gefährdet sein.
-
Gemäß den Beispielen der vorliegenden Erfindung können Daten abstrahiert und/oder maskiert werden, bevor sie einem maschinellen Lernmodell zum Training zur Verfügung gestellt werden. Dadurch kann das „Datenschutzbewusstsein“ des maschinellen Lernmodells erhöht werden und das maschinelle Lernmodell in einigen Anwendungen davon abhalten, sich sensible Informationen zu „merken“. Gemäß Beispielen der vorliegenden Erfindung kann ein maschinelles Lernmodell ein Konfidenzniveau bereitstellen, das mit einem Ergebnis in Beziehung steht. Wenn das Konfidenzniveau zu hoch ist, kann das maschinelle Lernmodell oder eine Anwendung, die das maschinelle Lernmodell enthält, davon absehen, das Ergebnis als Ausgabe zu liefern. In einigen Beispielen kann kein Ergebnis bereitgestellt werden, wenn das Konfidenzniveau einer bestimmten Ausgabe zu hoch ist. In anderen Beispielen kann das maschinelle Lernmodell ein „zweitbestes“ Ergebnis liefern, das ein akzeptables Konfidenzniveau aufweist. Dieses „zweitbeste“ Ergebnis kann insofern datenschutzfreundlicher sein, als es weniger wahrscheinlich ist, dass es sensible Informationen preisgibt. In wieder anderen Beispielen kann ein Fehlersignal als Ausgabe bereitgestellt werden. Gemäß Beispielen der vorliegenden Erfindung können Daten abstrahiert und/oder maskiert werden, bevor sie einem maschinellen Lernmodell zum Training zur Verfügung gestellt werden, und die Konfidenzniveaus der Ergebnisse des trainierten maschinellen Lernmodells können verwendet werden, um zu bestimmen, wann ein Ergebnis zurückgehalten werden sollte. Die Verarbeitung von Daten, die für das Training von maschinellen Lernmodellen verwendet werden, und/oder die Nichtbereitstellung eines Ergebnisses des maschinellen Lernmodells unter bestimmten Bedingungen kann die Offenlegung sensibler Daten und/oder das „Reverse Engineering“ des maschinellen Lernmodells, der Trainingsverfahren und/oder der Trainingsdaten reduzieren oder verhindern.
-
2 ist eine schematische Darstellung einer Computervorrichtung, die gemäß den Beispielen der vorliegenden Erfindung ausgestaltet ist. Die Computervorrichtung 200 kann Prozessor(en) 202, ein computerlesbares Medium (oder Medien) 204, einen Speicher-Controller 210, einen Speicher 212 und Schnittstelle(n) 214 umfassen. In einigen Beispielen kann die Computervorrichtung 200 ein Display 216 enthalten.
-
Das computerlesbare Medium 204 kann für den/die Prozessor(en) 202 zugänglich sein. Das computerlesbare Medium 204 kann mit ausführbaren Instruktionen 208 kodiert sein. Die ausführbaren Instruktionen 208 können von dem Prozessor 202 ausgeführt werden. In einigen Beispielen können die ausführbaren Instruktionen 208 den Prozessor 202 veranlassen, eine maschinelle Lernanwendung zu implementieren, die ein oder mehrere maschinelle Lernmodelle enthält. Die maschinelle Lernanwendung kann verschiedene Funktionen implementieren, wie zum Beispiel das Erzeugen von Trainingsdatensätzen, das Trainieren eines maschinellen Lernmodells und/oder das Anwenden eines trainierten maschinellen Lernmodells auf empfangene Daten, um ein Ergebnis zu erzeugen. Alternativ oder zusätzlich kann in einigen Beispielen die maschinelle Lernanwendung oder ein Teil davon in Hardware implementiert werden, die in dem computerlesbaren Medium 204 und/oder dem/den Prozessor(en) 202 enthalten ist, wie zum Beispiel in anwendungsspezifischen integrierten Schaltungen (ASICs) und/oder feldprogrammierbaren Gate-Arrays (FPGA).
-
Das computerlesbare Medium 204 kann Daten 206 speichern. In einigen Beispielen können die Daten 206 einen oder mehrere Trainingsdatensätze enthalten, wie zum Beispiel den Trainingsdatensatz 218. In einigen Beispielen kann der Trainingsdatensatz 218 von einer anderen Computervorrichtung (z.B. eine Edge-Vorrichtung 222, eine Cloud-Computervorrichtung) empfangen werden. In anderen Beispielen kann der Trainingsdatensatz 218 von der Computervorrichtung 200 erzeugt werden. In einigen Beispielen können die Trainingsdatensätze verwendet werden, um ein oder mehrere maschinelle Lernmodelle zu trainieren. In einigen Beispielen können die Daten 206 Daten enthalten, die in einem maschinellen Lernmodell verwendet werden (z.B. Gewichtungen, Verbindungen zwischen Knoten). In einigen Beispielen können die Daten 206 andere Daten enthalten, wie zum Beispiel neue Daten 220. In einigen Beispielen können die anderen Daten von einem trainierten maschinellen Lernmodell analysiert werden, um eine Schlussfolgerung zu ziehen (z.B. ein Ergebnis/ Ausgabe auf Basis der Daten bereitzustellen). In einigen Beispielen können die Daten 206 Ausgaben enthalten, die von einem oder mehreren maschinellen Lernmodellen erzeugt wurden, die von der Computervorrichtung 200 implementiert wurden. Das computerlesbare Medium 204 kann durch jedes beliebige Medium implementiert werden, einschließlich nichttransitorische computerlesbare Medien. Beispiele hierfür umfassen Speicher, Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), flüchtiger oder nichtflüchtiger Speicher, Festplattenlaufwerke, Solid-State-Laufwerke oder andere Speicher. Obwohl in 2 ein einzelnes Medium gezeigt wird, können mehrere Medien verwendet werden, um das computerlesbare Medium 204 zu implementieren.
-
In einigen Beispielen können der/die Prozessor(en) 202 mit einer oder mehreren zentral Verarbeitungseinheiten (CPUs), grafischen Verarbeitungseinheiten (GPUs), ASICs, FPGAs oder anderen Prozessorschaltungen implemontiert werden. In einigen Beispielen können der/die Prozessor(en) 202 einige oder alle der ausführbaren Instruktionen 208 ausführen. In einigen Beispielen können der/die Prozessor(en) 202 über einen Speicher-Controller 210 mit einem Speicher 212 in Verbindung stehen. In einigen Beispielen kann der Speicher 212 ein flüchtiger Speicher sein, wie zum Beispiel ein dynamischer Direktzugriffsspeicher (DRAM). Der Speicher 212 kann in einigen Beispielen Informationen an den/die Prozessor(en) 202 und/oder das computerlesbare Medium 204 über den Speicher-Controller 210 liefern und/oder von diesem empfangen. Obwohl nur ein einziger Speicher 212 und ein einziger Speicher-Controller 210 dargestellt sind, kann eine beliebige Anzahl verwendet werden. In einigen Beispielen kann der Speicher-Controller 210 mit dem/den Prozessor(en) 202 integriert sein.
-
In einigen Beispielen kann/können die Schnittstelle(n) 214 eine Kommunikationsschnittstelle zu einer anderen Vorrichtung (z.B. Edge-Vorrichtung 222), einem Benutzer und/oder einem Netzwerk (z.B. LAN, WAN, Internet) bereitstellen. Die Schnittstelle(n) 214 kann/können über eine drahtgebundene und/oder drahtlose Schnittstelle (z.B. Wi-Fi, BlueTooth, HDMI, USB, etc.) implementiert werden. In einigen Beispielen können die Schnittstelle(n) 214 Benutzer-Schnittstellenkomponenten enthalten, die Eingaben von einem Benutzer empfangen können. Beispiele für Benutzer-Schnittstellenkomponenten sind eine Tastatur, eine Maus, ein Touchpad, ein Touchscreen und ein Mikrofon. In einigen Beispielen kann (können) die Schnittstelle(n) 214 Informationen, die Benutzereingaben, Daten 206, einen Trainingsdatensatz 218 und/oder neue Daten 220 enthalten können, zwischen externen Vorrichtungen (z.B. Edge-Vorrichtung 222) und einer oder mehreren Komponenten der Computervorrichtungen 200 (z.B. Prozessor 202 und computerlesbares Medium 204) übertragen.
-
In einigen Beispielen kann die Computervorrichtung 200 mit einem Display 216 kommunizieren, das eine separate Komponente ist (z.B. unter Verwendung einer drahtgebundenen und/oder drahtlosen Verbindung), oder das Display 216 kann mit der Computervorrichtung integriert sein. In einigen Beispielen kann das Display 216 Daten 206 anzeigen, wie zum Beispiel Ausgaben, die von einem oder mehreren maschinellen Lernmodellen erzeugt werden, die durch die Computervorrichtung 200 implementiert werden. Eine beliebige Anzahl oder Vielfalt von Displays kann vorhanden sein, einschließlich eine oder mehrerer LED-, LCD-, Plasma- oder andere Display-Vorrichtungen.
-
In einigen Beispielen kann der Trainingsdatensatz 218 und/oder neue Daten 220 der Computervorrichtung 200 über die Schnittstelle 214 bereitgestellt werden. Optional können in einigen Beispielen einige oder alle der Trainingsdatensätze 218 und/oder neuen Daten 220 der Computervorrichtung 200 durch eine Edge-Vorrichtung 222 bereitgestellt werden. In einigen Beispielen kann die Computervorrichtung 200 Ergebnisse, wie zum Beispiel Schlussfolgerungen, die von einer maschinellen Lernanwendung gemacht wurden, an die Edge-Vorrichtung 222 liefern. In einigen Beispielen kann die Edge-Vorrichtung 222 auch eine Computer-Vorrichtung sein, die ähnliche Komponenten enthält, wie die in der Computervorrichtung 200 gezeigten Komponenten. In einigen Beispielen kann die Edge-Vorrichtung 222 eine mobile Vorrichtung sein, wie zum Beispiel ein Smartphone oder ein Tablet. In einigen Beispielen kann die Edge-Vorrichtung 222 ein Desktop-Computer oder eine andere stationäre Vorrichtung sein. In einigen Beispielen können die Edge-Vorrichtung 222 und die Computervorrichtung 200 in ein Computersystem, wie zum Beispiel ein Cloud-Computersystem, eingebunden sein. In diesem Beispiel kann die Computervorrichtung 200 eine Cloud-Computervorrichtung sein. In einigen Beispielen kann die Computervorrichtung 200 in einem Server enthalten sein.
-
In einigen Beispielen kann die Computervorrichtung 200 Daten (z.B. Daten 206, Trainingsdatensatz 218 und/oder neue Daten 220) verarbeiten, um sensible Informationen zu maskieren und/oder zu abstrahieren. Die verarbeiteten Daten können verwendet werden, um einen Trainingsdatensatz zum Trainieren eines maschinellen Lernmodells (z.B. neuronales Netzwerk, Support-Vektor-Maschine, Entscheidungsbaum) zu erzeugen. In einigen Beispielen kann das maschinelle Lernmodell von der Computervorrichtung 200 trainiert werden. In einigen Beispielen kann das trainierte maschinelle Lernmodell von der Computervorrichtung 200 implementiert werden und/oder die Computervorrichtung 200 kann ein oder mehrere andere trainierte maschinelle Lernmodelle implementieren.
-
In einigen Beispielen kann die Computervorrichtung 200 ein maschinelles Lernmodell implementieren, das ein Ergebnis (auch als Schlussfolgerung bezeichnet) auf Basis einer Eingabe (z.B. Daten, wie zum Beispiel neue Daten 220) sowie ein mit dem Ergebnis verbundenes Konfidenzniveau liefert. Das maschinelle Lernmodell und/oder andere Komponenten der Computervorrichtung 200 können eine Ausgabe auf Basis des mit dem Ergebnis in Beziehung stehenden Konfidenzniveaus („Confidence Level“) liefern. Wenn beispielsweise das Konfidenzniveau gleich oder größer als ein Grenzwert ist, kann dies darauf hindeuten, dass sich das maschinelle Lernmodell ein Ergebnis aus dem Trainingsdatensatz „gemerkt“ hat. In diesem Fall kann die Ausgabe das Ergebnis nicht enthalten. In einigen Beispielen kann die Computervorrichtung 200 ein anderes Ergebnis (zum Beispiel ein Ergebnis mit einem zweithöchsten Konfidenzniveau) von dem maschinellen Lernmodell ausgeben, das ein Konfidenzniveau mit einem akzeptablen Wert (z.B. gleich oder kleiner einem Grenzwert) hat, und dieses Ergebnis als Ausgabe zur Verfügung stellt. In einigen Beispielen kann die Ausgabe ein Fehlersignal enthalten.
-
3 ist ein funktionales Blockdiagramm einer maschinellen Lernanwendung 300 zum Abstrahieren und/oder Maskieren von Daten gemäß Beispielen der vorliegenden Erfindung. In einigen Beispielen kann die maschinelle Lernanwendung 300 durch computerlesbare Instruktionen implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 300 durch Hardware, wie zum Beispiel FPGAs und/oder ASICs, implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 300 durch eine Kombination aus computerlesbaren Instruktionen und Hardware implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 300 durch die in 2 gezeigte Computervorrichtung 200 implementiert werden.
-
Die maschinelle Lernanwendung 300 kann einen Trainingsdatensatz 302 enthalten. Der Trainingsdatensatz 302 kann eine oder mehrere Eingaben (X) 304 enthalten, die jeweils mit einem entsprechenden Ergebnis (Y) 306 in Beziehung stehen. In einigen Beispielen kann der Trainingsdatensatz 302 bereits vorhanden sein. In anderen Beispielen kann die maschinelle Lernanwendung 300 den Trainingsdatensatz 302 aus empfangenen Daten 322 erzeugen. In einigen Beispielen kann die maschinelle Lernanwendung 300 die Trainingsdaten durch Tokenisierung („Tokenizing“) der empfangenen Daten 322 generieren, was unter Bezugnahme auf 4 ausführlicher beschrieben wird. In einigen Beispielen können die Daten 322 von einem computerlesbaren Medium empfangen werden, das in einer Computervorrichtung enthalten ist, die die maschinelle Lernanwendung implementiert. In einigen Beispielen können die Daten 322 von einer Anwendung 320 empfangen werden, die durch eine andere Computervorrichtung implementiert wird, wie zum Beispiel eine Edge-Vorrichtung 222.
-
Die maschinelle Lernanwendung 300 kann den Trainingsdatensatz 302 verarbeiten, um sensible Daten zu abstrahieren und/oder zu maskieren und um einen modifizierten Trainingsdatensatz 310 zu erzeugen. Wie hier verwendet, bedeutet das Abstrahieren von Daten, dass spezifische Werte eines Datentyps durch einen generischen Wert ersetzt werden. Ein Datentyp kann zum Beispiel ein Eigenname sein (z.B. John Smith, Sarah Jones). Alle Eigennamen in den originalen Daten können durch einen generischen Wert ersetzt werden, der angibt, dass ein Eigenname in den originalen Daten vorhanden war (z.B. NAME, EIGENNAME). In einem anderen Beispiel kann ein Datentyp ein bestimmtes Datum sein (z.B. 25. Dezember 1978). Alle spezifischen Daten können durch einen generischen Wert ersetzt werden, der anzeigt, dass ein Datum vorhanden war oder dass ein relatives Datum vorhanden war (z.B. DATUM, HEUTIGES DATUM). Wie hierin verwendet, bedeutet Maskierung von Daten, dass ein spezifischer Wert eines Datentyps entfernt wird. Wenn der spezifische Wert entfernt wird, kann er durch einen Hinweis darauf ersetzt werden, dass ein Wert entfernt wurde (z. B. XXX) oder nicht.
-
Das Abstrahieren und/oder Maskieren 308 des Trainingsdatensatzes 302 kann das Klassifizieren und/oder Einordnen der Daten des Trainingsdatensatzes 302 beinhalten. Das Klassifizieren der Daten bezieht sich auf das Analysieren der Daten und das Bestimmen von einem oder mehrerer Datentypen, die in den Daten enthalten sind. Beispielsweise können die Daten in Token unterteilt werden („tokenized“), und jedes Token der Daten kann analysiert werden, um den in diesem Token enthaltenen Datentyp zu bestimmen. Der Datentyp bezieht sich auf die Art der in den Daten enthaltenen Informationen (z.B. Datum, Kontonummer, Menge, Pixelintensität, Diagnose). Bestimmte Datentypen können sensible Daten sein (z.B. Eigenname, Adresse, Kontonummer). Das Ranking der Daten bezieht sich auf das Analysieren der Daten und auf das Bestimmen, wie häufig bestimmte Datentypen und/oder Werte in den Daten vorhanden sind. Beispielsweise kann das Ranking bestimmen, wie oft der Wert „gutartig“ in den Daten und/oder in Daten, die als Datentyp „Diagnose“ klassifiziert sind, vorkommt.
-
In einigen Beispielen kann die Entscheidung, ob ein Wert der Daten im Trainingsdatensatz 302 abstrahiert oder maskiert wird, zumindest teilweise auf der Klassifizierung und/oder dem Rang des Wertes basieren. In einigen Beispielen kann der Wert unabhängig vom Rang nicht abstrahiert oder maskiert werden, wenn er als nicht sensible Daten klassifiziert ist. In einigen Beispielen kann der Wert abstrahiert werden, wenn der Wert als sensible Daten klassifiziert ist, wobei der Rang jedoch angibt, dass der Wert in den Daten häufig vorkommt (z.B. eine Grenzwert-Anzahl von Malen vorkommt oder einen Prozentsatz von Werten eines Datentyps über einem Grenzwert darstellt). In einigen Beispielen kann der Wert maskiert werden, wenn der Wert als sensible Daten klassifiziert ist und der Rang angibt, dass der Wert selten ist (z.B. unter einer Schwellenanzahl von Malen vorkommt oder einen Prozentsatz von Werten eines Datentyps unter einem Grenzwert darstellt).
-
In einigen Beispielen kann das Abstrahieren und/oder Maskieren 308 durch ein regelbasiertes System durchgeführt werden (z.B. alle Zahlenfolgen mit einer bestimmten Länge sind Kontonummern). In einigen Beispielen kann das Abstrahieren und/oder Maskieren 308 von einem maschinellen Lernmodell durchgeführt werden, das darauf trainiert ist, Datentypen, einschließlich sensibler Daten, in Trainingsdatensätzen zu identifizieren.
-
Die Daten des Trainingsdatensatzes 302, die durch das Abstrahieren und/oder Maskieren 308 verarbeitet wurden, können verwendet werden, um einen modifizierten Trainingsdatensatz 310 zu erzeugen. Der modifizierte Trainingsdatensatz 310 kann eine oder mehrere modifizierte Eingaben (X') 314 und entsprechende modifizierte Ergebnisse (Y') 312 enthalten. Der modifizierte Trainingsdatensatz 310 kann einige oder alle sensiblen Daten aus dem Trainingsdatensatz 302 abstrahiert oder entfernt haben. Der modifizierte Trainingsdatensatz 310 kann zum Trainieren eines maschinellen Lernmodells 316 verwendet werden. In einigen Beispielen kann die Verwendung des modifizierten Trainingsdatensatzes 310 das Risiko verringern oder beseitigen, dass sich das maschinelle Lernmodell 316 sensible Daten „merkt“, die dann als Ergebnis bereitgestellt werden könnten.
-
Wie in 3 gezeigt, kann das maschinelle Lernmodell (f()) 316 nach dem Training neue Eingabedaten (Xneu) 324 empfangen und ein Ergebnis (ŷ) 326 auf Basis der neuen Eingabedaten 324 liefern, so dass ŷ = f(Xneu). In einigen Beispielen, wie dem in 3 gezeigten Beispiel, können die neuen Eingabedaten 324 von einer Anwendung 320 bereitgestellt werden, die auf einer separaten Vorrichtung implementiert sein kann, und das maschinelle Lernmodell 316 kann das Ergebnis an die Anwendung 320 liefern. In einigen Ausführungsformen, in denen das maschinelle Lernmodell 316 dynamisch trainiert wird, können die neuen Eingabedaten 324 und Ergebnisse 326 in einem anderen Trainingsdatensatz 302 enthalten sein, der abstrahiert und/oder maskiert wird, bevor er zum Trainieren des maschinellen Lernmodells 316 verwendet wird.
-
4 zeigt ein Beispiel für das Tokenisieren von Daten gemäß Beispielen der vorliegenden Erfindung. In einigen Beispielen kann das Tokenisieren durch eine maschinelle Lernanwendung, wie zum Beispiel die maschinelle Lernanwendung 300, durchgeführt werden. Bei den originalen Daten 400 handelt es sich um eine Textzeichenfolge „Lasst uns am 15. September 2020 ein Treffen organisieren“. Die Originaldaten 400 werden in Segmente zerlegt, die als Token 404 bezeichnet werden und in einigen Beispielen einzeln von einem maschinellen Lernmodell analysiert werden können. In einigen Beispielen, wie dem in 4 gezeigten Beispiel, können die originalen Daten 400 so tokenisiert werden, dass Elemente der originalen Daten 400 in verschiedenen Token 404 wiederholt werden. Zum Beispiel erscheint das Wort „Treffen“ in drei verschiedenen Token 404 in 4. Die Token 404 sind so organisiert, dass die Token 404 der Eingaben 406 den Token 404 der gewünschten Ergebnisse 408 zugeordnet sind. Alle Sätze von Paaren aus Eingaben 406 und Ergebnissen 408 können als Trainingsdatensatz 402 verwendet werden, um ein maschinelles Lernmodell zu trainieren.
-
Das in 4 dargestellte Beispiel veranschaulicht das Tokenisieren mit Textdaten. In einigen Beispielen können Token von Textdaten unter Verwendung von k-Grammen generiert werden, es können aber auch andere Verfahren verwendet werden. Darüber hinaus ist das Beispiel in 4 lediglich illustrativ, und die Erfindung ist nicht auf Textdaten oder das gezeigte spezielle Verfahren des Tokenisierens beschränkt.
-
5 ist ein Flussdiagramm eines Verfahrens 500 gemäß Beispielen der vorliegenden Erfindung. In einigen Beispielen kann das gesamte Verfahren 500 oder ein Teil davon von einer Computervorrichtung durchgeführt werden, zum Beispiel von der in 2 gezeigten Computervorrichtung 200. In einigen Beispielen kann das gesamte Verfahren 500 oder ein Teil davon von einer maschinellen Lernanwendung durchgeführt werden, wie zum Beispiel von der in 3 gezeigten maschinellen Lernanwendung 300, die in einigen Beispielen von einer Computervorrichtung, wie zum Beispiel der Computervorrichtung 200, implementiert werden kann.
-
In Block 502 kann das „Empfangen von Daten“ durchgeführt werden. In einigen Beispielen können die Daten von einer Schnittstelle, wie zum Beispiel der Schnittstelle 214, empfangen werden. In einigen Beispielen können die Daten Text, Bilder und/oder Sound-Daten (Tondaten) enthalten. In einigen Beispielen können die Daten von einer Edge-Vorrichtung, wie zum Beispiel der Edge-Vorrichtung 222, empfangen werden.
-
In Block 504 kann ein „Ranking der Daten“ durchgeführt werden. In einigen Beispielen kann ein Rang angeben, wie oft ein oder mehrere Werte in den Daten enthalten sind. In Block 506 kann das „Klassifizieren der Daten“ durchgeführt werden. In einigen Beispielen kann eine Klassifizierung einen oder mehrere Datentypen angeben, die in den Daten enthalten sind. In einigen Beispielen kann die Klassifizierung eine regelbasierte Klassifizierung sein. In einigen Beispielen kann die Klassifizierung durch ein maschinelles Lernmodell, wie zum Beispiel ein neuronales Netzwerk, durchgeführt werden. In einigen Beispielen kann der Block 506 vor dem Block 504 ausgeführt werden. In einigen Beispielen können die Blöcke 504 und 506 gleichzeitig ausgeführt werden.
-
In Block 508 kann das „Verändern eines Wertes“ durchgeführt werden. In einigen Beispielen kann ein Wert von einem oder mehreren in den Daten enthaltenen Werten verändert werden. In einigen Beispielen kann der Wert abstrahiert oder maskiert werden. Wie der Wert verändert wird und/oder ob der Wert verändert wird, kann in einigen Beispielen zumindest teilweise auf dem Rang und der Klassifizierung des Wertes basieren. In einigen Beispielen kann das Verändern des Wertes das Maskieren des Wertes beinhalten, wenn die Klassifizierung anzeigt, dass es sich bei dem Datentyp des Wertes um sensible Daten handelt und der Rang anzeigt, dass die Häufigkeit, mit der der Wert in den Daten enthalten ist, gleich oder kleiner als ein Grenzwert ist. In einigen Beispielen kann das Verändern des Wertes das Abstrahieren des Wertes beinhalten, wenn die Klassifizierung angibt, dass der Datentyp des Wertes sensible Daten sind und der Rang angibt, dass die Anzahl, wie oft der Wert in den Daten enthalten ist, gleich oder größer als ein Grenzwert ist. In einigen Beispielen können sensible Daten Eigennamen, Daten, Adressen, Passwörter, Geburtsdaten, Kontonummern und/oder Benutzernamen umfassen.
-
In Block 510 kann das „Bereitstellen der Daten an ein maschinelles Lernmodell“ durchgeführt werden. Die dem maschinellen Lernmodell bereitgestellten Daten können in einigen Beispielen die veränderten Werte enthalten. Das heißt, die Daten, die dem maschinellen Lernmodell zur Verfügung gestellt werden, können gegenüber den ursprünglich in Block 502 empfangenen Daten verändert werden. In einigen Beispielen können die Daten als Trainingsdatensatz verwendet werden, um das maschinelle Lernmodell zu trainieren. Optional kann in Block 512 ein „Trainieren des maschinellen Lernmodells“ durchgeführt werden. Das maschinelle Lernmodell kann mit dem Trainingsdatensatz trainiert werden.
-
Optional kann in einigen Beispielen das „Parsen der Daten in einem oder mehreren Token“ in Block 514 durchgeführt werden. In einigen Beispielen können einzelne der Token zumindest einen Teil der in Block 502 empfangenen Daten enthalten. In einigen Beispielen, wie zum Beispiel dem in 5 gezeigten Beispiel, kann das Parsen vor dem Ranking und/oder dem Klassifizieren der Daten durchgeführt werden.
-
6 ein funktionales Blockdiagramm einer maschinellen Lernanwendung 600 zum Bereitstellen von Ausgaben gemäß der vorliegenden Erfindung. In einigen Beispielen kann die maschinelle Lernanwendung 600 durch computerlesbare Instruktionen implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 600 durch Hardware, wie FPGAs und/oder ASICs, implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 600 durch eine Kombination aus computerlesbaren Instruktionen und Hardware implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 600 durch die in 2 gezeigte Computervorrichtung 200 implementiert werden. In einigen Beispielen kann die maschinelle Lernanwendung 600 in Kombination mit der in 2 dargestellten maschinellen Lernanwendung 300 verwendet werden und/oder in diese integriert sein. Beispielsweise kann das maschinelle Lernmodell 602 in dem maschinellen Lernmodell 316 enthalten sein, oder das maschinelle Lernmodell 316 kann in dem maschinellen Lernmodell 602 enthalten sein.
-
In einigen Beispielen kann die maschinelle Lernanwendung 600 ein maschinelles Lernmodell 602 enthalten, das trainiert werden kann, um ein Ergebnis (Y) 604 (z.B. eine Schlussfolgerung) auf Basis von Daten (X) 622 zu erzeugen, die dem maschinellen Lernmodell 602 als Eingabe bereitgestellt werden. Das maschinelle Lernmodell 602 kann ein Konfidenzniveau (C) 606 erzeugen, das mit dem Ergebnis 604 in Beziehung steht. Das Konfidenzniveau 606 kann ein Grad der Sicherheit (z.B. Wahrscheinlichkeit) darstellen, mit dem die maschinelle Lernanwendung 600 ein korrektes oder gewünschtes Ergebnis 604 auf Basis der Daten 622 geliefert hat. Das Bestimmen des Konfidenzniveaus 606 wird unter Bezugnahme auf die 7 und 8 detaillierter beschrieben. Normalerweise ist das Bereitstellen von Ergebnissen mit einem niedrigen Konfidenzniveau nicht gewünscht. Bei maschinellen Lernmodellen ist eine absolute oder nahezu absolute Sicherheit jedoch eher selten. Daher können Konfidenzniveaus, die einer solchen Sicherheit entsprechen, darauf hinweisen, dass das maschinelle Lernmodell 602 ein Ergebnis aus einem Trainingsdatensatz (in 6 nicht dargestellt), der zum Trainieren des maschinellen Lernmodells 602 verwendet wurde, gespeichert hat. In einigen Anwendungen kann es wahrscheinlicher sein, dass Ergebnisse mit hohen Konfidenzniveaus sensible Daten enthalten und/oder Informationen über das maschinelle Lernmodell und/oder den Trainingsdatensatz preisgeben. Folglich kann es wünschenswert sein, die Bereitstellung des Ergebnisses 604 zu unterlassen, wenn das Konfidenzniveau 606 hoch ist.
-
In einigen Beispielen kann das Konfidenzniveau 606 analysiert werden, wie in Block 608 gezeigt. In einigen Beispielen kann der Block 608 einen Komparator enthalten, der das Konfidenzniveau 606 mit einem oder mehreren Grenzwerten vergleicht. In einigen Beispielen kann das Konfidenzniveau 606 mit einem Grenzwert verglichen werden, der bestätigen kann, dass das Ergebnis 604 kein gespeichertes Ergebnis aus einem Trainingsdatensatz enthält. In einigen Beispielen kann der Grenzwert eine hohe Gewissheit oder Wahrscheinlichkeit darstellen, dass das Ergebnis 604 das richtige oder gewünschte Ergebnis auf Basis der Daten 622 ist. Zum Beispiel kann der Grenzwert in einigen Beispielen 0,99 oder 1,00 betragen.
-
Optional kann in einigen Beispielen ein anderer Grenzwert bestätigen, dass das Konfidenzniveau 606 hoch genug ist, um ein korrektes Ergebnis 604 mit einem akzeptablen Grad an Zuverlässigkeit zu liefern. Welcher Grenzwert einem akzeptablen Grad an Zuverlässigkeit entspricht, kann je nach Anwendung variieren. Bei einigen Anwendungen kann zum Beispiel ein Grenzwert von 0,51 ein akzeptables Konfidenzniveau darstellen. In anderen Anwendungen kann ein Grenzwert von 0,60 ein akzeptables Konfidenzniveau darstellen. In anderen Anwendungen kann ein Grenzwert von 0,80, 0,90 oder 0,95 ein akzeptables Konfidenzniveau darstellen. In einigen Anwendungen wird kein Grenzwert verwendet, und die Klassifizierung mit der höchsten Wahrscheinlichkeit (und/oder der höchsten Wahrscheinlichkeit nach Entfernen aller Klassifizierungen mit Wahrscheinlichkeiten über einem oberen Grenzwert) kann als Ergebnis 604 zurückgegeben werden.
-
Basierend auf der Analyse des Konfidenzniveaus 606 kann die maschinelle Lernanwendung 600 eine Ausgabe 624 bereitstellen. In einigen Beispielen, wenn die Analyse des Konfidenzniveaus 606 bestimmt, dass das Ergebnis 604 kein gespeichertes Ergebnis ist (z.B. ist das Konfidenzniveau 606 gleich oder kleiner als ein Grenzwert), kann die Ausgabe 624 das Ergebnis 604 enthalten, wie in Block 610 angegeben. In einigen Beispielen kann die Ausgabe 624 das Ergebnis 604 nicht enthalten, wenn die Analyse des Konfidenzniveaus 606 bestimmt, dass es sich bei dem Ergebnis 604 um ein gespeichertes Ergebnis handelt (z.B. wenn das Konfidenzniveau 606 einem Grenzwert entspricht oder darüber liegt). In einigen Beispielen, wie in Block 612 angegeben, kann die Ausgabe 624 ein Fehlersignal enthalten. Das Fehlersignal kann angeben, dass für die Eingangsdaten 622 kein Ergebnis geliefert werden kann. Optional kann in einigen Beispielen das Fehlersignal bereitgestellt werden, wenn das Konfidenzniveau 606 gleich oder größer als ein Grenzwertwert ist, der angibt, dass das Ergebnis 604 nicht zuverlässig ist (z.B. eine geringe Wahrscheinlichkeit hat, dass es sich um die richtige und/oder gewünschte Ausgabe für die Daten 622 handelt).
-
Optional, in einigen Beispielen, wenn das Konfidenzniveau 606 angibt, dass das Ergebnis 604 ein gespeichertes Ergebnis ist, kann die maschinelle Lernanwendung 600 ein anderes Ergebnis (Y') von dem maschinellen Lernmodell 602 erzeugen, das ein Konfidenzniveau hat, das angibt, dass das Ergebnis nicht gespeichert ist. Das heißt, das Konfidenzniveau für das neue Ergebnis Y' kann niedriger sein als das Konfidenzniveau 606, das mit dem ursprünglichen Ergebnis 604 in Beziehung steht. In einigen Fällen kann das Ergebnis Y' ein „zweitbestes“ Ergebnis darstellen. Das Ergebnis Y' kann dann in die Ausgabe 624 aufgenommen werden, wie in Block 614 angegeben.
-
In einigen Beispielen können die Daten 622 von einer separaten Anwendung 620 bereitgestellt werden, die auf einer Computervorrichtung enthalten sein kann, das von der Computervorrichtung getrennt ist, die die maschinelle Lernanwendung 600 implementiert. Zum Beispiel kann sich die Anwendung 620 auf einer Edge-Vorrichtung befinden, wie zum Beispiel der Edge-Vorrichtung 222. In einigen Beispielen kann die Ausgabe 624 für die Anwendung 620 bereitgestellt werden.
-
In einigen Anwendungen kann die Befürchtung hinsichtlich der Einbeziehung gespeicherter Ergebnisse in die Ausgabe 624 abhängig von der Quelle der Daten 622, der Quelle des Trainingsdatensatzes, der zum Trainieren des maschinellen Lernmodells 602 verwendet wird, dem Zweck, für den die Ausgabe 624 bereitgestellt wird, und/oder einem Benutzer der maschinellen Lernanwendung 600 variieren. Wenn zum Beispiel ein Administrator die maschinelle Lernanwendung 600 verwendet, kann der Grenzwert hoch eingestellt werden (z.B. 1,0), um zu bestimmen, ob ein Ergebnis gespeichert wird oder nicht. Beispielsweise kann ein Administrator ein Software-Ingenieur in einem Unternehmen sein, dem die maschinelle Lernanwendung 600 gehört und das die maschinelle Lernanwendung 600 testet. In einem anderen Beispiel, wenn ein Benutzer, der auf die maschinelle Lernanwendung 600 zugreift (z.B. ein Benutzer der Anwendung 620), auch die Quelle des Trainingsdatensatzes ist, kann der Grenzwert ebenfalls hoch angesetzt werden. Zum Beispiel, wenn ein maschinelles „Smart-Compose“-Lernmodell 602 nur mit den eigenen E-Mails des Benutzers trainiert wurde. In einem weiteren Beispiel, wenn ein Benutzer kein Administrator ist und das maschinelle Lernmodell 602 nicht ausschließlich auf Daten des Benutzers trainiert wurde, kann der Grenzwert niedriger angesetzt werden (z.B. 0,97, 0,98, 0,99).
-
7 ist eine Darstellung eines neuronalen Netzwerks 700 gemäß Beispielen der vorliegenden Erfindung. In einigen Beispielen kann das neuronale Netzwerk 700 in ein maschinelles Lernmodell, wie das maschinelle Lernmodell 316 und/oder das maschinelle Lernmodell 602, eingebunden sein. In einigen Beispielen kann das neuronale Netzwerk 700 deterministisch sein. Das neuronale Netz 700 kann Eingangsknoten 702 enthalten. In einigen Beispielen können die Eingangsknoten 702 in einer Schicht organisiert sein. Die Eingangsknoten 702 können über Gewichtungen 704 mit einer oder mehreren Schichten versteckter Einheiten 706 verbunden sein. In einigen Beispielen können die versteckten Einheiten 706 Operationen bezüglich einer oder mehreren Eingaben von den Eingangsknoten 702 durchführen, die zumindest teilweise auf den zugehörigen Gewichtungen 704 basieren. Die Ausgaben der versteckten Einheiten 706 können einer Ausgabeschicht 708 zugeführt werden, die Konfidenzwerte zurückgeben kann, d.h. Werte, die mit einem Konfidenzniveau in einem Ergebnis in Beziehung stehen, das von dem neuronalen Netzwerk 700 abgeleitet ist. Die Ausgabeschicht 708 kann Konfidenzwerte (z.B. Konfidenzniveaus) berechnen, die mit einem Ergebnis ŷ in Beziehung stehen, das einem Ergebnisknoten 710 bereitgestellt wird.
-
In einigen Beispielen kann die Ausgabeschicht 708 eine Softmax-Funktion verwenden, um den Konfidenzwert der Klassifizierungs- oder Regressionsausgabe zu berechnen. Die Softmax-Funktion kann wie folgt dargestellt werden:
-
-
Dabei wird Softmax(ŷ) als Konfidenzwert für die Ausgabe verwendet, ŷ ist die Ausgabe, und n ist die Anzahl der Ausgaben. In anderen Beispielen können jedoch Variationen der Softmax-Gleichung (z.B. Argmax) oder andere Gleichungen oder spezialisierte zusätzliche Schichten zur Berechnung des Konfidenzniveaus verwendet werden.
-
8 ist eine Darstellung eines neuronalen Netzwerks 800 gemäß den Beispielen der vorliegenden Erfindung. In einigen Beispielen kann das neuronale Netzwerk 800 in ein maschinelles Lernmodell, wie das maschinelle Lernmodell 316 und/oder das maschinelle Lernmodell 602, eingebunden sein. In einigen Beispielen kann das neuronale Netzwerk 800 stochastisch sein (z.B. eine Bayes'sche Darstellung). Ähnlich wie das neuronale Netzwerk 700 kann das neuronale Netzwerk 800 Eingabeknoten 802 enthalten. In einigen Beispielen können die Eingabeknoten 802 in einer Schicht organisiert sein. Die Eingabeknoten 802 können mit einer oder mehreren Schichten von versteckten Einheiten 806 durch Gewichtungen 804 gekoppelt sein. In einigen Beispielen können die versteckten Einheiten 806 Operationen an einer oder mehreren Eingaben von den Eingabeknoten 802 durchführen, die zumindest teilweise auf den zugehörigen Gewichtungen 804 basieren. Die Ausgaben der versteckten Einheiten 806 können einem Ergebnisknoten 810 zugeführt werden. Im Gegensatz zum neuronalen Netzwerk 700 ist das Ergebnis am Ergebnisknoten 810 jedoch nicht ein einzelner Wert, sondern eine Verteilung der Ausgaben Y 808. In einigen Beispielen kann die Verteilung der Ausgaben Y verwendet werden, um das Konfidenzniveau aus der Wahrscheinlichkeitsverteilung zu schätzen, die wie folgt dargestellt wird:
-
-
Wobei θ Gewichtungen des neuronalen Netzwerks 800 sind und p die bedingte Wahrscheinlichkeitsverteilung auf der Ausgabeschicht ist, aus der das Konfidenzniveau abgeleitet wird. Andere Verteilungen oder Analysen der Verteilung der Ausgaben 808 können in anderen Beispielen zur Bestimmung des Konfidenzniveaus verwendet werden. Die in den 7 und 8 gezeigten Verfahren zur Bestimmung des Konfidenzniveaus sind nur beispielhaft dargestellt, und die Erfindung ist nicht auf die dargestellten Beispiele beschränkt.
-
9 ist ein Flussdiagramm eines Verfahrens 900 gemäß Beispielen der vorliegenden Erfindung. In einigen Beispielen kann das gesamte Verfahren 900 oder ein Teil davon von einer Computervorrichtung durchgeführt werden, zum Beispiel von der in 2 gezeigten Computervorrichtung 200. In einigen Beispielen kann das gesamte Verfahren 900 oder ein davon von einer maschinellen Lernanwendung durchgeführt werden, wie zum Beispiel die in 6 gezeigte maschinelle Lernanwendung 600 und/oder die in 3 gezeigte maschinelle Lernanwendung 300, die in einigen Beispielen von einer Computervorrichtung implementiert werden kann, wie zum Beispiel die Computervorrichtung 200.
-
In Block 902 kann das „Empfangen einer Dateneingabe“ durchgeführt werden. In einigen Beispielen kann die Dateneingabe von einer Schnittstelle, wie zum Beispiel der Schnittstelle 214, empfangen werden. In einigen Beispielen kann die Dateneingabe Text, Bilder und/oder Sound-Daten enthalten. In einigen Beispielen kann die Dateneingabe von einer Edge-Vorrichtung, wie zum Beispiel der Edge-Vorrichtung 222, empfangen werden.
-
In Block 904 kann das „Analysieren der Dateneingabe mit einem maschinellen Lernmodell, um ein Ergebnis und ein Konfidenzniveau zu erzeugen“ durchgeführt werden. In einigen Beispielen kann das maschinelle Lernmodell ein neuronales Netzwerk sein. In einigen Beispielen kann das neuronale Netzwerk deterministisch sein. In einigen Beispielen kann das Konfidenzniveau zumindest teilweise auf der Grundlage eines Softmax-Algorithmus, wie zum Beispiel dem in 7 dargestellten Algorithmus, erzeugt werden. In einigen Beispielen kann das neuronale Netzwerk stochastisch sein. In einigen Beispielen kann das Konfidenzniveau zumindest teilweise auf Basis einer Verteilung der Ergebnisse erzeugt werden.
-
In Block 906 kann ein „Vergleichen des Konfidenzniveaus mit einem Grenzwert“ durchgeführt werden. In einigen Beispielen kann das Vergleichen von einem Komparator durchgeführt werden. In Block 908 kann das „Bereitstellen einer Ausgabe basierend auf dem Vergleich“ durchgeführt werden. In einigen Beispielen kann die Ausgabe von einer Computervorrichtung, wie zum Beispiel der Computervorrichtung 200, an eine Edge-Vorrichtung, wie zum Beispiel die Edge-Vorrichtung 222, geliefert werden.
-
In einigen Beispielen umfasst die Ausgabe ein Fehlersignal, wenn das Konfidenzniveau gleich oder größer als der Grenzwert ist. In einigen Beispielen umfasst die Ausgabe das Ergebnis, wenn das Konfidenzniveau gleich oder kleiner als der Grenzwert ist. In einigen Beispielen beträgt der Grenzwert 0,99. In einigen Beispielen basiert der Grenzwert zumindest teilweise auf der Art des Benutzers des maschinellen Lernmodells. Zu den Benutzertypen können beispielsweise normale Benutzer und Administratoren gehören. In einigen Beispielen basiert der Grenzwert zumindest teilweise auf einer Quelle eines Trainingsdatensatzes, der zum Trainieren des maschinellen Lernmodells verwendet wird, und auf einem Benutzer des maschinellen Lernmodells. In einigen Beispielen ist der Grenzwert größer, wenn die Quelle des Trainingsdatensatzes der Benutzer ist, als wenn die Quelle des Trainingsdatensatzes nicht der Benutzer ist.
-
Optional, wenn das Konfidenzniveau gleich oder größer als der Grenzwert ist, können in einigen Beispielen die Blöcke 908 und 910 durchgeführt werden, um ein datenschutzfreundlicheres Ergebnis zu liefern. In Block 908 kann das „Analysieren der Dateneingabe mit dem maschinellen Lernmodell zum Erzeugen eines zweiten Ergebnisses“ durchgeführt werden. Das zweite Ergebnis kann in einigen Beispielen ein zweites Konfidenzniveau unterhalb des Grenzwerts aufweisen. In Block 910 kann das „Bereitstellen des zweiten Ergebnisses als Ausgabe“ durchgeführt werden.
-
In einigen Beispielen kann das Verfahren 900 während und/oder nach dem Verfahren 500 durchgeführt werden.
-
10 zeigt ein Computersystem 1000 gemäß Beispielen der vorliegenden Erfindung. Das Computersystem 1000 kann ein oder mehrere Edge-Vorrichtungen 1012, wie zum Beispiel eine tragbare Vorrichtung (z.B. eine Smart-Watch) 1002 und/oder eine mobile Vorrichtung (z.B. ein Smart-Phone, Tablet) 1004, umfassen. Die tragbare Vorrichtung 1002 und/oder die mobile Vorrichtung 1004 können von einem Benutzer 1001 bedient werden. Das Computersystem 1000 kann ferner ein Cloud-Computersystem 1006 umfassen, das ein oder mehrere Computervorrichtungen (z.B. die Computervorrichtung 200) enthalten kann.
-
In einigen Beispielen können die Edge-Vorrichtungen 1012 eine oder mehrere maschinelle Lernanwendungen implementieren, wie zum Beispiel die Anwendungen 300, 320, 600 und/oder 620 oder Teile davon. Zum Beispiel können die Edge-Vorrichtungen 1012 eine maschinelle Lernanwendung implementieren, die die von der Edge-Vorrichtung 1012 gesammelten Daten abstrahiert und/oder maskiert. Beispielsweise kann die tragbare Vorrichtung 1002 Fitnessdaten sammeln (z.B. Standort des Benutzers, Herzfrequenz, Meilen pro Stunde, Trainingsdauer), und die von der tragbaren Vorrichtung 1002 implementierte maschinelle Lernanwendung kann bestimmte Werte in den Fitnessdaten (z. B. genaue Standorte) abstrahieren und/oder maskieren.
-
In einigen Beispielen kann das Cloud-Computersystem 1006 eine oder mehrere maschinelle Lernanwendungen implementieren, wie zum Beispiel die Anwendungen 300, 320, 600 und/oder 620 oder Teile davon. Zum Beispiel kann das Cloud-Computersystem 1006 eine Trainingsanwendung 1008 enthalten, die Trainingsdatensätze erzeugt und/oder ein maschinelles Lernmodell trainiert. In einigen Beispielen können die abstrahierten und/oder maskierten Daten dann von der Edge-Vorrichtungen 1012 an die Trainingsanwendung 1008 übermittelt werden. Die Trainingsanwendung 1008 kann die abstrahierten und/oder maskierten Daten von der Edge-Vorrichtung 1012 verwenden, um ein maschinelles Lernmodell zu trainieren. Da in diesem Beispiel das Abstrahieren und/oder Maskieren auf der Edge-Vorrichtung 1012 durchgeführt wird, können nur wenige oder gar keine sensiblen Daten von der Edge-Vorrichtung 1012 übertragen und/oder von dem Cloud-Computersystem 1006 empfangen werden. Dies kann zusätzliche Sicherheit für sensible Informationen in einigen Anwendungen bieten.
-
In einigen Beispielen kann das Cloud-Computersystem 1006 eine maschinelle Lernanwendung 1010 enthalten, die Ergebnisse auf Basis von Eingaben erzeugt, die von den Edge-Vorrichtungen 1012 bereitgestellt werden. In einigen Beispielen kann die maschinelle Lernanwendung 1010 eine maschinelle Lernanwendung, wie zum Beispiel die maschinelle Lernanwendung 600, implementieren, die gespeicherte Ergebnisse unterdrückt. In einigen Beispielen werden nur nicht gespeicherte Ergebnisse (z.B. Ergebnisse mit einem Konfidenzniveau, das einem Grenzwert entspricht oder darunter liegt) vom Cloud-Computersystem 1006 an die Edge-Vorrichtungen 1012 übermittelt. In einigen Anwendungen kann hierdurch das Risiko der Freigabe sensibler Daten durch das Cloud-Computersystem 1006 und/oder anderer Informationen, die ein Reverse-Engineering der maschinellen Lernanwendung 1010 ermöglichen könnten, verringert werden.
-
Die Vorrichtungen, Systeme und Verfahren der vorliegenden Erfindung können datenschutzfreundlichere Operationen von maschinellen Lernmodellen, Anwendungen und/oder Systemen ermöglichen. Die hierin beschriebenen Vorrichtungen, Systeme und Verfahren können Werte in Daten abstrahieren und/oder maskieren, bevor die Daten einem maschinellen Lernmodell zum Training zur Verfügung gestellt werden. Dadurch kann das maschinelle Lernmodell in einigen Anwendungen das Speichern von sensiblen Informationen reduzieren oder verhindern. Darüber hinaus können die Vorrichtungen, Systeme und Verfahren der vorliegenden Erfindung ein Konfidenzniveau analysieren, das mit einem Ergebnis eines maschinellen Lernmodells in Beziehung steht. Wenn das Konfidenzniveau zu hoch ist, kann das Ergebnis nicht als Ausgabe bereitgestellt werden. Das Abstrahieren und/oder Maskieren von Daten, die zum Trainieren von maschinellen Lernmodellen verwendet werden, und/oder die Nichtbereitstellung eines Ergebnisses des maschinellen Lernmodells unter bestimmten Bedingungen kann die Offenlegung sensibler Daten und/oder das Reverse-Engineering des maschinellen Lernmodells, der Trainingsmethoden und/oder der Trainingsdaten reduzieren oder verhindern. In einigen Anwendungen kann hierdurch der Schutz der Privatsphäre von Personen und/oder Unternehmen verbessert werden.
-
Die vorstehende Beschreibung bestimmter Ausführungsformen ist lediglich beispielhaft und soll in keiner Weise den Umfang der Erfindung oder ihrer Anwendungen oder Verwendungen einschränken. In dieser detaillierten Beschreibung von Ausführungsformen der vorliegenden Vorrichtungen, Systeme und Verfahren wird auf die beigefügten Zeichnungen verwiesen, die einen Teil dieser Offenbarung bilden und in denen zur Veranschaulichung bestimmte Ausführungsformen gezeigt werden, in denen die beschriebenen Vorrichtungen, Systeme und Verfahren angewendet werden können. Diese Ausführungsformen sind hinreichend detailliert beschrieben, um es dem Fachmann zu ermöglichen, die gegenwärtig offenbarten Vorrichtungen, Systeme und Verfahren auszuführen, und es ist offensichtlich, dass andere Ausführungsformen verwendet werden können und dass strukturelle und logische Änderungen vorgenommen werden können, ohne vom Grundgedanken und Umfang der Erfindung abzuweichen. Darüber hinaus wird aus Gründen der Klarheit auf detaillierte Beschreibungen bestimmter Merkmale verzichtet, wenn diese für den Fachmann offensichtlich sind, um die Beschreibung von Ausführungsformen der Erfindung nicht zu verschleiern. Die hier vorgenommenen Erörterungen sind daher nicht in einem einschränkenden Sinne zu verstehen, und der Umfang der Erfindung wird nur durch die beigefügten Ansprüche definiert. Der hier verwendete Begriff „Gerät“ kann sich auf eine Schaltung, eine Vorrichtung, ein System, eine Komponente oder eine Kombination davon beziehen. Ein Gerät kann beispielsweise eine Computervorrichtung, ein Prozessor, ein Speicher, eine Speichervorrichtung, eine mobile Vorrichtung, eine Edge-Vorrichtung, ein Server und/oder ein Cloud-Computersystem sein.
-
Es ist offensichtlich, dass jedes der hierin beschriebenen Beispiele, Ausführungsformen oder Verfahren mit einem oder mehreren anderen Beispielen, Ausführungsformen und/oder Verfahren kombiniert werden kann oder unter separaten Vorrichtungen oder Teilen von Vorrichtungen gemäß den vorliegenden Systemen, Vorrichtungen und Verfahren getrennt und/oder durchgeführt werden kann.
-
Schließlich sind die obigen Erörterungen nur zur Veranschaulichung gedacht und sollen nicht als Beschränkung der beigefügten Ansprüche auf eine bestimmte Ausführungsform oder auf eine Gruppe von Ausführungsformen ausgelegt werden. Obwohl verschiedene Ausführungsformen der Erfindung besonders detailliert beschrieben wurden, soll auch bedacht werden, dass zahlreiche Modifikationen und alternative Ausführungsformen von Fachleuten, die über übliche Fachkenntnisse auf dem Gebiet verfügen, entwickelt werden können, ohne von dem breiteren und beabsichtigten Grundgedanken und Umfang der vorliegenden Erfindung abzuweichen, wie sie in den folgenden Ansprüchen dargelegt ist. Folglich sind die Beschreibung und die Zeichnungen in einer illustrativen Weise zu betrachten und sollen den Umfang der beigefügten Ansprüche nicht einschränken.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 62955297 [0001]
- US 16/854107 [0001]