深度學習從0到1

覃秉豐

  • 出版商: 電子工業
  • 出版日期: 2021-06-01
  • 定價: $828
  • 售價: 8.0$662
  • 語言: 簡體中文
  • 頁數: 488
  • 裝訂: 平裝
  • ISBN: 7121411938
  • ISBN-13: 9787121411939
  • 相關分類: DeepLearning
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書是一本介紹深度學習理論和實戰應用的教程,先從數學基礎和機器學習基礎出發,按照神經網絡的技術發展框架由易到難逐步講解深度學習的理論,然後再通過實踐部分,詳細解釋深度學習的應用案例,讓讀者既能瞭解深度學習理論,又能學會使用深度學習框架,實現自己的深度學習模型。主要內容包括深度學習的發展歷史、單層感知器、線性神經網絡、BP神經網絡、深度學習算法捲積神經網絡CNN和長短時記憶網絡LSTM,以及深度學習算法在圖像、自然語言處理和音頻信號三個方面的實際應用。其中,案例實戰部分使用的深度學習框架為Tensorflow 2/Keras。

作者簡介

覃秉豐,AI創業公司創始人,6年人工智能從業經驗。
曾完成過多項圖像,語音,nlp,搜索相關的人工智能企業項目,研發經驗豐富。
曾給中國移動,中國電信,中國銀行,華夏銀行,太平洋保險,國家電網,中海油,格力電器等企業做過人工智能相關的企業內訓。從事人工智能教育4年,網絡課程學員近10萬人。
講課通熟易懂,深入淺出,廣受好評。

目錄大綱

目錄
第1章深度學習背景介紹1
1.1人工智能1
1.2機器學習3
1.2.1訓練數據、驗證數據和測試數據4
1.2.2學習方式4
1.2.3機器學習常用算法5
1.3人工智能、機器學習、神經網絡及深度學習之間的關係10
1.4深度學習的應用11
1.5神經網絡和深度學習的發展史16
1.5.1神經網絡的誕生:20世紀40年代到20世紀60年代16
1.5.2神經網絡的複興:20世紀80年代到20世紀90年代17
1.5.3深度學習:2006年至今17
1.6深度學習領域中的重要人物18
1.7新一輪人工智能爆發的三要素19
1.8參考文獻19

第2章搭建Python編程環境21
2.1 Python介紹21
2.2 Anaconda安裝21
2.3 Jupyter Notebook的簡單使用25
2.3.1啟動Jupyter Notebook 26
2.3.2修改Jupyter Notebook默認啟動路徑26
2.3.3 Jupyter Notebook瀏覽器無法打開28
2.3.4 Jupyter Notebook基本操作28

第3章單層感知器與線性神經網絡31
3.1生物神經網絡31
3.2單層感知器32
3.2.1單層感知器介紹32
3.2.2單層感知器計算舉例32
3.2.3單層感知器的另一種表達形式33
3.3單層感知器的學習規則33
3.3.1單層感知器的學習規則介紹33
3.3.2單層感知器的學習規則計算舉例34
3.4學習率37
3.5模型的收斂條件38
3.6模型的超參數和參數的區別38
3.7單層感知器分類案例39
3.8線性神經網絡42
3.8.1線性神經網絡介紹42
3.8 .2線性神經網絡分類案例42
3.9線性神經網絡處理異或問題45

第4章BP神經網絡50
4.1 BP神經網絡介紹及發展背景50
4.2代價函數51
4.3梯度下降法51
4.3.1梯度下降法介紹51
4.3.2梯度下降法二維例子53
4.3.3梯度下降法三維例子55
4.4 Delta學習規則56
4.5常用激活函數講解56
4. 5.1 sigmoid函數57
4.5.2 tanh函數57
4.5.3 softsign函數58
4.5.4 ReLU函數59
4.6 BP神經網絡模型和公式推導61
4.6.1 BP網絡模型62
4.6.2 BP算法推導63
4.6.3 BP算法推導的補充說明65
4 .7 BP算法推導結論總結67
4.8梯度消失與梯度爆炸67
4.8.1梯度消失67
4.8.2梯度爆炸69
4.8.3使用ReLU函數解決梯度消失和梯度爆炸的問題69
4.9使用BP神經網絡解決異或問題70
4.10分類模型評估方法74
4.10.1準確率/精確率/召回率/F1值74
4.10.2混淆矩陣77
4.11獨熱編碼77
4.12 BP神經網絡完成手寫數字識別78
4.13 Sklearn手寫數字識別83
4.14參考文獻84

