Eine neuartige Methode zur datenschutzfreundlichen Sprachverarbeitung, die die Sprecherattribute mittels raumfüllender Vektorquantisierung anonymisiert

Dieser Beitrag ist eine kurze Erläuterung unserer vorgeschlagenen Datenschutztechnik namens Privateness-PORCUPINE (1), die auf der Interspeech 2024-Konferenz veröffentlicht wurde. Der Beitrag erörtert eine potenzielle Bedrohung der Privatsphäre, die bei der Verwendung gewöhnlicher Vektorquantisierung im Flaschenhals von DNN-basierten Sprachverarbeitungstools auftreten kann.

Foto von Dayne Topkin An Unsplash

Sprache ist ein praktisches Medium für die Interaktion zwischen Menschen und mit Technologie, doch es gibt Belege dafür, dass sie Sprecher Bedrohungen ihrer Privatsphäre aussetzt. Ein zentrales Downside ist, dass Sprache neben dem möglicherweise privaten sprachlichen Inhalt auch personal Nebeninformationen wie Identität, Alter, Gesundheitszustand, ethnische Herkunft, Geschlecht und Emotionen des Sprechers enthält. Die Offenlegung solcher sensiblen Informationen gegenüber einem Zuhörer kann den Sprecher Bedrohungen wie Preistreiberei, Monitoring, Belästigung, Erpressung und Identitätsdiebstahl aussetzen. Um Sprecher zu schützen, versucht die datenschutzfreundliche Sprachverarbeitung, Sprachsignale zu anonymisieren, indem personal Informationen, die für die nachfolgende Aufgabe nicht erforderlich sind, entfernt werden (2).

Ein gängiges Funktionsprinzip der datenschutzfreundlichen Sprachverarbeitung besteht darin, Informationen durch einen Informationsengpass zu leiten, der eng genug ist, um nur die gewünschten Informationen passieren zu lassen und die Übertragung anderer privater Informationen zu verhindern. Solche Engpässe können beispielsweise implementiert werden als Autoencoderbei dem ein neuronales Netzwerk, der sogenannte Encoder, die Informationen zu einem Engpass komprimiert und ein zweites Netzwerk, der Decoder, die gewünschte Ausgabe rekonstruiert. Die Informationsrate des Engpasses kann nur dann absolut quantifiziert werden, wenn sie quantisiert ist, und die Quantisierung ist daher ein erforderlicher Bestandteil jedes Datenschutznachweises (2). Die folgende Abbildung zeigt eine vektorquantisierte Variational Autoencoder-Architektur (VQ-VAE) und ihren Engpass.

Abbildung 1: Architektur eines vektorquantisierten Variational Autoencoders (VQ-VAE). (Bild vom Autor)

Wie im Rahmenwerk Privateness ZEBRA (3) dargelegt, müssen wir den Datenschutz sowohl im Hinblick auf die durchschnittliche Offenlegung privater Informationen (in Bits) als auch im Hinblick auf die Offenlegung im schlimmsten Fall (in Bits) charakterisieren. Vektorquantisierung (VQ) (4) ist ein Quantisierer mit konstanter Bitrate in dem Sinne, dass er den Eingang mit einem Codebuch mit Ok Elementen quantisiert und die Indizes eines solchen Codebuchs mit B=log2(Ok) Bits ausgedrückt werden können. Dieses B entspricht der durchschnittlichen Offenlegung privater Informationen in Bits. In Bezug auf die Offenlegung im schlimmsten Fall ist es offensichtlich, dass unterschiedliche Codebuchelemente mit unterschiedlichen Häufigkeiten verwendet werden (siehe Abb. 2.1 unten). Dies bedeutet, dass einem bestimmten Codebuchindex eine relativ kleinere Teilmenge von Sprechern zugewiesen werden könnte, sodass jedes Mal, wenn ein Sprecher diesem Codebuchindex zugewiesen wird, der Bereich möglicher Sprecher relativ kleiner ist als bei anderen Codebuchindizes und die entsprechende Offenlegung privater Informationen größer ist (für die Sprecher, die diesem bestimmten Codebuchindex zugewiesen sind). Nach bestem Wissen der Autoren wurde diese Offenlegung jedoch bisher nicht quantifiziert, und wir verfügen auch nicht über frühere Lösungen, um eine solche Erhöhung der Offenlegung auszugleichen. Daher besteht unser Hauptziel darin, VQ so zu ändern, dass alle Codebuchelemente die gleiche Auftrittswahrscheinlichkeit haben, um das Abfließen privater Informationen zu verhindern (und so die Offenlegung im schlimmsten Fall zu verbessern).

