Deep learning i modelowanie
generatywne
Jak
nauczyć komputer malowania, pisania, komponowania i grania
Techniki
uczenia głębokiego rozwijają się w imponującym tempie, a sieci
neuronowe znajdują zastosowanie w przeróżnych branżach.
Coraz częściej komputer wykonuje zadania, które do niedawna
były zarezerwowane dla człowieka. Dobrym przykładem jest tworzenie
dzieł sztuki: ostatnie postępy w dziedzinie modelowania generatywnego
sprawiają, że maszyny tworzą oryginalne obrazy w określonym stylu,
piszą spójne akapity tekstu, komponują przyjemną w odbiorze
muzykę i generują prawdopodobne scenariusze zdarzeń. Ta "generatywna
rewolucja" już się zaczęła, a jej efekty przekraczają najśmielsze
wyobrażenia.
Ta książka jest
praktycznym przewodnikiem przeznaczonym dla inżynierów
uczenia maszynowego i analityków danych.
W
jasny i przystępny sposób omówiono w niej
zasadnicze zagadnienia teorii modelowania generatywnego, a następnie
zaprezentowano techniki stosowane do budowy modeli generatywnych,
włącznie z ogólnym opisem uczenia głębokiego, wariacyjnych
autoenkoderów i generatywnych sieci antagonistycznych (GAN).
Na tej podstawie - z wykorzystaniem biblioteki Keras - pokazano
wewnętrzne funkcjonowanie każdej z tych technik, łącznie z najbardziej
nowatorskimi architekturami. Opisano krok po kroku sposoby
rozwiązywania takich twórczych zadań jak malowanie, pisanie
i komponowanie muzyki, a także zastosowania modelowania generatywnego
do optymalizacji strategii grania w gry (modele World).
W książce między innymi:
- działanie
autoenkoderów wariacyjnych
- tworzenie sieci GAN, w tym
CycleGAN i MuseGAN
- rekurencyjne modele
generatywne do tworzenia tekstu oraz mechanizmy uwagi
- modele generatywne w
środowiskach uczenia przez wzmacnianie
- architektura Transformer
(BERT, GPT-2) oraz modele generowania obrazu
Przedmowa
8
CZĘŚĆ I.
WPROWADZENIE DO
GENERATYWNEGO UCZENIA GŁĘBOKIEGO
13
1.
Modelowanie
generatywne 15
Czym jest modelowanie generatywne? 15
Modelowanie generatywne a dyskryminatywne 16
Postępy w uczeniu maszynowym 18
Powstanie modelowania generatywnego 19
Framework modelowania generatywnego 21
Probabilistyczne modele generatywne 23
Witaj, Zlemio! 25
Twój pierwszy probabilistyczny model generatywny 26
Naiwny model Bayesa 29
Witaj, Zlemio! Kontynuacja 31
Wyzwania modelowania generatywnego 33
Uczenie reprezentacji 34
Konfiguracja środowiska 37
Podsumowanie 39
2.
Uczenie
głębokie 41
Dane ustrukturyzowane i nieustrukturyzowane 41
Głębokie sieci neuronowe 42
Keras i TensorFlow 44
Twoja pierwsza głęboka sieć neuronowa 45
Ładowanie danych 45
Budowanie modelu 46
Kompilacja modelu 50
Szkolenie modelu 51
Ocena modelu 52
Usprawnianie modelu 54
Warstwy konwolucyjne 55
Normalizacja partii 59
Warstwy Dropout 61
Połączenie warstw w całość 63
Podsumowanie 66
3.
Autoenkodery
wariacyjne 67
Wystawa 67
Autoenkodery 70
Twój pierwszy autoenkoder 71
Koder 71
Dekoder 73
Połączenie kodera z dekoderem 75
Analiza autoenkodera 76
Wariacyjna wystawa sztuki 78
Budowanie autoenkodera wariacyjnego 80
Koder 80
Funkcja strat 85
Analiza autoenkodera wariacyjnego 86
Korzystanie z VAE do generowania twarzy 87
Szkolenie VAE 88
Analiza VAE 88
Generowanie nowych twarzy 91
Arytmetyka przestrzeni ukrytej 92
Morfing twarzy 93
Podsumowanie 94
4.
Sieci GAN 95
Ganimale 95
Wprowadzenie do sieci GAN 97
Twoja pierwsza sieć GAN 98
Dyskryminator 99
Generator 101
Szkolenie sieci GAN 104
Wyzwania dla sieci GAN 108
Oscylacyjne straty 109
Załamanie trybu 109
Mylące wartości funkcji strat 110
Hiperparametry 110
Stawianie czoła wyzwaniom związanym z GAN 111
Model GAN Wassersteina 111
Funkcja straty Wassersteina 111
Ograniczenie Lipschitza 113
Obcinanie wag 113
Szkolenie sieci WGAN 114
Analiza sieci WGAN 115
WGAN-GP 116
Funkcja straty z ograniczeniem gradientu 116
Analiza sieci WGAN-GP 120
Podsumowanie 121
CZĘŚĆ II.
UCZENIE
KOMPUTERÓW MALOWANIA, PISANIA, KOMPONOWANIA I GRANIA
123
5.
Malowanie
125
Jabłka i pomarańcze 126
CycleGAN 128
Twoja pierwsza sieć CycleGAN 130
Przegląd 130
Generatory (U-Net) 131
Dyskryminatory 134
Kompilacja modelu CycleGAN 136
Szkolenie sieci CycleGAN 137
Analiza sieci CycleGAN 138
Tworzenie sieci CycleGAN, która maluje w stylu Moneta 140
Generatory (ResNet) 141
Analiza zaprojektowanej sieci CycleGAN 142
Neuronowy transfer stylu 143
Utrata treści 145
Utrata stylu 147
Całkowita utrata wariancji 149
Uruchomienie neuronowego transferu stylów 150
Analiza modelu neuronowego transferu stylu 151
Podsumowanie 152
6.
Pisanie
153
Literackie Stowarzyszenie Twórczych Miernot 154
Sieci LSTM 155
Twoja pierwsza sieć LSTM 156
Tokenizacja 156
Budowanie zestawu danych 158
Architektura LSTM 159
Warstwa Embedding 160
Warstwa LSTM 161
Komórka LSTM 162
Generowanie nowego tekstu 164
Rozszerzenia sieci RNN 168
Stos sieci rekurencyjnych 168
Sieci GRU 169
Komórki dwukierunkowe 170
Modele koder-dekoder 170
Generator pytań i odpowiedzi 172
Zestaw danych pytanie - odpowiedź 173
Architektura modelu 174
Wnioskowanie 177
Wyniki modelu 179
Podsumowanie 180
7.
Komponowanie
muzyki 181
Wymagania wstępne 182
Notacja muzyczna 182
Twoja pierwsza sieć RNN do generowania muzyki 184
Mechanizm uwagi 185
Budowanie mechanizmu uwagi w Keras 187
Analiza sieci RNN z mechanizmem uwagi 190
Mechanizm uwagi w sieciach koder-dekoder 195
Generowanie polifonicznej muzyki 199
MuseGAN 199
Twoja pierwsza sieć MuseGAN 201
Generator sieci MuseGAN 203
Akordy, styl, melodia i ścieżki 205
Generator taktów 207
Połączenie architektury w całość 208
Krytyk 209
Analiza sieci MuseGAN 210
Podsumowanie 212
8.
Gry
213
Uczenie przez wzmacnianie 213
OpenAI Gym 215
Architektura modelu świata 217
Autoenkoder wariacyjny 217
MDN-RNN 218
Kontroler 219
Konfiguracja 219
Przegląd procesu szkolenia 220
Zbieranie losowych danych rozgrywki 221
Szkolenie VAE 222
Architektura VAE 224
Eksploracja VAE 226
Pobieranie danych do szkolenia sieci RNN 228
Szkolenie sieci MDN-RNN 229
Architektura sieci MDN-RNN 230
Próbkowanie następnego wektora z i wartości nagrody z sieci
MDN-RNN 231
Funkcja straty sieci MDN-RNN 232
Szkolenie kontrolera 233
Architektura kontrolera 234
CMA-ES 234
Współbieżny algorytm CMA-ES 236
Wyjście ze szkolenia kontrolera 238
Szkolenie "we śnie" 239
Szkolenie kontrolera "we śnie" 239
Wyzwania związane ze szkoleniem "we śnie" 241
Podsumowanie 242
9.
Przyszłość
modelowania generatywnego 243
Pięć lat postępu 243
Transformer 245
Kodowanie pozycyjne 246
Warstwy Multi-head Attention 246
Dekoder 249
Analiza modelu Transformer 249
BERT 250
GPT-2 251
MuseNet 252
Postępy w generowaniu obrazów 252
ProGAN 252
SAGAN 254
BigGAN 255
StyleGAN 256
Zastosowania modelowania generatywnego 259
Sztuka AI 259
Muzyka AI 259
10.
Zakończenie
261
264
strony, Format: 17.0x23.5cm, oprawa miękka