arrow arrow--cut calendar callback check chevron chevron--large cross cross--large download filter kununu linkedin magnifier mail marker menu minus Flieger phone play plus quote share

Föderiertes Lernen

Eine KI über Datenschutzgrenzen hinaus trainieren

Bei der Entwicklung von Künstlichen Intelligenzen, insbesondere Neuronalen Netzen, spielen Daten eine entscheidende Rolle. Um eine möglichst gute generalisierende KI zu entwickeln, welche auf ihr unbekannte Eingaben präzise Ergebnisse erzielt, werden häufig sehr große und möglichst vielfältige Datensätze benötigt. Beispielsweise werden viele KIs zur Bilderkennung auf dem ImageNet-Datensatz trainiert, welcher aus mehr als 14 Millionen Beispielbildern besteht. Manche Anwendungsfälle kommen zwar auch mit deutlich weniger Daten aus, doch selbst dann stehen diese nicht unbedingt in ausreichender Menge zur Verfügung. 

Wie wichtig ein großer und vielfältiger Datensatz ist, zeigt unser Blogbeitrag "Bias in AI: Wie schlecht ausgewählte Daten eine AI beeinflussen". 

Die Herausforderung: In vielen Fällen wären zwar theoretisch genügend Daten für das Training einer KI vorhanden, doch diese liegen bei unterschiedlichen Organisationen. Um eine KI zu trainieren, müssten diese Daten geteilt werden – was nicht immer gewollt und teilweise sogar verboten ist. Insbesondere bei schützenswerten, personenbezogenen Daten verhindern Datenschutzbestimmungen den Austausch und somit die Möglichkeit, eine KI auf klassische Weise zu trainieren.

Foto von Klaus Kaiser
Klaus Kaiser

Lead Consultant - Data Science

Beispiel Spielerentwicklung im Fußball

Angenommen der FC Cologne Intelligence (FC CI) möchte mit Hilfe von künstlicher Intelligenz (Neuronale Netze) die Entwicklung seiner Spieler*innen vorhersagen, um optimale Trainingsmethoden für die individuelle Entwicklung zu finden. Leider hat der FC CI nur Daten von einer kleinen Anzahl an Spieler*innen zur Verfügung. Andere Vereine wollen Ihre Daten nicht teilen, da sie sonst einen Nachteil in der Meisterschaft haben, hätten aber andererseits selbst Interesse an einer KI, um ihre eigenen Spieler*innen optimal weiterentwickeln zu können. Die Lösung lautet föderiertes Lernen.

In unserem Beispiel sähe das folgendermaßen aus: Der FC CI beauftragt eine unabhängige zentrale Instanz, um in Kooperation mit verschiedenen anderen Vereinen ein gemeinsames Neuronales Netz zu trainieren. Wichtig ist, dass die Daten nicht die Hoheit der einzelnen Vereine verlassen. Also trainieren die Vereine lokal ein Modell mit ihren Daten. Dieses Modell wird dann an eine zentrale Instanz geschickt, welche die Modelle kombiniert. Das kombinierte Modell geht zurück an die Vereine, sodass diese das Training mit ihren Daten fortsetzen können. Das Schaubild zeigt, wie die Entwicklung des KI-Modells ablaufen kann.

Föderiertes Lernen am Beispiel Fußball

Das Beispiel des FC CI klingt auf dem ersten Blick etwas konstruiert, allerdings hatte Google vor einigen Jahren eine ähnliche Problemstellung: Um die Wortvorhersage der Google Handytastatur zu verbessern, wollte Google eine KI auf den Eingaben von Nutzer*innen entwickeln. Da jedoch auch Passwörter und Kreditkartennummern zu den eingegebenen Daten gehören, konnten diese aus Datenschutzgründen so nicht verwendet werden. Daraufhin hat Google die Idee des föderierten Lernens entwickelt. Hierbei werden KI-Modelle lokal auf den Geräten der einzelnen Nutzer trainiert und dann in einem Schritt aggregiert. Im Folgenden stelle ich dieses in der Arbeit von Google eingeführte Verfahren, genannt „zentralisiertes horizontales föderiertes Lernen“, vor. Zentralisiert bezieht sich hierbei darauf, dass eine zentrale Instanz das Training organisiert. Horizontal meint, dass alle Clients von der Struktur her die gleichen Daten haben. 

Wie läuft föderiertes Lernen ab?

