stub Co to są dane syntetyczne? - Unite.AI
Kontakt z nami

AI 101

Co to są dane syntetyczne?

mm
Zaktualizowano on

Co to są dane syntetyczne?

Dane syntetyczne to szybko rozwijający się trend i pojawiające się narzędzie w obszarze data science. Czym dokładnie są dane syntetyczne? Krótka odpowiedź jest taka, że ​​dane syntetyczne składają się z danych, które nie są oparte na żadnych zjawiskach ani wydarzeniach w świecie rzeczywistym, jest raczej generowany za pomocą programu komputerowego. Dlaczego jednak dane syntetyczne stają się tak ważne w nauce o danych? Jak powstają dane syntetyczne? Przeanalizujmy odpowiedzi na te pytania.

Co to jest syntetyczny zbiór danych?

Jak sugeruje termin „syntetyczny”, syntetyczne zbiory danych są generowane za pomocą programów komputerowych, a nie tworzone na podstawie dokumentacji wydarzeń ze świata rzeczywistego. Podstawowym celem syntetycznego zbioru danych jest jego wszechstronność i wytrzymałość, aby nadawał się do uczenia modeli uczenia maszynowego.

Aby dane syntetyczne były przydatne dla klasyfikatora uczenia maszynowego powinien mieć określone właściwości. Chociaż dane mogą mieć charakter kategoryczny, binarny lub numeryczny, długość zbioru danych powinna być dowolna, a dane powinny być generowane losowo. Losowe procesy stosowane do generowania danych powinny być kontrolowane i opierać się na różnych rozkładach statystycznych. W zbiorze danych można również umieścić losowy szum.

Jeśli w algorytmie klasyfikacji wykorzystywane są dane syntetyczne, wielkość separacji klas powinna być dostosowana do indywidualnych potrzeb, aby problem klasyfikacji mógł być łatwiejszy lub trudniejszy w zależności od wymagań problemu. Tymczasem w przypadku zadania regresji do generowania danych można zastosować nieliniowe procesy generatywne.

Dlaczego warto korzystać z danych syntetycznych?

W miarę jak platformy uczenia maszynowego, takie jak TensorfFlow i PyTorch, stają się coraz łatwiejsze w użyciu, a wstępnie zaprojektowane modele widzenia komputerowego i przetwarzania języka naturalnego stają się coraz bardziej wszechobecne i wydajne, głównym problemem, z jakim muszą się zmierzyć badacze danych, jest gromadzenie i przetwarzanie danych. Firmy często mają trudności z pozyskiwaniem dużych ilości danych w celu wytrenowania dokładnego modelu w określonym przedziale czasowym. Ręczne etykietowanie danych to kosztowny i powolny sposób ich pozyskiwania. Jednak generowanie i wykorzystywanie danych syntetycznych może pomóc badaczom danych i firmom pokonać te przeszkody i szybciej opracować niezawodne modele uczenia maszynowego.

Stosowanie danych syntetycznych ma wiele zalet. Najbardziej oczywistym sposobem, w jaki wykorzystanie danych syntetycznych przynosi korzyści nauce o danych, jest to, że zmniejszają one potrzebę przechwytywania danych ze zdarzeń w świecie rzeczywistym i z tego powodu możliwe staje się generowanie danych i konstruowanie zbioru danych znacznie szybciej niż zbiór danych zależny od wydarzenia w świecie rzeczywistym. Oznacza to, że w krótkim czasie można wygenerować duże ilości danych. Jest to szczególnie prawdziwe w przypadku zdarzeń, które rzadko występują, ponieważ jeśli zdarzenie rzadko zdarza się w środowisku naturalnym, więcej danych można wyprowadzić z autentycznych próbek danych. Poza tym dane mogą być automatycznie oznaczane etykietami w miarę ich generowania, co drastycznie skraca czas potrzebny na etykietowanie danych.

Dane syntetyczne mogą być również przydatne do uzyskiwania danych szkoleniowych dla przypadków brzegowych, które mogą występować rzadko, ale mają kluczowe znaczenie dla powodzenia sztucznej inteligencji. Przypadki brzegowe to zdarzenia bardzo podobne do głównego celu sztucznej inteligencji, ale różniące się pod istotnymi względami. Na przykład obiekty, które są tylko częściowo widoczne, można uznać za przypadki skrajne podczas projektowania klasyfikatora obrazu.

Wreszcie syntetyczne zbiory danych może zminimalizować obawy dotyczące prywatności. Próby anonimizacji danych mogą być nieskuteczne, ponieważ nawet jeśli zmienne wrażliwe/identyfikujące zostaną usunięte ze zbioru danych, inne zmienne mogą działać jako identyfikatory po ich połączeniu. Nie stanowi to problemu w przypadku danych syntetycznych, ponieważ nigdy nie były one oparte na prawdziwej osobie ani na prawdziwym wydarzeniu.

Używa przypadków dla danych syntetycznych

