Ocena użyteczności i podobieństwa w generatorach danych syntetycznych: głębokie nurkowanie techniczne i analiza porównawcza

Opublikowano:
27 lutego 2024 r.

Wprowadzenie

W dzisiejszej erze cyfrowej świadomość dotycząca prywatności danych znacznie wzrosła. Użytkownicy coraz częściej uznają swoje dane za unikalny cyfrowy odcisk palca, który stwarza ryzyko dla ich prywatności w przypadku naruszenia bezpieczeństwa danych. Obawę tę dodatkowo wzmacniają regulacje takie jak RODO, które umożliwiają użytkownikom zażądanie usunięcia ich danych. Choć przepisy te są bardzo potrzebne, mogą być bardzo kosztowne dla przedsiębiorstw, ponieważ dostęp do danych jest zminimalizowany; ograniczeń, których pokonanie często wymaga czasu i zasobów. 

Spis treści

Czym są generatory danych syntetycznych?

Wprowadź dane syntetyczne, rozwiązanie tej zagadki. Generatory danych syntetycznych tworzą zbiory danych, które naśladują rzeczywiste dane użytkownika, zachowując jednocześnie anonimowość i poufność. Takie podejście zyskuje popularność w różnych branżach, od opieki zdrowotnej po finanse, gdzie prywatność jest najważniejsza.  

Ten post jest przeznaczony dla profesjonalistów i entuzjastów danych, skupiających się na ocenie syntetycznych generatorów danych. Zagłębimy się w kluczowe wskaźniki i przeprowadzimy analizę porównawczą pomiędzy Syntho Engine a jego alternatywami typu open source, oferując wgląd w to, jak skutecznie oceniać jakość rozwiązania w zakresie generowania danych syntetycznych. Ponadto ocenimy również koszt czasowy każdego z tych modeli, aby zapewnić lepszy wgląd w działanie modeli. 

Jak wybrać odpowiednią metodę generowania danych syntetycznych?

W zróżnicowanym krajobrazie generowania danych syntetycznych dostępnych jest mnóstwo metod, a każda z nich walczy o uwagę dzięki swoim unikalnym możliwościom. Wybór najbardziej odpowiedniej metody dla konkretnego zastosowania wymaga dokładnego zrozumienia charakterystyki wydajności każdej opcji. Wymaga to kompleksowej oceny różnych generatorów danych syntetycznych w oparciu o zestaw dobrze zdefiniowanych wskaźników, aby móc podjąć świadomą decyzję. 

Poniżej znajduje się rygorystyczna analiza porównawcza silnika Syntho z dobrze znaną platformą open source, Synthetic Data Vault (SDV). W tej analizie wykorzystaliśmy wiele powszechnie używanych wskaźników, takich jak wierność statystyczna, dokładność predykcyjna i związek między zmiennymi. 

Metryki oceny danych syntetycznych

