5 powodów, dla których potrzebujesz danych syntetycznych

5 powodów, dla których potrzebujesz danych syntetycznych

Węzeł źródłowy: 1942868

5 powodów, dla których potrzebujesz danych syntetycznych
Dane syntetyczne wygenerowane z Kubric
 

Aby wyszkolić model uczenia maszynowego, potrzebujesz danych. Zadania związane z nauką o danych zwykle nie są konkursami Kaggle, w których masz ładny, duży, wyselekcjonowany zestaw danych, który jest wstępnie oznaczony. Czasami trzeba zbierać, organizować i czyścić własne dane. Ten proces gromadzenia i etykietowania danych w świecie rzeczywistym może być czasochłonny, uciążliwy, kosztowny, niedokładny, a czasem niebezpieczny. Co więcej, pod koniec tego procesu możesz otrzymać dane, które napotkałeś w prawdziwym świecie, niekoniecznie takie, jakich oczekujesz pod względem jakości, różnorodności (np. brak równowagi klasowej) i ilości. Poniżej przedstawiono typowe problemy, które można napotkać podczas pracy z rzeczywistymi danymi: 

  • Zbieranie rzeczywistych danych i etykietowanie nie są skalowalne
  • Ręczne oznaczanie prawdziwych danych może być czasami niemożliwe
  • Prawdziwe dane mają problemy z prywatnością i bezpieczeństwem
  • Prawdziwych danych nie da się zaprogramować
  • Model trenowany wyłącznie na rzeczywistych danych nie jest wystarczająco wydajny (np. niska prędkość rozwoju)

Na szczęście takie problemy można rozwiązać za pomocą danych syntetycznych. Być może zastanawiasz się, co to są dane syntetyczne? Dane syntetyczne można zdefiniować jako sztucznie generowane dane, które są zwykle tworzone przy użyciu algorytmów symulujących rzeczywiste procesy, od zachowania innych użytkowników dróg aż po zachowanie światła podczas interakcji z powierzchnią. W tym poście omówiono ograniczenia rzeczywistych danych oraz sposób, w jaki dane syntetyczne mogą pomóc przezwyciężyć te problemy i poprawić wydajność modelu. 

W przypadku małych zestawów danych zwykle możliwe jest gromadzenie i ręczne etykietowanie danych; jednak wiele złożonych zadań uczenia maszynowego wymaga ogromnych zestawów danych do szkolenia. Na przykład modele przeszkolone pod kątem aplikacji pojazdów autonomicznych wymagają dużych ilości danych zbieranych z czujników przymocowanych do samochodów lub dronów. Ten proces gromadzenia danych jest powolny i może zająć miesiące, a nawet lata. Po zebraniu surowych danych muszą one zostać ręcznie opatrzone adnotacjami przez ludzi, co jest również kosztowne i czasochłonne. Ponadto nie ma gwarancji, że dane z etykietami, które powrócą, będą przydatne jako dane szkoleniowe, ponieważ mogą nie zawierać przykładów informujących o bieżących lukach w wiedzy modelu. 

[osadzone treści][osadzone treści]

Etykietowanie tych danych często wiąże się z odręcznym rysowaniem etykiet przez ludzi na danych z czujników. Jest to bardzo kosztowne, ponieważ wysoko opłacane zespoły ML często spędzają ogromną część swojego czasu na upewnianiu się, że etykiety są poprawne i wysyłaniu błędów z powrotem do etykietujących. Główną zaletą danych syntetycznych jest to, że można wygenerować dowolną liczbę doskonale oznakowanych danych. Wszystko, czego potrzebujesz, to sposób na generowanie wysokiej jakości danych syntetycznych. 

Oprogramowanie open source do generowania danych syntetycznych: Kubric (wideo z wieloma obiektami z maskami segmentacji, mapami głębi i przepływem optycznym) oraz SDV (dane tabelaryczne, relacyjne i szeregi czasowe).

