Semantyka prywatności różnicowej na potrzeby personalizacji na urządzeniu

W tym dokumencie podsumowujemy podejście do ochrony prywatności związane z personalizacją na urządzeniu (ODP) w kontekście prywatności różnicowej. Inne kwestie związane z ochroną prywatności i decyzje projektowe, takie jak minimalizacja danych, zostały celowo pominięte w celu sprecyzowania tego dokumentu.

Prywatność różnicowa

Prywatność różnicowa1 to powszechnie akceptowany standard ochrony prywatności w analizie danych statystycznych i w systemach uczących się2 3. Mówiąc nieformalnie, przeciwnik dowiaduje się o użytkowniku prawie to samo na podstawie danych wyjściowych algorytmu prywatnego różniczkowego, niezależnie od tego, czy jego rekord znajduje się w bazowym zbiorze danych. Oznacza to silną ochronę poszczególnych osób: wszelkie ustalenia na temat danej osoby mogą wynikać wyłącznie z właściwości zbiorczych zbioru danych, które byłyby przechowywane wraz z informacjami o danej osobie lub bez niej.

W kontekście uczenia maszynowego dane wyjściowe algorytmu należy traktować jako parametry wytrenowanego modelu. Zwrot niemal ta sama rzecz jest wyrażany matematycznie przez 2 parametry ( , ), gdzie jest zwykle małą stałą i za « ≪1/(liczba użytkowników).

Semantyka prywatności

Konstrukcja ODP ma na celu zapewnienie,aby każde uruchomienie trenowania było zróżnicowanej prywatności na poziomie użytkownika. Poniżej przedstawiamy nasze podejście do tej semantyki.

Model zagrożeń

Określamy różne partie i założenia dotyczące każdej z nich:

  • Użytkownik: użytkownik, który jest właścicielem urządzenia i konsumentami produktów lub usług oferowanych przez dewelopera. Ich prywatne dane są w pełni dostępne dla nich samych.
  • Zaufane środowisko wykonawcze (TEE): dane i zaufane obliczenia wykonywane w TEE są chronione przed atakami przy użyciu różnych technologii. W związku z tym obliczenia i dane nie wymagają dodatkowej ochrony. Istniejące TEE mogą umożliwić administratorom projektów dostęp do informacji wewnątrz. Proponujemy niestandardowe funkcje blokowania i sprawdzania, czy administrator nie ma dostępu do konta.
  • Osoba przeprowadzająca atak: może mieć dodatkowe informacje o użytkowniku oraz pełny dostęp do informacji pozostawionych w środowisku TEE (takich jak parametry opublikowanego modelu).
  • Programista: osoba, która definiuje i trenuje model. jest uważany za niezaufany (i obejmuje w pełnym zakresie możliwości atakującego).

Chcemy zaprojektować ODP z uwzględnieniem tej semantyki prywatności różnicowej:

  • Granica zaufania: z perspektywy jednego użytkownika granica zaufania składa się z własnego urządzenia użytkownika i platformy TEE. Wszystkie informacje, które opuszczają tę granicę zaufania, powinny być chronione przez prywatność różnicową.
  • Osoba przeprowadzająca atak: pełna ochrona prywatności różnicowej względem osoby przeprowadzającej atak. Każdy podmiot spoza granic zaufania może być intruzem (dotyczy to dewelopera i innych użytkowników). Biorąc pod uwagę wszystkie informacje znajdujące się poza granicami zaufania (na przykład opublikowany model), żadne informacje poboczne o użytkowniku i nieskończone zasoby nie są w stanie wywnioskować dodatkowych prywatnych danych o użytkowniku (oprócz tych, które znajdują się już w informacjach pobocznych), chociaż istnieje ryzyko określone przez budżet na potrzeby prywatności. Oznacza to w szczególności pełną ochronę prywatności różnicowej w odniesieniu do dewelopera. Wszystkie informacje udostępniane deweloperowi (takie jak parametry wytrenowanego modelu lub wnioskowania zbiorcze) są chronione prywatnością różnicową.

Parametry modelu lokalnego

Poprzednia semantyka prywatności uwzględnia sytuacje, w których niektóre parametry modelu są lokalne dla urządzenia (np. model zawiera osadzone funkcje dostosowane do każdego użytkownika, a nie współdzielone przez wszystkich użytkowników). W przypadku takich modeli parametry lokalne pozostają w granicach zaufania (nie są publikowane) i nie wymagają ochrony, a parametry modelu współdzielonego są publikowane (i są chronione przez prywatność różnicową). Czasami jest to określane jako model prywatności billboardu 4.

Funkcje publiczne

W niektórych aplikacjach niektóre funkcje są dostępne publicznie. Jeśli na przykład problem z rekomendacjami filmów dotyczy funkcji filmu (reżyser, gatunek lub rok premiery) są to informacje publiczne i nie wymagają ochrony, natomiast funkcje związane z użytkownikiem (takie jak dane demograficzne czy informacje o obejrzanych przez niego filmach) są danymi prywatnymi i wymagają ochrony.