第5章深度學習框架Tensorflow基礎使用85
5.1 Tensorflow介紹86
5.1.1 Tensorflow簡介86
5.1.2靜態圖和動態圖機制Eager Execution 86
5.1.3 tf.keras 87
5.2 Tensorflow-cpu安裝88
5.2.1 Tensorflow-cpu在線安裝88
5.2.2安裝過程中可能遇到的問題89
5.2.3 Tensorflow-cpu卸載91
5.2.4 Tensorflow-cpu更新91
5.2.5 Tensorflow-cpu指定版本的安裝91
5.3 Tensorflow-gpu安裝91
5.3.1 Tensorflow-gpu了解最新版本情況91
5.3.2 Tensorflow-gpu安裝CUDA 92
5.3.3 Tensorflow-gpu安裝cuDNN庫94
5.3.4 Tensorflow-gpu在線安裝95
5.3.5 Tensorflow-gpu卸載95
5.3.6 Tensorflow-gpu更新95
5.4 Tensorflow基本概念95
5.5 Tensorflow基礎使用96
5.6手寫數字圖片分類任務100
5.6.1 MNIST數據集介紹100
5.6.2 softmax函數介紹101
5.6.3簡單MNIST數據集分類模型―沒有高級封裝101
5.6.4簡單MNIST數據集分類模型―keras高級封裝104

第6章網絡優化方法106
6.1交叉熵代價函數106
6.1.1均方差代價函數的缺點106
6.1.2引入交叉熵代價函數109
6.1.3交叉熵代價函數推導過程109
6.1.4 softmax與對數似然代價函數110
6.1.5交叉熵程序112
6.2過擬合114
6.2.1什麼是過擬合114
6.2.2抵抗過擬合的方法117
6.3數據增強117
6.4提前停止訓練119
6.5 Dropout 121
6.5.1 Dropout介紹121
6.5.2 Dropout程序123
6 .6正則化125
6.6.1正則化介紹125
6.6.2正則化程序126
6.7標籤平滑129
6.7.1標籤平滑介紹129
6.7.2標籤平滑程序130
6.8優化器132
6.8.1梯度下降法132
6.8.2 Momentum 133
6.8.3 NAG 133
6.8.4 Adagrad 133
6.8.5 Adadelta 134
6.8.6 RMRprop 134
6.8 .7 Adam 134
6.8.8優化器程序135
6.9參考文獻137

第7章Tensorflow模型的保存和載入138
7.1 Keras模型保存和載入138
7.1.1 Keras模型保存138
7.1.2 Keras模型載入139
7.2 SavedModel模型保存和載入140
7.2.1 SavedModel模型保存140
7. 2.2 SavedModel模型載入141
7.3單獨保存模型的結構142
7.3.1保存模型的結構142
7.3.2載入模型結構143
7.4單獨保存模型參數144
7.4.1保存模型參數144
7.4.2載入模型參數145
7.5 ModelCheckpoint自動保存模型146
7.6 Checkpoint模型保存和載入149
7.6.1 Checkpoint模型保存149
7.6.2 Checkpoint模型載入151

第8章卷積神經網絡(CNN) 154
8.1計算機視覺介紹154
8.1.1計算機視覺應用介紹154
8.1.2計算機視覺技術介紹155
8.2卷積神經網簡介158
8. 2.1 BP神經網絡存在的問題158
8.2.2局部感受野和權值共享158
8.3卷積的具體計算159
8.4卷積的步長161
8.5不同的捲積核162
8.6池化163
8.7 Padding 164
8.8常見的捲積計算總結166
8.8.1對1張圖像進行卷積生成1張特徵圖166
8. 8.2對1張圖像進行卷積生成多張特徵圖166
8.8.3對多張圖像進行卷積生成1張特徵圖167
8.8.4對多張圖像進行卷積生成多張特徵圖168
8.9經典的捲積神經網絡168
8.10卷積神經網絡應用於MNIST數據集分類170
8.11識別自己寫的數字圖片172
8.12 CIFAR-10數據集分類175
8.13參考文獻177

第9章序列模型178
9.1序列模型應用178
9.2循環神經網絡(RNN) 179
9.2.1 RNN介紹179
9.2.2 Elman network和Jordan network 180
9.3 RNN的不同架構180
9.3.1一對一架構180
9.3.2多對一架構181
9.3.3多對多架構181
9.3.4一對多架構181
9.3.5 Seq2Seq架構182
9.4傳統RNN的缺點182
9.5長短時記憶網絡(LSTM) 183
9.6 Peephole LSTM和FC-LSTM 186
9.6.1 Peephole LSTM介紹186
9.6.2 FC-LSTM介紹187
9.7其他RNN模型188
9.7.1門控循環單元(GRU) 188
9 .7.2雙向RNN 189
9.7.3堆疊的雙向RNN 190
9.8 LSTM網絡應用於MNIST數據集分類190
9.9參考文獻192

第10章經典圖像識別模型介紹(上) 193
10.1圖像數據集193
10.1.1圖像數據集介紹193
10.1.2 ImageNet的深遠影響194
10.1.3 ImageNet Challenge歷年優秀作品195
10.2 AlexNet 196
10.3 VGGNet 199
10.4 GoogleNet 201
10.4.1 1×1卷積介紹202
10.4.2 Inception結構203
10.4.3 GoogleNet網絡結構205
10.5 Batch Normalization 208
10.5.1 Batch Normalization提出背景208
10.5.2數據標準化(Normalization) 209
10.5.3 Batch Normalization模型訓練階段209
10.5.4 Batch Normalization模型預測階段210
10.5.5 Batch Normalization作用分析211
10.6 ResNet 212
10.6.1 ResNet背景介紹212
10.6. 2殘差塊介紹213
10.6.3 ResNet網絡結構214
10.6.4 ResNet-V2 219
10.7參考文獻221

第11章經典圖像識別模型介紹(下) 222
11.1 Inception模型系列222
11 .1.1 Inception-v2/v3優化策略222
11.1.2 Inception-v2/v3模型結構224
11.1.3 Inception-v4和Inception-ResNet介紹229
11.2 ResNeXt 233
11.2.1分組卷積介紹233
11.2.2 ResNeXt中的分組卷積235
11.2.3 ResNeXt的網絡結構236
11.3 SENet 238
11.3.1 SENet介紹239
11.3.2 SENet結果分析242
11. 4參考文獻244

第12章圖像識別項目實戰245
12.1圖像數據準備245
12.1.1數據集介紹245
12.1.2數據集準備246
12.1.3切分數據集程序247
12.2 AlexNet圖像識別249
12.3 VGGNet圖像識別253
12.4函數式模型255
12.4.1函數式模型介紹255
12.4.2使用函數式模型進行MNIST圖像識別256
12.5模型可視化257
12.5.1使用plot_model進行模型可視化257
12. 5.2 plot_model升級版260
12.6 GoogleNet圖像識別261
12.7 Batch Normalization使用263
12.8 ResNet圖像識別265
12.9 ResNeXt圖像識別267
12.10 SENet圖像識別270
12.11使用預訓練模型進行遷移學習274
12.11.1使用訓練好的模型進行圖像識別274
12.11.2使用訓練好的模型進行遷移學習276
12.11.3載入訓練好的模型進行預測279

第13章驗證碼識別項目實戰282
13.1多任務學習介紹282
13.2驗證碼數據集生成283
13.3 tf.data介紹285
13.3.1 tf.data概述285
13.3.2使用tf.data完成多任務學習:驗證碼識別286
13.4使用自定義數據生成器完成驗證碼識別294
13.4.1使用自定義數據生成器完成模型訓練294
13.4.2使用自定義數據生成器完成模型預測298
13.5挑戰變長驗證碼識別302
13.5.1挑戰變長驗證碼識別模型訓練302
13.5.2挑戰變長驗證碼識別模型預測308
13.6 CTC算法313
13. 6.1 CTC算法介紹313
13.6.2貪心算法(Greedy Search)和集束搜索算法(Beam Search) 314
13.6.3 CTC存在的問題316
13.6.4 CTC算法:驗證碼識別316

