Opis produktu: Sztuczna inteligencja i uczenie maszynowe dla programistów. Praktyczny przewodnik po sztucznej inteligencji - Laurence Moroney
Książka autorstwa Laurence Moroney (w tłumaczeniu Jacka Janusza) - Sztuczna inteligencja i uczenie maszynowe dla programistów. Praktyczny przewodnik po sztucznej inteligencji. To rzetelne źródło wiedzy, które opiera się na sprawdzonej metodyce - nauce poprzez pisanie kodu w Pythonie. Dzięki ćwiczeniom z tej książki dowiesz się jak zaimplementować najważniejsze algorytmy uczenia maszynowego (przy wykorzystaniu biblioteki TensorFlow), nauczysz się wdrażać modele uczenia maszynowego i tworzyć przydatne aplikacje.
Zagadnienia poruszane w książce
- Podstawy uczenia maszynowego
- Zastosowanie biblioteki TensorFlow do budowy praktycznych modeli
- Tworzenie modeli sieci neuronowych
- Implementacja widzenia komputerowego i rozpoznawania obrazów
- Przetwarzanie języka naturalnego
- Implementacja modeli dla urządzeń z systemami Android i iOS
- Udostępnianie modeli w Internecie i chmurze dzięki systemowi TensorFlow Serving
Informacje o książce
- Tytuł: Sztuczna inteligencja i uczenie maszynowe dla programistów. Praktyczny przewodnik po sztucznej inteligencji
- Autor: Laurence Moroney
- Tłumaczenie: Jacek Janusz
- ISBN: 978-83-283-7850-6
- Rok wydania: 2021
- Format: 168 x 237 mm
- Ilość stron: 352
- Wydawnictwo: Helion S.A.
- Oprawa: miękka
Spis treści
- Opinie o książce
- Słowo wstępne
- Przedmowa
- Dla kogo jest ta książka?
- Dlaczego napisałem tę książkę?
- Jak się poruszać po tej książce?
- Jakich zagadnień się nauczysz?
- Zasoby dostępne w sieci
- Konwencje zastosowane w tej książce
- Wykorzystanie przykładów kodu
- Podziękowania
- CZĘŚĆ I. Tworzenie modeli
- Rozdział 1. Wprowadzenie do biblioteki TensorFlow
- Czym jest uczenie maszynowe?
- Ograniczenia programowania tradycyjnego
- Od programowania do uczenia
- Czym jest TensorFlow?
- Użycie platformy TensorFlow
- Instalowanie platformy TensorFlow za pomocą języka Python
- Użycie platformy TensorFlow w środowisku PyCharm
- Użycie platformy TensorFlow w środowisku Google Colab
- Pierwsze kroki z uczeniem maszynowym
- Czego nauczyła się sieć?
- Podsumowanie
- Rozdział 2. Wprowadzenie do widzenia komputerowego
- Rozpoznawanie elementów odzieży
- Dane: Fashion MNIST
- Neurony widzenia komputerowego
- Projektowanie sieci neuronowej
- Cały kod programu
- Trenowanie sieci neuronowej
- Analiza wyników modelu
- Trenowanie przez dłuższy czas nadmierne dopasowanie
- Zakończenie trenowania
- Podsumowanie
- Rozpoznawanie elementów odzieży
- Rozdział 3. Bardziej zaawansowane zagadnienie: wykrywanie cech w obrazach
- Konwolucje
- Pooling
- Implementacja konwolucyjnych sieci neuronowych
- Analiza sieci konwolucyjnej
- Tworzenie konwolucyjnej sieci neuronowej rozróżniającej konie i ludzi
- Zbiór danych Horses or Humans
- Klasa ImageDataGenerator z pakietu Keras
- Architektura konwolucyjnej sieci neuronowej przetwarzającej zbiór Horses or Humans
- Tworzenie zbioru walidacyjnego
- Testowanie obrazów ze zbioru Horse or Human
- Generowanie dodatkowych obrazów
- Uczenie transferowe
- Klasyfikowanie wieloklasowe
- Regularyzacja dropout
- Podsumowanie
- Rozdział 4. Korzystanie za pomocą biblioteki TensorFlow Datasets z publicznie dostępnych zbiorów danych
- Pierwsze kroki z TFDS
- Użycie biblioteki TFDS z modelami Keras
- Wczytywanie określonych wersji
- Użycie funkcji mapowania do generowania sztucznych danych
- Użycie biblioteki TensorFlow Addons
- Korzystanie z niestandardowych podzbiorów
- Czym jest TFRecord?
- Użycie procesu ETL do zarządzania danymi w TensorFlow
- Optymalizacja fazy wczytywania
- Zrównoleglenie procesu ETL w celu poprawy wydajności trenowania
- Podsumowanie
- Rozdział 5. Wprowadzenie do przetwarzania języka naturalnego
- Zamiana języka na liczby
- Pierwsze kroki z tokenizacją
- Zamiana zdań na sekwencje
- Użycie tokenów typu brak w słowniku
- Do czego służy dopełnianie?
- Usuwanie słów nieinformatywnych i porządkowanie tekstu
- Obsługa realnych źródeł danych
- Pobieranie tekstu za pomocą biblioteki TensorFlow Datasets
- Korzystanie ze zbiorów danych IMDb zawierających podłańcuchy
- Pobieranie tekstów z plików CSV
- Tworzenie podzbiorów treningowych i testowych
- Pobieranie tekstów z plików JSON
- Odczytywanie plików JSON
- Pobieranie tekstu za pomocą biblioteki TensorFlow Datasets
- Podsumowanie
- Zamiana języka na liczby
- Rozdział 6. Programowa analiza emocji za pomocą osadzeń
- Ustalanie znaczenia słów
- Prosty przykład: względne znaczenie słów
- Przykład bardziej zaawansowany: użycie wektorów
- Osadzenia w bibliotece TensorFlow
- Tworzenie detektora sarkazmu przy użyciu osadzania
- Zmniejszanie nadmiernego dopasowania w modelach językowych
- Dostosowywanie współczynnika uczenia
- Rozmiar słownika
- Wymiary osadzania
- Architektura modelu
- Użycie dropoutu
- Użycie regularyzacji
- Inne zagadnienia związane z optymalizacją
- Stosowanie modelu do klasyfikowania zdań
- Wizualizacja osadzeń
- Korzystanie ze wstępnie wytrenowanych osadzeń przy użyciu TensorFlow Hub
- Podsumowanie
- Ustalanie znaczenia słów
- Rozdział 7. Użycie rekurencyjnych sieci neuronowych do przetwarzania języka naturalnego
- Podstawy rekurencji
- Zastosowanie rekurencji w przetwarzaniu języka naturalnego
- Tworzenie klasyfikatora tekstu przy użyciu rekurencyjnych sieci neuronowych
- Łączenie warstw LSTM
- Optymalizacja modeli z wieloma warstwami LSTM
- Użycie dropoutu
- Łączenie warstw LSTM
- Użycie wstępnie wytrenowanych osadzeń w rekurencyjnych sieciach neuronowych
- Podsumowanie
- Rozdział 8. Użycie biblioteki TensorFlow do generowania tekstu
- Zamiana sekwencji na sekwencje wejściowe
- Tworzenie modelu
- Generowanie tekstu
- Prognozowanie następnego słowa
- Łączenie prognoz w celu generowania tekstu
- Poszerzenie zbioru danych
- Zmiana architektury modelu
- Ulepszenie danych
- Kodowanie oparte na znakach
- Podsumowanie
- Rozdział 9. Sekwencje i dane szeregów czasowych
- Wspólne atrybuty szeregów czasowych
- Tendencja
- Sezonowość
- Autokorelacja
- Szum
- Metody prognozowania szeregów czasowych
- Prosta metoda prognozowania jako punkt odniesienia
- Pomiar dokładności prognozy
- Metoda bardziej zaawansowana: wykorzystanie średniej ruchomej
- Ulepszenie metody wykorzystującej średnią ruchomą
- Podsumowanie
- Wspólne atrybuty szeregów czasowych
- Rozdział 10. Tworzenie modeli uczenia maszynowego do prognozowania sekwencji
- Tworzenie okna zbioru danych
- Tworzenie okna zbioru danych szeregu czasowego
- Tworzenie sieci DNN i jej trenowanie w celu dopasowania do danych sekwencji
- Ocena wyników działania sieci DNN
- Analiza ogólnej prognozy
- Dostrajanie współczynnika uczenia
- Dostrajanie hiperparametrów za pomocą narzędzia Keras Tuner
- Podsumowanie
- Tworzenie okna zbioru danych
- Rozdział 11. Użycie metod konwolucyjnych i rekurencyjnych w modelowaniu sekwencji
- Użycie konwolucji z danymi sekwencyjnymi
- Kodowanie konwolucji
- Eksperymentowanie z hiperparametrami warstwy Conv1D
- Korzystanie z danych pogodowych NASA
- Odczytywanie danych GISS w Pythonie
- Używanie sieci RNN do modelowania sekwencji
- Korzystanie z większego zbioru danych
- Użycie innych metod rekurencyjnych
- Użycie dropoutu
- Użycie dwukierunkowych sieci RNN
- Podsumowanie
- Użycie konwolucji z danymi sekwencyjnymi
- CZĘŚĆ II. Używanie modeli
- Rozdział 12. Wprowadzenie do TensorFlow Lite
- Czym jest TensorFlow Lite?
- Przykład: utworzenie modelu i przekonwertowanie go do formatu TensorFlow Lite
- Krok 1. zapisanie modelu
- Krok 2. konwersja i zapamiętanie modelu
- Krok 3. wczytanie modelu TFLite i alokacja tensorów
- Krok 4. przeprowadzenie prognozy
- Przykład: wykorzystanie uczenia transferowego w klasyfikatorze obrazów i jego konwersja na format TensorFlow Lite
- Przykład: wykorzystanie uczenia transferowego w klasyfikatorze obrazów
- Krok 1. utworzenie i zapisanie modelu
- Krok 2. konwersja modelu do formatu TensorFlow Lite
- Krok 3. optymalizacja modelu
- Podsumowanie
- Rozdział 13. Użycie TensorFlow Lite w systemie Android
- Czym jest Android Studio?
- Tworzenie pierwszej aplikacji opartej na TensorFlow Lite dla systemu Android
- Krok 1. utworzenie nowego projektu
- Krok 2. edycja pliku układu
- Krok 3. dodanie zależności TensorFlow Lite
- Krok 4. dodanie modelu TensorFlow Lite
- Krok 5. utworzenie kodu umożliwiającego użycie modelu TensorFlow Lite do wnioskowania
- Coś więcej niż Witaj, świecie! przetwarzanie obrazów
- Przykładowe aplikacje wykorzystujące bibliotekę TensorFlow Lite
- Podsumowanie
- Rozdział 14. Użycie TensorFlow Lite w systemie iOS
- Tworzenie pierwszej aplikacji TensorFlow Lite za pomocą Xcode
- Krok 1. utworzenie prostej aplikacji iOS
- Krok 2. dodanie bibliotek TensorFlow Lite do projektu
- Krok 3. utworzenie interfejsu użytkownika
- Krok 4. dodanie i zainicjalizowanie klasy odpowiedzialnej za operację prognozowania
- Krok 5. przeprowadzenie operacji prognozowania
- Krok 6. dodanie modelu do aplikacji
- Krok 7. dodanie logiki obsługującej interfejs użytkownika
- Coś więcej niż Witaj, świecie! przetwarzanie obrazów
- Przykładowe aplikacje wykorzystujące bibliotekę TensorFlow Lite
- Podsumowanie
- Tworzenie pierwszej aplikacji TensorFlow Lite za pomocą Xcode
- Rozdział 15. Wprowadzenie do TensorFlow.js
- Czym jest TensorFlow.js?
- Instalowanie i używanie środowiska programistycznego Brackets
- Tworzenie pierwszego modelu wykorzystującego bibliotekę TensorFlow.js
- Tworzenie klasyfikatora irysów
- Podsumowanie
- Rozdział 16. Rozwiązywanie problemów z zakresu widzenia komputerowego za pomocą biblioteki TensorFlow.js
- Uwagi dla programistów używających biblioteki TensorFlow dotyczące języka JavaScript
- Tworzenie konwolucyjnej sieci neuronowej za pomocą języka JavaScript
- Stosowanie wywołań zwrotnych do wizualizacji
- Trenowanie za pomocą zbioru MNIST
- Przeprowadzanie wnioskowania dla obrazów przy użyciu biblioteki TensorFlow.js
- Podsumowanie
- Rozdział 17. Konwersja modeli z Pythona do JavaScriptu i ponowne ich użycie
- Konwersja modeli z Pythona do JavaScriptu
- Użycie przekonwertowanych modeli
- Użycie wcześniej przekonwertowanych modeli
- Klasyfikator treści toksycznych
- Użycie biblioteki MobileNet do klasyfikowania obrazów w przeglądarce
- Użycie biblioteki PoseNet
- Podsumowanie
- Konwersja modeli z Pythona do JavaScriptu
- Rozdział 18. Wykorzystanie uczenia transferowego w języku JavaScript
- Uczenie transferowe przy użyciu biblioteki MobileNet
- Krok 1. pobranie modelu MobileNet i identyfikacja warstw do użycia
- Krok 2. utworzenie własnej architektury modelu, w której danymi wejściowymi są dane wyjściowe MobileNet
- Krok 3. uzyskanie i sformatowanie danych
- Krok 4. przeprowadzenie trenowania modelu
- Krok 5. przeprowadzenie wnioskowania za pomocą modelu
- Uczenie transferowe przy użyciu repozytorium TensorFlow Hub
- Użycie modeli z portalu TensorFlow.org
- Podsumowanie
- Uczenie transferowe przy użyciu biblioteki MobileNet
- Rozdział 19. Wdrażanie modeli za pomocą usługi TensorFlow Serving
- Czym jest TensorFlow Serving?
- Instalowanie systemu TensorFlow Serving
- Instalacja przy użyciu Dockera
- Bezpośrednia instalacja w systemie Linux
- Tworzenie i udostępnianie modelu
- Konfigurowanie serwera
- Podsumowanie
- Rozdział 20. Sztuczna inteligencja a etyka, uczciwość i prywatność
- Uczciwość w procesie programowania
- Uczciwość w procesie uczenia maszynowego
- Narzędzia związane z kwestiami uczciwości
- What-If
- Facets
- Uczenie federacyjne
- Krok 1. identyfikacja dostępnych urządzeń, które można wykorzystać do trenowania
- Krok 2. identyfikacja odpowiednich urządzeń, które można wykorzystać do trenowania
- Krok 3. zainstalowanie modelu, który będzie używać zbioru treningowego
- Krok 4. zwrócenie wyników trenowania do serwera
- Krok 5. zainstalowanie modelu głównego w urządzeniach
- Bezpieczna agregacja w uczeniu federacyjnym
- Uczenie federacyjne przy użyciu TensorFlow Federated
- Zasady firmy Google dotyczące sztucznej inteligencji
- Podsumowanie
- O autorze
- Kolofon
- RYSUNKI