Co to są GAN? Jak i dlaczego warto ich używać!



Ten artykuł zawiera szczegółowe wyjaśnienie „Co to są GAN” z ograniczeniami i wyzwaniami obejmującymi proces szkolenia i wdrażanie przypadków użycia.

Generative Adversarial Networks (GAN) to generatywne podejście do modelowania wykorzystujące Głęboka nauka uczenie modelu w sprytny sposób w celu generowania danych przy użyciu podejścia podmodelowego. W tym artykule postaramy się szczegółowo zrozumieć „Co to są GAN”. W tym artykule omówiono następujące tematy:

Co to są modele generatywne?

Modele generatywne to nic innego jak te modele, które używają rozszerzenia podejście. W modelu generatywnym w danych znajdują się próbki, tj. Zmienne wejściowe X, ale brakuje zmiennej wyjściowej Y. Używamy tylko zmiennych wejściowych do uczenia modelu generatywnego i rozpoznaje wzorce ze zmiennych wejściowych, aby wygenerować nieznane dane wyjściowe i opiera się wyłącznie na danych szkoleniowych.





W , jesteśmy bardziej nastawieni na tworzenie modeli predykcyjnych ze zmiennych wejściowych, ten rodzaj modelowania jest znany jako modelowanie dyskryminacyjne. W przypadku problemu klasyfikacyjnego model musi rozróżniać, do której klasy należy przykład. Z drugiej strony modele nienadzorowane służą do tworzenia lub generowania nowych przykładów w dystrybucji danych wejściowych.

jak stworzyć klasę singleton w java

Aby zdefiniować modele generatywne w kategoriach laika, możemy powiedzieć, że modele generatywne są w stanie wygenerować nowe przykłady z próbki, które są nie tylko podobne do innych przykładów, ale także są nie do odróżnienia.



Najpopularniejszym przykładem modelu generatywnego jest plik który jest częściej używany jako model dyskryminacyjny. Inne przykłady modeli generatywnych obejmują Gaussian Mixture Model i dość nowoczesny przykład, czyli ogólne sieci adwersarza. Spróbujmy zrozumieć, czym są GAN?

Co to jest generatywna sieć kontradyktoryjna?

Generative Adversarial Networks lub GAN to model generatywny oparty na uczeniu głębokim, który jest używany do uczenia się nienadzorowanego. Jest to w zasadzie system, w którym rywalizują ze sobą dwie osoby Sieci neuronowe konkurować ze sobą w tworzeniu lub generowaniu zmian w danych.

Po raz pierwszy została opisana w artykule w 2014 roku przez Iana Goodfellowa, a ustandaryzowana i bardzo stabilna teoria modelu została zaproponowana przez Aleca Radforda w 2016 roku, znana jako DCGAN (Deep Convolutional General Adversarial Networks). Większość istniejących obecnie sieci GAN wykorzystuje architekturę DCGAN.



Architektura GAN składa się z dwóch podmodeli znanych jako Model generatora i Model dyskryminatora. Spróbujmy zrozumieć, jak faktycznie działają GAN.

Jak to działa?

Aby zrozumieć, jak działają GAN, omówmy to.

  • Generatywny - Oznacza to, że model jest zgodny z podejście i jest modelem generatywnym.
  • Przeciwstawne - Model jest szkolony w ustawieniu kontradyktoryjnym
  • Sieć - Do uczenia modelu wykorzystuje sieci neuronowe jako algorytmy sztucznej inteligencji.

W sieciach GAN istnieje sieć generatora, która pobiera próbkę i generuje próbkę danych, a następnie sieć Discriminator decyduje, czy dane są generowane, czy pobierane z rzeczywistej próbki za pomocą binarnego problem z pomocą funkcji sigmoidalnej, która daje wynik w zakresie od 0 do 1.

schemat blokowy - czym są gnas - edureka

Model generatywny analizuje dystrybucję danych w taki sposób, że po fazie uczenia prawdopodobieństwo popełnienia błędu przez dyskryminatora jest maksymalne. Z drugiej strony Dyskryminator jest oparty na modelu, który oszacuje prawdopodobieństwo, że próbka pochodzi z rzeczywistych danych, a nie z generatora.

Cały proces można sformalizować za pomocą wzoru matematycznego podanego poniżej.

W powyższym wzorze:

G = generator

D = dyskryminator

Pdata (x) = Dystrybucja rzeczywistych danych

Pdata (z) = Dystrybutor generatora

x = próbka z rzeczywistych danych

z = próbka z generatora

D (x) = Sieć dyskryminatora

G (z) = Sieć generatorów

Teraz przychodzi część szkoleniowa dotycząca GAN, którą można dalej podzielić na 2 części, które są wykonywane sekwencyjnie.

Jak wyszkolić GAN?

Część 1:

Wytrenuj dyskryminator i zamroź generator, co oznacza, że ​​zestaw uczący generatora jest ustawiony na Fałsz i sieć wykona tylko przejście do przodu i nie zostanie zastosowana propagacja wsteczna.

Zasadniczo dyskryminator jest szkolony na podstawie prawdziwych danych i sprawdza, czy jest w stanie je poprawnie przewidzieć, podobnie jak fałszywe dane, aby zidentyfikować je jako fałszywe.

Część 2:

Wytrenuj generator i zamroź dyskryminator. W tej fazie otrzymujemy wyniki z pierwszej fazy i możemy ich użyć, aby ulepszyć poprzedni stan, aby lepiej oszukać dyskryminator.

