Деталі електронної книги

Uczenie głębokie i sztuczna inteligencja. Interaktywny przewodnik ilustrowany

Uczenie głębokie i sztuczna inteligencja. Interaktywny przewodnik ilustrowany

Jon Krohn, Grant Beyleveld, Aglaé Bassens

Eлектронна книга

Uczenie maszynowe jest przyszłością naszej cywilizacji. Już dziś wywiera ogromny wpływ na nasze życie. Odmieniło kształt wielu sektorów: usług konsumenckich, inżynierii, bankowości, medycyny czy produkcji. Trudno też przewidzieć zmiany, jakie potęga sieci neuronowych przyniesie nam w nadchodzących latach. Osoby zajmujące się zawodowo uczeniem głębokim i sieciami neuronowymi mogą liczyć na ekscytujące możliwości, jednak zaawansowana matematyka i teoria stanowiące podstawę uczenia maszynowego mogą zniechęcać do prób poważnego zajęcia się tą dziedziną.

Ta książka jest nowatorskim podręcznikiem, w którym w zrozumiały, intuicyjny sposób opisano techniki sztucznej inteligencji. Została wzbogacona kolorowymi ilustracjami i zrozumiałym kodem, dzięki czemu pozwala o wiele łatwiej zagłębić się w złożoność modeli głębokiego uczenia. Trudniejsze zagadnienia matematyczne zostały ograniczone do niezbędnego minimum, przedstawiono je jednak w sposób maksymalnie przystępny. Po lekturze zrozumiesz, czym jest głębokie uczenie, dlaczego stało się tak popularne i jak się ma do innych dziedzin uczenia maszynowego. W pragmatyczny sposób opisano takie aspekty zastosowań głębokiego uczenia jak widzenie maszynowe, przetwarzanie języka naturalnego, generowanie obrazów, a nawet gra w różne gry. Prezentowane treści uzupełnia praktyczny kod i szereg wskazówek dotyczących korzystania z bibliotek Keras i TensorFlow.

W książce między innymi:

  • teoretyczne podstawy sztucznej inteligencji, w tym sieci neuronowe i ich trening oraz optymalizacja
  • sieci konwolucyjne, rekurencyjne, GAN, głębokie uczenie przez wzmacnianie
  • potencjał systemów głębokiego uczenia
  • narzędzia do tworzenia, stosowania i usprawniania modeli głębokiego uczenia
  • tworzenie interaktywnych aplikacji opartych na głębokim uczeniu

Uczenie głębokie: przekonaj się na własne oczy!

  • Spis ilustracji (xvii)
  • Spis tabel (xxvii)
  • Przykłady kodu (xxix)
  • Przedmowa (xxxiii)
  • Wstęp (xxxv)
  • Podziękowania (xxxix)
  • O autorach (xli)

I. WPROWADZENIE DO GŁĘBOKIEGO UCZENIA (1)

1. Widzenie biologiczne i maszynowe (3)

  • Widzenie biologiczne (3)
  • Widzenie maszynowe (8)
    • Neocognitron (8)
    • LeNet-5 (9)
    • Tradycyjne podejście w uczeniu maszynowym (12)
    • Sieć ImageNet i konkurs ILSVRC (13)
    • AlexNet (14)
  • Plac zabaw TensorFlow (17)
  • Quick, Draw! (19)
  • Podsumowanie (19)

2. Języki ludzki i maszynowy (21)

  • Przetwarzanie języka naturalnego przy użyciu głębokiego uczenia (21)
    • Sieci głębokiego uczenia automatycznie uczą się reprezentacji danych (22)
    • Przetwarzanie języka naturalnego (23)
    • Krótka historia wykorzystania głębokiego uczenia w przetwarzaniu języka naturalnego (24)
  • Matematyczne reprezentacje języka (25)
    • Kodowanie słów 1 z n (26)
    • Wektory słów (27)
    • Działania na wektorach słów (29)
    • word2viz (30)
    • Reprezentacje lokalne i rozproszone (32)
  • Elementy naturalnego języka ludzi (33)
  • Google Duplex (35)
  • Podsumowanie (37)

