Глубокое обучение с подкреплением Работа с чат-ботами и робототехникой
Товар
- 0 раз купили
- 5 оценка
- 5 осталось
- 4 отзыва
Доставка
Характеристики
Описание
Głębokie uczenie przez wzmacnianie. Praca z chatbotami oraz robotyka, optymalizacja dyskretna i automatyzacja sieciowa w praktyce. Wydanie II
Maxim Lapan
Głębokie uczenie przez wzmacnianie rozwija się bardzo dynamicznie. Dziedzinę tę charakteryzuje niewyczerpany potencjał rozwiązywania trudnych problemów. Zajmuje się tym co najmniej kilka grup badawczych, koncentrujących się na wdrażaniu głębokiego uczenia przez wzmacnianie w różnych branżach. Niestety, opisy najnowszych osiągnięć są trudne do zrozumienia i zbyt abstrakcyjne, aby można było je łatwo zastosować w praktycznych implementacjach, a przecież poprawne działanie aplikacji jest uwarunkowane gruntownym zrozumieniem problemu przez projektanta.
To zaktualizowane i rozszerzone wydanie bestsellerowego przewodnika po najnowszych narzędziach i metodach związanych z uczeniem przez wzmacnianie. Zawiera wprowadzenie do teorii uczenia przez wzmacnianie, a także wyjaśnia praktyczne sposoby kodowania samouczących się agentów w celu rozwiązywania praktycznych zadań. W tym wydaniu dodano sześć nowych rozdziałów poświęconych takim osiągnięciom technologii jak dyskretna optymalizacja, metody wieloagentowe, środowisko Microsoft TextWorld czy zaawansowane techniki eksploracji. Opisano również inne zagadnienia, między innymi głębokie sieci Q, gradienty polityk, sterowanie ciągłe i wysoce skalowalne metody bezgradientowe. Poszczególne kwestie zostały zilustrowane kodem wraz z opisem szczegółów implementacji.
W książce między innymi:
- związki między uczeniem przez wzmacnianie a głębokim uczeniem
- różne metody uczenia przez wzmacnianie, w tym entropia krzyżowa, sieć DQN, a także algorytmy: aktor-krytyk, TRPO, PPO, DDPG, D4PG i inne
- praktyczne zastosowanie dyskretnej optymalizacji w celu rozwiązania problemu kostki Rubika
- trenowanie agentów przy użyciu oprogramowania AlphaGo Zero
- chatboty oparte na sztucznej inteligencji
- zaawansowane techniki eksploracyjne, w tym metody destylacji sieci
Witaj, świecie prawdziwej sztucznej inteligencji!
O autorze książki
Maxim Lapan jest niezależnym badaczem z wieloletnim doświadczeniem zawodowym w dziedzinie programowania i architektury systemów. Gruntownie poznał takie zagadnienia jak duże zbiory danych, uczenie maszynowe i rozproszone systemy obliczeniowe o wysokiej wydajności. Obecnie zajmuje się zastosowaniami uczenia głębokiego, w tym głębokim przetwarzaniem języka naturalnego i głębokim uczeniem przez wzmacnianie.
Spis treści książki
O autorze
O recenzentach
Wstęp
Rozdział 1. Czym jest uczenie przez wzmacnianie
- Uczenie nadzorowane
- Uczenie nienadzorowane
- Uczenie przez wzmacnianie
- Trudności związane z uczeniem przez wzmacnianie
- Formalne podstawy uczenia przez wzmacnianie
Nagroda
Agent
Środowisko
Akcje
Obserwacje
- Teoretyczne podstawy uczenia przez wzmacnianie
Procesy decyzyjne Markowa
Polityka
- Podsumowanie
Rozdział 2. Zestaw narzędzi OpenAI Gym
- Anatomia agenta
- Wymagania sprzętowe i programowe
- Interfejs API biblioteki OpenAI Gym
Przestrzeń akcji
Przestrzeń obserwacji
Środowisko
Tworzenie środowiska
Sesja CartPole
- Losowy agent dla środowiska CartPole
- Dodatkowa funkcjonalność biblioteki Gym - opakowania i monitory
Opakowania
Monitory
- Podsumowanie
Rozdział 3. Uczenie głębokie przy użyciu biblioteki PyTorch
- Tensory
Tworzenie tensorów
Tensory skalarne
Operacje na tensorach
Tensory GPU
- Gradienty
Tensory a gradienty
- Bloki konstrukcyjne sieci neuronowych
- Warstwy definiowane przez użytkownika
- Funkcje straty i optymalizatory
Funkcje straty
Optymalizatory
- Monitorowanie za pomocą narzędzia TensorBoard
Podstawy obsługi narzędzia TensorBoard
Narzędzia do tworzenia wykresów
- Przykład - użycie sieci GAN z obrazami Atari
- Biblioteka PyTorch Ignite
Zasady działania biblioteki Ignite
- Podsumowanie
Rozdział 4. Metoda entropii krzyżowej
- Taksonomia metod uczenia przez wzmacnianie
- Praktyczne wykorzystanie entropii krzyżowej
- Użycie entropii krzyżowej w środowisku CartPole
- Użycie metody entropii krzyżowej w środowisku FrozenLake
- Teoretyczne podstawy metody entropii krzyżowej
- Podsumowanie
Rozdział 5. Uczenie tabelaryczne i równanie Bellmana
- Wartość, stan i optymalność
- Równanie optymalności Bellmana
- Wartość akcji
- Metoda iteracji wartości
- Wykorzystanie iteracji wartości w praktyce
- Q-uczenie w środowisku FrozenLake
- Podsumowanie
Rozdział 6. Głębokie sieci Q
- Rozwiązywanie realnego problemu z wykorzystaniem metody iteracji wartości
- Q-uczenie tabelaryczne
- Głębokie Q-uczenie
Interakcja ze środowiskiem
Optymalizacja za pomocą stochastycznego spadku wzdłuż gradientu (SGD)
Korelacja pomiędzy krokami
Własność Markowa
Ostateczna wersja procedury trenowania dla głębokich sieci Q
- Użycie głębokiej sieci Q w grze Pong
Opakowania
Model głębokiej sieci Q
Trenowanie
Uruchomienie programu i sprawdzenie jego wydajności
Użycie modelu
- Rzeczy do przetestowania
- Podsumowanie
Rozdział 7. Biblioteki wyższego poziomu uczenia przez wzmacnianie
- Dlaczego potrzebujemy bibliotek uczenia przez wzmacnianie?
- Biblioteka PTAN
Selektory akcji
Agent
Źródło doświadczeń
Bufory doświadczeń
Klasa TargetNet
Klasy upraszczające współpracę z biblioteką Ignite
- Rozwiązanie problemu środowiska CartPole za pomocą biblioteki PTAN
- Inne biblioteki związane z uczeniem przez wzmacnianie
- Podsumowanie
Rozdział 8. Rozszerzenia sieci DQN
- Podstawowa, głęboka sieć Q
Wspólna biblioteka
Implementacja
Wyniki
- Głęboka sieć Q o n krokach
Implementacja
Wyniki
- Podwójna sieć DQN
Implementacja
Wyniki
- Sieci zakłócone
Implementacja
Wyniki
- Bufor priorytetowy
Implementacja
Wyniki
- Rywalizujące sieci DQN
Implementacja
Wyniki
- Kategoryczne sieci DQN
Implementacja
Wyniki
- Połączenie wszystkich metod
Wyniki
- Podsumowanie
- Bibliografia
Rozdział 9. Sposoby przyspieszania metod uczenia przez wzmacnianie
- Dlaczego prędkość ma znaczenie?
- Model podstawowy
- Wykres obliczeniowy w bibliotece PyTorch
- Różne środowiska
- Granie i trenowanie w oddzielnych procesach
- Dostrajanie opakowań
- Podsumowanie testów
- Rozwiązanie ekstremalne: CuLE
- Podsumowanie
- Bibliografia
Rozdział 10. Inwestowanie na giełdzie za pomocą metod uczenia przez wzmacnianie
- Handel
- Dane
- Określenie problemu i podjęcie kluczowych decyzji
- Środowisko symulujące giełdę
- Modele
- Kod treningowy
- Wyniki
Model ze sprzężeniem wyprzedzającym
Model konwolucyjny
- Rzeczy do przetestowania
- Podsumowanie
Rozdział 11. Alternatywa - gradienty polityki
- Wartości i polityka
Dlaczego polityka?
Reprezentacja polityki
Gradienty polityki
- Metoda REINFORCE
Przykład środowiska CartPole
Wyniki
Porównanie metod opartych na polityce z metodami opartymi na wartościach
- Ograniczenia metody REINFORCE
Wymagane jest ukończenie epizodu
Wariancja dużych gradientów
Eksploracja
Korelacja danych
- Zastosowanie metody gradientu polityki w środowisku CartPole
Implementacja
Wyniki
- Zastosowanie metody gradientu polityki w środowisku Pong
Implementacja
Wyniki
- Podsumowanie
Rozdział 12. Metoda aktor-krytyk
- Zmniejszenie poziomu wariancji
- Wariancja w środowisku CartPole
- Aktor-krytyk
- Użycie metody A2C w środowisku Pong
Wyniki użycia metody A2C w środowisku Pong
Dostrajanie hiperparametrów
- Podsumowanie
Rozdział 13. Asynchroniczna wersja metody aktor-krytyk
- Korelacja i wydajność próbkowania
- Zrównoleglenie metody A2C
- Przetwarzanie wieloprocesorowe w języku Python
- Algorytm A3C wykorzystujący zrównoleglenie na poziomie danych
Implementacja
Wyniki
- Algorytm A3C wykorzystujący zrównoleglenie na poziomie gradientów
Implementacja
Wyniki
- Podsumowanie
Rozdział 14. Trenowanie chatbotów z wykorzystaniem uczenia przez wzmacnianie
- Czym są chatboty?
- Trenowanie chatbotów
- Podstawy głębokiego przetwarzania języka naturalnego
Rekurencyjne sieci neuronowe
Osadzanie słów
Architektura koder-dekoder
- Trenowanie modelu koder-dekoder
Trenowanie z wykorzystaniem logarytmu prawdopodobieństwa
Algorytm "Bilingual Evaluation Understudy" (BLEU)
Zastosowanie uczenia przez wzmacnianie w modelu koder-dekoder
Krytyczna analiza trenowania sekwencji
- Projekt chatbota
Przykładowa struktura
Moduły cornell.py i data.py
Wskaźnik BLEU i moduł utils.py
Model
- Eksploracja zbioru danych
- Trenowanie - entropia krzyżowa
Implementacja
Wyniki
- Trenowanie - metoda SCST
Implementacja
Wyniki
- Przetestowanie modeli przy użyciu danych
- Bot dla komunikatora Telegram
- Podsumowanie
Rozdział 15. Środowisko TextWorld
- Fikcja interaktywna
- Środowisko
Instalacja
Generowanie gry
Przestrzenie obserwacji i akcji
Dodatkowe informacje o grze
- Podstawowa sieć DQN
Wstępne przetwarzanie obserwacji
Osadzenia i kodery
Model DQN i agent
Kod treningowy
Wyniki trenowania
- Model generujący polecenia
Implementacja
Wyniki uzyskane po wstępnym trenowaniu
Kod treningowy sieci DQN
Wyniki uzyskane po trenowaniu sieci DQN
- Podsumowanie
Rozdział 16. Nawigacja w sieci
- Nawigacja w sieci
- Automatyzacja działań w przeglądarce i uczenie przez wzmacnianie
- Test porównawczy MiniWoB
- OpenAI Universe
Instalacja
Akcje i obserwacje
Tworzenie środowiska
Stabilność systemu MiniWoB
- Proste klikanie
Akcje związane z siatką
Przegląd rozwiązania
Model
Kod treningowy
Uruchamianie kontenerów
Proces trenowania
Testowanie wyuczonej polityki
Problemy występujące podczas prostego klikania
- Obserwacje ludzkich działań
Zapisywanie działań
Format zapisywanych danych
Trenowanie z wykorzystaniem obserwacji działań
Wyniki
Gra w kółko i krzyżyk
- Dodawanie opisów tekstowych
Implementacja
Wyniki
- Rzeczy do przetestowania
- Podsumowanie
Rozdział 17. Ciągła przestrzeń akcji
- Dlaczego jest potrzebna ciągła przestrzeń akcji?
Przestrzeń akcji
Środowiska
- Metoda A2C
Implementacja
Wyniki
Użycie modeli i zapisywanie plików wideo
- Deterministyczne gradienty polityki
Eksploracja
Implementacja
Wyniki
Nagrywanie plików wideo
- Dystrybucyjne gradienty polityki
Architektura
Implementacja
Wyniki
Nagrania wideo
- Rzeczy do przetestowania
- Podsumowanie
Rozdział 18. Metody uczenia przez wzmacnianie w robotyce
- Roboty i robotyka
Złożoność robota
Przegląd sprzętu
Platforma
Sensory
Siłowniki
Szkielet
- Pierwszy cel trenowania
- Emulator i model
Plik z definicją modelu
Klasa robota
- Trenowanie zgodnie z algorytmem DDPG i uzyskane wyniki
- Sterowanie sprzętem
MicroPython
Obsługa czujników
Sterowanie serwomechanizmami
Przenoszenie modelu do sprzętu
Połączenie wszystkiego w całość
- Eksperymentowanie z polityką
- Podsumowanie
Rozdział 19. Regiony zaufania - PPO, TRPO, ACKTR i SAC
- Biblioteka Roboschool
- Model bazowy A2C
Implementacja
Wyniki
Nagrywanie plików wideo
- Algorytm PPO
Implementacja
Wyniki
- Algorytm TRPO
Implementacja
Wyniki
- Algorytm ACKTR
Implementacja
Wyniki
- Algorytm SAC
Implementacja
Wyniki
- Podsumowanie
Rozdział 20. Optymalizacja typu "czarna skrzynka" w przypadku uczenia przez wzmacnianie
- Metody typu "czarna skrzynka"
- Strategie ewolucyjne
Testowanie strategii ewolucyjnej w środowisku CartPole
Testowanie strategii ewolucyjnej w środowisku HalfCheetah
- Algorytmy genetyczne
Testowanie algorytmu genetycznego w środowisku CartPole
Dostrajanie algorytmu genetycznego
Testowanie algorytmu genetycznego w środowisku HalfCheetah
- Podsumowanie
- Bibliografia
Rozdział 21. Zaawansowana eksploracja
- Dlaczego eksploracja jest ważna?
- Co złego jest w metodzie epsilonu zachłannego?
- Alternatywne sposoby eksploracji
Sieci zakłócone
Metody oparte na liczebności
Metody oparte na prognozowaniu
- Eksperymentowanie w środowisku MountainCar
Metoda DQN z wykorzystaniem strategii epsilonu zachłannego
Metoda DQN z wykorzystaniem sieci zakłóconych
Metoda DQN z licznikami stanów
Optymalizacja bliskiej polityki
Metoda PPO z wykorzystaniem sieci zakłóconych
Metoda PPO wykorzystująca eksplorację opartą na liczebności
Metoda PPO wykorzystująca destylację sieci
- Eksperymentowanie ze środowiskami Atari
Metoda DQN z wykorzystaniem strategii epsilonu zachłannego
Klasyczna metoda PPO
Metoda PPO z wykorzystaniem destylacji sieci
Metoda PPO z wykorzystaniem sieci zakłóconych
- Podsumowanie
- Bibliografia
Rozdział 22. Alternatywa dla metody bezmodelowej - agent wspomagany wyobraźnią
- Metody oparte na modelu
Porównanie metody opartej na modelu z metodą bezmodelową
Niedoskonałości modelu
- Agent wspomagany wyobraźnią
Model środowiskowy
Polityka wdrożenia
Koder wdrożeń
Wyniki zaprezentowane w artykule
- Użycie modelu I2A w grze Breakout
Podstawowy agent A2C
Trenowanie modelu środowiskowego
Agent wspomagany wyobraźnią
- Wyniki eksperymentów
Agent podstawowy
Trenowanie wag modelu środowiskowego
Trenowanie przy użyciu modelu I2A
- Podsumowanie
- Bibliografia
Rozdział 23. AlphaGo Zero
- Gry planszowe
- Metoda AlphaGo Zero
Wprowadzenie
Przeszukiwanie drzewa metodą Monte Carlo (MCTS)
Granie modelu z samym sobą
Trenowanie i ocenianie
- Bot dla gry Czwórki
Model gry
Implementacja algorytmu przeszukiwania drzewa metodą Monte Carlo (MCTS)
Model
Trenowanie
Testowanie i porównywanie
- Wyniki uzyskane w grze Czwórki
- Podsumowanie
- Bibliografia
Rozdział 24. Użycie metod uczenia przez wzmacnianie w optymalizacji dyskretnej
- Rola uczenia przez wzmacnianie
- Kostka Rubika i optymalizacja kombinatoryczna
- Optymalność i liczba boska
- Sposoby układania kostki
Reprezentacja danych
Akcje
Stany
- Proces trenowania
Architektura sieci neuronowej
Trenowanie
- Aplikacja modelowa
- Wyniki
- Analiza kodu
Środowiska kostki
Trenowanie
Proces wyszukiwania
- Wyniki eksperymentu
Kostka 2×2
Kostka 3×3
- Dalsze usprawnienia i eksperymenty
- Podsumowanie
Rozdział 25. Metoda wieloagentowa
- Na czym polega działanie metody wieloagentowej?
Formy komunikacji
Użycie uczenia przez wzmacnianie
- Środowisko MAgent
Instalacja
Przegląd rozwiązania
Środowisko losowe
- Głęboka sieć Q obsługująca tygrysy
Trenowanie i wyniki
- Współpraca między tygrysami
- Trenowanie tygrysów i jeleni
- Walka pomiędzy równorzędnymi aktorami
- Podsumowanie
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.