Większość modeli uczenia maszynowego i uczenia głębokiego zależy w dużej mierze od ilości i różnorodności danych, aby dobrze funkcjonować. Ilość i różnorodność danych dostarczanych podczas szkolenia ma istotny wpływ na dokładność predykcji tych modeli.
Modele głębokiego uczenia, które zostały nauczone, aby skutecznie wykonywać skomplikowane zadania, często zawierają ukryte neurony. Liczba możliwych do trenowania parametrów wzrasta wraz z liczbą ukrytych neuronów.
Ilość wymaganych danych jest proporcjonalna do liczby parametrów możliwych do uczenia się modelu. Jedną z metod radzenia sobie z trudnościami związanymi z ograniczonymi danymi jest zastosowanie różnych przekształceń do bieżących danych w celu zsyntetyzowania nowych danych.
Technikę syntezy nowych danych z istniejących danych określa się mianem „rozszerzania danych”. Augmentacja danych może być wykorzystana do spełnienia obu wymagań: ilości danych i różnorodności danych treningowych wymaganych do opracowania dokładnego modele uczenia maszynowego lub głębokiego uczenia.
W tym poście przyjrzymy się dokładnie rozszerzaniu danych, jego rodzajom, dlaczego jest to niezbędne i nie tylko.
Czym więc jest rozszerzanie danych?
Data Augmentation to proces tworzenia nowych i reprezentatywnych danych z istniejących danych. Możesz to osiągnąć, dołączając zmodyfikowane wersje istniejących danych lub syntetyzując nowe dane.
Zestawy danych utworzone tą metodą poprawią uczenie maszynowe lub modele uczenia głębokiego minimalizując ryzyko przetrenowania. Jest to proces zmiany lub „rozszerzenia” zbioru danych o dodatkowe informacje.
Te dodatkowe dane wejściowe mogą obejmować zarówno obrazy, jak i tekst i zwiększają wydajność systemów uczenia maszynowego.
Załóżmy, że chcemy zbudować model do kategoryzacji ras psów i mamy dużą liczbę zdjęć wszystkich odmian z wyjątkiem mopsów. W rezultacie model miałby trudności z kategoryzacją mopsów.
Moglibyśmy dodać dodatkowe (rzeczywiste lub fałszywe) zdjęcia mopsów do kolekcji lub podwoić nasze obecne zdjęcia mopsów (np. poprzez ich replikację i zniekształcenie, aby uczynić je sztucznie unikalnymi).
Jakiemu celowi służy obecnie powiększanie danych?
Aplikacje dla uczenie maszynowe szybko się rozwijają i dywersyfikują, zwłaszcza w zakresie uczenia głębokiego. Wyzwania stojące przed branżą sztucznej inteligencji można przezwyciężyć dzięki technikom wzbogacania danych.
Rozszerzanie danych może poprawić wydajność i wyniki modeli uczenia maszynowego, dodając nowe i różnorodne przykłady do szkoleniowych zestawów danych.
Gdy zestaw danych jest duży i wystarczający, model uczenia maszynowego działa lepiej i jest dokładniejszy. W przypadku modeli uczenia maszynowego zbieranie danych i etykietowanie może być czasochłonne i kosztowne.
Firmy mogą obniżyć koszty operacyjne, zmieniając zbiory danych i wykorzystując strategie rozszerzania danych.
Czyszczenie danych to jeden z etapów tworzenia modelu danych, który jest niezbędny w przypadku modeli o wysokiej dokładności. Jednak model nie będzie w stanie przewidzieć odpowiednich danych wejściowych ze świata rzeczywistego, jeśli czyszczenie danych zmniejszy reprezentacyjność.
Modele uczenia maszynowego można wzmocnić, stosując metody rozszerzania danych, które generują wariancje, które model może napotkać w rzeczywistym świecie.
Rodzaje wzbogacania danych
Rzeczywiste powiększanie danych
Rozszerzanie danych rzeczywistych ma miejsce, gdy do zestawu danych dodaje się oryginalne, dodatkowe dane. Mogą to być pliki tekstowe z dodatkowymi atrybutami (w przypadku oznaczonych zdjęć) do obrazów innych obiektów porównywalnych z oryginalnym obiektem, a nawet nagrania rzeczywistej rzeczy.
Na przykład, dodając kilka dodatkowych funkcji do pliku obrazu, model uczenia maszynowego może łatwiej wykryć element.
Więcej metadanych dotyczących każdego obrazu (np. jego nazwy i opisu) może być dołączonych, aby nasz model AI wiedział więcej o tym, co reprezentuje każdy obraz, zanim zacznie trenować na tych zdjęciach.
Kiedy przychodzi czas na zaklasyfikowanie świeżych zdjęć do jednej z naszych z góry określonych kategorii, takich jak „kot” lub „pies”, model może być w stanie lepiej wykrywać elementy obecne na zdjęciu i w rezultacie lepiej działać.
Dane syntetyczne zwiększenie
Oprócz dodawania większej ilości prawdziwych danych, możesz również wnieść swój wkład dane syntetyczne lub sztuczne dane, które wydają się autentyczne.
Jest to korzystne w przypadku trudnych zadań, takich jak transfer stylu neuronowego, ale jest również dobre dla każdego projektu, niezależnie od tego, czy używasz GAN (Generative Adversarial Networks), CNN (Convolutional Neural Networks), czy innych głębokich architektur sieci neuronowych.
Na przykład, jeśli chcemy właściwie sklasyfikować mopsy bez konieczności wychodzenia i robienia kilku zdjęć, możemy dodać kilka fałszywych zdjęć mopsów do kolekcji zdjęć psów.
Ta forma rozszerzania danych jest szczególnie skuteczna w zwiększaniu dokładności modelu, gdy zbieranie danych jest trudne, kosztowne lub czasochłonne. W tej sytuacji sztucznie rozszerzamy zbiór danych.
Załóżmy, że nasza początkowa grupa 1000 zdjęć ras psów zawiera tylko 5 zdjęć mopsów. Zamiast dodawać dodatkowe rzeczywiste zdjęcia mopsów z prawdziwych psów, stwórzmy fałszywe, klonując jeden z obecnych i lekko go zniekształcając, aby nadal wyglądał jak mops.
Techniki wzbogacania danych
Podejścia do wzbogacania danych wiążą się z wprowadzaniem niewielkich modyfikacji istniejących danych. To to samo, co przeformułowanie oświadczenia. Augmentację danych możemy podzielić na trzy kategorie:
Tekst
- Zastępowanie słów: to podejście do rozszerzania danych obejmuje zastępowanie bieżących terminów synonimami. Na przykład „Ten film jest głupi” może stać się „Ten film jest idiotyczny”.
- Tasowanie zdań/słów: Ta strategia polega na zmianie kolejności fraz lub słów przy zachowaniu ogólnej spójności.
- Manipulacja drzewem składni: Zmieniasz istniejące zdanie, aby było gramatycznie poprawne, używając tych samych terminów.
- Losowe usunięcie: Chociaż ta strategia powoduje brzydkie pisanie, jest skuteczna. W rezultacie wiersz „Nie kupię tej płyty, ponieważ jest porysowana” zamienia się w „Nie kupię tego, ponieważ jest porysowana”. Zdanie jest mniej jasne, ale pozostaje wiarygodnym dodatkiem.
- Powrót Tłumaczenie: To podejście jest zarówno skuteczne, jak i przyjemne. Zrób oświadczenie napisane w swoim języku, przetłumacz je na inny język, a następnie przetłumacz z powrotem na swój język oryginalny.
Obrazy
- Filtry jądra: to podejście wyostrza lub rozmywa obraz.
- Kombinacja obrazów: Chociaż może to wyglądać dziwnie, możesz mieszać zdjęcia.
- Wymazywanie losowe: Usuń niewielką część bieżącego obrazu.
- Transformacje geometryczne: To podejście obejmuje między innymi dowolne odwracanie, obracanie, przycinanie lub tłumaczenie zdjęć.
- Odwracanie obrazu: Możesz odwrócić obraz z orientacji poziomej na pionową.
- Transformacja przestrzeni kolorów: Możesz modyfikować kanały kolorów RGB lub ulepszać dowolny bieżący kolor.
- Ponowne skalowanie to proces dostosowywania skali wizualnej. Masz możliwość skalowania w górę lub w dół. Po skalowaniu do wewnątrz obraz staje się mniejszy niż rozmiar początkowy. Obraz będzie większy niż oryginał, jeśli przeskalujesz go na zewnątrz.
Audio
- Pitch: To podejście polega na zmianie wysokości dźwięku.
- Zmień szybkość: zmiana szybkości pliku audio lub nagrania.
- Więcej szumu: Możesz dodać więcej szumu do pliku audio.
Przypadek użycia
Obrazowanie medyczne jest obecnie popularnym przypadkiem użycia do powiększania danych. Kolekcje zdjęć medycznych są niewielkie, a udostępnianie danych jest trudne ze względu na zasady i obawy dotyczące prywatności.
Ponadto zbiory danych są znacznie bardziej ograniczone w przypadku rzadkich zaburzeń. Firmy zajmujące się obrazowaniem medycznym wykorzystują wzbogacanie danych do dywersyfikacji swoich zbiorów danych.
Wyzwania
Skalowalność, różnorodne zbiory danych i trafność to tylko niektóre z problemów, które należy rozwiązać, aby opracować wydajne techniki wzbogacania danych.
Pod względem skalowalności dane rozszerzone muszą być skalowalne, aby mogło z nich korzystać wiele różnych modeli. Warto się upewnić, że można to powielić do wykorzystania w przyszłych modelach, ponieważ skonfigurowanie systemu rozszerzania danych, który generuje dużą ilość istotnych, wartościowych, ulepszonych danych, może zająć trochę czasu.
Pod względem heterogeniczności różne zbiory danych mają różne cechy, które należy wziąć pod uwagę podczas opracowywania danych rozszerzonych. Aby opracować odpowiednio rozszerzone dane, należy wykorzystać właściwości każdego zestawu danych.
Innymi słowy, rozszerzanie danych będzie się różnić w zależności od zbiorów danych i przypadków użycia.
Wreszcie, aby zagwarantować, że zalety zwiększonej ilości danych przewyższą wszelkie zagrożenia, rozszerzone dane powinny być oceniane przy użyciu odpowiednich metryk przed ich wykorzystaniem przez modele uczenia maszynowego.
Na przykład obecność znacznego szumu tła lub niepowiązanych elementów w danych rozszerzonych opartych na obrazach może mieć szkodliwy wpływ na działanie modelu.
Wnioski
Ostatecznie, niezależnie od tego, czy próbujesz prognozować straty, identyfikować oszustwa finansowe, czy lepiej konstruować klasyfikacja obrazu modele, augmentacja danych jest kluczowym sposobem budowania dokładniejszych, bardziej niezawodnych modeli.
Dzięki doskonałej procedurze szkoleniowej proste wstępne przetwarzanie i rozszerzanie danych mogą nawet pomóc zespołom w opracowywaniu najnowocześniejszych modeli.
Firmy mogą wykorzystywać rozszerzanie danych, aby skrócić czas poświęcany na przygotowywanie danych szkoleniowych i tworzyć modele uczenia maszynowego, które są dokładniejsze i szybsze.
Zwiększając ilość odpowiednich danych w zestawie danych, rozszerzanie danych może również przynieść korzyści modelom uczenia maszynowego, które już zawierają dużo danych.
Dodaj komentarz