Deep_Learning_Praca_z_jezykiem_Python_i_biblioteka_Keras_delepy.pdf

(4353 KB) Pobierz
Tytuł oryginału: Deep Learning with Python
Tłumaczenie: Konrad Matuk
ISBN: 978-83-283-4778-6
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)
Dodatkowe materiały do książki można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/delepy.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/delepy
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 autorze
9
11
13
17
C
ZĘŚĆ
I
1.1.
P
ODSTAWY UCZENIA GŁĘBOKIEGO
.......................................... 19
21
22
22
23
24
26
28
29
30
31
32
33
33
33
35
36
36
37
38
38
39
40
41
41
42
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
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
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?
Rozdział 1. Czym jest uczenie głębokie?
1.2.
1.3.
Rozdział 2. Matematyczne podstawy sieci neuronowych
2.1.
2.2.
Pierwszy przykład sieci neuronowej
Reprezentacja danych sieci neuronowych
2.2.1. Skalary (tensory zerowymiarowe)
2.2.2. Wektory (tensory jednowymiarowe)
2.2.3. Macierze (tensory dwuwymiarowe)
43
44
47
47
48
48
Kup książkę
Poleć książkę
4
Spis treści
2.2.4. Trójwymiarowe tensory i tensory o większej liczbie wymiarów
2.2.5. Główne atrybuty
2.2.6. Obsługa tensorów w bibliotece Numpy
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. Rzutowanie
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
48
49
50
51
51
52
52
53
53
54
54
55
56
59
59
60
61
62
63
64
67
68
2.3.
2.4.
2.5.
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
Wprowadzenie do pakietu Keras
3.2.1. Keras, TensorFlow, Theano i CNTK
3.2.2. Praca z pakietem Keras: krótkie wprowadzenie
Przygotowanie stacji roboczej do uczenia głębokiego
3.3.1. Notatniki Jupyter: najlepszy sposób na eksperymentowanie z uczeniem
głębokim
3.3.2. Dwie opcje uruchamiania pakietu Keras
3.3.3. Wady i zalety uruchamiania uczenia głębokiego w chmurze
3.3.4. Jaki procesor graficzny najlepiej nadaje się do uczenia głębokiego?
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
71
72
72
74
74
75
76
77
78
79
79
80
80
81
81
82
83
85
89
90
90
3.2.
3.3.
3.4.
Kup książkę
Poleć książkę
Spis treści
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
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
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
5
90
91
92
93
94
96
96
97
98
98
98
98
99
100
100
104
3.6.
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
Ocena modeli uczenia maszynowego
4.2.1. Zbiory treningowe, walidacyjne i testowe
4.2.2. Rzeczy, o których warto pamiętać
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
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
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
107
108
108
108
109
109
109
111
114
114
115
116
118
118
121
123
124
125
126
126
127
127
128
129
4.2.
4.3.
4.4.
4.5.
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