Niektóre (z wielu) firm, które sprzedają produkty lub budują platformy, które mogą generować dane syntetyczne, obejmują Małgosia.ai (syntetyczne zbiory danych zapewniające prywatność danych rzeczywistych), NVIDIA (wszechświat) i Domena równoległa (pojazdy autonomiczne). po więcej, zobacz listę firm zajmujących się danymi syntetycznymi z 2022 r

5 powodów, dla których potrzebujesz danych syntetycznych
Obraz z Domena równoległa
 

Istnieją pewne dane, których ludzie nie są w stanie w pełni zinterpretować i oznaczyć. Poniżej przedstawiono kilka przypadków użycia, w których jedyną opcją są dane syntetyczne: 

  • Dokładne oszacowanie głębokości i ruch optyczny z pojedynczych obrazów
  • Aplikacje samojezdne, które wykorzystują dane radarowe niewidoczne dla ludzkiego oka 
  • Generowanie deep fake'ów, które można wykorzystać do testowania systemów rozpoznawania twarzy

5 powodów, dla których potrzebujesz danych syntetycznych
Image by Michał Galarnyk
 

Dane syntetyczne są bardzo przydatne w aplikacjach w domenach, w których nie można łatwo uzyskać prawdziwych danych. Obejmuje to niektóre rodzaje danych o wypadkach samochodowych i większość rodzajów danych dotyczących zdrowia, które mają ograniczenia dotyczące prywatności (np. elektroniczna dokumentacja medyczna). W ostatnich latach naukowcy zajmujący się opieką zdrowotną byli zainteresowani przewidywaniem migotania przedsionków (nieregularnego rytmu serca) za pomocą sygnałów EKG i PPG. Opracowanie detektora arytmii jest nie tylko wyzwaniem, ponieważ zapisywanie tych sygnałów jest żmudne i kosztowne, ale także ze względu na ograniczenia prywatności. To jeden z powodów, dla których istnieje badania nad symulacją tych sygnałów

Należy podkreślić, że zbieranie prawdziwych danych nie tylko wymaga czasu i energii, ale może być niebezpieczne. Jednym z podstawowych problemów związanych z aplikacjami robotów, takimi jak samojezdne samochody, jest to, że są one fizycznymi zastosowaniami uczenia maszynowego. Nie możesz wdrożyć niebezpiecznego modelu w prawdziwym świecie i spowodować awarię z powodu braku odpowiednich danych. Rozszerzenie zestawu danych o dane syntetyczne może pomóc modelom uniknąć tych problemów. 

Oto niektóre firmy wykorzystujące dane syntetyczne do poprawy bezpieczeństwa aplikacji: Toyota, Waymo, Rejs.

5 powodów, dla których potrzebujesz danych syntetycznych
Obraz z Domena równoległa
 

Syntetyczny obraz niedrożnego dziecka na rowerze wyłaniającego się zza autobusu szkolnego i jadącego na rowerze po drugiej stronie ulicy w podmiejskim otoczeniu w stylu kalifornijskim.

Zastosowania pojazdów autonomicznych często radzą sobie ze stosunkowo „rzadkimi” (w stosunku do normalnych warunków jazdy) zdarzeniami, takimi jak piesi w nocy lub rowerzyści jadący środkiem drogi. Modele często potrzebują setek tysięcy, a nawet milionów przykładów, aby nauczyć się scenariusza. Jednym z głównych problemów jest to, że zebrane rzeczywiste dane mogą nie być tym, czego szukasz pod względem jakości, różnorodności (np. nierównowaga klas, warunki pogodowe, lokalizacja) i ilości. Innym problemem jest to, że w przypadku samojezdnych samochodów i robotów nie zawsze wiadomo, jakich danych potrzebujesz, w przeciwieństwie do tradycyjnych zadań uczenia maszynowego ze stałymi zestawami danych i ustalonymi wzorcami porównawczymi. Chociaż niektóre techniki powiększania danych, które systematycznie lub losowo zmieniają obrazy, są pomocne, te techniki mogą przedstawić własne problemy

