Deep Learning. Receptury - ebook
Deep Learning. Receptury - ebook
Pomysł, by komputery wykorzystywać do generowania inteligentnych rozwiązań, narodził się w zamierzchłych dla informatyki czasach, mniej więcej w połowie XX wieku. Bardzo długo jednak idea ta - z powodu ograniczeń technologicznych - nie mogła wyjść poza rozważania teoretyczne. Dziś osoby zainteresowane uczeniem głębokim są w komfortowej sytuacji: mogą korzystać z ogólnie dostępnych frameworków uczenia głębokiego, sięgać po ogromne zbiory danych, a ponadto wyniki tego rodzaju badań znalazły się w centrum zainteresowania biznesu. Okazuje się, że nawet bez szczególnego przygotowania teoretycznego można budować i udoskonalać potężne modele sieci neuronowych oraz uczenia głębokiego i wdrażać je w konkretnych sytuacjach.
Dzięki tej książce, nawet jeśli nie posiadasz zaawansowanej wiedzy o uczeniu głębokim (oryg. deep learning), zaczniesz szybko tworzyć rozwiązania z tego zakresu. Zamieszczone tu receptury pozwolą Ci sprawnie zaznajomić się z takimi zastosowaniami uczenia głębokiego jak klasyfikacja, generowanie tekstów, obrazów i muzyki. Cennym elementem książki są informacje o rozwiązywaniu problemów z sieciami neuronowymi - testowanie sieci wciąż jest trudnym zagadnieniem. Ponadto znalazły się w niej porady dotyczące pozyskiwania danych niezbędnych do trenowania sieci, a także receptury, dzięki którym łatwiej zacząć użytkować modele w środowiskach produkcyjnych.
Z tej książki dowiesz się, jak:
- tworzyć użyteczne aplikacje, które docenią użytkownicy
- obliczać podobieństwo tekstów
- wizualizować wewnętrzny stan systemu sztucznej inteligencji
- napisać usługę odwrotnego wyszukiwania obrazów za pomocą wyuczonych sieci
- wykorzystać sieci GAN, autoenkodery i LSTM do generowania ikon
- wykrywać style w utworach muzycznych
Uczenie głębokie - rzecz dla kreatywnych filozofów z myszą w dłoni!
Spis treści
Wstęp 7
1. Narzędzia i techniki 15
- 1.1. Typy sieci neuronowych 15
- 1.2. Pozyskiwanie danych 25
- 1.3. Wstępne przetwarzanie danych 31
2. Aby ruszyć z miejsca 39
- 2.1. Jak stwierdzić, że utknęliśmy? 39
- 2.2. Poprawianie błędów czasu wykonania 40
- 2.3. Sprawdzanie wyników pośrednich 42
- 2.4. Wybór odpowiedniej funkcji aktywacji (w warstwie wyjściowej) 43
- 2.5. Regularyzacja i porzucanie 45
- 2.6. Struktura sieci, wielkość wsadów i tempo uczenia 46
- Podsumowanie 47
3. Obliczanie podobieństwa słów przy użyciu wektorów właściwościowych 49
- 3.1. Stosowanie nauczonych modeli wektorów właściwościowych do określania podobieństw między wyrazami 50
- 3.2. Operacje matematyczne z użyciem Word2vec 52
- 3.3. Wizualizacja wektorów właściwościowych 54
- 3.4. Znajdowanie klas obiektów z wykorzystaniem wektorów właściwościowych 55
- 3.5. Obliczanie odległości semantycznych w klasach 59
- 3.6. Wizualizacja danych kraju na mapie 60
4. Tworzenie systemu rekomendacji na podstawie odnośników wychodzących z Wikipedii 63
- 4.1. Pozyskiwanie danych 63
- 4.2. Uczenie wektorów właściwościowych filmów 67
- 4.3. Tworzenie systemu rekomendacji filmów 70
- 4.4. Prognozowanie prostych właściwości filmu 71
5. Generowanie tekstu wzorowanego na przykładach 73
- 5.1. Pobieranie ogólnie dostępnych tekstów 73
- 5.2. Generowanie tekstów przypominających dzieła Szekspira 74
- 5.3. Pisanie kodu z wykorzystaniem rekurencyjnej sieci neuronowej 77
- 5.4. Kontrolowanie temperatury wyników 79
- 5.5. Wizualizacja aktywacji rekurencyjnych sieci neuronowych 81
6. Dopasowywanie pytań 83
- 6.1. Pobieranie danych ze Stack Exchange 83
- 6.2. Badanie danych przy użyciu biblioteki Pandas 85
- 6.3. Stosowanie Keras do określania cech tekstu 86
- 6.4. Tworzenie modelu pytanie - odpowiedź 87
- 6.5. Uczenie modelu z użyciem Pandas 88
- 6.6. Sprawdzanie podobieństw 90
7. Sugerowanie emoji 93
- 7.1. Tworzenie prostego klasyfikatora nastawienia 93
- 7.2. Badanie prostego klasyfikatora 96
- 7.3. Stosowanie sieci konwolucyjnych do analizy nastawienia 97
- 7.4. Gromadzenie danych z Twittera 99
- 7.5. Prosty mechanizm prognozowania emoji 100
- 7.6. Porzucanie i wiele okien 102
- 7.7. Tworzenie modelu operującego na słowach 103
- 7.8. Tworzenie własnych wektorów właściwościowych 105
- 7.9. Stosowanie rekurencyjnych sieci neuronowych do klasyfikacji 107
- 7.10. Wizualizacja (nie)zgody 108
- 7.11. Łączenie modeli 111
8. Odwzorowywanie sekwencji na sekwencje 113
- 8.1. Uczenie prostego modelu typu sekwencja na sekwencję 113
- 8.2. Wyodrębnianie dialogów z tekstów 115
- 8.3. Obsługa otwartego słownika 116
- 8.4. Uczenie chatbota z użyciem frameworka seq2seq 118
9. Stosowanie nauczonej już sieci do rozpoznawania obrazów 123
- 9.1. Wczytywanie nauczonej sieci neuronowej 124
- 9.2. Wstępne przetwarzanie obrazów 124
- 9.3. Przeprowadzanie wnioskowania na obrazach 126
- 9.4. Stosowanie API serwisu Flickr do gromadzenia zdjęć z etykietami 127
- 9.5. Tworzenie klasyfikatora, który potrafi odróżniać koty od psów 128
- 9.6. Poprawianie wyników wyszukiwania 130
- 9.7. Ponowne uczenie sieci rozpoznającej obrazy 132
10. Tworzenie usługi odwrotnego wyszukiwania obrazów 135
- 10.1. Pozyskiwanie obrazów z Wikipedii 135
- 10.2. Rzutowanie obrazów na przestrzeń n-wymiarową 138
- 10.3. Znajdowanie najbliższych sąsiadów w przestrzeni n-wymiarowej 139
- 10.4. Badanie lokalnych sąsiedztw w wektorach właściwościowych 140
11. Wykrywanie wielu obrazów 143
- 11.1. Wykrywanie wielu obrazów przy użyciu nauczonego klasyfikatora 143
- 11.2. Stosowanie sieci Faster R-CNN do wykrywania obrazów 147
- 11.3. Stosowanie Faster R-CNN na własnych obrazach 149
12. Styl obrazu 153
- 12.1. Wizualizacja aktywacji sieci CNN 153
- 12.2. Oktawy i skalowanie 157
- 12.3. Wizualizacja tego, co sieć neuronowa prawie widzi 158
- 12.4. Jak uchwycić styl obrazu? 161
- 12.5. Poprawianie funkcji straty w celu zwiększenia koherencji obrazu 164
- 12.6. Przenoszenie stylu na inny obraz 166
- 12.7. Interpolacja stylu 167
13. Generowanie obrazów przy użyciu autoenkoderów 169
- 13.1. Importowanie rysunków ze zbioru Google Quick Draw 170
- 13.2. Tworzenie autoenkodera dla obrazów 171
- 13.3. Wizualizacja wyników autoenkodera 173
- 13.4. Próbkowanie obrazów z właściwego rozkładu 175
- 13.5. Wizualizacja przestrzeni autoenkodera wariacyjnego 178
- 13.6. Warunkowe autoenkodery wariacyjne 179
14. Generowanie ikon przy użyciu głębokich sieci neuronowych 183
- 14.1. Zdobywanie ikon do uczenia sieci 184
- 14.2. Konwertowanie ikon na tensory 186
- 14.3. Stosowanie autoenkodera wariacyjnego do generowania ikon 187
- 14.4. Stosowanie techniki rozszerzania danych do poprawy wydajności autoenkodera 190
- 14.5. Tworzenie sieci GAN 191
- 14.6. Uczenie sieci GAN 193
- 14.7. Pokazywanie ikon generowanych przez sieć GAN 194
- 14.8. Kodowanie ikon jako instrukcji rysowniczych 196
- 14.9. Uczenie sieci rekurencyjnych rysowania ikon 197
- 14.10. Generowanie ikon przy użyciu sieci rekurencyjnych 199
15. Muzyka a uczenie głębokie 201
- 15.1. Tworzenie zbioru uczącego na potrzeby klasyfikowania muzyki 202
- 15.2. Uczenie detektora gatunków muzyki 204
- 15.3. Wizualizacja pomyłek 206
- 15.4. Indeksowanie istniejącej muzyki 207
- 15.5. Konfiguracja API dostępu do serwisu Spotify 209
- 15.6. Zbieranie list odtwarzania i utworów ze Spotify 210
- 15.7. Uczenie systemu sugerowania muzyki 213
- 15.8. Sugerowanie muzyki przy wykorzystaniu modelu Word2vec 214
16. Przygotowywanie systemów uczenia maszynowego do zastosowań produkcyjnych 217
- 16.1. Użycie algorytmu najbliższych sąsiadów scikit-learn do obsługi wektorów właściwościowych 218
- 16.2. Stosowanie Postgresa do przechowywania wektorów właściwościowych 219
- 16.3. Zapisywanie i przeszukiwanie wektorów właściwościowych przechowywanych w bazie Postgres 220
- 16.4. Przechowywanie modeli wysokowymiarowych w Postgresie 221
- 16.5. Pisanie mikroserwisów w języku Python 222
- 16.6. Wdrażanie modelu Keras z użyciem mikroserwisu 224
- 16.7. Wywoływanie mikroserwisu z poziomu frameworka internetowego 225
- 16.8. Modele seq2seq TensorFlow 226
- 16.9. Uruchamianie modeli uczenia głębokiego w przeglądarkach 227
- 16.10. Wykonywanie modeli Keras przy użyciu serwera TensorFlow 230
- 16.11. Stosowanie modeli Keras z poziomu iOS-a 232
Skorowidz 235
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-5232-2 |
Rozmiar pliku: | 11 MB |