Informacje publiczne są sformalizowane w postaci publicznej macierzy funkcji (w poprzednim przykładzie zawierała ona po jednym wierszu na film i jedną kolumnę na funkcję filmową), która jest dostępna dla wszystkich stron. Algorytm trenowania z różną prywatnością może korzystać z tej macierzy bez konieczności jej ochrony, np. 5. Platforma ODP planuje wdrożyć takie algorytmy.

Podejście do prywatności podczas prognozowania lub wnioskowania

Wnioski są oparte na parametrach modelu i cechach wejściowych. Parametry modelu są trenowane z uwzględnieniem semantyki prywatności różnicowej. Tutaj omawiamy rolę funkcji wejściowych.

W niektórych przypadkach, gdy deweloper ma już pełny dostęp do funkcji używanych do wnioskowania, nie ma obaw o prywatność z powodu wnioskowania, a wynik wnioskowania może być widoczny dla dewelopera.

W innych przypadkach (gdy funkcje używane do wnioskowania są prywatne i nie są dostępne dla dewelopera), deweloper może ukryć wynik wnioskowania. Na przykład może to spowodować uruchomienie wnioskowania (i dowolnego innego procesu, który korzysta z wyników wnioskowania) na urządzeniu, w ramach należącego do systemu operacyjnego procesu i obszaru wyświetlania z ograniczoną komunikacją poza tym procesem.

Procedura trenowania

Architektura wysokiego poziomu systemu trenowania
Rysunek 1. Architektura ogólna systemu trenowania.

Przegląd

W tej sekcji znajdziesz omówienie architektury i procesu trenowania, co widać na rysunku 1. ODP implementuje te komponenty:

  • Zaufany dystrybutor, np. sfederowany wybór, zaufane pobieranie lub pobieranie informacji prywatnych, który odgrywa rolę transmitowania parametrów modelu. Zakładamy, że zaufany dystrybutor może wysyłać podzbiór parametrów do każdego klienta bez ujawniania, które parametry zostały pobrane przez danego klienta. Ta „transmisja częściowa” pozwala systemowi zminimalizować wykorzystanie miejsca na urządzeniu użytkownika: zamiast wysyłać pełną kopię modelu, do każdego użytkownika wysyłana jest tylko część parametrów modelu.

  • Zaufany agregator, który gromadzi informacje od wielu klientów (np. gradienty lub inne statystyki), dodaje szum i wysyła wynik do serwera. Zakładamy, że między klientem a agregatorem oraz między klientem a dystrybutorem istnieją zaufane kanały.

  • algorytmy trenowania DP działające w tej infrastrukturze. Każdy algorytm trenowania składa się z różnych obliczeń wykonywanych na różnych komponentach (serwer, kliencie, agregatorze i dystrybutorze).

Typowa runda szkolenia składa się z tych etapów:

  1. Serwer przesyła parametry modelu do zaufanego dystrybutora.
  2. Przetwarzanie klienta
    • Każde urządzenie klienckie odbiera model transmisji (lub podzbiór parametrów istotnych dla użytkownika).
    • Każdy klient wykonuje pewne obliczenia (np. oblicza gradienty lub inne odpowiednie statystyki).
    • Każdy klient wysyła wynik obliczeń do zaufanego agregatora.
    • Zaufany agregator gromadzi, gromadzi i chroni statystyki dotyczące klientów, stosując odpowiednie mechanizmy prywatności różnicowej, a potem wysyła wyniki do serwera.
  3. Obliczenia serwera
  4. Ten (niezaufany) serwer uruchamia obliczenia na podstawie statystyk chronionych różnicowo prywatności (np. do aktualizowania parametrów modelu używa zagregowanych gradientów prywatnych).

Modele rozkładowe i różnicowa ochrona prywatności naprzemienna

Platforma ODP zamierza udostępnić zróżnicowane, uniwersalne algorytmy do trenowania zróżnicowanym, które można zastosować do dowolnej architektury modelu (takiej jak DP-SGD 6 7 8 czy DP-FTRL 9 10, a także algorytmy wyspecjalizowane w modelach zróżnicowanych.

Modele rozkładowe to modele, które można podzielić na podmodele (nazywane koderami lub wieżami). Przyjrzyjmy się na przykład modelowi f(u(θu, xu), v(θv, xv)), w którym u() koduje cechy użytkownika xu (i ma parametry θu), a v() koduje cechy niebędące użytkownikami xv (i ma parametry θv). Oba kodowanie są łączone za pomocą f() w celu wygenerowania ostatecznej prognozy modelu. Na przykład w modelu rekomendacji filmów xu to funkcje użytkownika, a xv to funkcje związane z filmami.

Takie modele dobrze nadają się do wspomnianej wcześniej architektury systemu rozproszonego (ponieważ rozdzielają funkcje użytkownika od pozostałych).

Modele rozłożone na czynniki będą trenowane z wykorzystaniem DPAM, czyli różnicowej, naprzemiennej minimalizacji prywatności, która korzysta z optymalizacji parametrów θu (przy ustalonym ustawieniu θv) i odwrotnie. Wykazano, że algorytmy DPAM lepiej sprawdzają się w różnych ustawieniach4 11, zwłaszcza w przypadku funkcji publicznych.

Źródła