Kroki do treningu

  1. Zdefiniuj problem - zdefiniuj problem i zbierz dane.
  2. Wybierz architekturę GAN - W zależności od problemu wybierz, jak powinien wyglądać Twój GAN.
  3. Szkolenie dyskryminatora na rzeczywistych danych - Trenuj dyskryminator za pomocą rzeczywistych danych, aby przewidywać je jako rzeczywiste n razy.
  4. Generuj fałszywe dane wejściowe dla generatora - Generuj fałszywe próbki z generatora
  5. Szkolenie dyskryminatora na fałszywych danych - Wytrenuj dyskryminator, aby przewidywał, że wygenerowane dane są fałszywe.
  6. Generator pociągu z wyjściem dyskryminatora - Po uzyskaniu prognoz dyskryminatora, wyszkol generator, aby oszukał dyskryminator

Wyzwania generatywnej sieci przeciwników

Koncepcja GAN jest dość fascynująca, ale istnieje wiele niepowodzeń, które mogą powodować wiele przeszkód na jej drodze. Niektóre z głównych wyzwań stojących przed GAN to:

transformacja czynna i pasywna w informatyce
  1. Stabilność jest wymagany między dyskryminatorem a generatorem, w przeciwnym razie cała sieć po prostu upadłaby. W przypadku, gdy Dyskryminator jest zbyt potężny, generator nie będzie w ogóle trenował. A jeśli sieć jest zbyt pobłażliwa, generowany jest jakikolwiek obraz, co czyni sieć bezużyteczną.
  2. GAN kończy się niepowodzeniem w określaniu pozycjonowanie obiektów pod względem tego, ile razy obiekt powinien pojawić się w tym miejscu.
  3. Perspektywa trójwymiarowa przeszkadza GAN, ponieważ nie jest w stanie zrozumieć perspektywiczny , często daje płaski obraz dla obiektu trójwymiarowego.
  4. Sieci GAN mają problem ze zrozumieniem obiekty globalne . Nie może rozróżnić ani zrozumieć całościowej struktury.
  5. Nowsze typy GAN są bardziej zaawansowane i oczekuje się, że całkowicie przezwyciężą te niedociągnięcia.

Aplikacje generatywne sieci przeciwnej

Poniżej przedstawiono kilka zastosowań GAN.

Przewidywanie Następnej Klatki W Wideo

Przewidywanie przyszłych wydarzeń w klatce wideo jest możliwe dzięki GAN. DVD-GAN lub Dual Video Discriminator GAN może generować filmy 256 × 256 o znaczącej wierności do 48 klatek długości. Można to wykorzystać do różnych celów, w tym do nadzoru, w którym możemy określić działania w kadrze, które ulegają zniekształceniu z powodu innych czynników, takich jak deszcz, kurz, dym itp.

Generowanie tekstu na obraz

co to jest zdarzenie w javascript

Uważny GAN zorientowany obiektowo (obj-GAN) przeprowadza syntezę tekstu na obraz w dwóch etapach. Generowanie układu semantycznego jest pierwszym krokiem, a następnie generowanie obrazu poprzez syntezę obrazu przy użyciu de-konwolucyjnego generatora obrazu jest krokiem ostatnim.

Można to intensywnie wykorzystać do generowania obrazów poprzez zrozumienie podpisów, układów i dopracowanie szczegółów poprzez syntezę słów. Istnieje inne badanie dotyczące storyGANów, które może zsyntetyzować całe storyboardy ze zwykłych akapitów.

Poprawianie rozdzielczości obrazu

Generatywna sieć kontradyktoryjna o super rozdzielczości lub SRGAN to GAN, który może generować obrazy o super rozdzielczości z obrazów o niskiej rozdzielczości z drobniejszymi szczegółami i lepszą jakością.

Zastosowania mogą być ogromne, wyobraź sobie obraz o wyższej jakości z drobniejszymi szczegółami wygenerowanymi z obrazu o niskiej rozdzielczości. Ilość pomocy, jaką zapewniłby w celu identyfikacji szczegółów na obrazach o niskiej rozdzielczości, może zostać wykorzystana do szerszych celów, w tym do nadzoru, dokumentacji, bezpieczeństwa, wzorców wykrywania itp.

Tłumaczenie obrazu na obraz

Pix2Pix GAN to model przeznaczony do ogólnego tłumaczenia obrazu-obrazu.

Interaktywne generowanie obrazu

GAN mogą być również wykorzystywane do generowania interaktywnych obrazów, a laboratorium informatyki i sztucznej inteligencji (CSAIL) opracowało GAN, który może generować modele 3-D z realistycznym oświetleniem i odbiciami możliwymi dzięki edycji kształtu i tekstury.

Niedawno naukowcy opracowali model, który może zsyntetyzować odtworzoną twarz animowaną ruchem osoby, jednocześnie zachowując jej wygląd.

To prowadzi nas do końca tego artykułu, w którym dowiedzieliśmy się, czym są GAN. Mam nadzieję, że wszystko, co zostało Ci udostępnione w tym samouczku, jest dla Ciebie jasne.

Jeśli uważasz, że ten artykuł „Co to są GAN” jest istotny, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.

Jesteśmy tutaj, aby pomóc Ci na każdym kroku w Twojej podróży i opracować program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą być . Kurs ma na celu zapewnienie przewagi w programowaniu w Pythonie i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji Pythona, a także różnych lubić

Jeśli napotkasz jakieś pytania, nie krępuj się zadawać je w sekcji komentarzy w „Czym są GANy”, a nasz zespół z przyjemnością odpowie.