W tym miejscu pojawiają się dane syntetyczne. Interfejsy API do generowania danych syntetycznych umożliwiają inżynierię zestawów danych. Te interfejsy API mogą zaoszczędzić dużo pieniędzy, ponieważ budowanie robotów i zbieranie danych w prawdziwym świecie jest bardzo drogie. O wiele lepiej i szybciej jest próbować generować dane i ustalać zasady inżynierii za pomocą generowania syntetycznych zestawów danych.

Poniżej przedstawiono przykłady pokazujące, w jaki sposób programowalne dane syntetyczne pomagają modelom się uczyć: zapobieganie oszukańczym transakcjom (American Express), lepsze wykrywanie rowerzystów (domena równoległa), analiza i przegląd operacji (Hutom.io).

5 powodów, dla których potrzebujesz danych syntetycznych
Fazy ​​cyklu tworzenia modelu | Obraz z Jules S. Damji 
 

W przemyśle istnieją wiele czynników, które wpływają na żywotność/wydajność projektu uczenia maszynowego zarówno w fazie rozwoju, jak i produkcji (np. pozyskiwanie danych, adnotacje, szkolenie modeli, skalowanie, wdrażanie, monitorowanie, ponowne szkolenie modeli i szybkość rozwoju). Ostatnio, W badaniu wywiadów wzięło udział 18 inżynierów zajmujących się uczeniem maszynowym którego celem było zrozumienie wspólnych praktyk MLOps i wyzwań w różnych organizacjach i aplikacjach (np. pojazdy autonomiczne, sprzęt komputerowy, sprzedaż detaliczna, reklamy, systemy rekomendacji itp.). Jednym z wniosków z badania było znaczenie szybkości rozwoju, którą można z grubsza zdefiniować jako zdolność do szybkiego prototypowania i iteracji pomysłów.

Jednym z czynników wpływających na szybkość rozwoju jest potrzeba posiadania danych do przeprowadzenia wstępnego szkolenia i oceny modelu a także częste przekwalifikowanie modelu z powodu pogarszania się wydajności modelu w czasie z powodu dryfu danych, dryfu koncepcji, a nawet pochylenia obsługującego szkolenie pociągu. 

 

5 powodów, dla których potrzebujesz danych syntetycznych
Obraz z Najwyraźniej AI
 

Badanie wykazało również, że ta potrzeba skłoniła niektóre organizacje do powołania zespołu do częstego oznaczania danych w czasie rzeczywistym. Jest to kosztowne, czasochłonne i ogranicza zdolność organizacji do częstego ponownego uczenia modeli. 

 

5 powodów, dla których potrzebujesz danych syntetycznych
Obraz z Małgosia.ai
 

Uwaga: ten diagram nie obejmuje sposobu, w jaki dane syntetyczne mogą być również wykorzystywane do takich celów Testy MLOps w rekomendacjach.

Dane syntetyczne mogą być wykorzystywane wraz z danymi rzeczywistymi w cyklu życia uczenia maszynowego (zdjęcie powyżej), aby pomóc organizacjom w utrzymaniu wydajności modeli przez dłuższy czas. 

Generowanie danych syntetycznych staje się coraz bardziej powszechne w procesach uczenia maszynowego. W rzeczywistości, Gartner przewiduje, że do 2030 roku dane syntetyczne będą wykorzystywane do trenowania modeli uczenia maszynowego znacznie częściej niż dane rzeczywiste. Jeśli masz jakieś pytania lub przemyślenia na temat tego posta, skontaktuj się z nami w komentarzach poniżej lub za pośrednictwem Twitter.
 
 
Michał Galarnyk jest specjalistą ds. nauki danych i pracuje w relacjach z programistami w Anyscale.
 

Znak czasu:

Więcej z Knuggety