Zunächst gibt es eine zentrale Instanz (Server), welche den Lern Prozess organisiert und §§U§§ verschiedene Teilnehmer, die das Training vorantreiben (Clients, in unserem Beispiel die einzelnen Vereine). Ziel ist es, ein gemeinsames Modell zu trainieren, welches durch die Modellgewichte §§w§§ definiert wird. Zum Startzeitpunkt §§t=0§§ verteilt der Server initiale Gewichte §§w_0§§ an die Clients, mit welchen sie ihr Training starten. Grob läuft das Training wie folgt ab: Im §§t§§-ten Schritt trainiert jeder Client §§(u=1\dots U)§§ lokal das Modell auf §§n^u§§ Elementen seiner Daten und erzeugt so die Gewichte §§w_{t+1}^u§§. Jeder Client sendet die Gewichte §§w_{t+1}^u§§ seines Modells an den Server. Der Server aggregiert die Gewichte §§w_{t+1}^u§§ beispielsweise, indem der gewichtete Mittelwert $$w_{t+1}=\sum_{u=1}^U\frac{n^u}{n} w_{t+1}^u$$ berechnet wird, wobei §§n=\sum_{u=1}^Un^u§§. Der Server spielt die aggregierten Modellgewichte §§w_{t+1}§§ an die Clients zurück. Die Clients aktualisieren die Gewichte ihres lokalen Modells mit §§w_{t+1}§§ und führen das Training fort. In jedem Schritt werden somit nur die Modelle, nicht jedoch die Daten ausgetauscht. Verglichen mit dem klassischen Trainieren eines Neuronalen Netzes entsteht hierdurch ein großer Kommunikationsaufwand durch den Austausch der Modellgewichte. Dies führt dazu, dass ein Training entsprechend länger dauern kann. Zusätzlich können die lokalen Trainings erst nach dem Tausch der aggregierten Gewichte fortgeführt werden. Alternativ zu der hier beschriebenen Variante könnte man auch Gewichtupdates anstatt der Gewichte austauschen oder die Gewichte durch eine andere Funktion aggregieren.

Wie erhöhen wir den Datenschutz?

Durch die Struktur des Lernprozesses werden beim föderierten Lernen zwar keine Daten direkt ausgetauscht, es kann allerdings vorkommen, dass sich Daten in den Gewichten wiederfinden. So werden die Daten zwar nicht direkt weitergegeben, sind aber aus den Gewichten rekonstruierbar.

Um die indirekte Weitergabe der Daten über die Gewichte zu verhindern, gibt es verschiedene Möglichkeiten. Drei davon stelle ich hier vor. Dabei dienen die Beschreibungen hauptsächlich dem Verständnis der zugrundeliegenden Idee, in der Praxis arbeitet man in der Regel mit optimierten Varianten. Für Details sei hierbei auf die entsprechenden Publikationen verwiesen. 

Zu Machine Learning mit sensiblen Daten gehören auch Pseudonymisierung und Anonymisierung. Mehr dazu hat Jan für uns im Blog aufbereitet.

Secure Aggregation

Die grundlegende Idee von gesicherter Aggregation (secured aggregation) ist, dass jeder Client §§u§§ mit jedem anderen Client §§v§§ untereinander Paare §§(s^{u,v},s^{v,u} )§§ austauscht. Hierbei sind §§s^{u,v}§§ und §§s^{v,u}§§ zufällige Vektoren der gleichen Dimension wie die Gewichte des Neuronalen Netzes. Nun verschickt jeder Client §§u§§ nicht §§w_{t+1}^u§§ an den Server, sondern die gestörten Gewichte
$$w_{t+1}^u+∑_{v=1,v\not =u}^K\left (s^{u,v}-s^{v,u} \right).$$

Der Zufallsvektor in den Gewichten stört diese und sorgt dafür, dass der Server keine zusätzlichen Informationen aus den Gewichten ableiten kann. Bildet der Server allerdings die Summe über alle Gewichte, summieren sich die hinzugefügten Zufallsvektoren zu Null auf und der Server kann das gewünschte Gewicht berechnen.

Homomorphic Encryption