Dane syntetyczne charakteryzują się dużą różnorodnością zastosowania, ponieważ można go zastosować do niemal każdego zadania uczenia maszynowego. Typowe przypadki użycia w przypadku danych syntetycznych obejmują pojazdy autonomiczne, bezpieczeństwo, robotykę, ochronę przed oszustwami i opiekę zdrowotną.

Jednym z pierwszych przypadków użycia danych syntetycznych były samochody autonomiczne, ponieważ dane syntetyczne wykorzystuje się do tworzenia danych treningowych dla samochodów w warunkach, w których uzyskanie rzeczywistych danych szkoleniowych z jazdy na drodze jest trudne lub niebezpieczne. Dane syntetyczne są również przydatne do tworzenia danych wykorzystywanych do uczenia systemów rozpoznawania obrazów, takich jak systemy nadzoru, w sposób znacznie wydajniejszy niż ręczne gromadzenie i oznaczanie zbioru danych szkoleniowych. Systemy robotyki mogą być powolne w szkoleniu i rozwijaniu w przypadku tradycyjnych metod gromadzenia danych i uczenia się. Dane syntetyczne umożliwiają firmom zajmującym się robotyką testowanie i konstruowanie systemów robotyki poprzez symulacje. Systemy ochrony przed oszustwami mogą czerpać korzyści z danych syntetycznych, a nowe metody wykrywania oszustw można szkolić i testować na danych, które są stale nowe, gdy wykorzystywane są dane syntetyczne. W dziedzinie opieki zdrowotnej dane syntetyczne można wykorzystać do zaprojektowania dokładnych klasyfikatorów zdrowia, które jednocześnie chronią prywatność ludzi, ponieważ dane nie będą opierać się na prawdziwych osobach.

Wyzwania dotyczące danych syntetycznych

Wykorzystanie danych syntetycznych niesie ze sobą wiele korzyści, ale niesie ze sobą także wiele wyzwań.

Kiedy tworzone są dane syntetyczne, często brakuje w nich wartości odstających. Wartości odstające występują w danych w sposób naturalny i choć często są pomijane w zbiorach danych uczących, ich istnienie może być konieczne do wytrenowania naprawdę niezawodnych modeli uczenia maszynowego. Poza tym jakość danych syntetycznych może być bardzo zmienna. Dane syntetyczne są często generowane z danymi wejściowymi lub danymi początkowymi, dlatego jakość danych może zależeć od jakości danych wejściowych. Jeżeli dane użyte do wygenerowania danych syntetycznych są stronnicze, wygenerowane dane mogą utrwalić tę stronniczość. Dane syntetyczne wymagają również jakiejś formy kontroli wyników/jakości. Należy to sprawdzić w oparciu o dane z adnotacjami ludzkimi, w przeciwnym razie jakąś formą są dane autentyczne.

Jak tworzone są dane syntetyczne?

Dane syntetyczne są tworzone programowo przy użyciu technik uczenia maszynowego. Można zastosować klasyczne techniki uczenia maszynowego, takie jak drzewa decyzyjne, podobnie jak techniki głębokiego uczenia się. Wymagania dotyczące danych syntetycznych będą miały wpływ na rodzaj algorytmu użytego do wygenerowania danych. Drzewa decyzyjne i podobne modele uczenia maszynowego pozwalają firmom tworzyć nieklasyczne, multimodalne dystrybucje danych, szkolone na przykładach danych ze świata rzeczywistego. Generowanie danych za pomocą tych algorytmów zapewni dane, które są silnie skorelowane z oryginalnymi danymi szkoleniowymi. W przypadkach, gdy znany jest typowy rozkład danych, firma może wygenerować dane syntetyczne przy użyciu metody Monte Carlo.

Metody generowania danych syntetycznych oparte na głębokim uczeniu się zazwyczaj wykorzystują jedno i drugie wariacyjny autoenkoder (VAE) or generatywna sieć kontradyktoryjna (GAN). VAE to modele uczenia maszynowego bez nadzoru, które korzystają z koderów i dekoderów. Część kodująca VAE jest odpowiedzialna za kompresję danych do prostszej, zwartej wersji oryginalnego zbioru danych, którą dekoder następnie analizuje i wykorzystuje do wygenerowania reprezentacji danych podstawowych. VAE jest szkolony w celu uzyskania optymalnej relacji między danymi wejściowymi a danymi wyjściowymi, takiej, w której zarówno dane wejściowe, jak i wyjściowe są niezwykle podobne.

Jeśli chodzi o modele GAN, nazywane są one sieciami „kontradyktoryjnymi”, ponieważ GAN to tak naprawdę dwie sieci, które ze sobą konkurują. Generator odpowiada za generowanie danych syntetycznych, natomiast druga sieć (dyskryminator) działa na zasadzie porównania wygenerowanych danych z rzeczywistym zbiorem danych i stara się określić, które dane są fałszywe. Gdy dyskryminator wykryje fałszywe dane, generator jest o tym powiadamiany i wprowadza zmiany, aby spróbować uzyskać nową partię danych od dyskryminatora. Z kolei dyskryminator staje się coraz lepszy w wykrywaniu podróbek. Obie sieci są szkolone przeciwko sobie, a podróbki stają się coraz bardziej realistyczne.