DALL·E: Tworzenie obrazów na podstawie tekstu
Wytrenowaliśmy sieć neuronową o nazwie DALL·E tworzącą obrazy na podstawie opisów tekstowych dotyczących wielu różnych pojęć, które można wyrazić w języku naturalnym.

Ilustracja: Justin Jay Wang
DALL·E to wersja modelu GPT‑3(otwiera nowe okno) z 12 miliardami parametrów wytrenowana do generowania obrazów na podstawie opisów tekstowych przy użyciu zestawu danych z parami tekst-obraz. Odkryliśmy, że ma ona wiele różnych zdolności, w tym zdolność tworzenia antropomorficznych wersji zwierząt i obiektów, łączenia niepowiązanych pojęć w wiarygodny sposób, renderowania tekstu i stosowania transformacji do istniejących obrazów.
Patrz też: DALL·E 2 – model, który generuje bardziej realistyczne i dokładniejsze obrazy o czterokrotnie większej rozdzielczości.
Model GPT‑3 jest dowodem na to, że języka można użyć do wydawania poleceń dużej sieci neuronowej na potrzeby wykonywania różnych zadań związanych z generowaniem tekstu. Model Image GPT jest dowodem na to, że tego samego typu sieci neuronowej można również użyć do generowania obrazów o wysokiej jakości. Przedstawiamy dodatkowe ustalenia, aby pokazać, że używanie języka do manipulowania pojęciami wizualnymi jest już w zasięgu ręki.
Podobnie jak GPT‑3, DALL·E jest modelem językowym wykorzystującym architekturę transformatora. Dane wejściowe mają postać pojedynczego strumienia zawierającego zarówno tekst, jak i obraz, który może zawierać do 1280 tokenów. Model jest trenowany przy użyciu maksymalnego prawdopodobieństwa w celu wygenerowania wszystkich tokenów, jednego po drugim. A
Ta procedura treningowa pozwala DALL·E nie tylko generować obraz od podstaw, ale także ponownie generować dowolny prostokątny obszar istniejącego obrazu rozciągający się do prawego dolnego rogu w sposób zgodny z poleceniem tekstowym.
Zdajemy sobie sprawę, że praca z użyciem modeli generatywnych może mieć znaczący i rozległy wpływ na społeczeństwo. W przyszłości planujemy przeanalizować, w jaki sposób modele takie jak DALL·E wpływają na kwestie społeczne, np. wpływ gospodarczy na niektóre zawody i procesy robocze, możliwa stronniczość w danych wyjściowych modelu oraz długoterminowe wyzwania etyczne związane z tą technologią.
Stwierdziliśmy, że DALL·E potrafi tworzyć wiarygodne obrazy na podstawie wielu różnych zdań wykorzystujących strukturę kompozycyjną języka. Ilustrujemy to za pomocą serii interaktywnych wizualizacji w następnej sekcji. Próbki w każdym z opisów w wizualizacjach uzyskano, wybierając najlepsze 32 z 512 próbek po ponownym uszeregowaniu przy użyciu modelu CLIP. Nie stosowaliśmy ręcznego wybierania z wyjątkiem miniatur i pojedynczych obrazów, które pojawiają się poza wizualizacjami.B
Przetestowaliśmy zdolność modelu DALL·E do modyfikowania kilku atrybutów obiektu, a także liczbę wystąpień obiektu.
Jednoczesne kontrolowanie wielu obiektów, ich atrybutów i relacji przestrzennych to nowe wyzwanie. Rozważmy na przykład zdanie „jeż w czerwonej czapce, żółtych rękawiczkach, niebieskiej koszuli i zielonych spodniach”. Aby poprawnie zinterpretować to zdanie, DALL·E musi nie tylko prawidłowo dopasować każdy element ubioru do zwierzęcia, ale też utworzyć bezbłędne skojarzenia (czapka, czerwony), (rękawiczki, żółty), (koszula, niebieski) i (spodnie, zielony). C
Przetestowaliśmy zdolność modelu DALL·E do wykonywania tych zadań w zakresie względnego rozmieszczania, układania obiektów w stosy i kontrolowania wielu atrybutów.
Chociaż DALL·E umożliwia pewien poziom kontroli nad atrybutami i rozmieszczeniem niewielkiej liczby obiektów; skuteczność może zależeć od sposobu sformułowania opisu. Wraz z większą liczbą obiektów DALL·E ma skłonność do mylenia skojarzeń między obiektami i ich kolorami, a wskaźnik powodzenia drastycznie spada. Zauważyliśmy też, że model DALL·E jest w tych sytuacjach wrażliwy na zmianę sformułowania opisu. Alternatywne, semantycznie równoważne opisy często nie powodują prawidłowej interpretacji.
Odkryliśmy, że DALL·E pozwala również kontrolować punkt patrzenia na scenę oraz styl renderowania sceny w trzech wymiarach.
Aby dodatkowo zbadać tę kwestię, przetestowaliśmy zdolność modelu DALL·E do wielokrotnego rysowania głowy znanej postaci pod każdym kątem przy użyciu sekwencji równo rozmieszczonych kątów. Ostatecznie stwierdziliśmy, że możemy uzyskać płynną animację obracającej się głowy.
Wydaje się, że DALL·E potrafi zastosować pewne rodzaje zniekształceń optycznych do scen, co widać w opcjach „widok przez obiektyw typu rybie oko” i „panorama sferyczna”. To skłoniło nas do zbadania zdolności modelu do generowania odbić.
Próbki wykonane w stylu „ekstremalnego przybliżenia” i „rentgenowskim” skłoniły nas do dokładniejszego zbadania zdolności DALL·E w zakresie renderowania struktury wewnętrznej przy użyciu przekrojów poprzecznych oraz struktury zewnętrznej przy użyciu makrofotografii.
Tłumaczenie tekstu na obrazy jest niedokładne: pojedynczy opis zwykle odpowiada nieskończonej liczbie prawdopodobnych obrazów, więc wygenerowany obraz nie jest jedynym możliwym wynikiem. Przykładowy opis „obraz przedstawiający kapibarę siedzącą na polu o wschodzie słońca”. Zależnie od pozycji kapibary może być konieczne narysowanie cienia, chociaż ten szczegół nie jest wyraźnie wskazany w opisie. Zbadaliśmy zdolność modelu DALL·E do rozwiązywania problemów braku dokładności w trzech przypadkach: zmiana stylu, otoczenia i czasu; rysowanie tego samego obiektu w różnych sytuacjach; oraz generowanie obrazu obiektu z umieszczonym na nim tekstem.
Model DALL·E pozwala korzystać z różnym stopniem niezawodności z podzbioru zdolności mechanizmu renderowania 3D przy użyciu języka naturalnego. Model potrafi niezależnie kontrolować atrybuty niewielkiej liczby obiektów oraz, w ograniczonym zakresie, ich liczbę i wzajemne rozmieszczenie. Potrafi również kontrolować położenie i kąt, pod jakim renderowana jest scena, oraz generować znane obiekty zgodnie z precyzyjnie określonym kątem i precyzyjnie określonymi warunkami oświetleniowymi.
W przeciwieństwie do mechanizmu renderowania 3D, którego dane wejściowe muszą zostać określone jednoznacznie i szczegółowo, model DALL·E często potrafi „wypełnić luki”, gdy opis sugeruje, że obraz musi zawierać dany szczegół, który nie został wyraźnie wskazany.
Następnie zbadaliśmy użycie powyższych zdolności w modzie i projektowaniu wnętrz.
Charakter kompozycyjny języka pozwala nam łączyć pojęcia w celu opisania zarówno elementów rzeczywistych, jak i wyobrażonych. Odkryliśmy, że model DALL·E potrafi również łączyć różniące się pojęcia na potrzeby syntezy obiektów, z których część prawdopodobnie nie istnieje w rzeczywistości. Zbadaliśmy tę zdolność w dwóch przypadkach: transfer cech z różnych pojęć na zwierzęta oraz projektowanie produktów inspirowanych niepowiązanymi pojęciami.
W poprzedniej sekcji przedstawiono badanie zdolności modelu DALL·E do łączenia niepowiązanych pojęć podczas generowania obrazów rzeczywistych obiektów. W tej sekcji przedstawiamy badanie tej zdolności w kontekście sztuki, na przykładzie trzech rodzajów ilustracji: antropomorficznych wersji zwierząt i obiektów, chimerycznych zwierząt oraz emotikonów.
Model GPT‑3 można poinstruować, aby wykonywał wiele rodzajów zadań wyłącznie na podstawie opisu i wskazówki dotyczącej wygenerowania odpowiedzi wymaganej w poleceniu – bez dodatkowego treningu. Na przykład polecenie „oto zdanie «osoba spacerująca z psem w parku» przetłumaczone na język francuski:” model GPT‑3 wygeneruje odpowiedź „un homme qui promène son chien dans le parc”. Ta zdolność nazywa się rozumowaniem zero-shot. Stwierdziliśmy, że model DALL·E rozszerza tę zdolność na dziedzinę wizualną. Po otrzymaniu odpowiedniego polecenia jest w stanie wykonać kilka rodzajów zadań tłumaczenia obrazu na obraz.
Nie przewidzieliśmy wystąpienia tej zdolności. Nie wprowadziliśmy żadnych modyfikacji w sieci neuronowej ani procedurze treningu, aby ją wywołać. Zainspirowani tymi wynikami, zmierzyliśmy zdolność modelu DALL·E do rozumowania analogicznego, przeprowadzając jego testy przy użyciu matryc progresywnych Ravena, wizualnego testu IQ, który był powszechnie stosowany w XX wieku.
Stwierdziliśmy, że model DALL·E nauczył się faktów geograficznych, orientacji w terenie i rozpoznawania dzielnic. Jego wiedza na temat tych pojęć jest pod pewnymi względami zaskakująco precyzyjna, a pod innymi błędna.
Oprócz badania wiedzy modelu DALL·E na temat pojęć różniących się zależnie od przestrzeni, zbadaliśmy również jego wiedzę na temat pojęć zmieniających się w czasie.
Model DALL·E wykorzystuje prostą architekturę transformatora, która składa się wyłącznie z dekodera. Model przyjmuje jako dane wejściowe zarówno tekst, jak i obraz w postaci pojedynczego strumienia 1280 tokenów – 256 dla tekstu i 1024 dla obrazu – i modeluje je w sposób autoregresyjny. Maska uwagi w każdej z 64 warstw samouwagi pozwala każdemu tokenowi obrazu zwracać uwagę na wszystkie tokeny tekstu. Model DALL·E używa standardowej maski przyczynowej (ang. causal mask) w odniesieniu do tokenów tekstu oraz mechanizmu uwagi rzadkiej (ang. sparse attention) w odniesieniu do tokenów obrazu ze wzorcem uwagi wierszowej, kolumnowej lub splotowej – zależnie od warstwy. Więcej informacji na temat architektury i procedury treningu zawarliśmy w tej pracy(otwiera nowe okno).
Synteza tekstu na obraz jest aktywnie badana od czasu pionierskich prac Reeda et al.,1 którzy wykorzystali sieć GAN warunkowaną osadzeniami tekstu. Osadzenia są tworzone przez koder wstępnie wytrenowany przy użyciu straty kontrastowej, podobnie jak w przypadku modelu CLIP. Architektury sieci StackGAN3 i StackGAN++4 używają wieloskalowych sieci GAN do skalowania rozdzielczości i poprawiania jakości obrazu. Sieć AttnGAN5 wprowadza mechanizm uwagi pomiędzy cechami tekstu i obrazu oraz proponuje stratę kontrastową na potrzeby dopasowywania cech tekstu i obrazu jako cel pomocniczy. Interesujące jest porównanie tego z naszym procesem ponownego szeregowania przy użyciu modelu CLIP w trybie offline. Inne prace2, 6 i 7 wprowadzają dodatkowe źródła nadzoru podczas trenowania w celu poprawy jakości obrazu. Wreszcie praca Nguyen et. al8 i Cho et. al9 omawia oparte na próbkowaniu strategie generowania obrazów wykorzystujące wstępnie wytrenowane multimodalne modele dyskryminacyjne.
Podobnie jak w przypadku próbkowania z odrzucaniem używanego w modelach VQVAE-2(otwiera nowe okno) używamy modelu CLIP do ponownego szeregowania 32 z 512 próbek dla każdego opisu we wszystkich wizualizacjach interaktywnych. Tę procedurę można również postrzegać jako rodzaj wyszukiwania opartego na języku16 i może mieć ona ogromny wpływ na jakość próbek.
Przypisy
- A
Token to dowolny symbol z wydzielonego słownictwa. W przypadku ludzi każda litera alfabetu angielskiego jest tokenem z 26-literowego alfabetu. Słownictwo modelu DALL E zawiera tokeny zarówno dla tekstu, jak i obrazu. W szczególności każdy opis obrazu jest reprezentowany przy użyciu maksymalnie 256 tokenów z kodowaniem BPE o wielkości słownictwa 16384, a obraz jest reprezentowany przy użyciu 1024 tokenów o wielkości słownictwa 8192.
Obrazy są wstępnie przetwarzane do rozdzielczości 256x256 podczas treningu. Podobnie jak w przypadku modeli VQVAE każdy obraz jest skompresowany do siatki 32x32 dyskretnych kodów ukrytych (ang. discrete latent codes) przy użyciu dyskretnego autoenkodera wariacyjnego (ang. variational autoencoder, VAE), które zostały wstępnie wytrenowane przy użyciu relaksacji ciągłej. Odkryliśmy, że trening z użyciem relaksacji eliminuje potrzebę stosowania jawnej księgi kodów (ang. codebook), strat EMA lub sztuczek takich jak przywracanie martwego kodu (angl. dead code revival) i może być skalowany do dużych rozmiarów słownictwa.
- B
Dodatkowe szczegóły można znaleźć w dalszej sekcji.
- 17
To zadanie nazywa się wiązaniem zmiennych. Badania nad nim zostały szeroko opisane w literaturze.
Bibliografia
- 1
Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). „Generative adversarial text to image synthesis(otwiera nowe okno)“. In ICML 2016.
- 2
Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). „Learning what and where to draw(otwiera nowe okno)“. In NIPS 2016.
- 3
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D. (2016). „StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks(otwiera nowe okno)“. In ICCY 2017.
- 4
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D. (2017). „StackGAN++: realistic image synthesis with stacked generative adversarial networks(otwiera nowe okno)“. In IEEE TPAMI 2018.
- 5
Xu, T., Zhang, P., Huang, Q., Zhang, H., Gan, Z., Huang, X., He, X. (2017). „AttnGAN: Fine-grained text to image generation with attentional generative adversarial networks(otwiera nowe okno).
- 6
Li, W., Zhang, P., Zhang, L., Huang, Q., He, X., Lyu, S., Gao, J. (2019). „Object-driven text-to-image synthesis via adversarial training(otwiera nowe okno)“. In CVPR 2019.
- 7
Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). „Text-to-image generation grounded by fine-grained user attention(otwiera nowe okno)“. In WACV 2021.
- 8
Nguyen, A., Clune, J., Bengio, Y., Dosovitskiy, A., Yosinski, J. (2016). „Plug & play generative networks: conditional iterative generation of images in latent space(otwiera nowe okno).
- 9
Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). “X-LXMERT: Paint, caption, and answer questions with multi-modal transformers(otwiera nowe okno)“. EMNLP 2020.
- 10
Kingma, Diederik P., and Max Welling. „Auto-encoding variational bayes(otwiera nowe okno)“. arXiv preprint (2013).
- 11
Rezende, Danilo Jimenez, Shakir Mohamed, and Daan Wierstra. „Stochastic backpropagation and approximate inference in deep generative models(otwiera nowe okno)“. arXiv preprint (2014).
- 12
Jang, E., Gu, S., Poole, B. (2016). “Categorical reparametrization with Gumbel-softmax(otwiera nowe okno).
- 13
Maddison, C., Mnih, A., Teh, Y. W. (2016). „The Concrete distribution: a continuous relaxation of discrete random variables(otwiera nowe okno)“.
- 14
van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). „Neural discrete representation learning(otwiera nowe okno)“.
- 15
Razavi, A., van der Oord, A., Vinyals, O. (2019). „Generating diverse high-fidelity images with VQ-VAE-2(otwiera nowe okno)“.
- 16
Andreas, J., Klein, D., Levine, S. (2017). „Learning with Latent Language(otwiera nowe okno)“.
- 17
- 18
- 19
Gayler, R. (1998). „Multiplicative binding, representation operators & analogy(otwiera nowe okno)“.
- 20
Kanerva, P. (1997). „Fully distributed representations(otwiera nowe okno)“.