Przed wprowadzeniem jakichkolwiek konkretnych wskaźników musimy przyznać, że istnieje wiele ideologii dotyczących oceny danych syntetycznych, z których każda daje wgląd w określony aspekt danych. Mając to na uwadze, poniższe trzy kategorie wyróżniają się jako ważne i wszechstronne. Metryki te zapewniają wgląd w różne aspekty jakości danych. Te kategorie to: 

      1. Statystyczne wskaźniki wierności: Badanie podstawowych cech statystycznych danych, takich jak średnie i wariancje, aby upewnić się, że dane syntetyczne są zgodne z profilem statystycznym oryginalnego zbioru danych. 

        1. Dokładność przewidywania: Badanie wydajności syntetycznego modelu generowania danych, trenowanego na danych oryginalnych i ocenianego na danych syntetycznych (Train Real – Test Synthetic, TRTS) i odwrotnie (Train Synthetic – Test Real, TSTR) 

          1. Relacje między zmiennymi: Ta połączona kategoria obejmuje: 

            • Korelacja funkcji: Oceniamy, jak dobrze dane syntetyczne zachowują zależności między zmiennymi, za pomocą współczynników korelacji. Dobrze znany miernik, taki jak średni błąd kwadratowy skłonności (PMSE), byłby tego typu. 

            • Wzajemne informacje: Mierzymy wzajemne zależności między zmiennymi, aby zrozumieć głębię tych relacji, a nie tylko korelacje. 

          Analiza porównawcza: silnik Syntho a alternatywy typu open source

          Analizę porównawczą przeprowadzono przy użyciu standardowych ram ewaluacyjnych i identycznych technik testowania we wszystkich modelach, w tym w modelach Syntho Engine i SDV. Syntetyzując zbiory danych z identycznych źródeł i poddając je tym samym testom statystycznym i ocenom modeli uczenia maszynowego, zapewniamy uczciwe i bezstronne porównanie. W poniższej sekcji szczegółowo opisano wydajność każdego generatora danych syntetycznych w zakresie metryk przedstawionych powyżej.  

           

          Jeśli chodzi o zbiór danych wykorzystany do oceny, wykorzystaliśmy Zbiór danych spisu ludności dorosłych UCI który jest dobrze znanym zbiorem danych w społeczności uczących się maszyn. Wyczyściliśmy dane przed całym szkoleniem, a następnie podzieliliśmy zbiór danych na dwa zestawy (zestaw treningowy i zbiór wstrzymany do testowania). Wykorzystaliśmy zestaw szkoleniowy do wygenerowania 1 miliona nowych punktów danych dla każdego z modeli i oceniliśmy różne metryki na tych wygenerowanych zbiorach danych. Do dalszej oceny uczenia maszynowego użyliśmy zestawu wstrzymanego do oceny wskaźników, takich jak te związane z TSTR i TRTS.  

           

          Każdy generator został uruchomiony z parametrami domyślnymi. Ponieważ niektóre modele, takie jak Syntho, mogą od razu działać na dowolnych danych tabelarycznych, nie wprowadzano żadnych dostrojeń. Wyszukiwanie odpowiednich hiperparametrów dla każdego modelu zajęłoby znaczną ilość czasu, a Tabela 2 już pokazuje dużą różnicę czasu pomiędzy modelem Syntho a modelami testowanymi. 

           

          Warto zauważyć, że w odróżnieniu od pozostałych modeli w SDV, Syntezator Kopuli Gaussa opiera się na metodach statystycznych. Natomiast pozostałe opierają się na sieciach neuronowych, takich jak modele generatywnych sieci przeciwstawnych (GAN) i wariacyjnych autokoderach. Z tego powodu kopułę Gaussa można postrzegać jako punkt odniesienia dla wszystkich omawianych modeli. 

          Efekt

          Jakość danych

          Rysunek 1. Wizualizacja podstawowych wyników jakościowych dla wszystkich modeli

          Omówione wcześniej zgodność z trendami i reprezentacjami danych można znaleźć na rysunku 1 i tabeli 1. W tym przypadku każdą z używanych miar można interpretować w następujący sposób:

          • Ogólny Wynik Jakości: Ogólna ocena jakości danych syntetycznych, łącząca różne aspekty, takie jak podobieństwo statystyczne i charakterystyka danych. 
          • Kształty kolumn: ocenia, czy dane syntetyczne zachowują ten sam kształt rozkładu, co dane rzeczywiste dla każdej kolumny. 
          • Trendy par kolumn: ocenia relacje lub korelacje między parami kolumn w danych syntetycznych w porównaniu z danymi rzeczywistymi. 
          •  

          Ogólnie rzecz biorąc, można zauważyć, że Syntho osiąga bardzo wysokie wyniki we wszystkich obszarach. Po pierwsze, patrząc na ogólną jakość danych (ocenianą za pomocą biblioteki metryk SDV), Syntho może osiągnąć wynik przekraczający 99% (przy zgodności kształtu kolumny wynoszącej 99.92% i zgodności kształtu pary kolumn wynoszącej 99.31%). Dzieje się tak podczas gdy SDV uzyskuje wynik maksymalnie 90.84% (z kopułą Gaussa, która ma zgodność kształtu kolumny 93.82% i zgodność kształtu pary kolumn 87.86%). 

          Tabelaryczne przedstawienie wyników jakości każdego wygenerowanego zbioru danych na model

          Tabela 1. Tabelaryczne przedstawienie wyników jakości każdego wygenerowanego zbioru danych według modelu 

          Zasięg danych

          Moduł raportu diagnostycznego SDV zwraca naszą uwagę, że w danych wygenerowanych przez SDV (we wszystkich przypadkach) brakuje więcej niż 10% zakresów liczbowych; W przypadku autoenkodera wariacyjnego opartego na tripletach (TVAE) brakuje również tej samej ilości danych kategorycznych w porównaniu z oryginalnym zbiorem danych. W przypadku wyników uzyskanych przy użyciu Syntho nie wygenerowano takich ostrzeżeń.  

          wizualizacja średnich kolumnowych wskaźników wydajności dla wszystkich modeli
           
           

          Rysunek 2. Wizualizacja średnich kolumnowych wskaźników wydajności dla wszystkich modeli 

          W analizie porównawczej wykres na rysunku 2 pokazuje, że archiwa SDV minimalnie lepsze wyniki w zakresie pokrycia kategorii w przypadku niektórych swoich modeli (mianowicie z GaussianCopula, CopulaGAN i Conditional Tabular GAN – CTGAN). Niemniej jednak należy podkreślić, że wiarygodność danych Syntho przewyższa wiarygodność modeli SDV, ponieważ rozbieżność w zakresie pomiędzy kategoriami i zakresami jest minimalna i wynosi zaledwie 1.1%. Natomiast modele SDV wykazują znaczne zróżnicowanie, wahające się od 14.6% do 29.2%. 

           

          Przedstawione tutaj metryki można interpretować w następujący sposób: 

          • Pokrycie kategorii: Mierzy obecność wszystkich kategorii w danych syntetycznych w porównaniu z danymi rzeczywistymi.
          • Pokrycie zakresu: ocenia, jak dobrze zakres wartości w danych syntetycznych odpowiada zakresowi danych rzeczywistych. 
          Tabelaryczne przedstawienie średniego pokrycia danego typu atrybutu na model

          Tabela 2. Tabelaryczne przedstawienie średniego pokrycia danego typu atrybutu w poszczególnych modelach 

          Użyteczność

          Przechodząc do tematu użyteczności danych syntetycznych istotna staje się kwestia uczenia modeli na danych. Aby zapewnić zrównoważone i uczciwe porównanie pomiędzy wszystkimi frameworkami, wybraliśmy domyślny klasyfikator wzmocnienia gradientu z biblioteki SciKit Learn, uznając go za dobrze działający model z gotowymi ustawieniami.  

           

          Trenowane są dwa różne modele, jeden na danych syntetycznych (dla TSTR), a drugi na danych oryginalnych (dla TRTS). Model wyszkolony na danych syntetycznych jest oceniany przy użyciu zestawu testów wstrzymanych (który nie był używany podczas generowania danych syntetycznych), a model wytrenowany na danych oryginalnych jest testowany na zbiorze danych syntetycznych.  

          wizualizacja wyników obszaru pod krzywą (AUC) dla każdej metody i modelu

          Rysunek 3. Wizualizacja wyników obszaru pod krzywą (AUC) według metody i modelu 

           Przedstawione powyżej wyniki pokazują wyższość generowania danych syntetycznych przez silnik Syntho w porównaniu z innymi metodami, ponieważ nie ma różnicy pomiędzy wynikami uzyskanymi różnymi metodami (wskazując na duże podobieństwo pomiędzy danymi syntetycznymi i rzeczywistymi). Ponadto czerwona przerywana linia widoczna na wykresie to wynik uzyskany w wyniku oceny podstawowego działania testu Train Real, Test Real (TRTR), mającego na celu zapewnienie punktu odniesienia dla obserwowanych wskaźników. Linia ta reprezentuje wartość 0.92, która jest wynikiem obszaru pod krzywą (wynik AUC) osiągniętym przez model wytrenowany na danych rzeczywistych i przetestowany na danych rzeczywistych. 

          Tabelaryczne przedstawienie wyników AUC uzyskanych odpowiednio przez TRTS i TSTR dla każdego modelu.

          Tabela 3. Tabelaryczne przedstawienie wyników AUC uzyskanych odpowiednio przez TRTS i TSTR dla każdego modelu. 

          Porównanie czasowe

          Oczywiście ważne jest, aby wziąć pod uwagę czas poświęcony na wygenerowanie tych wyników. Poniższa wizualizacja właśnie to ilustruje.

          wizualizacja czasu potrzebnego na uczenie i syntetyczne generowanie danych miliona punktów danych z modelem z procesorem graficznym i bez niego.

          Rysunek 5. Wizualizacja czasu potrzebnego na trening i występy generowanie danych syntetycznych miliona punktów danych w modelu z procesorem graficznym i bez niego. 

          Rysunek 5 ilustruje czas potrzebny do wygenerowania danych syntetycznych w dwóch różnych ustawieniach. Pierwszy z nich (określany tutaj jako „Bez procesora graficznego”) obejmował testy przeprowadzone na systemie z procesorem Intel Xeon z 16 rdzeniami i częstotliwością 2.20 GHz. Testy oznaczone jako „przeprowadzone z procesorem graficznym” przeprowadzono na systemie z procesorem AMD Ryzen 9 7945HX z 16 rdzeniami pracującymi z częstotliwością 2.5 GHz i kartą graficzną NVIDIA GeForce RTX 4070 do laptopa. Jak widać na rysunku 2 i w tabeli 2 poniżej, można zauważyć, że Syntho znacznie szybciej generuje dane syntetyczne (w obu scenariuszach), które są krytyczne w dynamicznym przepływie pracy. 

          tabela ilustrująca czas potrzebny do syntetycznego wygenerowania 1 miliona punktów danych dla każdego modelu z procesorem graficznym i bez niego

          Tabela 5. Tabelaryczne przedstawienie czasu potrzebnego do osiągnięcia celu generowanie danych syntetycznych miliona punktów danych dla każdego modelu z procesorem graficznym i bez niego 

          Uwagi końcowe i przyszłe kierunki 

          Odkrycia podkreślają znaczenie dokładnej oceny jakości przy wyborze właściwej metody generowania danych syntetycznych. Silnik Syntho, dzięki podejściu opartemu na sztucznej inteligencji, wykazuje godne uwagi mocne strony w niektórych wskaźnikach, podczas gdy narzędzia typu open source, takie jak SDV, wyróżniają się wszechstronnością i ulepszeniami wprowadzanymi przez społeczność. 

          Ponieważ dziedzina danych syntetycznych stale ewoluuje, zachęcamy do stosowania tych wskaźników w swoich projektach, odkrywania ich zawiłości i dzielenia się swoimi doświadczeniami. Bądź na bieżąco z przyszłymi postami, w których zagłębimy się w inne wskaźniki i podkreślimy rzeczywiste przykłady ich zastosowania. 

          Ostatecznie dla tych, którzy chcą przetestować grunt na danych syntetycznych, przedstawiona alternatywa typu open source może być wyborem uzasadnionym, biorąc pod uwagę dostępność; jednakże profesjonaliści włączający tę nowoczesną technologię do swojego procesu rozwoju muszą wykorzystać każdą szansę na ulepszenie i unikać wszelkich przeszkód. Dlatego ważne jest, aby wybrać najlepszą dostępną opcję. Z analiz przedstawionych powyżej staje się raczej oczywiste, że Syntho, a co za tym idzie Syntho Engine, jest bardzo przydatnym narzędziem dla praktyków. 

          O Syntho

          Synto zapewnia inteligentną platformę do generowania danych syntetycznych, wykorzystującą wiele form i metod generowania danych syntetycznych, umożliwiając organizacjom inteligentne przekształcanie danych w przewagę konkurencyjną. Nasze syntetyczne dane generowane przez sztuczną inteligencję naśladują wzorce statystyczne oryginalnych danych, zapewniając dokładność, prywatność i szybkość, zgodnie z oceną zewnętrznych ekspertów, takich jak SAS. Dzięki inteligentnym funkcjom deidentyfikacji i spójnemu mapowaniu wrażliwe informacje są chronione przy jednoczesnym zachowaniu integralności referencyjnej. Nasza platforma umożliwia tworzenie, zarządzanie i kontrolę danych testowych dla środowisk nieprodukcyjnych, wykorzystując oparte na regułach metody generowania danych syntetycznych dla docelowych scenariuszy. Ponadto użytkownicy mogą programowo generować dane syntetyczne i uzyskiwać realistyczne dane testowe, aby z łatwością opracowywać kompleksowe scenariusze testowania i programowania.  

          Chcesz poznać więcej praktycznych zastosowań danych syntetycznych? Nie krępuj się zaplanuj demonstrację!

          O autorach

          Inżynieria oprogramowania, stażysta

          surowyam jest studentem studiów licencjackich na Uniwersytecie Technicznym w Delft i stażystą w dziedzinie inżynierii oprogramowania w firmie Synto 

          Machine Learning Engineer

          Mihai uzyskał stopień doktora na Uniwersytecie im Uniwersytecie w Bristolu na temat hierarchicznego uczenia się ze wzmocnieniem w zastosowaniu do robotyki i Inżynier uczenia maszynowego at Synto. 

          osłona przewodnika syntho

          Zapisz teraz swój przewodnik po danych syntetycznych!