Als Lösung verwenden wir hier unsere kürzlich vorgeschlagene Modifikation von VQ, bekannt als raumfüllende Vektorquantisierung (SFVQ) (5), das raumfüllende Kurven in VQ einbezieht. Wir definieren SFVQ als lineare Fortsetzung von VQ, so dass nachfolgende Codebuchelemente mit einer Linie verbunden sind, wobei die Eingänge auf jeden Punkt dieser stückweise kontinuierlichen Linie abgebildet werden können (siehe Abb. 2.2). Weitere Informationen zu SFVQ finden Sie unter dieser Beitrag.

In unserer Technik, genannt Privateness PORCUPINE (1), haben wir vorgeschlagen, eine Codebuch-Resampling-Methode zusammen mit SFVQ zu verwenden, bei der ein Vektorquantisierer entlang der SFVQ-Kurve neu abgetastet wird, so dass alle Elemente des neu abgetasteten Codebuchs die gleiche Auftrittswahrscheinlichkeit haben (siehe Abb. 2.3 und 2.4).

Abbildung 2: 1. Codebuchvektoren (blaue Punkte) einer 5-Bit-Vektorquantisierung, angewendet auf eine Gauß-Verteilung (graue Punkte); Voronoi-Bereiche sind grün dargestellt. 2. Raumfüllende Vektorquantisierung (SFVQ) mit 5 Bit, angewendet auf dieselbe Gauß-Verteilung (Kurve in Schwarz mit Codebuchvektoren in Blau). 3. Dieselbe SFVQ-Kurve zusammen mit den neu abgetasteten Codebuchvektoren (rote Kreuze). 4. Dieselben neu abgetasteten Codebuchvektoren zusammen mit ihren Voronoi-Bereichen (in Grün). (Bild vom Autor)

Wie messen wir die Offenlegung?

Abbildung 2.1 zeigt, dass in Bereichen, in denen Eingaben weniger wahrscheinlich sind, die Voronoi-Regionen größer sind. Daher enthalten solche größeren Voronoi-Regionen eine geringere Anzahl von Eingabeproben. Ebenso haben kleine Voronoi-Regionen eine größere Anzahl von Eingabeproben. Solche Unterschiede sind auf die Optimierung des Codebuchs durch Minimierung des Kriteriums des mittleren quadratischen Fehlers (MSE) zurückzuführen; häufigere Eingaben werden mit einem kleineren Fehler quantisiert, um den durchschnittlichen Fehler zu minimieren. Unser Ziel ist es, herauszufinden, wie sich eine solche ungleichmäßige Verteilung der Eingaben auf die Codebucheinträge auf die Offenlegung privater Informationen auswirkt.

Wir messen die Offenlegung daran, wie stark die Populationsgröße möglicher Identitäten für einen unbekannten Sprecher durch eine neue Beobachtung abnimmt. Mit anderen Worten: Nehmen wir an, dass wir bereits wissen, dass der Sprecher zu einer Inhabitants der Größe M gehört. Wenn wir beobachten, dass der Sprecher auf einen Index okay quantisiert ist, müssen wir auswerten, wie viele Sprecher L von M auf denselben Index quantisiert werden. Diese Abnahme kann durch das Verhältnis der Populationen L/M quantifiziert werden, das der Offenlegung von B_leak=log2(M/L) Informationsbits entspricht.

Im Extremfall ist es möglich, dass nur ein einziger Sprecher auf einen bestimmten Index quantisiert werden kann. Das bedeutet, dass nur ein Sprecher L=1 aus einem beliebig großen M auf den Bin quantisiert wird, obwohl wir in der Praxis die Ergebnisse nur für endliches M überprüfen können. Theoretisch gilt jedoch, dass, wenn M → ∞, auch die Offenlegung B_leak → ∞ Bits divergiert. Das Hauptziel unserer vorgeschlagenen Methode ist es, die Vektorquantisierung zu modifizieren, um solche katastrophalen Lecks zu verhindern.

