深度學習案例精粹:基於TensorFlow與Keras
內容描述
本書以實戰為主,通過豐富的實戰案例向讀者介紹深度學習可應用和落地的項目,書中所有案例都基於Python+TensorFlow 2.5+Keras技術,可用於深度學習課程的實戰訓練。本書配套示例源碼、PPT課件、思維導圖、數據集、開發環境與答疑服務。 全書共分11章。第1章講解深度學習的概念、流程、應用場景、模型分類和框架選擇,第2~11章列舉深度學習的項目實戰案例,包括手寫體識別、數據集分類、情感分類、文本情感分類、編碼器、漢字拼音轉換、中文文本分類、多標簽文本分類、人臉檢測、人臉識別、語音漢字轉換。 本書內容詳盡、案例豐富,是深度學習初學者必備的參考書,適合有基礎、亟待提升自己技術水平的人工智能從業人員,也可作為高等院校和培訓機構人工智能及相關專業的教材使用。
目錄大綱
1章 深度學習與應用框架 1
1.1 深度學習的概念 1
1.1.1 何為深度學習 1
1.1.2 與傳統的“淺層學習”的區別 3
1.2 案例實戰:文本的情感分類 3
1.2.1 一步:數據的準備 4
1.2.2 二步:數據的處理 4
1.2.3 三步:模型的設計 5
1.2.4 步:模型的訓練 5
1.2.5 五步:模型的結果和展示 6
1.3 深度學習的流程、應用場景和模型分類 7
1.3.1 深度學習的流程與應用場景 7
1.3.2 深度學習的模型分類 8
1.4 主流深度學習的框架對比 9
1.4.1 深度學習框架的選擇 10
1.4.2 本書選擇:Keras與TensorFlow 10
1.5 本章小結 11
2章 實戰卷積神經網絡—手寫體識別 12
2.1 卷積神經網絡理論基礎 12
2.1.1 卷積運算 12
2.1.2 TensorFlow中的捲積函數 14
2.1.3 池化運算 16
2.1.4 softma激活函數 18
2.1.5 卷積神經網絡原理 19
2.2 案例實戰:MNIST手寫體識別 21
2.2.1 MNIST數據集的解析 21
2.2.2 MNIST數據集的特徵和標籤 23
2.2.3 TensorFlow 2.X編碼實現 25
2.2.4 使用自定義的捲積層實現MNIST識別 29
2.3 本章小結 32
3章 實戰ResNet—CIFAR-100數據集分類 33
3.1 ResNet理論基礎 33
3.1.1 ResNet誕生的背景 34
3.1.2 模塊工具的TensorFlow實現 37
3.1.3 TensorFlow高級模塊layers 37
3.2 案例實戰:CIFAR-100數據集分類 44
3.2.1 CIFAR-100數據集的獲取 44
3.2.2 ResNet殘差模塊的實現 47
3.2.3 ResNet網絡的實現 49
3.2.4 使用ResNet對CIFAR-100數據集進行分類 52
3.3 本章小結 53
4章 實戰循環神經網絡GRU—情感分類 54
4.1 情感分類理論基礎 54
4.1.1 複習簡單的情感分類 54
4.1.2 什麼是GRU 55
4.1.3 TensorFlow中的GRU層 57
4.1.4 雙向GRU 58
4.2 案例實戰:情感分類 59
4.2.1 使用TensorFlow自帶的模型來實現分類 59
4.2.2 使用自定義的DPCNN來實現分類 63
4.3 本章小結 67
5章 實戰圖卷積—文本情感分類 68
5.1 圖卷積理論基礎 69
5.1.1 “節點”“鄰接矩陣”和“度矩陣”的物理意義 69
5.1.2 圖卷積的理論計算 71
5.1.3 圖卷積神經網絡的傳播規則 74
5.2 案例實戰:Cora數據集文本分類 75
5.2.1 Cora數據集簡介 75
5.2.2 Cora數據集的讀取與數據處理 77
5.2.3 圖卷積模型的設計與實現 78
5.2.4 圖卷積模型的訓練與改進 79
5.3 案例實戰:基於圖卷積的情感分類(圖卷積前沿內容) 83
5.3.1 文本結構化處理的思路與實現 83
5.3.2 使用圖卷積對文本進行分類實戰 89
5.3.3 圖卷積模型的改進 93
5.4 本章小結 95
6章 實戰自然語言處理—編碼器 96
6.1 編碼器理論基礎 96
6.1.1 輸入層—初始詞向量層和位置編碼器層 97
6.1.2 自註意力層 99
6.1.3 ticks和Layerrmalization 104
6.1.4 多頭自註意力 105
6.2 案例實戰:簡單的編碼器 108
6.2.1 前饋層的實現 108
6.2.2 編碼器的實現 109
6.3 案例實戰:漢字拼音轉化模型 113
6.3.1 漢字拼音數據集處理 113
6.3.2 漢字拼音轉化模型的確定 115
6.3.3 模型訓練部分的編寫 119
6.3.4 推斷函數的編寫 120
6.4 本章小結 121
7章 實戰BERT—中文文本分類 122
7.1 BERT理論基礎 122
7.1.1 BERT基本架構與應用 123
7.1.2 BERT預訓練任務與Fine-Tuning 124
7.2 案例實戰:中文文本分類 127
7.2.1 使用Hugging Face獲取BERT預訓練模型 127
7.2.2 BERT實戰文本分類 128
7.3 拓展:更多的預訓練模型 133
7.4 本章小結 136
8章 實戰自然語言處理—多標籤文本分類 137
8.1 多標籤分類理論基礎 137
8.1.1 多標籤分類不等於多分類 137
8.1.2 多標籤分類的激活函數—sigmoid 138
8.2 案例實戰:多標籤文本分類 139
8.2.1 一步:數據的獲取與處理 139
8.2.2 二步:選擇特徵抽取模型 143
8.2.3 三步:訓練模型的建立 144
8.2.4 步:多標籤文本分類的訓練與預測 145
8.3 本章小結 148
9章 實戰MTCNN—人臉檢測 149
9.1 人臉檢測基礎 150
9.1.1 LFW數據集簡介 150
9.1.2 Dlib庫簡介 151
9.1.3 OpenCV簡介 152
9.1.4 使用Dlib做出圖像中的人臉檢測 152
9.1.5 使用Dlib和OpenCV建立人臉檢測數據集 156
9.2 案例實戰:基於MTCNN模型的人臉檢測 157
9.2.1 MTCNN模型簡介 158
9.2.2 MTCNN模型的使用 160
9.2.3 MTCNN模型中的一些細節 167
9.3 本章小結 168
10章 實戰SiameseModel—人臉識別 169
10.1 基於深度學習的人臉識別模型 169
10.1.1 人臉識別的基本模型SiameseModel 170
10.1.2 SiameseModel的實現 171
10.1.3 人臉識別數據集的準備 173
10.2 案例實戰:基於相似度計算的人臉識別模型 175
10.2.1 一種新的損失函數Triplet Loss 175
10.2.2 基於TripletSemiHardLoss的MNIST模型 178
10.2.3 基於TripletSemiHardLoss和SENET的人臉識別模型 184
10.3 本章小結 187
11章 實戰MFCC和CTC—語音轉換 188
11.1 MFCC理論基礎 188
11.1.1 MFCC 188
11.1.2 CTC 194
11.2 案例實戰:語音漢字轉換 197
11.2.1 一步:數據集THCHS-30簡介 197
11.2.2 二步:數據集的提取與轉化 198
11.3 本章小結 204
作者介紹
王曉華,計算機專業講師,研究方向為雲計算、大數據與人工智能。著有《Spark MLlib機器學習實踐》《TensorFlow深度學習應用實踐》《OpenCV+TensorFlow深度學習與計算機視覺實戰》《TensorFlow知識圖譜實戰》《TensorFlow人臉識別實戰》《TensorFlow語音識別實戰》《TensorFlow 2.0卷積神經網絡實戰》《Keras實戰:基於TensorFlow2.2的深度學習實踐》《TensorFlow深度學習從零開始學》《深度學習的數學原理與實現》等圖書。