3. Sztuka maszynowa (39)

  • Zakrapiana impreza (39)
  • Arytmetyka nieprawdziwych twarzy (41)
  • Transfer stylu: konwersja zdjęcia na obraz Moneta (i odwrotnie) (44)
  • Tworzenie własnych, fotograficznie realistycznych rysunków (45)
  • Tworzenie realistycznych obrazów na podstawie tekstu (45)
  • Przetwarzanie obrazów przy użyciu głębokiego uczenia (46)
  • Podsumowanie (47)

4. Maszyny i gry (49)

  • Głębokie uczenie, sztuczna inteligencja i inne bestie (49)
    • Sztuczna inteligencja (49)
    • Uczenie maszynowe (50)
    • Uczenie się reprezentacji (51)
    • Sztuczne sieci neuronowe (51)
    • Głębokie uczenie (51)
    • Widzenie maszynowe (52)
    • Przetwarzanie języka naturalnego (53)
  • Trzy kategorie problemów uczenia maszynowego (53)
    • Uczenie nadzorowane (53)
    • Uczenie nienadzorowane (54)
    • Uczenie przez wzmacnianie (54)
  • Głębokie uczenie przez wzmacnianie (56)
  • Gry wideo (57)
  • Gry planszowe (60)
    • AlphaGo (60)
    • AlphaGo Zero (62)
    • AlphaZero (64)
  • Manipulowanie obiektami (66)
  • Popularne środowiska dla głębokiego uczenia przez wzmacnianie (68)
    • OpenAI Gym (68)
    • DeepMind Lab (68)
    • Unity ML-Agents (71)
  • Trzy kategorie sztucznej inteligencji (71)
    • Sztuczna wąska inteligencja (71)
    • Sztuczna ogólna inteligencja (71)
    • Sztuczna superinteligencja (72)
  • Podsumowanie (72)

II. PODSTAWY TEORETYCZNE W ILUSTRACJACH (73)

5. Wóz (kodu) przed koniem (teorii) (75)

  • Wymagania (75)
  • Instalacja (76)
  • Prosta sieć i biblioteka Keras (76)
    • Baza MNIST odręcznych cyfr (76)
    • Schemat sieci (78)
    • Załadowanie danych (79)
    • Przeformatowanie danych (81)
    • Zaprojektowanie architektury sieci neuronowej (82)
    • Trenowanie modelu sieci neuronowej (83)
  • Podsumowanie (84)

6. Sztuczny neuron wykrywający hot dogi (85)

  • Biologiczna neuroanatomia (85)
  • Perceptron (86)
    • Wykrywacz: "hot dog" - "nie hot dog" (86)
    • Najważniejsza formuła w tej książce (90)
  • Współczesne neurony i funkcje aktywacji (91)
    • Neuron sigmoidalny (92)
    • Neuron tangensowy (94)
    • Neuron ReLU (94)
  • Wybór neuronu (96)
  • Podsumowanie (96)
  • Kluczowe pojęcia (97)

7. Sztuczne sieci neuronowe (99)

  • Warstwa wejściowa (99)
  • Warstwa zagęszczona (99)
  • Zagęszczona sieć wykrywająca hot dogi (101)
    • Propagacja w przód w pierwszej warstwie ukrytej (102)
    • Propagacja w przód w kolejnych warstwach (103)
  • Warstwa softmax w sieci wykrywającej hot dogi (105)
  • Nowe spojrzenie na naszą płytką sieć (107)
  • Podsumowanie (109)
  • Kluczowe pojęcia (109)

8. Trenowanie głębokich sieci (111)

  • Funkcja kosztu (111)
    • Kwadratowa funkcja straty (112)
    • Wysycenie neuronu (112)
    • Entropia skrośna (113)
  • Optymalizacja - uczenie się minimalizowania kosztu (115)
    • Gradient prosty (115)
    • Szybkość uczenia się (117)
    • Wielkość paczki i stochastyczny gradient prosty (119)
    • Ucieczka z lokalnego minimum (121)
  • Propagacja wstecz (123)
  • Dobór liczby warstw ukrytych i liczby neuronów (124)
  • Średniogłęboka sieć w Keras (126)
  • Podsumowanie (129)
  • Kluczowe pojęcia (129)

9. Usprawnianie głębokich sieci (131)

  • Inicjalizacja wag (131)
    • Rozkłady Xaviera Glorota (134)
  • Niestabilne gradienty (137)
    • Zanikające gradienty (137)
    • Eksplodujące gradienty (137)
    • Normalizacja paczki (138)
  • Uogólnianie modelu (zapobieganie nadmiernemu dopasowaniu) (139)
    • Regularyzacja L1 i L2 (141)
    • Dropout (141)
    • Powiększenie danych (144)
  • Pomysłowe optymalizatory (144)
    • Impet (144)
    • Impet Nesterowa (145)
    • AdaGrad (145)
    • AdaDelta i RMSprop (146)
    • Adam (146)
  • Głęboka sieć neuronowa w Keras (147)
  • Regresja (148)
  • TensorBoard (151)
  • Podsumowanie (153)
  • Kluczowe pojęcia (154)

III. INTERAKTYWNE ZASTOSOWANIA GŁĘBOKIEGO UCZENIA (155)

10. Widzenie maszynowe (157)

  • Konwolucyjne sieci neuronowe (157)
    • Dwuwymiarowa struktura obrazów (157)
    • Złożoność obliczeniowa (158)
    • Warstwy konwolucyjne (158)
    • Wielokrotne filtry (160)
    • Konwolucyjny przykład (161)
    • Hiperparametry filtru konwolucyjnego (165)
  • Warstwy redukujące (166)
  • Sieć LeNet-5 w Keras (168)
  • Sieci AlexNet i VGGNet w Keras (173)
  • Sieci rezydualne (176)
    • Zanikający gradient - zmora głębokiej sieci konwolucyjnej (176)
    • Połączenia rezydualne (177)
    • Sieć ResNet (178)
  • Zastosowania widzenia maszynowego (180)
    • Wykrywanie obiektów (180)
    • Segmentacja obrazów (183)
    • Uczenie transferowe (185)
    • Sieci kapsułowe (189)
  • Podsumowanie (190)
  • Kluczowe pojęcia (191)

11. Przetwarzanie języka naturalnego (193)

  • Wstępne przetwarzanie danych języka naturalnego (193)
    • Tokenizacja (196)
    • Zamiana wszystkich znaków na małe litery (198)
    • Usunięcie stop-słów i interpunkcji (198)
    • Stemming (199)
    • Przetwarzanie n-gramów (200)
    • Wstępne przetworzenie całego korpusu (202)
  • Osadzanie słów przy użyciu techniki word2vec (205)
    • Teoretyczne podstawy techniki word2vec (206)
    • Ocenianie wektorów słów (208)
    • Stosowanie techniki word2vec (208)
    • Tworzenie wykresów wektorów słów (212)
  • Pole pod krzywą ROC (215)
    • Macierz pomyłek (217)
    • Wyliczanie pola pod krzywą ROC (218)
  • Klasyfikowanie języka naturalnego za pomocą znanych sieci (220)
    • Załadowanie recenzji filmów z bazy IMDb (221)
    • Badanie bazy IMDb (224)
    • Ujednolicenie długości recenzji (227)
    • Sieć zagęszczona (227)
    • Sieci konwolucyjne (234)
  • Sieci przystosowane do danych sekwencyjnych (238)
    • Rekurencyjne sieci neuronowe (238)
    • Jednostka LSTM (242)
    • Dwukierunkowa jednostka LSTM (245)
    • Spiętrzone modele rekurencyjne (246)
    • Techniki sekwencja-sekwencja i atencja (248)
    • Uczenie transferowe w przetwarzaniu języka naturalnego (249)
  • Modele niesekwencyjne: funkcyjny interfejs API biblioteki Keras (249)
  • Podsumowanie (254)
  • Kluczowe pojęcia (255)

12. Sieci GAN (257)

  • Teoretyczne podstawy sieci GAN (257)
  • Zbiór rysunków Quick, Draw! (260)
  • Sieć dyskryminatora (263)
  • Sieć generatora (266)
  • Sieć antagonistyczna (269)
  • Trening sieci GAN (271)
  • Podsumowanie (278)
  • Kluczowe pojęcia (279)

13. Głębokie uczenie przez wzmacnianie (281)

  • Podstawy teoretyczne uczenia przez wzmacnianie (281)
    • Gra Cart-Pole (282)
    • Proces decyzyjny Markowa (284)
    • Optymalna polityka (286)
  • Podstawy teoretyczne sieci głębokiego Q-uczenia (287)
    • Funkcja wartości (288)
    • Funkcja Q-wartości (288)
    • Szacowanie optymalnej Q-wartości (289)
  • Definiowanie agenta sieci DQN (290)
    • Parametry inicjalizacyjne (293)
    • Tworzenie sieci neuronowej agenta (294)
    • Rejestrowanie przebiegu gry (295)
    • Trening poprzez odtwarzanie zapisanych informacji (295)
    • Wybór czynności do wykonania (297)
    • Zapisywanie i ładowanie parametrów modelu (297)
  • Interakcja ze środowiskiem OpenAI Gym (297)
  • Optymalizacja hiperparametrów za pomocą narzędzia SLM Lab (301)
  • Agenci nie tylko DQN (303)
    • Algorytmy gradientu polityki i REINFORCE (304)
    • Algorytm aktor-krytyk (304)
  • Podsumowanie (305)
  • Kluczowe pojęcia (306)

IV TY I SZTUCZNA INTELIGENCJA (307)

14. Rozwijanie własnych projektów głębokiego uczenia (309)

  • Pomysły na projekty głębokiego uczenia (309)
    • Widzenie maszynowe i sieci GAN (309)
    • Przetwarzanie języka naturalnego (311)
    • Głębokie uczenie przez wzmacnianie (312)
    • Przekształcanie istniejących projektów uczenia maszynowego (312)
  • Materiały do kolejnych projektów (313)
    • Projekty pożytku publicznego (314)
  • Proces modelowania i strojenie hiperparametrów (314)
    • Automatyzacja strojenia hiperparametrów (316)
  • Biblioteki głębokiego uczenia (317)
    • Keras i TensorFlow (317)
    • PyTorch (319)
    • MXNet, CNTK, Caffe i inne biblioteki (320)
  • Software 2.0 (320)
  • Nadejście ogólnej sztucznej inteligencji (322)
  • Podsumowanie (324)

DODATKI (327)

A Formalna notacja sieci neuronowych (329)

B Propagacja wstecz (331)

C Biblioteka PyTorch (335)

  • Funkcjonalności biblioteki PyTorch (335)
    • System autograd (335)
    • Zasada "definiowanie przez działanie" (335)
    • Biblioteka PyTorch kontra TensorFlow (336)
  • PyTorch w praktyce (337)
    • Instalacja (337)
    • Podstawowe jednostki (337)
    • Tworzenie głębokiej sieci neuronowej (339)

Źródła ilustracji (341)

  • Назва: Uczenie głębokie i sztuczna inteligencja. Interaktywny przewodnik ilustrowany
  • Автор: Jon Krohn, Grant Beyleveld, Aglaé Bassens
  • Оригінальна назва: Deep Learning Illustrated: A Visual, Interactive Guide to Artificial Intelligence (Addison-Wesley Data & Analytics Series)
  • Переклад: Andrzej Watrak
  • ISBN: 978-83-283-7915-2, 9788328379152
  • Дата видання: 2021-11-08
  • Формат: Eлектронна книга
  • Ідентифікатор видання: uczgsi
  • Видавець: Helion