Deep Learning Praca z językiem R i biblioteką Keras

50.01

Opis

W ostatnich latach byliśmy świadkami ogromnego postępu technik sztucznej inteligencji, uczenia maszynowego oraz uczenia głębokiego. Konsekwencje tego błyskawicznego rozwoju są odczuwalne w niemal każdej dziedzinie. Wydaje się, że to jedna z tych technologii, które powinny być dostępne dla jak najszerszej grupy ludzi. Dopiero wtedy uczenie głębokie wykorzysta w pełni swój potencjał i stanie się prawdziwym impulsem rozwoju naszej cywilizacji. Co prawda na pierwszy rzut oka ta niesamowita technologia może wydawać się wyjątkowo skomplikowana i trudna do zrozumienia, warto jednak wykorzystać dostępne narzędzia, takie jak biblioteka Keras i język R, aby implementować mechanizmy uczenia głębokiego wszędzie tam, gdzie okażą się przydatne.Ta książka jest znakomitym przewodnikiem po technikach uczenia głębokiego. Poza wyczerpująco przedstawionymi podstawami znajdziesz tu zasady implementacji tych technik z wykorzystaniem języka R i biblioteki Keras. Dzięki przystępnym wyjaśnieniom i praktycznym przykładom szybko zrozumiesz nawet bardziej skomplikowane zagadnienia uczenia głębokiego. Poznasz koncepcje i dobre praktyki związane z tworzeniem mechanizmów analizy obrazu, przetwarzania języka naturalnego i modeli generatywnych. Przeanalizujesz ponad 30 przykładów kodu uzupełnionego dokładnymi komentarzami. W efekcie szybko przygotujesz się do korzystania z uczenia głębokiego w rozwiązywaniu konkretnych problemów.W tej książce między innymi:podstawowe koncepcje sztucznej inteligencji, uczenia maszynowego i uczenia głębokiegowprowadzenie do budowy i trenowania sieci neuronowychuczenie głębokie w przetwarzaniu obrazówmodele generatywne tworzące obrazy i tekstperspektywy i ograniczenia uczenia głębokiegoUczenie głębokie: zafascynuj się i zaimplementuj!Spis treści:Przedmowa 9Podziękowania 11O książce 13O autorach 17CZĘŚĆ I. PODSTAWY UCZENIA GŁĘBOKIEGO 19Rozdział 1. Czym jest uczenie głębokie? 211.1. Sztuczna inteligencja, uczenie maszynowe i uczenie głębokie 221.1.1. Sztuczna inteligencja 221.1.2. Uczenie maszynowe 221.1.3. Formy danych umożliwiające uczenie 241.1.4. „Głębia” uczenia głębokiego 261.1.5. Działanie uczenia głębokiego przedstawione na trzech rysunkach 271.1.6. Co dotychczas osiągnięto za pomocą uczenia głębokiego? 291.1.7. Nie wierz w tymczasową popularność 301.1.8. Nadzieje na powstanie sztucznej inteligencji 311.2. Zanim pojawiło się uczenie głębokie: krótka historia uczenia maszynowego 321.2.1. Modelowanie probabilistyczne 321.2.2. Wczesne sieci neuronowe 331.2.3. Metody jądrowe 331.2.4. Drzewa decyzyjne, lasy losowe i gradientowe wzmacnianie maszyn 351.2.5. Powrót do sieci neuronowych 351.2.6. Co wyróżnia uczenie głębokie? 361.2.7. Współczesne uczenie maszynowe 371.3. Dlaczego uczenie głębokie? Dlaczego teraz? 381.3.1. Sprzęt 381.3.2. Dane 391.3.3. Algorytmy 401.3.4. Nowa fala inwestycji 401.3.5. Demokratyzacja uczenia głębokiego 411.3.6. Co dalej? 41Rozdział 2. Matematyczne podstawy sieci neuronowych 432.1. Pierwszy przykład sieci neuronowej 442.2. Reprezentacja danych sieci neuronowych 472.2.1. Skalary (tensory zerowymiarowe) 482.2.2. Wektory (tensory jednowymiarowe) 482.2.3. Macierze (tensory dwuwymiarowe) 482.2.4. Trójwymiarowe tensory i tensory o większej liczbie wymiarów 492.2.5. Główne atrybuty 492.2.6. Obsługa tensorów R 502.2.7. Wsad danych 502.2.8. Prawdziwe przykłady tensorów danych 512.2.9. Dane wektorowe 512.2.10. Dane szeregu czasowego i dane sekwencyjne 522.2.11. Dane w postaci obrazów 522.2.12. Materiały wideo 532.3. Koła zębate sieci neuronowych: operacje na tensorach 532.3.1. Operacje wykonywane element po elemencie 542.3.2. Operacje na tensorach o różnych wymiarach 552.3.3. Iloczyn tensorowy 552.3.4. Zmiana kształtu tensora 572.3.5. Geometryczna interpretacja operacji tensorowych 582.3.6. Interpretacja geometryczna uczenia głębokiego 592.4. Silnik sieci neuronowych: optymalizacja gradientowa 602.4.1. Czym jest pochodna? 612.4.2. Pochodna operacji tensorowej: gradient 622.4.3. Stochastyczny spadek wzdłuż gradientu 632.4.4. Łączenie pochodnych: algorytm propagacji wstecznej 662.5. Ponowna analiza pierwszego przykładu 672.6. Podsumowanie rozdziału 68Rozdział 3. Rozpoczynamy korzystanie z sieci neuronowych 713.1. Anatomia sieci neuronowej 723.1.1. Warstwy: podstawowe bloki konstrukcyjne uczenia głębokiego 723.1.2. Modele: sieci warstw 733.1.3. Funkcja straty i optymalizatory: najważniejsze elementy konfiguracji procesu uczenia 743.2. Wprowadzenie do pakietu Keras 753.2.1. Keras, TensorFlow, Theano i CNTK 763.2.2. Instalowanie pakietu Keras 773.2.3. Praca z pakietem Keras: krótkie wprowadzenie 773.3. Przygotowanie stacji roboczej do uczenia głębokiego 793.3.1. Dwie opcje uruchamiania pakietu Keras 793.3.2. Wady i zalety uruchamiania uczenia głębokiego w chmurze 803.3.3. Jaki procesor graficzny najlepiej nadaje się do uczenia głębokiego? 803.4. Przykład klasyfikacji binarnej: klasyfikacja recenzji filmów 813.4.1. Zbiór danych IMDB 813.4.2. Przygotowywanie danych 823.4.3. Budowa sieci neuronowej 833.4.4. Walidacja modelu 873.4.5. Używanie wytrenowanej sieci do generowania przewidywań dotyczących nowych danych 903.4.6. Dalsze eksperymenty 903.4.7. Wnioski 913.5. Przykład klasyfikacji wieloklasowej: klasyfikacja krótkich artykułów prasowych 913.5.1. Zbiór danych Agencji Reutera 913.5.2. Przygotowywanie danych 933.5.3. Budowanie sieci 933.5.4. Walidacja modelu 943.5.5. Generowanie przewidywań dotyczących nowych danych 963.5.6. Inne sposoby obsługi etykiet i funkcji straty 973.5.7. Dlaczego warto tworzyć odpowiednio duże warstwy pośrednie? 973.5.8. Dalsze eksperymenty 983.5.9. Wnioski 983.6. Przykład regresji: przewidywanie cen mieszkań 993.6.1. Zbiór cen mieszkań w Bostonie 993.6.2. Przygotowywanie danych 1003.6.3. Budowanie sieci 1003.6.4. K-składowa walidacja krzyżowa 1013.6.5. Wnioski 1053.7. Podsumowanie rozdziału 105Rozdział 4. Podstawy uczenia maszynowego 1074.1. Cztery rodzaje uczenia maszynowego 1084.1.1. Uczenie nadzorowane 1084.1.2. Uczenie nienadzorowane 1084.1.3. Uczenie częściowo nadzorowane 1094.1.4. Uczenie przez wzmacnianie 1094.2. Ocena modeli uczenia maszynowego 1094.2.1. Zbiory treningowe, walidacyjne i testowe 1114.2.2. Rzeczy, o których warto pamiętać 1144.3. Wstępna obróbka danych, przetwarzanie cech i uczenie cech 1144.3.1. Przygotowywanie danych do przetwarzania przez sieci neuronowe 1154.3.2. Przetwarzanie cech 1164.4. Nadmierne dopasowanie i zbyt słabe dopasowanie 1184.4.1. Redukcja rozmiaru sieci 1194.4.2. Dodawanie regularyzacji wag 1214.4.3. Porzucanie – technika dropout 1234.5. Uniwersalny przepływ roboczy uczenia maszynowego 1254.5.1. Definiowanie problemu i przygotowywanie zbioru danych 1254.5.2. Wybór miary sukcesu 1264.5.3. Określanie techniki oceny wydajności modelu 1274.5.4. Przygotowywanie danych 1274.5.5. Tworzenie modeli lepszych od linii bazowej 1284.5.6. Skalowanie w górę: tworzenie modelu, który ulega nadmiernemu dopasowaniu 1294.5.7. Regularyzacja modelu i dostrajanie jego hiperparametrów 1294.6. Podsumowanie rozdziału 130CZĘŚĆ II. UCZENIE GŁĘBOKIE W PRAKTYCE 131Rozdział 5. Uczenie głębokie i przetwarzanie obrazu 1335.1. Wprowadzenie do konwolucyjnych sieci neuronowych 1345.1.1. Działanie sieci konwolucyjnej 1365.1.2. Operacja max-pooling 1415.2. Trenowanie konwolucyjnej sieci neuronowej na małym zbiorze danych 1435.2.1. Stosowanie uczenia głębokiego w problemach małych zbiorów danych 1445.2.2. Pobieranie danych 1445.2.3. Budowa sieci neuronowej 1475.2.4. Wstępna obróbka danych 1485.2.5. Stosowanie techniki augmentacji danych 1515.3. Korzystanie z wcześniej wytrenowanej konwolucyjnej sieci neuronowej 1555.3.1. Ekstrakcja cech 1555.3.2. Dostrajanie 1635.3.3. Wnioski 1675.4. Wizualizacja efektów uczenia konwolucyjnych sieci neuronowych 1685.4.1. Wizualizacja pośrednich aktywacji 1695.4.2. Wizualizacja filtrów konwolucyjnych sieci neuronowych 1755.4.3. Wizualizacja map ciepła aktywacji klas 1815.5. Podsumowanie rozdziału 185Rozdział 6. Uczenie głębokie w przetwarzaniu tekstu i sekwencji 1876.1. Praca z danymi tekstowymi 1886.1.1. Kodowanie słów i znaków metodą gorącej jedynki 1896.1.2. Osadzanie słów 1926.1.3. Łączenie wszystkich technik: od surowego tekstu do osadzenia słów 1976.1.4. Wnioski 2036.2. Rekurencyjne sieci neuronowe 2036.2.1. Warstwa rekurencyjna w pakiecie Keras 2066.2.2. Warstwy LSTM i GRU 2096.2.3. Przykład warstwy LSTM zaimplementowanej w pakiecie Keras 2126.2.4. Wnioski 2136.3. Zaawansowane zastosowania rekurencyjnych sieci neuronowych 2146.3.1. Problem prognozowania temperatury 2146.3.2. Przygotowywanie danych 2176.3.3. Punkt odniesienia w postaci zdrowego rozsądku 2206.3.4. Podstawowe rozwiązanie problemu przy użyciu techniki uczenia maszynowego 2216.3.5. Punkt odniesienia w postaci pierwszego modelu rekurencyjnego 2236.3.6. Stosowanie rekurencyjnego porzucania w celu zmniejszenia nadmiernego dopasowania 2256.3.7. Tworzenie stosów warstw rekurencyjnych 2266.3.8. Korzystanie z dwukierunkowych rekurencyjnych sieci neuronowych 2286.3.9. Kolejne rozwiązania 2326.3.10. Wnioski 2336.4. Konwolucyjne sieci neuronowe i przetwarzanie sekwencji 2346.4.1. Przetwarzanie sekwencji za pomocą jednowymiarowej sieci konwolucyjnej 2346.4.2. Jednowymiarowe łączenie danych sekwencyjnych 2356.4.3. Implementacja jednowymiarowej sieci konwolucyjnej 2356.4.4. Łączenie sieci konwolucyjnych i rekurencyjnych w celu przetworzenia długich sekwencji 2376.4.5. Wnioski 2416.5. Podsumowanie rozdziału 242Rozdział 7. Najlepsze zaawansowane praktyki uczenia głębokiego 2457.1. Funkcjonalny interfejs programistyczny pakietu Keras: wykraczanie poza model sekwencyjny 2467.1.1. Wprowadzenie do funkcjonalnego interfejsu API 2477.1.2. Modele z wieloma wejściami 2497.1.3. Modele z wieloma wyjściami 2517.1.4. Skierowane acykliczne grafy warstw 2547.1.5. Udostępnianie wag warstwy 2587.1.6. Modele pełniące funkcję warstw 2597.1.7. Wnioski 2607.2. Monitorowanie modeli uczenia głębokiego przy użyciu wywołań zwrotnych pakietu Keras i narzędzia TensorBoard 2607.2.1. Używanie wywołań zwrotnych w celu sterowania procesem trenowania modelu 2607.2.2. Wprowadzenie do TensorBoard – platformy wizualizacji danych pakietu TensorFlow 2647.2.3. Wnioski 2687.3. Korzystanie z pełni możliwości modeli 2687.3.1. Konstrukcja zaawansowanych architektur 2697.3.2. Optymalizacja hiperparametru 2727.3.3. Składanie modeli 2747.3.4. Wnioski 2767.4. Podsumowanie rozdziału 276Rozdział 8. Stosowanie uczenia głębokiego w celu generowania danych 2798.1. Generowanie tekstu za pomocą sieci LSTM 2818.1.1. Krótka historia generatywnych sieci rekurencyjnych 2818.1.2. Generowanie danych sekwencyjnych 2828.1.3. Dlaczego strategia próbkowania jest ważna? 2828.1.4. Implementacja algorytmu LSTM generującego tekst na poziomie liter 2858.1.5. Wnioski 2898.2. DeepDream 2908.2.1. Implementacja algorytmu DeepDream w pakiecie Keras 2918.2.2. Wnioski 2968.3. Neuronowy transfer stylu 2978.3.1. Strata treści 2988.3.2. Strata stylu 2988.3.3. Implementacja neuronowego transferu stylu przy użyciu pakietu Keras 2998.3.4. Wnioski 3048.4. Generowanie obrazów przy użyciu wariacyjnych autoenkoderów 3068.4.1. Próbkowanie z niejawnej przestrzeni obrazów 3068.4.2. Wektory koncepcyjne używane podczas edycji obrazu 3078.4.3. Wariacyjne autoenkodery 3088.4.4. Wnioski 3148.5. Wprowadzenie do generatywnych sieci z przeciwnikiem 3158.5.1. Schematyczna implementacja sieci GAN 3168.5.2. Zbiór przydatnych rozwiązań 3178.5.3. Generator 3188.5.4. Dyskryminator 3198.5.5. Sieć z przeciwnikiem 3208.5.6. Trenowanie sieci DCGAN 3208.5.7. Wnioski 3228.6. Podsumowanie rozdziału 323Rozdział 9. Wnioski 3259.1. Przypomnienie najważniejszych koncepcji 3269.1.1. Sztuczna inteligencja 3269.1.2. Co sprawia, że uczenie głębokie to wyjątkowa dziedzina uczenia maszynowego? 3269.1.3. Jak należy traktować uczenie głębokie? 3279.1.4. Najważniejsze technologie 3289.1.5. Uniwersalny przepływ roboczy uczenia maszynowego 3299.1.6. Najważniejsze architektury sieci 3309.1.7. Przestrzeń możliwości 3349.2. Ograniczenia uczenia głębokiego 3369.2.1. Ryzyko antropomorfizacji modeli uczenia maszynowego 3379.2.2. Lokalne uogólnianie a ekstremalne uogólnianie 3399.2.3. Wnioski 3409.3. Przyszłość uczenia głębokiego 3419.3.1. Modele jako programy 3429.3.2. Wykraczanie poza algorytm propagacji wstecznej i warstwy różniczkowalne 3439.3.3. Zautomatyzowane uczenie maszynowe 3449.3.4. Nieustanne uczenie się i wielokrotne używanie modułowych procedur składowych 3459.3.5. Przewidywania dotyczące dalekiej przyszłości 3469.4. Bycie na bieżąco z nowościami związanymi z szybko rozwijającą się dziedziną 3489.4.1. Zdobywaj wiedzę praktyczną, pracując z prawdziwymi problemami przedstawianymi w serwisie Kaggle 3489.4.2. Czytaj o nowych rozwiązaniach w serwisie arXiv 3489.4.3. Eksploruj ekosystem związany z pakietem Keras 3499.5. Ostatnie słowa 349DODATKI 351Dodatek A. Instalowanie pakietu Keras i innych bibliotek niezbędnych do jego działania w systemie Ubuntu 353Dodatek B. Uruchamianie kodu w środowisku RStudio Server przy użyciu zdalnej instancji procesora graficznego EC2 359Skorowidz 365

Informatyka

podlasie, 5 lipiec święto, rodzaje rozwiązania umowy o pracę, maciej znaniecki, austria polska kiedy, easyjet bagaż podręczny wymiary, www kodeks pracy, ilu motocyklistów zginęło w 2020, konsygnacyjny, wniosek o postojowe jak wypełnić, gdzie kupić e-winiety, składka zdrowotna emeryta 2022, zdjęcie w tle linkedin, newmark, zakaz lotow do szwecji, kodeks pracy 2019 gov, jednorazowy zasiłek z tytułu urodzenia dziecka krus 2019

yyyyy