第14章自然語言處理(NLP)發展歷程(上) 329
14.1 NLP應用介紹329
14.2從傳統語言模型到神經語言模型332
14.2.1規則模型332
14.2.2統計語言模型333
14.2.3詞向量334
14.2.4神經語言模型336
14.3 word2vec 338
14.3.1 word2vec介紹338
14.3.2 word2vec模型訓練338
14.3.3 word2vec訓練技巧和可視化效果339
14.4 CNN在NLP領域中的應用340
14.5 RNN在NLP領域中的應用342
14.6 Seq2Seq模型在NLP領域中的應用343
14.7 Attention機制344
14.7.1 Attention介紹344
14.7.2 Bahdanau Attention介紹346
14.7.3 Luong Attention介紹348
14.7.4谷歌機器翻譯系統介紹351
14. 7.5 Attention機制在視覺和語音領域的應用352
14.8參考文獻354

第15章自然語言處理(NLP)發展歷程(下) 355
15.1 NLP新的開始:Transformer模型355
15.1.1 Transformer模型結構和輸入數據介紹355
15.1.2 Self-Attention介紹357
15.1.3 Multi-Head Attention介紹360
15.1.4 Layer Normalization介紹363
15.1.5 Decoder結構介紹364
15.1 .6 Decoder中的Multi-Head Attention和模型訓練365
15.2 BERT模型367
15.2.1 BERT模型介紹368
15.2.2 BERT模型訓練369
15.2.3 BERT模型應用370
15.3參考文獻373

第16章NLP任務項目實戰374
16.1一維卷積英語電影評論情感分類項目374
16.1.1項目數據和模型說明374
16.1.2一維卷積英語電影評論情感分類程序375
16.2二維卷積中文微博情感分類項目378
16.3雙向LSTM中文微博情感分類項目384
16.4堆疊雙向LSTM中文分詞標註項目387
16.4.1中文分詞標註模型訓練387
16.4.2維特比算法391
16.4.3中文分詞標註模型預測393
16.5最新的一些激活函數介紹397
16.5.1 Leaky ReLU 397
16.5.2 ELU 399
16.5.3 SELU 400
16.5.4 GELU 401
16.5.5 Swish 402
16.6 BERT模型的簡單使用403
16.6.1安裝tf2-bert模塊並準備預訓練模型403
16.6.2使用BERT模型進行文本特徵提取404
16.6.3使用BERT模型進行完形填空406
16.7 BERT電商用戶多情緒判斷項目407
16.7.1項目背景介紹407
16.7.2模型訓練408
16.7.3模型預測412
16.8參考文獻415

第17章音頻信號處理416
17.1深度學習在聲音領域的應用416
17.2 MFCC和Mel Filter Banks 417
17.2.1音頻數據採集417
17.2.2分幀加窗418
17.2.3傅里葉變換419
17 .2.4梅爾濾波器組421
17.2.5梅爾頻率倒譜係數(MFCC) 423
17.3語音分類項目425
17.3.1 librosa介紹425
17.3.2音頻分類項目―模型訓練427
17.3.3音頻分類項目―模型預測430

第18章圖像風格轉換433
18.1圖像風格轉換實現原理433
18.1.1代價函數的定義434
18.1.2格拉姆矩陣介紹435
18.2圖像風格轉換項目實戰436
18.3遮擋圖像風格轉換項目實戰441
18.4參考文獻443

第19章生成對抗網絡444
19.1生成對抗網絡的應用444
19.2 DCGAN介紹447
19.3手寫數字圖像生成449
19.4參考文獻454

第20章模型部署455
20.1 Tensorflow Serving環境部署455
20.2運行客戶端和服務器程序456
20.2.1準備SavedModel模型456
20.2.2啟動Tensorflow Serving服務器程序457
20.2.3 Tensorflow Serving客戶端gRPC程序459
20.2.4 Tensorflow Serving客戶端REST API程序461

專業術語彙總463
結束語471