Codebuch-Neuabtastung

Nachdem wir den raumfüllenden Vektorquantisierer (SFVQ) (5) mit dem Trainingsset trainiert haben, das Sprechereinbettungen für eine Inhabitants von M Sprechern umfasst (Abb. 2.2), bilden wir alle M Einbettungsvektoren auf der gelernten Kurve ab. Um die Häufigkeit des Auftretens mit Ok Codebuchvektoren zu normalisieren, muss jedes Codebuchelement M/Ok Sprechereinbettungen darstellen. Mit anderen Worten, jede Voronoi-Area sollte M/Ok Sprechereinbettungen umfassen. Unter Berücksichtigung dieser M abgebildeten Einbettungen auf der Kurve von SFVQ beginnen wir mit dem ersten Codebuchelement (einem Ende der Kurve), nehmen die ersten M/Ok abgebildeten Einbettungen und berechnen den Durchschnitt dieser Vektoren. Wir definieren diesen Durchschnittsvektor als den neuen neu abgetasteten Codebuchvektor (rote Kreuze in Abb. 2.3), der den ersten Block von M/Ok Sprechereinbettungen darstellt. Dann fahren wir auf ähnliche Weise fort, bis wir alle Ok neu abgetasteten Codebuchvektoren für alle Ok Blöcke von M/Ok Sprechereinbettungen berechnet haben.

Experimente

In unseren Experimenten verwendeten wir Frequent Voice-Korpus (Model 16.1) um einen großen Pool an Sprechern zu erhalten. Wir wählten 10.240 Sprecher nach dem Zufallsprinzip für den Testsatz und 79.984 Sprecher für den Trainingssatz aus. Zur Berechnung der Sprechereinbettungen verwendeten wir das vorab trainierte Sprecherverifizierungsmodell von ECAPA-TDNN (6). Wir trainierten Methoden der Vektorquantisierung (VQ) und der raumfüllenden Vektorquantisierung (SFVQ) am Trainingssatz (der Sprechereinbettungen) für verschiedene Bitraten von 4 bis 10 Bit (16 bis 1024 Codebuchvektoren).

Als Beispiel für den Vergleich von VQ und neu abgetastetem SFVQ zeigt die folgende Abbildung die Häufigkeiten von VQ und neu abgetastetem SFVQ, beide mit 4 Bit Informationen, die 16 Codebuchvektoren entsprechen. Durch eine informelle visuelle Inspektion können wir erkennen, dass die Einträge in der vorgeschlagenen Methode wie gewünscht gleichmäßiger verteilt sind, aber um die Ergebnisse zu bestätigen, benötigen wir eine ordnungsgemäße Auswertung. Um die erhaltenen Histogramme von VQ und neu abgetastetem SFVQ zu vergleichen, haben wir unterschiedliche Auswertungsmetriken verwendet, die im nächsten Abschnitt erläutert werden.

Abbildung 3: Wahrscheinlichkeit des Vorkommens von Codebüchern für VQ und neu abgetastetes SFVQ im Fall einer 4-Bit-Quantisierung. (Bild vom Autor)

Bewertungsmetriken

Angenommen, wir haben Ok Codebuchvektoren (Bins), um eine Inhabitants von M Sprechern zu quantisieren. Unser Ziel ist es, eine gleichmäßige Verteilung der Stichproben auf die Ok Codebuchvektoren U(1,Ok) zu erreichen, so dass jeder Codebuchvektor M/Ok-mal verwendet wird. Wenn wir M Ganzzahlen aus der gleichmäßigen Verteilung von U(1,Ok) ziehen, erhalten wir das Histogramm h(okay). Wenn wir dann das Histogramm der Vorkommen in den Bins von h(okay) nehmen (d. h. das Histogramm des Histogramms), sehen wir, dass das neue Histogramm einer Binomialverteilung f(okay) folgt, so dass

