Details zum E-Book

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-book

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)

  • Titel: Uczenie głębokie i sztuczna inteligencja. Interaktywny przewodnik ilustrowany
  • Autor: Jon Krohn, Grant Beyleveld, Aglaé Bassens
  • Originaler Titel: Deep Learning Illustrated: A Visual, Interactive Guide to Artificial Intelligence (Addison-Wesley Data & Analytics Series)
  • Übersetzung: Andrzej Watrak
  • ISBN: 978-83-283-7915-2, 9788328379152
  • Veröffentlichungsdatum: 2021-11-08
  • Format: E-book
  • Artikelkennung: uczgsi
  • Verleger: Helion