Odmiany GAN

Badacze stale znajdują ulepszone techniki GAN i nowe zastosowania dla GAN. Oto kilka przykładów wariantów GAN, które pozwolą Ci poznać możliwości tej technologii.

Progresywne sieci GAN

W przypadku progresywnego GAN pierwsze warstwy generatora generują obrazy o bardzo niskiej rozdzielczości, a kolejne warstwy dodają szczegóły. Ta technika pozwala GAN trenować się szybciej niż porównywalne nieprogresywne GAN-y i tworzyć obrazy o wyższej rozdzielczości.

Więcej informacji znajdziesz w artykule Karras i in. (2017).

Warunkowe GAN

Warunkowe GAN-y są trenowane na zbiorze danych z etykietami i umożliwiają określenie etykiety dla każdej wygenerowanej instancji. Na przykład bezwarunkowy GAN MNIST generowałby losowe cyfry, a warunkowy GAN MNIST pozwoliłby określić, które cyfry ma wygenerować.

Zamiast modelowania wspólnego prawdopodobieństwa P(X, Y) GAN warunkowe modelują prawdopodobieństwo warunkowe P(X | Y).

Więcej informacji o warunkowych GAN-ach znajdziesz w artykule Mirza i in., 2014.

Tłumaczenie obrazów

Sieci GAN do tłumaczenia obrazów na obrazy przyjmują obraz jako dane wejściowe i przekształcają go w wygenerowany obraz wyjściowy o innych właściwościach. Możemy na przykład wziąć obraz maski z plamą koloru w kształcie samochodu, a GAN może wypełnić ten kształt realistycznymi szczegółami.

Podobnie możesz wytrenować GAN do konwersji szkiców torebek na realistyczne zdjęcia.

Tabela 3 x 3 ze zdjęciami torebek. Każdy wiersz przedstawia inny styl torebki. W każdym rzędzie zdjęcie z poziomu lewego rogu to prosty rysunek linii przedstawiający torebkę, środkowe zdjęcie to zdjęcie prawdziwej torebki, a z poziomu prawego rogu to zdjęcie realistyczne wygenerowane przez GAN. Trzy kolumny mają etykiety „Wejście”, „Dane podstawowe” i „Wyjście”.

W takich przypadkach utrata jest ważoną kombinacją zwykłej utraty na podstawie dyskryminatora i utraty na poziomie piksela, która penalizuje generator za odchodzenie od obrazu źródłowego.

Więcej informacji znajdziesz w artykule Isola i in., 2016.

CycleGAN

Sieci CycleGAN uczą się przekształcać obrazy z jednego zbioru w takie, które mogłyby należeć do innego zbioru. Na przykład model CycleGAN wygenerował poniższe zdjęcie po lewej stronie, gdy jako dane wejściowe podano mu zdjęcie po prawej stronie. Przekształcił obraz konia w obraz zebry.

Obraz galopującego konia i drugi obraz, który jest identyczny pod każdym względem, z tym wyjątkiem, że koń jest zebrydą.

Dane treningowe dla modelu CycleGAN to po prostu 2 zbiory obrazów (w tym przypadku zbiór obrazów koni i zbiór obrazów zebr). System nie wymaga etykiet ani parowania obrazów.

Więcej informacji znajdziesz w artykule Zhu i in. (2017), który opisuje wykorzystanie modelu CycleGAN do przekształcania obrazów bez pary danych.

synteza tekstu na obraz;

GAN do konwersji tekstu na obrazy przyjmuje tekst jako dane wejściowe i generuje obrazy, które są wiarygodne i opisane przez tekst. Na przykład obraz kwiatu poniżej został wygenerowany przez podanie opisu tekstowego do GAN.

„Ten kwiat ma płatki w kolorze żółtym z odcieniami pomarańczowego”. Kwiat z płatkami w kolorze żółtym z odcieniami pomarańczowego.

Pamiętaj, że w tym systemie GAN może generować tylko obrazy z małego zbioru klas.

Więcej informacji znajdziesz w artykule Zhang i in. (2016).

Superrozdzielczość

GAN-y o superwysokiej rozdzielczości zwiększają rozdzielczość obrazów, dodając szczegóły w miejscach, w których są one potrzebne, aby wypełnić rozmyty obszar. Na przykład niewyraźny obraz pośrodku jest wersją z niższym współczynnikiem próbkowania niż obraz oryginalny po lewej stronie. Na podstawie niewyraźnego obrazu GAN wygenerował ostrzejszy obraz po prawej stronie:

OryginałRozmyciePrzywrócono za pomocą sieci GAN
Obraz przedstawiający dziewczynę w skomplikowanym nakryciu głowy. Opaska na głowę jest dziergana według złożonego wzoru. Rozmyta wersja obrazu przedstawiającego dziewczynę w skomplikowanym nakryciu głowy. Ostry i wyraźny obraz dziewczyny w bogatym nakryciu głowy. Ten obraz jest prawie identyczny z pierwszym obrazem w tabeli, ale niektóre szczegóły wzorów na nakryciu głowy i odzieży są nieco inne.

Obraz wygenerowany przez GAN jest bardzo podobny do oryginalnego, ale jeśli przyjrzysz się opasce, zauważysz, że GAN nie odtworzył wzoru gwiazdy z oryginału. Zamiast tego wymyślił własny prawdopodobny wzór, aby zastąpić wzór wymazany przez próbkowanie w dół.

Więcej informacji znajdziesz w artykule Ledig i in. (2017).

Retusz twarzy

Sieci GAN zostały użyte do zadania semantycznego inpaintingu obrazu. W zadaniu polegającym na uzupełnianiu brakujących fragmentów obrazu fragmenty obrazu są zaciemnione, a system próbuje wypełnić brakujące fragmenty.

Yeh i in. (2017) wykorzystali GAN, aby uzyskać lepsze wyniki niż w przypadku innych technik wypełniania obrazów twarzy:

Dane wejścioweDane wyjściowe GAN
4 obrazy. Każdy obraz to zdjęcie twarzy, na którym niektóre obszary zostały zastąpione czarnym kolorem. 4 obrazy. Każde zdjęcie to zdjęcie twarzy identyczne z jednym z zdjęć w kolumnie „Wejście”, z tym że nie ma na nim czarnych obszarów.

Text-to-Speech

Nie wszystkie sieci GAN generują obrazy. Na przykład naukowcy wykorzystali GAN-y do wygenerowania syntezy mowy na podstawie tekstu. Więcej informacji: Yang i in., 2017.