wobei die Zufallsvariable X das Vorkommen in jedem Bin ist, n die Anzahl der Versuche (n=M) und p die Erfolgswahrscheinlichkeit für jeden Versuch, die p=1/Ok ist. Nachdem wir das Histogramm der Vorkommen der Codebuchindizes g(okay) (Abbildung 3) sowohl für VQ- als auch für neu abgetastete SFVQ-Methoden erhalten haben, berechnen wir das Histogramm der Vorkommen in den Bins von g(okay), die mit f_hat(okay) bezeichnet werden. Die Binomialverteilung f(okay) ist das theoretische Optimum, mit dem unsere Beobachtung f_hat(okay) übereinstimmen sollte. Daher verwenden wir die Kullback-Leibler (KL)-Divergenz zwischen f(okay) und f_hat(okay), um den Abstand zwischen der beobachteten und der idealen Verteilung zu ermitteln.

Ausgehend vom Histogramm der Vorkommen g(okay) berechnen wir das Minimal des Histogramms geteilt durch die Gesamtzahl der Stichproben (M=Σ g(okay)) als Worst-Case-Offenlegung. Außerdem berechnen wir die durchschnittliche Offenlegung als Entropie der Vorkommenshäufigkeiten g(okay)/M. Darüber hinaus verwenden wir ein Spärlichkeitsmaß und eine Standardabweichung als heuristische Maße für die Einheitlichkeit des erhaltenen Histogramms g(okay). Hier sind die Auswertungsformeln:

Ergebnisse

Abbildung 4 zeigt die Leistung von VQ und neu abgetastetem SFVQ als Funktion der Bitrate. In jedem Fall und für alle Bitraten liegt die vorgeschlagene Methode (blaue Linie) unter VQ (rote Linie), was darauf hinweist, dass der Verlust privater Informationen bei der vorgeschlagenen Methode geringer ist. Ein wichtiger Punkt ist, dass neu abgetastetes SFVQ erwartungsgemäß dafür sorgt, dass die durchschnittliche Offenlegung etwas höher ist als bei VQ, während die durchschnittliche Offenlegung sowohl für neu abgetastetes SFVQ als auch für VQ extrem nahe an der Obergrenze der durchschnittlichen Offenlegung liegt, bei der das Histogramm der Häufigkeiten vollkommen flach ist.

Abbildung 4: Leistungsvergleich zwischen VQ und neu abgetastetem SFVQ unter Bewertungskriterien. (Bild vom Autor)

Schlussfolgerungen

Datenschutzkonforme Sprachverarbeitung wird mit der zunehmenden Nutzung von Sprachtechnologie immer wichtiger. Indem wir überflüssige personal Informationen aus einem Sprachsignal entfernen, indem wir es durch einen quantisierten Informationsengpass leiten, können wir nachweisbare Datenschutzmaßnahmen erreichen. Solche Schutzmaßnahmen beruhen jedoch auf der Annahme, dass Quantisierungsstufen mit gleicher Häufigkeit verwendet werden. Unsere theoretischen Analysen und Experimente zeigen, dass eine Vektorquantisierung, die mit dem Kriterium des minimalen mittleren Quadrats (MSE) optimiert wurde, im Allgemeinen keine derart gleichmäßigen Häufigkeiten bietet. Im schlimmsten Fall könnten einige Sprecher eindeutig identifiziert werden, selbst wenn der Quantisierer im Durchschnitt ausreichenden Schutz bietet.

Um solche Datenschutzbedrohungen zu vermeiden, haben wir die resampled SFVQ-Methode vorgeschlagen. Der Datenschutz wird somit dadurch erreicht, dass der Quantisierungsfehler für seltener auftretende Eingaben erhöht wird, während häufigere Eingaben eine höhere Genauigkeit erzielen (siehe Abb. 2.4). Dies steht im Einklang mit der Theorie der differenziellen Privatsphäre (7).

Wir haben die Sprecheridentifikation als illustrative Anwendung verwendet, obwohl die vorgeschlagene Methode verwendet werden kann, um eine nachweisbare Reduzierung des Verlusts privater Informationen für alle Sprachattribute zu erreichen. Zusammenfassend lässt sich sagen, dass das neu abgetastete SFVQ ein generisches Werkzeug für die datenschutzfreundliche Sprachverarbeitung ist. Es bietet eine Methode zur Quantifizierung der Informationsmenge, die durch einen Informationsengpass fließt, und bildet somit die Grundlage für Sprachverarbeitungsmethoden mit nachweisbarem Datenschutz.

Der Code zur Implementierung unserer vorgeschlagenen Methode und der entsprechenden Auswertungen ist unter folgendem Hyperlink öffentlich verfügbar:

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert