Szczegóły ebooka

Deep Learning. Uczenie głębokie z językiem Python. Sztuczna inteligencja i sieci neuronowe

Deep Learning. Uczenie głębokie z językiem Python. Sztuczna inteligencja i sieci neuronowe

Valentino Zocca, Gianmario Spacagna, Daniel Slater, Peter Roelants

Ebook

Na naszych oczach dokonuje się przełom: technologie wykorzystujące rozmaite formy sztucznej inteligencji zaczynają się pojawiać w różnych branżach. Niektórzy nawet nie zdają sobie sprawy, jak często i jak powszechnie stosuje się algorytmy uczenia głębokiego. Możliwości w tym zakresie stale rosną. Wzrasta też zapotrzebowanie na inżynierów, którzy swobodnie operują wiedzą o uczeniu głębokim i są w stanie zaimplementować potrzebne algorytmy w konkretnym oprogramowaniu. Uczenie głębokie jest jednak dość złożonym zagadnieniem, a przyswojenie sobie potrzebnych umiejętności wymaga wysiłku.

Ta książka stanowi doskonałe wprowadzenie w temat uczenia głębokiego. Wyjaśniono tu najważniejsze pojęcia uczenia maszynowego. Pokazano, do czego mogą się przydać takie narzędzia jak pakiet scikit-learn, biblioteki Theano, Keras czy TensorFlow. Ten praktyczny przewodnik znakomicie ułatwi zrozumienie zagadnień rozpoznawania wzorców, dokładnego skalowania danych, pozwoli też na rzetelne zapoznanie się z algorytmami i technikami uczenia głębokiego. Autorzy zaproponowali wykorzystanie w powyższych celach języka Python - ulubionego narzędzia wielu badaczy i pasjonatów nauki.

W książce między innymi:

  • Solidne podstawy uczenia maszynowego i sieci neuronowych
  • Trening systemów sztucznej inteligencji w grach komputerowych
  • Rozpoznawanie obrazów
  • Rekurencyjne sieci neuronowej w modelowaniu języka
  • Budowa systemów wykrywania oszustw i włamań

Uczenie głębokie: zajrzyj w przyszłość programowania!


Dr Valentino Zokka opracował wiele algorytmów matematycznych i modeli prognostycznych dla firmy Boeing. Obecnie jest konsultantem w branży finansowej.

Gianmario Spacagna pracuje w firmie Pirelli, gdzie buduje systemy maszynowego uczenia się i kompletne rozwiązania do produktów informacyjnych.

Daniel Slater tworzył oprogramowanie do oceny ryzyka dla branży finansowej. Obecnie zajmuje się systemami do przetwarzania dużych ilości danych i analizy zachowań użytkowników.

Peter Roelants specjalizuje się w stosowaniu technik uczenia głębokiego do badań spektralnych obrazów, rozpoznawania mowy czy ekstrakcji danych z dokumentów.

O autorach (9)

O recenzencie (11)

Przedmowa (13)

  • Co zawiera książka? (13)
  • Co jest potrzebne podczas lektury tej książki? (14)
  • Dla kogo jest ta książka? (15)
  • Konwencje (15)
  • Pobieranie przykładowego kodu (16)
  • Pobieranie kolorowych ilustracji do tej książki (16)

Rozdział 1. Uczenie maszynowe - wprowadzenie (17)

  • Czym jest uczenie maszynowe? (18)
  • Różne podejścia do uczenia maszynowego (19)
    • Uczenie nadzorowane (19)
    • Uczenie nienadzorowane (22)
    • Uczenie przez wzmacnianie (23)
    • Fazy systemów uczenia maszynowego (24)
    • Krótki opis popularnych technik (algorytmów) (28)
  • Zastosowania praktyczne (40)
  • Popularny pakiet open source (42)
  • Podsumowanie (48)

Rozdział 2. Sieci neuronowe (49)

  • Dlaczego sieci neuronowe? (50)
  • Podstawy (51)
    • Neurony i warstwy (52)
    • Różne rodzaje funkcji aktywacji (56)
    • Algorytm propagacji wstecznej (61)
    • Zastosowania praktyczne (68)
    • Przykład kodu sieci neuronowej dla funkcji XOR (70)
  • Podsumowanie (75)

Rozdział 3. Podstawy uczenia głębokiego (77)

  • Czym jest uczenie głębokie? (78)
    • Podstawowe pojęcia (80)
    • Uczenie się cech (81)
    • Algorytmy uczenia głębokiego (88)
  • Zastosowania uczenia głębokiego (89)
    • Rozpoznawanie mowy (90)
    • Rozpoznawanie i klasyfikacja obiektów (91)
  • GPU kontra CPU (94)
  • Popularne biblioteki open source - wprowadzenie (96)
    • Theano (96)
    • TensorFlow (97)
    • Keras (97)
    • Przykład implementacji głębokiej sieci neuronowej za pomocą biblioteki Keras (98)
  • Podsumowanie (102)

Rozdział 4. Nienadzorowane uczenie cech (105)

  • Autoenkodery (107)
    • Projekt sieci (110)
    • Metody regularyzacji dla autoenkoderów (113)
    • Autoenkodery - podsumowanie (117)
  • Ograniczone maszyny Boltzmanna (119)
    • Sieci Hopfielda a maszyny Boltzmanna (121)
    • Maszyna Boltzmanna (123)
    • Ograniczona maszyna Boltzmanna (125)
    • Implementacja za pomocą biblioteki TensorFlow (126)
    • Sieci DBN (130)
  • Podsumowanie (132)

Rozdział 5. Rozpoznawanie obrazów (135)

  • Podobieństwa pomiędzy modelami sztucznymi a biologicznymi (136)
  • Intuicja i uzasadnianie (137)
  • Warstwy konwolucyjne (138)
    • Parametry krok i wypełnienie w warstwach konwolucyjnych (144)
  • Warstwy pooling (145)
  • Dropout (147)
  • Warstwy konwolucyjne w uczeniu głębokim (147)
  • Warstwy konwolucyjne w bibliotece Theano (148)
  • Przykład zastosowania warstwy konwolucyjnej do rozpoznawania cyfr za pomocą biblioteki Keras (150)
  • Przykład zastosowania warstwy konwolucyjnej za pomocą biblioteki Keras dla zbioru danych CIFAR10 (153)
  • Szkolenie wstępne (155)
  • Podsumowanie (156)

Rozdział 6. Rekurencyjne sieci neuronowe i modele języka (159)

  • Rekurencyjne sieci neuronowe (160)
    • RNN - jak implementować i trenować? (162)
    • Długa pamięć krótkotrwała (168)
  • Modelowanie języka (171)
    • Modele na bazie słów (171)
    • Modele bazujące na znakach (176)
  • Rozpoznawanie mowy (183)
    • Potok rozpoznawania mowy (183)
    • Mowa jako dane wejściowe (184)
    • Przetwarzanie wstępne (185)
    • Model akustyczny (186)
    • Dekodowanie (189)
    • Modele od końca do końca (190)
  • Podsumowanie (190)
  • Bibliografia (190)

Rozdział 7. Uczenie głębokie w grach planszowych (195)

  • Pierwsze systemy AI grające w gry (197)
  • Wykorzystanie algorytmu min-max do oceny stanów gry (198)
  • Implementacja gry w kółko i krzyżyk w Pythonie (201)
  • Uczenie funkcji wartości (209)
  • Trenowanie systemu AI do uzyskania mistrzostwa w grze w Go (210)
  • Zastosowanie górnych granic zaufania do drzew (213)
  • Uczenie głębokie w algorytmie przeszukiwania drzewa Monte Carlo (220)
  • Krótkie przypomnienie technik uczenia przez wzmacnianie (222)
  • Metoda policy gradients w funkcjach strategii uczenia (222)
  • Metoda policy gradients w AlphaGo (230)
  • Podsumowanie (232)

Rozdział 8. Uczenie głębokie w grach komputerowych (235)

  • Techniki uczenia nadzorowanego w odniesieniu do gier (235)
  • Zastosowanie algorytmów genetycznych do grania w gry komputerowe (237)
  • Q-learning (238)
    • Funkcja Q (240)
  • Q-learning w akcji (241)
  • Gry dynamiczne (246)
    • Odtwarzanie doświadczeń (250)
    • Epsilon zachłanny (253)
  • Breakout na Atari (254)
    • Losowy test gry w Breakout na Atari (255)
    • Wstępne przetwarzanie ekranu (257)
    • Tworzenie głębokiej sieci konwolucyjnej (259)
    • Problemy zbieżności w technikach Q-learning (263)
    • Technika policy gradients kontra Q-learning (265)
  • Metody aktor-krytyk (266)
    • Metoda baseline do redukcji wariancji (267)
    • Uogólniony estymator korzyści (267)
  • Metody asynchroniczne (268)
  • Podejścia bazujące na modelach (269)
  • Podsumowanie (272)

Rozdział 9. Wykrywanie anomalii (273)

  • Co to jest wykrywanie anomalii i wykrywanie elementów odstających? (274)
  • Rzeczywiste zastosowania mechanizmów wykrywania anomalii (277)
  • Popularne płytkie techniki uczenia maszynowego (278)
    • Modelowanie danych (279)
    • Modelowanie wykrywania (279)
  • Wykrywanie anomalii z wykorzystaniem głębokich autoenkoderów (281)
  • H2O (283)
    • Wprowadzenie do pracy z H2O (285)
  • Przykłady (285)
    • Rozpoznawanie anomalii wykrywania cyfr z wykorzystaniem zestawu danych MNIST (286)
  • Podsumowanie (298)

Rozdział 10. Budowanie gotowego do produkcji systemu wykrywania włamań (301)

  • Czym jest produkt danych? (302)
  • Trening (304)
    • Inicjalizacja wag (304)
    • Współbieżny algorytm SGD z wykorzystaniem techniki HOGWILD! (306)
    • Uczenie adaptacyjne (308)
    • Uczenie rozproszone z wykorzystaniem mechanizmu MapReduce (314)
    • Sparkling Water (317)
  • Testowanie (320)
    • Walidacja modelu (326)
    • Dostrajanie hiperparametrów (335)
    • Ocena od końca do końca (338)
    • Podsumowanie zagadnień związanych z testowaniem (342)
  • Wdrażanie (343)
    • Eksport modelu do formatu POJO (344)
    • Interfejsy API oceny anomalii (347)
    • Podsumowanie wdrażania (349)
  • Podsumowanie (350)

Skorowidz (351)

  • Tytuł: Deep Learning. Uczenie głębokie z językiem Python. Sztuczna inteligencja i sieci neuronowe
  • Autor: Valentino Zocca, Gianmario Spacagna, Daniel Slater, Peter Roelants
  • Tytuł oryginału: Python Deep Learning
  • Tłumaczenie: Radosław Meryk
  • ISBN: 978-83-283-4174-6, 9788328341746
  • Data wydania: 2018-09-30
  • Format: Ebook
  • Identyfikator pozycji: deelea
  • Wydawca: Helion