Bei der homomorphen Verschlüsselung (homomorphic encryption) kann die Reihenfolge von Verschlüsselung und Anwenden einer Operation (bspw. Addition) vertauscht werden. Angenommen h ist ein homomorphes Verschlüsselungsverfahren, auf welches sich die Clients geeinigt haben. Indem die Clients §§h(w_{t+1}^u )§§ zur Aggregation schicken, bekommt der Server nur verschlüsselte Gewichte zu sehen. So kann der Server den Durchschnitt der verschlüsselten Modellgewichte berechnen,
$$∑_{u=1}^U \frac{n^u}{n} h(w_{t+1}^u)=h\left (\sum_{u=1}^U\left(\frac{n^u}{n} w_{t+1}^u \right)\right)=h(w_{t+1})$$
und erhält aufgrund der Homomorphie-Eigenschaft den verschlüsselten Durschnitt der Modellgewichte. Diesen kann der Server wieder an die Clients verteilen, welche den Wert entschlüsseln können und so §§w_{t+1}§§ erhalten.

Differential Privacy

Bei der differentiellen Privatsphäre wird versucht, die gesendeten Gewichte so zu verändern, dass sie bei möglichst guter Qualität möglichst wenig über die Daten preisgeben.  Dies erreichen wir beispielsweise indem wir die auszutauschenden Modellgewichte durch einen normalverteilten Zufallsvektor §§b_t^u§§ bzw. §§b_t§§, quasi ein Rauschen, stören. Somit schicken die Clients 
$$w_{t+1}^u+b_{t+1}^u$$
und der Server
$$w_{t+1}+b_{t+1}$$
Die Störung sollte hierbei so klein sein, dass die Ergebnisse des Netzwerkes nicht zu stark verfälscht werden, aber so groß, dass aus den Gewichten keine Daten mehr rekonstruiert werden können.

Die verschiedenen Möglichkeiten können auch miteinander kombiniert werden, um die Gefahr von Datenschutzvorfällen zu reduzieren. 

Weitere Arten von föderiertem Lernen

Neben dem beschriebenen zentralisierten horizontalen föderierten Lernen gibt es noch weitere Varianten. Zum Überblick seien hier noch zwei weitere, das dezentrale und vertikale, erwähnt. 

Dezentrales föderiertes Lernen

Beim dezentralen Ansatz organisieren die Clients die Aggregation der Gewichte untereinander selbst. Es gibt somit keine zentrale Instanz, welche dies organisiert. Im Beispiel FC CI wäre dies der Fall, wenn CI nicht die zentrale Organisation übernimmt, sondern die Vereine dies untereinander organisieren.

Vertikales föderiertes Lernen

Beim vertikalen Ansatz haben die einzelnen Clients von der Struktur her unterschiedliche Daten, welche sich ergänzen. Im Beispiel des FC CI wäre das der Fall, wenn die Daten des FC CI durch die Daten der beteiligten Ärzt*innen, Physiotherapeut*innen und Ernährungsberater*innen zu den einzelnen Spieler*innen angereichert werden sollten. Diese Daten dürften aufgrund von Datenschutzbeschränkungen nicht ausgetauscht werden, könnten aber durch föderiertes Lernen in der Hoheit der Dateninhaber bleiben.

Eine Übersicht über verschiedene Arten von föderiertem Lernen und weitere Details finden sich hier. Dieser Artikel zeigt eine Übersicht über offene Fragestellungen und aktuelle Entwicklungen.

Zusammenfassung

Das föderierte Lernen ist ein sehr aktives Feld, in dem aktuell viel geforscht  und entwickelt wird. Zudem entstanden den letzten Jahren unterschiedliche Bibliotheken und Plattformen, mit denen man föderiertes Lernen nutzen kann. Diese Bibliotheken unterscheiden sich häufig in ihrem Anwendungsbereich, der unterstützten Deep Learning Bibliothek und im Funktionsumfang. Ein paar interessante Beispiele sind die folgenden:

Bibliothekenvielfalt und Forschungsaktivität zeigen die hohe Relevanz des Themas. Ein Grund ist die Vielzahl an möglichen Anwendungsfällen, insbesondere dort, wo der Datenschutz den Zugriff auf Daten beschränkt (z.B. Gesundheits-, Finanz- oder Versicherungsbranche). Föderiertes Lernen kann dort die Entwicklung von allgemeineren KI-Modellen unterstützen oder sogar erst ermöglichen. 
Allerdings führt insbesondere der ständige Austausch der Modellgewichte zu einigem Kommunikationsaufwand, vor allem verglichen mit dem Fall, dass die Daten zusammengetragen werden und das Modell zentral trainiert wird. Die Gefahr, das Daten durch den Algorithmus weitergegeben werden, wird durch verschiedene Technologien adressiert.