Deep_Learning_Praca_z_jezykiem_R_i_biblioteka_Keras_delerk.pdf

(2859 KB) Pobierz
Tytuł oryginału: Deep Learning with R
Tłumaczenie: Konrad Matuk
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
ISBN: 978-83-283-4780-9
Original edition copyright © 2018 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2019 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/delerk.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/delerk
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa
Podziękowania
O książce
O autorach
9
11
13
17
C
ZĘŚĆ
I. P
ODSTAWY UCZENIA GŁĘBOKIEGO
............................................. 19
Rozdział 1. Czym jest uczenie głębokie?
1.1. Sztuczna inteligencja, uczenie maszynowe i uczenie głębokie
1.1.1.
Sztuczna inteligencja
1.1.2.
Uczenie maszynowe
1.1.3.
Formy danych umożliwiające uczenie
1.1.4.
„Głębia” uczenia głębokiego
1.1.5.
Działanie uczenia głębokiego przedstawione na trzech rysunkach
1.1.6.
Co dotychczas osiągnięto za pomocą uczenia głębokiego?
1.1.7.
Nie wierz w tymczasową popularność
1.1.8.
Nadzieje na powstanie sztucznej inteligencji
1.2. Zanim pojawiło się uczenie głębokie: krótka historia uczenia maszynowego
1.2.1.
Modelowanie probabilistyczne
1.2.2.
Wczesne sieci neuronowe
1.2.3.
Metody jądrowe
1.2.4.
Drzewa decyzyjne, lasy losowe i gradientowe wzmacnianie maszyn
1.2.5.
Powrót do sieci neuronowych
1.2.6.
Co wyróżnia uczenie głębokie?
1.2.7.
Współczesne uczenie maszynowe
1.3. Dlaczego uczenie głębokie? Dlaczego teraz?
1.3.1.
Sprzęt
1.3.2.
Dane
1.3.3.
Algorytmy
1.3.4.
Nowa fala inwestycji
1.3.5.
Demokratyzacja uczenia głębokiego
1.3.6.
Co dalej?
21
22
22
22
24
26
27
29
30
31
32
32
33
33
35
35
36
37
38
38
39
40
40
41
41
Rozdział 2. Matematyczne podstawy sieci neuronowych
2.1. Pierwszy przykład sieci neuronowej
2.2. Reprezentacja danych sieci neuronowych
2.2.1.
Skalary (tensory zerowymiarowe)
2.2.2.
Wektory (tensory jednowymiarowe)
2.2.3.
Macierze (tensory dwuwymiarowe)
2.2.4.
Trójwymiarowe tensory i tensory o większej liczbie wymiarów
43
44
47
48
48
48
49
Kup książkę
Poleć książkę
4
Spis treści
2.2.5.
Główne atrybuty
2.2.6.
Obsługa tensorów R
2.2.7.
Wsad danych
2.2.8.
Prawdziwe przykłady tensorów danych
2.2.9.
Dane wektorowe
2.2.10. Dane szeregu czasowego i dane sekwencyjne
2.2.11. Dane w postaci obrazów
2.2.12. Materiały wideo
Koła zębate sieci neuronowych: operacje na tensorach
2.3.1.
Operacje wykonywane element po elemencie
2.3.2.
Operacje na tensorach o różnych wymiarach
2.3.3.
Iloczyn tensorowy
2.3.4.
Zmiana kształtu tensora
2.3.5.
Geometryczna interpretacja operacji tensorowych
2.3.6.
Interpretacja geometryczna uczenia głębokiego
Silnik sieci neuronowych: optymalizacja gradientowa
2.4.1.
Czym jest pochodna?
2.4.2.
Pochodna operacji tensorowej: gradient
2.4.3.
Stochastyczny spadek wzdłuż gradientu
2.4.4.
Łączenie
pochodnych: algorytm propagacji wstecznej
Ponowna analiza pierwszego przykładu
Podsumowanie rozdziału
49
50
50
51
51
52
52
53
53
54
55
55
57
58
59
60
61
62
63
66
67
68
2.3.
2.4.
2.5.
2.6.
Rozdział 3. Rozpoczynamy korzystanie z sieci neuronowych
3.1. Anatomia sieci neuronowej
3.1.1.
Warstwy: podstawowe bloki konstrukcyjne uczenia głębokiego
3.1.2.
Modele: sieci warstw
3.1.3.
Funkcja straty i optymalizatory: najważniejsze elementy konfiguracji
procesu uczenia
3.2. Wprowadzenie do pakietu Keras
3.2.1.
Keras, TensorFlow, Theano i CNTK
3.2.2.
Instalowanie pakietu Keras
3.2.3.
Praca z pakietem Keras: krótkie wprowadzenie
3.3. Przygotowanie stacji roboczej do uczenia głębokiego
3.3.1.
Dwie opcje uruchamiania pakietu Keras
3.3.2.
Wady i zalety uruchamiania uczenia głębokiego w chmurze
3.3.3.
Jaki procesor graficzny najlepiej nadaje się do uczenia głębokiego?
3.4. Przykład klasyfikacji binarnej: klasyfikacja recenzji filmów
3.4.1.
Zbiór danych IMDB
3.4.2.
Przygotowywanie danych
3.4.3.
Budowa sieci neuronowej
3.4.4.
Walidacja modelu
3.4.5.
Używanie wytrenowanej sieci do generowania przewidywań
dotyczących nowych danych
3.4.6.
Dalsze eksperymenty
3.4.7.
Wnioski
3.5. Przykład klasyfikacji wieloklasowej: klasyfikacja krótkich artykułów prasowych
3.5.1.
Zbiór danych Agencji Reutera
3.5.2.
Przygotowywanie danych
71
72
72
73
74
75
76
77
77
79
79
80
80
81
81
82
83
87
90
90
91
91
91
93
Kup książkę
Poleć książkę
Spis treści
3.5.3.
Budowanie sieci
3.5.4.
Walidacja modelu
3.5.5.
Generowanie przewidywań dotyczących nowych danych
3.5.6.
Inne sposoby obsługi etykiet i funkcji straty
3.5.7.
Dlaczego warto tworzyć odpowiednio duże warstwy pośrednie?
3.5.8.
Dalsze eksperymenty
3.5.9.
Wnioski
3.6. Przykład regresji: przewidywanie cen mieszkań
3.6.1.
Zbiór cen mieszkań w Bostonie
3.6.2.
Przygotowywanie danych
3.6.3.
Budowanie sieci
3.6.4.
K-składowa walidacja krzyżowa
3.6.5.
Wnioski
3.7. Podsumowanie rozdziału
5
93
94
96
97
97
98
98
99
99
100
100
101
105
105
Rozdział 4. Podstawy uczenia maszynowego
4.1. Cztery rodzaje uczenia maszynowego
4.1.1.
Uczenie nadzorowane
4.1.2.
Uczenie nienadzorowane
4.1.3.
Uczenie częściowo nadzorowane
4.1.4.
Uczenie przez wzmacnianie
4.2. Ocena modeli uczenia maszynowego
4.2.1.
Zbiory treningowe, walidacyjne i testowe
4.2.2.
Rzeczy, o których warto pamiętać
4.3. Wstępna obróbka danych, przetwarzanie cech i uczenie cech
4.3.1.
Przygotowywanie danych do przetwarzania przez sieci neuronowe
4.3.2.
Przetwarzanie cech
4.4. Nadmierne dopasowanie i zbyt słabe dopasowanie
4.4.1.
Redukcja rozmiaru sieci
4.4.2.
Dodawanie regularyzacji wag
4.4.3.
Porzucanie — technika dropout
4.5. Uniwersalny przepływ roboczy uczenia maszynowego
4.5.1.
Definiowanie problemu i przygotowywanie zbioru danych
4.5.2.
Wybór miary sukcesu
4.5.3.
Określanie techniki oceny wydajności modelu
4.5.4.
Przygotowywanie danych
4.5.5.
Tworzenie modeli lepszych od linii bazowej
4.5.6.
Skalowanie w górę: tworzenie modelu, który ulega nadmiernemu
dopasowaniu
4.5.7.
Regularyzacja modelu i dostrajanie jego hiperparametrów
4.6. Podsumowanie rozdziału
107
108
108
108
109
109
109
111
114
114
115
116
118
119
121
123
125
125
126
127
127
128
129
129
130
C
ZĘŚĆ
II. U
CZENIE GŁĘBOKIE W PRAKTYCE
........................................... 131
Rozdział 5. Uczenie głębokie i przetwarzanie obrazu
5.1. Wprowadzenie do konwolucyjnych sieci neuronowych
5.1.1.
Działanie sieci konwolucyjnej
5.1.2.
Operacja max-pooling
133
134
136
141
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin